]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* include/grub/misc.h (grub_dprintf): Use unnamed vararg.
[grub2.git] / ChangeLog
CommitLineData
e6c368d4
VS
12013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
4 (grub_boot_time): Likewise.
5
4f1cfd22
VS
62013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * include/grub/symbol.h (FUNCTION): Use @function rather than
9 "function".
10 (VARIABLE): Likewise.
11
6d5a4cee
VS
122013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
15
f06c2172
VS
162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
19 (parse_dhcp_vendor): Likewise.
20
7cb24eb5
VS
212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
24
f30c692c
VS
252013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * grub-core/gettext/gettext.c (main_context), (secondary_context):
28 Define after defining type and not before.
29
8b66bb5d
VS
302013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
33 type.
34 (grub_gcm_decrypt): Likewise.
35 (algo_decrypt): Likewise.
36 (grub_zfs_decrypt_real): Transform error type.
37
5d17fd0f
VS
382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
41
ac35a0f7
VS
422013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
45 (grub_usbms_cbi_reset): Likewise.
46 (grub_usbms_bo_reset): Likewise.
47 (grub_usbms_reset): Likewise.
48 (grub_usbms_attach): Likewise.
49 (grub_usbms_transfer_cbi): Likewise.
50
3ee08697
VS
512013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
54 "checksum = checksum;".
55
70bb6c85
VS
562013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
59 entry_type.
60
c7f34744
VS
612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
64 BIOS disk check.
65
3f63b4d8
VS
662013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
69 type.
70 (grub_ehci_fini_hw): Likewise.
71 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
72
dac6ce73
VS
732013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
76 return grub_usb_err_t for cosistency. All users updated.
77
5701750c
VS
782013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
79
80 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
81 assigning to itself.
82
9e236169
GLD
832013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
842013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
85
86 Issue separate DNS queries for ipv4 and ipv6
87
88 Adding multiple questions on a single DNS query is not supportted by
89 most DNS servers. This patch issues two separate DNS queries
90 sequentially for ipv4 and then for ipv6.
91
92 Fixes: https://savannah.gnu.org/bugs/?39710
93
94 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
95 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
96 * (grub_net_dns_lookup): Now using separated dns packages.
97 * (grub_cmd_nslookup): Add error condition.
98 * (grub_cmd_list_dns): Print DNS option.
99 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
100 --prefer-ipv4, and --prefer-ipv6.
101 * include/grub/net.h (grub_dns_option_t): New enum.
102 * (grub_net_network_level_address): option added.
103
339eacce
VT
1042013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
105
106 * grub-core/video/fb/video_fb.c: Merge two blit functions
107 into one.
108
810f991b
VS
1092013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * grub-core/term/terminfo.c: Add sequences for home and end.
112
386571a2
VS
1132013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
116 graphics console.
117
3fe63754
VS
1182013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
121 add mode 0x12.
122
76681e71
VS
1232013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
126 e-mail by Per Öberg.
127
46522fb7
VS
1282013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
131 name.
132
e7d09ac4
AB
1332013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
134
135 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
136 emu platforms.
137 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
138
67508925
VS
1392013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * docs/grub.texi: Document usage of menuentry id.
142
0c62124e
VS
1432013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
146
9b5d4eed
PL
1472013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
148
149 * grub-core/commands/i386/nthibr.c: New command.
150
79054c1d
VS
1512013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
154
44d47bbe
VS
1552013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
158 coordinate.
159
323de05b
VS
1602013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
161
162 Support GRUB_DISABLE_SUBMENU config.
163
164 Inspired by patch from Prarit Bhargava.
165
5a01722e
VS
1662013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * docs/grub.texi: Mention RSA support.
169
1106c3f0
VS
1702013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * grub-core/commands/verify.c: Add RSA support.
173
a1dcc2cb
VS
1742013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
177 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
178 device is known to be ATAPI.
179
ee7fb780
MF
1802013-11-03 Mike Frysinger <vapier>
181
182 * configure.ac: Don't add target-prefix.
183
5ade4a42
VS
1842013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
187 variables.
188
6cd66043
VS
1892013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
190
191 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
192 if language is English.
193
090d7c81
VS
1942013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
197
dd614590
VS
1982013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
199
200 * configure.ac: Don't add -m32/-m64 on emu.
201
a8686589 2022013-11-02 neil
203
204 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
205 broken linux headers.
206
fb9f12a0
VS
2072013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
210
e25f8e1f
VS
2112013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
212
213 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
214 Reed-Solomon recovery if more than half of redundancy info is 0.
215
4685200f
VS
2162013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
217
218 * util/grub-mount.c: Handle symlinks to directories.
219
1397f0b5
VS
2202013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
221
222 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
223 find_file recursively for symlink.
224
8b3e6eb6
VS
2252013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * tests/util/grub-shell.in: Copy themes.
228
a0c9d5c6
VS
2292013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
232
5cf9459c
VS
2332013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * configure.ac: Use 0x8000 for address instead of 8000.
236
e7b66a28
VS
2372013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
240 signature.
241
203f53fb
VS
2422013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
243
244 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
245 variable.
246
02663ee9
VS
2472013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
250
f169f65e
VS
2512013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
254 file_progress_read_hook.
255 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
256
2855a0fc
VS
2572013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
260 and double.
261
bf0f3a8c
VS
2622013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
265
cb72aa18
VS
2662013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
267
268 Rewrite blocklist functions in order to get progress when
269 reading large extents and decrease amount of blocklist hook calls.
270
896f9135
VS
2712013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
274 of SI suffixes.
275
89295a06
VS
2762013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
277
278 Support --base-clock for serial command to handle weird cards with
279 non-standard base clock.
280
eb03ede0
VS
2812013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
284 strncpy.
285 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
286 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
287 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
288 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
289 + strcpy rather than strncpy.
290
8fbe5c7d
VS
2912013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
292
293 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
294 (check_pool_label): Likewise. Fixes overflow.
295 (nvlist_find_value): Fix comparison.
296
e54b8f53
VS
2972013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * include/grub/misc.h (grub_strcat): Removed. All users changed to
300 more appropriate functions.
301
fa9b3dca
VS
3022013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
303
304 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
305 realloc.
306
9a021c55
VS
3072013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
308
309 * util/grub-mkrescue.in: Do not use UUID search on EFI.
310
80e8b13a
VS
3112013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
314 on core size.
315
b61599ac
VS
3162013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
319
a602dc54
VS
3202013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
323 (initialize_tables): reset tl and td to NULL after freeing.
324
93c12075
VS
3252013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
328
1ca4b75e
VS
3292013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
332 of supported tags.
333
329550c4
VS
3342013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
337
00bfa988
VS
3382013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/loader/multiboot.c: Add support for multiboot kernels
341 quirks.
342
81afc5cc
VS
3432013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
346 a page in protected space.
347
cb3c4a47
VS
3482013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
351 allocate space for zero-sized modules.
352
954f7bf5
VS
3532013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
356
526d3d25
FL
3572013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
358
359 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
360
74124c34
VS
3612013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
364 safeguards. Fixes a crash with i386/pc/console.c.
365
5177391e
VS
3662013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
369 and grub_hostfs_init.
370
64db14b0
VS
3712013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
374 windows method on other platforms without good stat as well.
375
effe2036
VS
3762013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
379
82591fa6 3802013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 381
82591fa6
VS
382 Make / in btrfs refer to real root, not the default volume.
383 Modify mkrelpath to work even if device is mounted with subvolid option.
384
3852013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
386
387 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
388 extra_dist.
389 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
390 extra_dist.
391
30fd7198
VS
3922013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
395 fails.
396
8d179dae
BC
3972013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
398
399 * docs/autoiso.cfg: New file.
400
3bc9c8cf
VS
4012013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
404 COND_GRUB_PE2ELF conditions.
405
8b46b0ea
VS
4062013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
407
408 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
409 "vnd", "rd" and "fd" disks.
410
442b86de
VS
4112013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
412
413 Move grub_disk_write out of kernel into disk.mod.
414
04dea7e6
VS
4152013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
418 handling.
419
4202013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
421
422 * grub-core/kern/misc.c (grub_abort): Make static
423
04dea7e6 4242013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
425
426 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
427 transform invalid unicode codepoints.
428
04dea7e6 4292013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
430
431 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
432 \0 checking.
433
03dcac7f
VS
4342013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
437
c81acb7f
VS
4382013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
439
440 Consolidate cpuid code.
441
c1bee646
VS
4422013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
443
444 Move cpuid code to cpuid.h and TSC code to tsc.c.
445
f37bf9c7
GS
4462013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
447
448 * util/grub.d/00_header.in: Don't use LANG if it's not set.
449
4021132b
GS
4502013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
451
452 * util/grub-mkconfig.in: Replace $0 with $self.
453 * util/grub-reboot.in: Likewise.
454 * util/grub-set-default.in: Likewise.
455
3ace8d75
BC
4562013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
457
458 * docs/osdetect.cfg: New file.
459
1e6ad6a6
BC
4602013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
461
462 * tests/util/grub-shell.in: Add new --debug option.
463
188929eb
BC
4642013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
465
466 * tests/test_unset.in: New test.
467
7994a09a
BC
4682013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
469
470 * tests/test_sha512sum.in: New test.
471
2a8a7585
VS
4722013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
475 * include/grub/misc.h: Remove strncat.
476 * grub-core/lib/posix_wrap/string.h: Likewise.
477
cf8d6bbd
VS
4782013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
479
480 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
481 Try to handle more than 0xFFFF packets.
482 Reported by: Bernhard Übelacker <bernhardu>.
483 He also spotted few overflows in first version of this patch.
484
6d1fc99a
VS
4852013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * tests/date_unit_test.c: New test.
488
10bafa1c
VS
4892013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
492 of first three years after start of validity of unixtime.
493
b1c6d037
VS
4942013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
497 division as the one making more sense.
498 (update_screen): Likewise.
499 (complete): Likewise.
500
5f4028d4
VS
5012013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
502
503 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
504
a2856736
VS
5052013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
506
507 Make char and string width grub_size_t rather than grub_ssize_t.
508
0a7e52b2
VS
5092013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
512 unsigned.
513 (grub_history_replace): Likewise.
514
42829573
VS
5152013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
518 appropriate.
519
3523b8d8
VS
5202013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
523 appropriate.
524
d43c6489
VS
5252013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
528 Use unsigned divisions rather than signed variants.
529
f690f8b0
VS
5302013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * grub-core/video/readers/png.c (grub_png_convert_image): Use
533 unsigned arithmetics.
534 Add missing break.
535
74ff2c05
VS
5362013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
539
fb56391e
VS
5402013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
543 rather than signed one.
544 (recovery): Likewise.
545
40f29060
VS
5462013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
549
c64577a5
VS
5502013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
551
552 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
553 than signed.
554
c16535a8
JM
5552013-10-25 Jon McCune <jonmccune@google.com>
556
557 * docs/grub.texi: Cleanup security documentation around signatures.
558
6673d8e7
VS
5592013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
560
561 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
562
a105d375
VS
5632013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
566 than int.
567
af81ed88
VS
5682013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
571 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
572 functions when compiling for kernel.
573
ea899a57
VS
5742013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
575
576 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
577 unsigned long long when using %llu.
578
c6dc6fa1
VS
5792013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
582 terminal after updating progress.
583
ad2dc003
VS
5842013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
587 argument. We don't disable Gate A20 in this code.
588
b46684ae
VS
5892013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
592 Conceptually based on change in branch "vbe-on-coreboot".
593
f70d5c07
RM
5942013-10-24 Robert Millan <rmh@gnu.org>
595
596 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
597 numeric constants with their symbolic equivalent.
598 Taken from branch "vbe-on-coreboot".
599
bca274b4
VS
6002013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * docs/grub.texi: Fix ordering and use pxref rather than xref.
603
238f0489
VS
6042013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
605
606 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
607 divmod64 for offset division.
608
863c590b
PFS
6092013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
610
611 Rename .bzrignore to .gitignore. Add "*.o" rule.
612
613 * .bzrignore: Renamed to...
614 * .gitignore: ...this.
615
84a0e969
PFS
6162013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
617
618 Add new progress module that displays the load progress of files.
619
620 * grub-core/lib/progress.c: New file.
621 * grub-core/Makefile.core.def (progress): New module.
622 * grub-core/kern/file.c (grub_file_open): File name added.
623 * (grub_file_read): Progress hook added.
624 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
625 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
626 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
627 * include/grub/file.h (struct grub_file): Add progress module members.
628 * include/grub/term.h (struct grub_term_output): Likewise.
629 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
630 Terminal velocity added.
631 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
632 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
633 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
634 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
635 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
636 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
637 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
638 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
639 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
640 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
641 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
642 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
643
0d711431
VS
6442013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
645
646 Verify signatures of signatures unless --skip-sig is specified.
647
f8401f76
VS
6482013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
651 \0 checking.
652
653 Saves 70 bytes on compressed image.
654
ac1feb61
VS
6552013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
658 check.
659
660 Saves 10 bytes on compressed image.
661
00f72e89
VS
6622013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/kern/misc.c (grub_isprint): Move to ...
665 * include/grub/misc.h (grub_isprint): ... here. Make inline.
666
667 Saves 20 bytes on compressed image due to remving exporting.
668
067e6ae7
VS
6692013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
670
671 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
672
673 Saves 5 bytes on compressed image.
674
64a6c791
VS
6752013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
678 function get_utf8.
679
680 Saves 379 bytes on compressed image.
681
979d9f52
VS
6822013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
685
1437da54
VS
6862013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
689
690 Saves 40 bytes on compressed image.
691
d9ee2269
VS
6922013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
695 mask rather than 64-bit type.
696
697 Saves 20 bytes on compressed image.
698
63efa602
VS
6992013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
700
701 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
702 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
703
47601ffe
VS
704 Saves 273 bytes on compressed image.
705
2cc679ad
VS
7062013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
709 variable length arrays.
710
711 Saves 50 bytes on compressed image.
712
2e4659b8
VS
7132013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
716
2a40badf
VS
7172013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * grub-core/fs/ufs.c: Remove variable length arrays.
720
1ba6b9b9
VS
7212013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
724
f3e39341
VS
7252013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * grub-core/fs/zfs.c: Remove variable length arrays.
728 Reduces zfs.mod by 160 bytes (208 compressed).
729
71523935
VS
7302013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
733
28153eb8
VS
7342013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * grub-core/net/arp.c: Remove variable length arrays.
737 * grub-core/net/bootp.c: Likewise.
738 * grub-core/net/dns.c: Likewise.
739 * grub-core/net/icmp6.c: Likewise.
740 * grub-core/net/net.c: Likewise.
741
88ce4cd7
VS
7422013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
743
744 * grub-core/fs/ntfs.c: Remove variable length arrays.
745 Increases ntfs.mod by 64 bytes (but decreases by 3 when
746 compressed).
747
66123940
VS
7482013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * grub-core/fs/hfs.c: Remove variable length arrays.
751 Reduces hfs.mod by 8 bytes (52 compressed).
752
0927e5bd
VS
7532013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 756 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
757 compressed).
758
9c12ac97
VS
7592013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 762 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
763 compressed).
764
97ec2d71
VS
7652013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 768 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
769 compressed).
770
156e4ea0
VS
7712013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/fs/xfs.c: Remove variable length arrays.
774 Reduces xfs.mod by 40 bytes (43 compressed).
775
3b502c29
VS
7762013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
777
778 * grub-core/fs/fshelp.c: Remove variable length arrays.
779 Reduces fshelp.mod by 116 bytes (23 compressed).
780
c7037f1d
VS
7812013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * grub-core/normal/completion.c: Remove variable length arrays.
784 * grub-core/normal/menu_entry.c: Likewise.
785
786 Reduces normal.mod by 496 bytes.
787
a07e6ad0
VS
7882013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
789
790 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
791 by 356 bytes (158 compressed).
792
2359bf88
VS
7932013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
794
795 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
796 by 364 bytes (169 compressed).
797
d28e1163
VS
7982013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
801 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
802 * include/grub/types.h (grub_unaligned_uint64_t): New type.
803
e89c2d48
VS
8042013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
805
806 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
807 bitmasks to small structures of size chosen to fit in registers.
808
7abdac8e
VS
8092013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * conf/Makefile.common: Use -freg-struct-return on i386. This
812 decreases code size and improves performance.
813
518864c0
VS
8142013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
817
bbd2b539
VS
8182013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
821 "(null)" string.
822 Simplify expressions to save around 256 bytes in kernel.img.
823 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
824
99519c15
VS
8252013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
828 Use GRUB_UTIL_FD_O_* rather than O_*.
829
20285765
VS
8302013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
831
832 Add haiku-specific functions.
833
887c0bb6
VS
8342013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
837
cd78a56f
VS
8382013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
839
840 Move stat () and device mode checking into OS-dependent files as
841 long as performance doesn't suffer.
842
a4012f07
VS
8432013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
844
845 Split make_system_path_relative_to_its_root into separate file
846 relpath.c from getroot.c as it's common between unix and haiku
847 but otherwise haiku doesn't use any functions from unix getroot.c.
848
31de274d
VS
8492013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
852 New function.
853 (grub_util_is_special_file): Likewise.
854
40346de6
VS
8552013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
856
857 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
858 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
859
d3923ab9
VS
8602013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
863 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
864
663f6eb1
VS
8652013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
868 (load_image): Likewise.
869
44d1c20a
VS
8702013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * util/grub-render-label.c: Move backend part to ...
873 * util/render-label.c: ... here.
874
d0a116ee
VS
8752013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
878 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
879
b47fcae6
VS
8802013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
883
0f7c00c1
VS
8842013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
887 CD-ROM in case when it's declared as having subpartitions.
888
29013cba
VS
8892013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
890
891 Don't add -lm on haiku.
892
893 * configure.ac: Define BUILD_LIBM to -lm on most platforms
894 and empty on haiku.
895 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
896 -lm.
897
e8559d24
VS
8982013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * configure.ac: Use -melf_*_haiku as target on haiku.
901
8104063c
VS
9022013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
903
904 * Makefile.util.def: Add util/setup.c to extra_dist.
905
fc3182c7
VS
9062013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
909 unknown types through.
910
f90a3cc0
VS
9112013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
914 (grub_util_check_char_device): Likewise.
915 * include/grub/emu/getroot.h: Likewise.
916
1e3e7419
VS
9172013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
920 memset rather than inline static function.
921
92c88fc8
VS
9222013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
925 not doing embedded decompressor.
926
3cd910a2
VS
9272013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
930 shadowing.
931 * grub-core/kern/disk.c: Likewise.
932 * grub-core/kern/misc.c: Likewise.
933 * include/grub/parser.h: Likewise.
934 * include/grub/script_sh.h: Likewise.
935 * include/grub/zfs/zfs.h: Likewise.
936
7b3aca00
VS
9372013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
940
97dfe7e4
VS
9412013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
944 defined before trying to use it.
945
bf919aa9
VS
9462013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
949 warning.
950
f4ccf29d
VS
9512013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
954 Use __unused__ rather than __used__ on gcc < 3.2.
955
0d3a6f85
VS
9562013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
959 gcc < 4.0.
960 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
961
757e3eb7
VS
9622013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
965
fb320faf
VS
9662013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
967
968 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
969 * include/grub/emu/misc.h: Likewise.
970
ea73acd2
VS
9712013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
974 cur_color.
975
71237a6f
VT
9762013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
977
978 * grub-core/tests/checksums.h: Regenerated due to progress bar
979 get_minimal_size changes.
980
3d46c22f
BC
9812013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
982
983 Added `tr' command support.
984
985 * grub-core/commands/tr.c: New file.
986 * grub-core/Makefile.core.def: Build rules for new module.
987
988 * tests/grub_cmd_tr.in: New test.
989 * Makefile.util.def: Build rules for new test.
990
47e0a61f
VT
9912013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
992
993 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
994
946fd073
VT
9952013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
996
997 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
998 * docs/gurb.texi: Likewise.
999
9c13c576
VT
10002013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1001
1002 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
1003 Pixmap highlighted section with east and west slices was displayed
1004 incorrectly due to negative width of the central slice.
1005
ad543f12
VT
10062013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1007
1008 * docs/grub.texi: Graphical options information update.
1009 Removed outdated. Updated current. Inserted missed.
1010
6176a0cd
VS
10112013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * docs/grub.texi: Mention few new platform-specific commands.
1014
9688cae2
VS
10152013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
1018 currently used so this doesn't really have any effect.
1019 Reported by: Douglas Ray <dougray>
1020
f7b69a3f
VS
10212013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
1024 compilation but prevents gcc from displaying messages in non-Latin
1025 alphabets.
1026 * conf/Makefile.common: Likewise.
1027
ceca6ddf
HY
10282013-10-16 Hiroyuki YAMAMORI
1029
1030 Handle Japanese special keys.
1031 Reported by: Hiroyuki YAMAMORI.
1032 Codes supplied by: Hiroyuki YAMAMORI.
1033
ac48d334
VT
10342013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
1035
1036 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
1037
b2b71bff
VT
10382013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
1039
1040 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
1041 * docs/grub.texi: Likewise.
1042
669fc449
VS
10432013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
1046 value in case of incomplete read.
1047 (grub_util_fd_write): Likewise.
1048
59381678
VS
10492013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
1052
bacfefbb
VS
10532013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * util/grub-editenv.c (create_envblk_file): More from here ...
1056 * util/editenv.c (grub_util_create_envblk_file): ... to here.
1057
f7c49570
VS
10582013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
1061 canonicalize file name before doing the rest.
1062
7b83ca44
VS
10632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
1066 mingw32.
1067
df1e64c9
VS
10682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 Define grub_util_is_directory/regular/special_file and
1071 use OS-dependent versions rather than to rely on stat().
1072
ec16e026
VS
10732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * util/grub-mkimage.c: Move backend part to ...
1076 * util/mkimage.c: ... here.
1077
4b4eeb3c
VS
10782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 Allow compilation with mingw64 albeit with warnings due to lack of
1081 %llx/%llu.
1082
1083 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
1084 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
1085 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
1086 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
1087 on mingw64.
1088 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
1089
f4e0adc0
VS
10902013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 Remove leftover references to some of the system headers.
1093
e0127364
VS
10942013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
1097 read.
1098
20d53541
VS
10992013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
1102 of strerror.
1103
5a869940
VS
11042013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 Split out blocklist retrieving from setup.c to
1107 grub-core/osdep/blocklist.c and add windows implementation since
1108 generic version doesn't work on NTFS on Windows due to aggressive
1109 unflushable cache.
1110
c06c7520
VS
11112013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
1114 files.
1115
8f53bb3f
VS
11162013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
1119 Cut tailing newline. Remove arbitrary limitation. Always use
1120 grub_util_tchar_to_utf8.
1121
148f1007
VS
11222013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
1125 * tests/printf_unit_test.c (printf_test): Add %% tests.
1126 Reported by: Paulo Flabiano Smorigo.
1127
af3b06be
VS
11282013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
1131 implement fsync.
1132
27f9d02e
VS
11332013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * configure.ac: Check for nvlist_lookup_string in nvpair since we
1136 use nvlist_lookup_string and don't use nvlist_print.
1137
f6a81f0a
VS
11382013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 Add wrappers around rename, unlink, mkdir, opendir, readdir and
1141 closedir to handle filename charset translation.
1142
d7750b32
VS
11432013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * include/grub/emu/hostdisk.h: Move file operations to
1146 * include/grub/emu/hostfile.h: ... here.
1147
2859196e
VS
11482013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
1151 unicode path.
1152
c018c968
VS
11532013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
1156
7e45abce
VS
11572013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
1160 and remove export.h.
1161
23934da2
VS
11622013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * grub-core/kern/emu/error.c: Removed.
1165 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
1166 explicitly as it's already in libgnu.a.
1167
c11ebcc8
VS
11682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
1171 config-util.h include.
1172
70671037
VS
11732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 Split emunet into platform-dependent and GRUB-binding parts. Keep
1176 platform-dependent part in kernel for easy access to OS functions.
1177
25ac643a
VS
11782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
1181 open/read/write.
1182
69ca5876
VS
11832013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 * grub-core/osdep/windows/emuconsole.c: New file.
1186
d9d68ef0
AB
11872013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1188
1189 * conf/Makefile.extra-dist: Add osdep/*/init.c
1190
58e211cc
VS
11912013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
1194
588744d0
VS
11952013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * util/grub-probe.c (probe): Separate different drives in hint-str
1198 by spaces and not newlines.
1199 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
1200
44016e52
AB
12012013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1202
1203 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
1204 Handle CD-ROMs.
1205
6de9ee86
VS
12062013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 Pass-through unknown E820 types. It required reorganisation of mmap
1209 module.
1210
f8f3f155
AB
12112013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1212
1213 * Makefile.util.def: Add osdep/init.c to grub-mount files.
1214
b73249d2
VS
12152013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
1218 fseeko.
1219
dac86b18 12202013-10-14 qwertial <qwertial>
1221
1222 * grub-core/gdb_grub.in: Fix overflow and wrong field.
1223
17614b84
JM
12242013-10-14 Jon McCune <jonmccune@google.com>
1225
1226 * docs/grub.texi: Document new signatures possibility.
1227
6de292cb
VS
12282013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
1231
84379b61
VS
12322013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
1235 missing prototype.
1236 (grub_util_tchar_to_utf8): Likewise.
1237
21d85db1
VS
12382013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
1241 * grub-core/kern/emu/main.c: Add missing include.
1242 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
1243 Don't call grub_util_init_nls.
1244 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
1245 Likewise.
1246
66a1b3ee
VS
12472013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
1250 stat.
1251
e19bec17
VS
12522013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
1255
ee8c1b29
VS
12562013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
1259
bb338aaf
VS
12602013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 Add a wrapper for fopen. On unix-like systems just pass-through. On
1263 windows use unicode version.
1264
ae5540d3
VS
12652013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 Move set_program_name and init_nls to host_init. On windows
1268 fix in this fuction console and argument charset as well.
1269
4cd3c4fe
AB
12702013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
1271
1272 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
1273 GRUB_ENABLE_CRYPTODISK.
1274
1275 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
1276 GRUB_ENABLE_CRYPTODISK.
1277 * util/grub-mkconfig_lib.in: Likewise.
1278
78170f3e
CCZ
12792013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
1280
1281 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
1282
3414b6c0
MC
12832013-10-12 Melki Christian <Christian.melki@saabgroup.com>
1284
1285 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
1286 error when enabling debug.
1287
6d0740e8
IB
12882013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
1289
1290 * configure.ac: Use -melf_*_obsd on openbsd.
1291
ff2d4dc4
VS
12922013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
1295
eac6ae82
VS
12962013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * include/grub/misc.h: Use gnu_printf rather than printf as format
1299 template since our functions are independent of libc.
1300
ba9baabe
VS
13012013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * util/grub-setup.c (setup): Move copying of partition table as
1304 futher up as possible to avoid possible overwrite by floppy routines.
1305
13062013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
1307
1308 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
1309
145e2369
VT
13102013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
1311
1312 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
1313 * docs/grub.texi: Likewise.
1314
3530bc9d
VS
13152013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
1318 it's mostly unused. Move vestiges to the callers.
1319
fb9f59c3
VS
13202013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
1323 version of salt and hash. Use grub_snprintf rather than snprintf.
1324
9be1c255
VS
13252013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * docs/grub.texi: Fix problem with braces.
1328
ed8c0887
VS
13292013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * conf/Makefile.extra-dist: Fix extra-dist list.
1332 * grub-core/Makefile.core.def: Likewise.
1333
f72ab14e
VS
13342013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * docs/grub.texi: Document disk names used on Windows and AROS.
1337
2fe53a22
VS
13382013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
1341 with AROS devs.
1342 * grub-core/osdep/aros/hostdisk.c: Likewise.
1343
71c1d67a
VS
13442013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 Avoid including hostfile.h when not necessarry as it pulls
1347 in OS-specific headers which may redefine generic names
1348 like "far".
1349
ad297ec7
VT
13502013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
1351
1352 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
1353 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
1354 scrollbar_bottom_pad
1355 * docs/grub.texi: Likewise.
1356
6e9e5dc9
VT
13572013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
1358
1359 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
1360
761c718b
VS
13612013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
1364
37149a2f
VS
13652013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
1368 Removed.
1369 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
1370 Made static.
1371
3837a151
VS
13722013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
1375 leftover.
1376
caca1c70
VS
13772013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 Move OS-specific driver configuration to grub_util_fd_open. This
1380 moves OS-dependent parts from kern/emu/hostdisk.c to
1381 grub-core/osdep/*/hostdisk.c.
1382
f7676b70
VS
13832013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * util/grub-mkimage.c (generate_image): Use size_t instead of
1386 grub_size_t.
1387 * util/grub-mkimagexx.c (locate_sections): Likewise.
1388 (load_image): Likewise.
1389
22f98db2
VS
13902013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
1393 size_t.
1394 (grub_util_write_image): Likewise.
1395
b102ce69
VS
13962013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
1399 get random when no RNG is available.
1400 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
1401
acbbe5cb
VS
14022013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * include/grub/util/lvm.h: Removed.
1405
2112fb3f
VS
14062013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
1409 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
1410
79f78fbf
VS
14112013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * grub-core/osdep/windows/sleep.c: Add missing config.h.
1414
c2e6f705
VS
14152013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
1418
aabe433a
VS
14192013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * grub-core/net/drivers/emu/emunet.c: Move to ..
1422 * grub-core/osdep/linux/emunet.c: ..here.
1423
9a2c903f
VS
14242013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * util/ieee1275/ofpath.c: Move to ...
1427 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
1428 * grub-core/osdep/basic/ofpath.c: ..here.
1429
4a445f58
VS
14302013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 Move password-querying (util-version) routines to grub-core/osdep.
1433
c1ca4244
VS
14342013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 Move sleep routines to grub-core/osdep.
1437
672fa55e
VS
14382013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 Move OS-dependent files to grub-core/osdep and document it.
1441
a5b0365a
VS
14422013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
1445 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
1446
29072e99
VS
14472013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
1450
f8772ea7
VS
14512013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * util/misc.c: Remove leftover inclusion of malloc.h.
1454
a1a315e7
VS
14552013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 * include/grub/setjmp.h: Remove leftover GRUBOF.
1458
cef86fef
VS
14592013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * util/raid.c: Fold into ...
1462 * util/getroot_linux.c: ... here. Make all functions static.
1463
c4cf25ee
VS
14642013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
1467 macros to GRUB ones.
1468
53a5f5c2
VT
14692013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1470
1471 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
1472 occasional bug. If there are too many boot entries or too low
1473 scrollbar height then we need to use another formula to calculate
1474 the position and size of the scrollbar thumb.
1475
de300af2
VS
14762013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1477
c4cf25ee 1478 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 1479
c5827364
VT
14802013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1481
1482 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
1483 * docs/grub.texi: Likewise.
1484
dd2ed8b0
VT
14852013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1486
1487 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
1488 viewport.
1489
7286c384
VT
14902013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1491
ffdfc1f3
VT
1492 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
1493 minimal width calculations.
7286c384 1494
ea547e14
VS
14952013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * docs/grub.texi: Update note on colors on emu console.
1498
b726be76
VS
14992013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
1502 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
1503 it's FS and not GRUB limitation.
1504
a5f6ade6
VS
15052013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
1508
3b0f3aa2
VS
15092013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
1512
1db38304
ST
15132013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1514
1515 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
1516 kernels by version order.
1517
fb295fc0
VS
15182013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
1521
47345010
VS
15222013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 Add AROS hostdisk and getroot routines.
1525
bf25f879
VS
15262013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 Make cryptodisk and diskfilter probe data retrievable programmatically
1529 and not just printable.
1530
24ca4512
VS
15312013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 Split random retrieving code into separate files.
1534
c7c177f0
VS
15352013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
1538 R_ARM_V4BX.
1539
d71b45ae
VS
15402013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
1543 condition.
1544 * grub-core/tests/fake_input.c: Likewise.
1545 * grub-core/tests/cmdline_cat_test.c: Likewise.
1546
e44b9a83
VS
15472013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * grub-core/video/capture.c: Do not do finalization when .fini
1550 is called as there is explicit capture_end.
1551
4fa60739
VS
15522013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
1555 changing windows to avoid crash.
1556
17c8bc37
VS
15572013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
1560
9d4d7977
VS
15612013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * po/exclude.pot: Add several strings to exclude.
1564
0caa407c
VS
15652013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
1568
9ae393da
VS
15692013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * autogen.sh: Add ./util/grub-gen-widthspec.c and
1572 ./util/grub-gen-asciih.c to exclude list.
1573
498d5033
VS
15742013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
1577 and don't mark error strings for translation.
1578
7d93298f
VS
15792013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
1582 properly in case of missing block size.
1583
b2cae20c
VS
15842013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * grub-core/lib/arm/setjmp.S: Add missing license section.
1587
3896d6b4
VS
15882013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * po/swiss.sed: Add replacement for key names and for term computer.
1591
ebc1da55
VT
15922013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
1593
1594 * grub-core/gfxmenu/theme_loader.c: New global options for the
1595 theme background image handling. desktop-image-scale-method,
1596 desktop-image-h-align, desktop-image-v-align.
1597 * grub-core/gfxmenu/view.c: Likewise.
1598 * include/gfxmenu_view.h: Likewise.
1599 * include/bitmap_scale.h: Proportional scale functions introduced.
1600 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
1601 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
1602 cases of unexpected input variables for scale functions.
1603 * docs/grub.texi: Updated documentation for new options.
1604
c5739143
VS
16052013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
1608
be74aeb3
VT
16092013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1610
1611 * grub-core/tests/checksums.h: Corrected due to changes in
1612 bilinear interpolation function.
1613
d999ac72
VT
16142013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1615
1616 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
1617 to eliminate artefacts in bilinear interpolation.
1618
2b131610
VS
16192013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/video/readers/tga.c: Support paletted tga.
1622
de6e5ff8
VS
16232013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
1626 incorrect cbcr setting when in color mode.
1627
fa31ee9c
VS
16282013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/video/readers/png.c: Support paletted images and clean up
1631 greyscale support.
1632
e84f8188
VS
16332013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
1636 usage of wrong table which resulted in mishandling of 4-byte
1637 sequences.
1638
16392013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
1640
1641 * grub-core/term/terminfo.c: Add Home and End key sequences.
1642
d72bff09
VS
16432013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 * grub-core/video/readers/png.c (grub_png_decode_image_header):
1646 Fix formula for computing total number of bytes.
1647
29648c5d
VS
16482013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
1651 image processing, fix big-endian and support grayscale.
1652
4a876492
VS
16532013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
1656 Correctly will with maximum transparency when using index color.
1657
3ccf16df
VS
16582013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * grub-core/video/readers/png.c: Support grayscale
1661
16622013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
1663
1664 * grub-core/video/readers/jpeg.c: Support grayscale.
1665
3ccf16df 16662013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
1667
1668 * grub-core/commands/loadenv.c: Support skipping signature check
1669 and variable names filtering.
1670
30b7f58f
VS
16712013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
1674 * grub-core/kern/emu/hostfs.c: Likewise.
1675 * util/getroot_unix.c: Likewise.
1676
bab7b1eb
VS
16772013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
1680 Migrate all explicit defines to this new one.
1681
43b1c99d
VS
16822013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
1685 grub_util_fd_strerror when using grub_util_fd_*.
1686 (grub_util_fd_open_device): Likewise.
1687 (grub_util_biosdisk_read): Likewise.
1688 (grub_util_biosdisk_write): Likewise.
1689 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
1690 (grub_util_fd_strerror): Likewise.
1691 (grub_util_fd_sync): Likewise.
1692 (grub_util_fd_close): Likewise.
1693 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
1694 (grub_util_fd_close): Likewise.
1695 (grub_util_fd_strerror): Likewise.
1696 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
1697 function proto rather than macro.
1698 (grub_util_fd_sync): Likewise.
1699 (grub_util_fd_open): Likewise.
1700 (grub_util_fd_strerror): New proto.
1701
e8fd80bc
VS
17022013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
1705 platforms on which it doesn't work.
1706
bf645fda
VS
17072013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
1710 stat immediately to where it's used.
1711
5177ba14
VS
17122013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * util/getroot.c (grub_util_check_block_device): Move to ...
1715 * util/getroot_unix.c (grub_util_check_block_device): ... here.
1716 * util/getroot.c (grub_util_check_char_device): Move to ...
1717 * util/getroot_unix.c (grub_util_check_char_device): ... here.
1718
9db826e1
VS
17192013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
1722 disk closing logic.
1723
49120085
AB
17242013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1725
1726 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
1727
b3328b68
AB
17282013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1729
1730 * docs/grub.texi (File name syntax): Document ZFS filenames
1731 (/volume@snapshot/...).
1732
3fff48ab
VS
17332013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
1736 Always return full path. Fixes a problem with mkrelpath.
1737
39cfdaa9
PFS
17382013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1739
1740 * util/grub-install.in: Add GPT PReP support.
1741 * util/grub-probe.c (probe): Support GPT partition type.
1742 (main): Support -t gpt_parttype.
1743
7c680e1f 17442013-09-23 Aleš Nesrsta <starous@volny.cz>
1745
1746 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
1747
890bdabe
MM
17482013-09-23 Massimo Maggi <me@massimo-maggi.eu>
1749
1750 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
1751
9c262ff9
TH
17522013-09-23 Tim Hardeck <thardeck>
1753
1754 * util/grub.d/10_hurd.in: Filter out character for the class.
1755 * util/grub.d/10_kfreebsd.in: Likewise.
1756 * util/grub.d/10_linux.in: Likewise.
1757 * util/grub.d/20_linux_xen.in: Likewise.
1758
d755342a
MC
17592013-09-23 Melki Christian <Christian.melki@saabgroup.com>
1760
1761 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
1762 "changed".
1763
68b77707
JT
17642013-09-23 Josh Triplett <josh@joshtriplett.org>
1765
1766 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
1767 boot partition.
1768
efa68bfa
VS
17692013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
1772 doesn't use posix_wrap. Keep literal -fno-builtin however.
1773
d9104204
VS
17742013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
1777
c248781a 17782013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17792013-09-23 neil
1780
5830df88 1781 * configure.ac: Do not enable -Wmissing-noreturn as its
1782 usefulness is limited and creates problems on some OS notably with
1783 code generated by bison.
1784
17852013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17862013-09-23 neil
1787
1788 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 1789 supported by all gcc and when it is, it's already enabled by -Wall.
1790
621bed69
VS
17912013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
1794 desactivated use of EDID at all.
1795
71764dc8 17962013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17972013-09-23 neil
1798
1799 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
1800 video if no text is available.
1801
affce7d4 18022013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
18032013-09-23 neil
1804
1805 * configure.ac: Substitute TARGET_RANLIB.
1806
18072013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
18082013-09-23 neil
affce7d4
VS
1809
1810 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
1811
1812 Based on patches from AROS.
1813
0e8daad0 18142013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 18152013-09-23 neil
0e8daad0
VS
1816
1817 * grub-core/Makefile.am: Override STRIP and RANLIB.
1818 * configure.ac: compute TARGET_RANLIB.
1819 * INSTALL: Document TARGET_RANLIB
1820
1821 Based on patches from AROS.
1822
3f7d9c82
VS
18232013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1824
1825 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
1826 that floppies are unpartitioned.
1827
bca8873a
VS
18282013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1829
1830 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
1831 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
1832
18332013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
1836 less nice but more portable.
1837 * grub-core/lib/posix_wrap/wchar.h: Likewise.
1838
a47a78be
VS
18392013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
1842 for cheat_fd.
1843 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
1844 functions.
1845 (grub_cryptodisk_cheat_insert): Likewise.
1846 (grub_cryptodisk_close): Likewise.
1847
e85a5d5c
VS
18482013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
1851 Use windows path for DEFAULT_DIRECTORY.
1852
dad9fa6b
VS
18532013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
1856 difference was likely just gcc version, not anything mingw-related.
1857
7e518ca8
VS
18582013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 Use Winapi on both cygwin and mingw32 to share more code between both.
1861
d68d0157
AB
18622013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1863
1864 * util/grub-install.in: Add --grub-editenv option.
1865 * util/grub-install_header (grub_compress_file): Explicitly check for
1866 plain file to avoid cp error.
1867
775b284d
AB
18682013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1869
1870 * docs/grub.texi (Device syntax): Document new LVM UUID based device
1871 names; fix LVM driver name (lvm, not lv).
1872 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
1873 names.
1874
3ff4063d
VS
18752013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
1878 files rather than one file with loads of #if's.
1879 * util/getroot.c: Likewise.
1880
287faafe
VS
18812013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
1884
d1983764
VS
18852013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
1888 GNU/Hurd to the list of checked PRNG.
1889
15ce95c4
VS
18902013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 * configure.ac: On FreeBSD use -melf_*_fbsd format.
1893
207862dd 18942013-09-21 Ales Nesrsta <starous@volny.cz>
1895
7c680e1f 1896 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 1897
63653cfd
VS
18982013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
1901 * grub-core/disk/lvm.c: Add LVM UUIDs.
1902 * util/getroot.c: Use LVM UUIDs whenever possible.
1903
f5d3e7ef
AB
19042013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
1905
1906 * docs/grub.texi (Networking commands): Add documentation for
1907 network related commands.
1908
53c6b7d6
VS
19092013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * util/getroot.c (grub_util_open_dm): Check major rather than the name
1912 to determine if device is handled by devmapper.
1913 (convert_system_partition_to_system_disk): Likewise.
1914 (get_dm_uuid): Don't check explicitly if device is mapped, it's
1915 already done in grub_util_open_dm.
1916
e70d6736
LL
19172013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
1918
1919 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
1920 Clean up stack manipulation (sync_caches_armv*)
1921
90379808
VS
19222013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * util/lvm.c: Remove since unused. Remove remaining references.
1925
386701a8
VS
19262013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 Handle the case of partitioned LVM properly.
1929
1930 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1931 Stop on meeting LVM, mpath or DMRAID.
1932 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
1933 (read_device_map): Likewise.
1934 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
1935 device is full disk rather than erroring out on LVM and similar cases.
1936
53070787
VS
19372013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
1940
1bc783bd
VS
19412013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
1944 4K before the end.
1945 Reported by: Leif Lindholm
1946
436ad5c3
PW
19472013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
19482013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
1951 codes.
1952
607319c9
CW
19532013-09-18 Colin Watson <cjwatson@ubuntu.com>
1954
1955 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
1956 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
1957
d404d154
DR
19582013-09-18 Douglas Ray <dougray@cpan.org>
1959
1960 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
1961 as secure.
1962
28851ef6
AN
19632013-09-18 Aleš Nesrsta <starous@volny.cz>
1964
1965 * docs/grub.texi: Fix broken link.
1966
897c3bc6
MC
19672013-09-18 Melki Christian <Christian.melki@saabgroup.com>
1968
1969 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
1970 to break endless loop.
1971
f1630459
VS
19722013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 * util/grub-fstest.c: Fix several printf formats.
1975 * util/grub-mkimage.c: Likewise.
1976 * util/grub-mkimagexx.c: Likewise.
1977 * util/grub-script-check.c: Likewise.
1978
64463dfd
VS
19792013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
1982 error.
1983
48972495
VS
19842013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
1987
5dd5e64b
VS
19882013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
1991 removed in current versions cygwin_conv_*.
1992
1c1f31e5
VS
19932013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * configure.ac: Disable efiemu runtime on cygwin.
1996
c546a259
VS
19972013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
2000 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
2001
81690478
VS
20022013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
2005 error message.
2006
6b87c10a
VS
20072013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
2010 windows variant.
2011 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
2012 data.
2013
8f0baaac
VS
20142013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
2017 when on x86 and not cygwin.
2018 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
2019 -Wl,-melf_x86_64.
2020
b224c266
VS
20212013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 * configure.ac: Set CPP to build one when checkoing for freetype for
2024 build.
2025
506b336b
VS
20262013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
2029 [!GRUB_BUILD]: Remove has_argument.
2030
8c8c87b7
VS
20312013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
2034 Replace with a dummy.
2035
7dc5ca13
VS
20362013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * configure.ac: Don't change host_os from mingw to cygwin.
2039
c3302aa5
VS
20402013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 * configure.ac: Change target_os from windows to cygwin.
2043
7b780018
VS
20442013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 Handle grub-pe2elf and grub-mkfont for cases when build != host.
2047
2048 * Makefile.am (build-grub-mkfont): Don't include gnulib.
2049 (build-grub-gen-asciih): Likewise.
2050 (build-grub-gen-widthspec): Likewise.
2051 * Makefile.util.def (grub-pe2elf): Remove.
2052 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
2053 * configure.ac: Separate tests for build.
2054 Move ./build-grub-pe2elf to grub-core.
2055 Fix typo.
2056 * grub-core/Makefile.am (build-grub-pe2elf): New target.
2057 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
2058 defined.
2059 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
2060 constants.
2061 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
2062 * util/grub-pe2elf.c: Simplify not to rely on getopt.
2063 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
2064
984cfd8a
VS
20652013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
2068 mingw32 as well based on grub_util_get_disk_size.
2069 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
2070 grub_util_get_fd_size.
2071 (sync): Removed.
2072 (fsync): Moved to ...
2073 * grub-core/kern/emu/misc.c (fsync): ... here.
2074
f82d79c9
VS
20752013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * include/grub/mm.h (grub_extend_alloc): Remove.
2078 * grub-core/loader/i386/pc/plan9.c: Use own version of
2079 grub_extend_alloc with appropriate types.
2080
fd7dd66d
VS
20812013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
2084
43ffba7c
VS
20852013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 * util/getroot.c: Include sys/wait.h only when we need waitpid.
2088
3c7eac44
VS
20892013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 Fix dependencies on cygwin.
2092
2093 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
2094 dependencies when used and defined.
2095 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
2096
bdb5ba47
VS
20972013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
2100 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
2101
ed7fbf43
VS
21022013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
2105 implementation available to cause compile-time rather than runtime
2106 error.
2107
fc46e9fc
VS
21082013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * util/grub-fstest.c: Don't check for symlinks on windows.
2111
7f68269a
VS
21122013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * INSTALL: Mention unavailability of man pages when cross-compiling.
2115
8ed358e0
VS
21162013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
2119 and gcry_log_bug.
2120 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
2121
fc97214f
VS
21222013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * INSTALL: Document cross-compilation.
2125 * acinclude.m4: Determine whether nm support -P and --defined-only.
2126 * configure.ac: Add TARGET_ to all variables pertaining to target
2127 that don't have it yet.
2128 * gentpl.py: Likewise.
2129 * grub-core/Makefile.am: Likewise.
2130 * grub-core/genmod.sh.in: Likewise.
2131 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
2132 as well.
2133
ca1fb563
IB
21342013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
2135
2136 * configure.ac: Remove -Wempty-body. It's not essential and needs
2137 recent gcc.
2138
0031b229
IB
21392013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
2140
2141 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
2142 * util/getroot.c: Likewise.
2143
54ea2f44
VS
21442013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 * grub-core/disk/ahci.c: Add needed explicit cast.
2147 * grub-core/lib/backtrace.c: Likewise.
2148 * grub-core/net/ip.c: Likewise.
2149 * grub-core/net/tcp.c: Likewise.
2150 * grub-core/net/udp.c: Likewise.
2151
3c601f8c
VS
21522013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
2155
1d679dda
VS
21562013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * util/import_gcry.py: Add final newline in visibility.h.
2159
00c28dd9
VS
21602013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * conf/Makefile.common: Fix typo.
2163
32af299a
VS
21642013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
2167
e733cf52
VS
21682013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 * Makefile.am (widthspec.h): Fix typo.
2171 * util/grub-gen-widthspec.c: Likewise.
2172
c6b066f2
VS
21732013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 Move ascii.h and widthspec.h generation to a separate build-time-only
2176 tool.
2177
ad1fe3f9 21782013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
2179
2180 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2181 Always fill bootdisk info and improve check for NetBSD disklabel.
2182
92a52dd4
VS
21832013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * conf/Makefile.extra-dist: Add util/bin2h.c.
2186 Reported by: floppym.
2187
b2e9d276
VS
21882013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
2191
7b966834
VS
21922013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * configure.ac: Disable unifont and starfield if no freetype was found.
2195
d5c1eef1
VS
21962013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
2199 on NetBSD and OpenBSD.
2200
66345b50 22012013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
2202
2203 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
2204
66345b50 22052013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
2206
2207 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
2208 reduced. Inheritant options are processed during the theme loading.
2209
66345b50 22102013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
2211
2212 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
2213
369508b3
AS
22142013-08-14 Avik Sil <aviksil@in.ibm.com>
2215
2216 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
2217
22182013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
2219
2220 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
2221 using qemu.
2222
6f27a3f6
PFS
22232013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2224
2225 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
2226 remove-potcdate.sed.
2227
c6ed362a
AB
22282013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2229
2230 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
2231 unused attribute from pull argument.
2232
5e7d9464
AB
22332013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2234
2235 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
2236 memory leak.
2237
dea55e2a
AB
22382013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2239
2240 * util/getroot.c (pull_lvm_by_command): add --separator option
2241 to vgs call to disable padding of output to 10 characters.
2242
f0b94ded
VS
22432013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
2246 here ...
2247 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
2248 here.
2249
b828fb5d
VS
22502013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
2253 length.
2254
7c9d0c39
VS
22552013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 Fix handling of build-time grub-bin2h and grub-mkfont when doing
2258 full Canadian cross. Tested with build=x86_64, host=arm,
2259 target=ppc-ieee1275.
2260
816719c8
VS
22612013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * configure.ac: Error if no $BUILD_CC could be found.
2264 Reported by: DevHC.
2265
2af2353b
VS
22662013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
2269 i386-multiboot.
2270
797abd0a
VS
22712013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
2274 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
2275
36e87d25
CW
22762013-08-13 Colin Watson <cjwatson@ubuntu.com>
2277
2278 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
2279 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
2280 falling back to the partition device, otherwise a later call to this
2281 function may fail spuriously.
2282 Reported by Axel Beckert. Fixes Debian bug #708614.
2283
273349fe
GS
22842013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
2285
2286 * autogen.sh: Replace find -not by the POSIX-compliant find !.
2287
418f86c6
GS
22882013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
2289
2290 Prevent shadowing of stdlib's devname(3) on BSD.
2291
2292 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
2293 and devlast to diskname and disklast, respectively.
2294
c137aea0
CW
22952013-08-11 Colin Watson <cjwatson@ubuntu.com>
2296
2297 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
2298
272dc8df 22992013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
2300
2301 * docs/grub.texi: Introduce terminal window position options:
2302 terminal-left: terminal window's left position
2303 terminal-top: terminal window's top position
2304 terminal-width: terminal window's width
2305 terminal-height: terminal window's height
2306 terminal-border: terminal window's border width
2307 * grub-core/gfxmenu/theme-loader.c: Likewise.
2308 * include/grub/gfxmenu_view.h: Likewise.
2309 * po/exlude.pot: Likewise.
2310 * grub-core/gfxmenu/view.c: Likewise.
2311 Also updated minimal window size.
2312 Also terminal_sanity_check function has been introduced.
272dc8df
VT
2313 * grub-core/tests/checksums.h: Update (terminal window height
2314 is adjusted now for low resolution screen)
b4743461 2315
748a4533
VS
23162013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2317
2318 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
2319 position).
2320
fca5f944
VS
23212013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * po/exclude.pot: Add few recent exceptions.
2324
4f47d809
VS
23252013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 * tests/grub_func_test.in: Add unicode.pf2.
2328
a62ae90c
VS
23292013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
2332 standard rather than noral color, in line with other terminals.
2333
4ed41392
VS
23342013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
2337 analysis.
2338
3719fbc5
VS
23392013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * grub-core/loader/arm/linux.c: Change printf to dprintf.
2342
459b1d91
VS
23432013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
2346 inappropriate printf.
2347
f4e1ab9d
AB
23482013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
2349
2350 * .bzrignore: Remove grub-core/lib/dtc-grub,
2351 grub-core/Makefile.libfdt.def
2352 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
2353
fa471bfa
VS
23542013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * include/grub/video.h (grub_video_register): Keep double-linked as
2357 well as single-linked invariants.
2358 Reported by: qwertial.
2359
d65be02b
VS
23602013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * grub-core/commands/nativedisk.c (get_uuid): Handle
2363 GRUB_DISK_DEVICE_UBOOTDISK_ID.
2364
ba8bc620
VT
23652013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
2366
2367 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
2368 maximum of NW, N, NE heights instead of N's height and maximum of
2369 NW, W, SW widths instead of W's width. (So the box will be always
2370 correctly drawn)
2371
4f0ad029
GS
23722013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2373
2374 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
2375 Fix misuse of variable count.
2376
43d53b72
LL
23772013-07-18 Leif Lindholm <leif.lindholm@arm.com>
23782013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
23792013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 2380
43d53b72
LL
2381 New ports to arm-uboot and arm-efi.
2382 Mostly by Leif Lindholm with some additions from
2383 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 2384
88f8d146
VS
23852013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
2388 and not before.
2389 Reported by: Leon Drugi.
2390
3f42504c
VS
23912013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
2394 Reported by: Paulo Flabiano Smorigo.
2395
d110499b
VT
23962013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
2397
2398 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
2399
a8674ad3
VT
24002013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
2401
2402 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
2403
286fe4b3
VS
24042013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
2407
1bd57aa3
VS
24082013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
2411
7a87d69f
AB
24122013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
2413
2414 * grub-core/net/bootp.c: Export net_* variables.
2415 * grub-core/net/net.c: Likewise.
2416
b2182299
VS
24172013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
2420
795b3dc0
VS
24212013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
2424
68714c43
VS
24252013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
2428
af211bab
VS
24292013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
2432
0036f02d
MM
24332013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2434
2435 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
2436 <= 0.
2437
6d0ddff3
MM
24382013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2439
2440 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
2441 functions.
2442
038016f4
MM
24432013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2444
2445 * grub-core/fs/zfs/zfs_lz4.c: New file.
2446 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
2447
776bdce2
MM
24482013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2449
2450 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
2451
c71dbd40
MM
24522013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2453
2454 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
2455 (check_pool_label): Likewise.
2456 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
2457
24582013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
2459
2460 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
2461
8e67b50f
AB
24622013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2463
2464 * docs/grub.texi (Commands): Document postition parameters
2465 for menuentry command.
2466
f5ae3717
AB
24672013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2468
2469 * util/grub-mknetdir.in: Remove stray line from help output.
2470
9c28da2a
VS
24712013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 Remove early sm712 init as there is no reason for it (the "watchdog"
2474 effect was due to wrong GPIO map).
2475
139072b8
VS
24762013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2477
2478 * grub-core/commands/pcidump.c: Remove static variables.
2479
c6a61bda
VS
24802013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * grub-core/commands/sleep.c: Refresh screen before sleeping.
2483
51369614
VS
24842013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * configure.ac: Move delimiter after the infos.
2487
efa8640a
VS
24882013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
2491
6f80a7b2
VS
24922013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
2495 not filling whole 8x16 space.
2496
a2371e19
VS
24972013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
2500
64fce2d8
VS
25012013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 * configure.ac: Indicate which liblzma is used if any.
2504
eb272d84
PW
25052013-06-21 Paul Wise <pabs3@bonedaddy.net>
25062013-06-21 Craig Sanders <savannah@taz.net.au>
2507
2508 * util/grub-reboot.in: Document submenu usage.
2509
a9e5abee
CW
25102013-06-25 Colin Watson <cjwatson@ubuntu.com>
2511
2512 * .bzrignore: Update with a number of new test-related files.
2513
e639c204
CW
25142013-06-25 Colin Watson <cjwatson@ubuntu.com>
2515
2516 * util/grub-script-check.c: Fail on scripts containing no
2517 commands, to guard against corrupted grub-mkconfig setups that
2518 produce no useful output.
2519 * tests/grub_script_no_commands.in: New test.
2520 * Makefile.util.def (grub_script_no_commands): Add.
2521 Reported by Hans Putter. Fixes Debian bug #713886.
2522
a4c89b17
AB
25232013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2524
2525 * grub-core/disk/diskfilter.c: Forgot to remove comment
2526 from previous commit.
2527
5b06b53c
AB
25282013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2529
2530 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2531 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
2532
702da5c9
AB
25332013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2534
2535 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
2536
aa62a5b7
AB
25372013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2538
2539 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
2540 rescan diskfilter devices until nothing new is found.
2541
4aa237c8
VS
25422013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 Fix casts when compiling coreboot-specific code for 64-bit EFI.
2545
93d8479b
VS
25462013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 Don't try to detect cbfs on *-emu.
2549
837222cc
VS
25502013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * grub-core/term/gfxterm.c: USe right background color when scrolling.
2553
99c971af
VS
25542013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 Add support for processed coreboot payload chainloading.
2557
e6930a45
VS
25582013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 Enable coreboot information commands even when not loaded as
2561 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
2562
5027af38
VS
25632013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 Support for cbfs. Also factor out the part which is common
2566 for all archives to a separate module. This splits tar from cpio
2567 as they are very different but keeps cpio, cpio_be, odc and newc
2568 together since they're very similar.
2569
a5b55c4b
DM
25702013-06-15 David Michael <fedora.dm0@gmail.com>
2571
2572 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
2573 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
2574
0301a8b3
VS
25752013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * tests/grub_script_eval.in: Really add the eval test.
2578
3d84cb17
VS
25792013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 Move flavour-specific parts out of common cpio.c file and
2582 rename remaining to cpio_common.c
2583
593e430c
AB
25842013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2585
2586 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
2587 off new function grub_script_execute_new_scope. Change callers to use
2588 either of them as appropriate.
2589 * grub-core/commands/eval.c: New command eval.
2590 * docs/grub.texi (Commands): Document it.
2591
63c29849
AB
25922013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2593
2594 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
2595 to fetch values when listing.
2596
cc284112
AB
25972013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2598
2599 Fix make dist on non-pc.
2600
26012013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
2602
2603 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
2604 without a device name.
2605
69544d1e
VS
26062013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 Remove enable_executable_check as it's not needed anymore.
2609 Reported by: dougray.
2610
96dbe648
VS
26112013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
2614 ambigouos RAID before discovering RAIDs on top of it.
2615 Reported by: bodom.
2616
ccfc0bdb
VS
26172013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 Fix typo (failback vs fallback).
2620
f2587088
AB
26212013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
2622
2623 * util/grub.d/30_os-prober.in: Add support for probing EFI
2624 System Partition (as of os-prober 1.58).
2625
cec5cf0c
VS
26262013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * configure.ac: Add yet another path to unifont. For parabola.
2629
e40b4596
JT
26302013-05-30 Josh Triplett <josh@joshtriplett.org>
2631
2632 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
2633 handling to copy the killed characters to the kill buffer as
2634 UCS4 stored as grub_uint32_t rather than as 8-bit characters
2635 stored as char. Eliminates UCS4 truncation and corruption
2636 observed when killing characters with Ctrl-u and yanking them
2637 back with Ctrl-y.
2638
fc4c4fdd
VS
26392013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 Detach optional parts of gfxterm and integrate in with coreboot init.
2642
6570b205
VS
26432013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 Move blit and fill dispatcher to appropriate files to decrease export
2646 and relocation overhead.
2647
b8323067
VS
26482013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * grub-core/font/font.c, include/grub/font.h: Inline simple font
2651 functions.
2652
3cc1878f
VS
26532013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * grub-core/Makefile.am: Fix compilation problem with some
2656 automake versions.
2657
4b80e43c
VS
26582013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
2661
57e0c20c
VS
26622013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
2665 automake versions.
2666
4fd42c53
VS
26672013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
2670 SSDT.
2671
1e908b34
RS
26722013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
2673
2674 * grub-core/partmap/dfly.c: New partition map.
2675
1359e474
VS
26762013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
2679 checking.
2680 Reported by: Francesco Lavra.
2681
17806392
AB
26822013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
2683
2684 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
2685 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
2686 false conditions.
2687 * conf/Makefile.common: define dist_grubconf_DATA
2688
cdce14fa
VS
26892013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 Progressively skip menu elements on small terminals rather
2692 than crashing.
2693
c8d6cc3c
VS
26942013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
2697 to avoid losing last column.
2698
a73b31ce
VS
26992013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * po/exclude.pot: Add missing string "%C".
2702
1202c764
VS
27032013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
2706 after the test.
2707
50268344
VS
27082013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 * util/grub-install.in: Gettextize "Not found" message.
2711
62b15edf
VS
27122013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 Fix distfiles list.
2715 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2716
27172013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
2718
2719 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
2720 present.
2721 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
2722
709ad61b
VS
27232013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
2726
d128901a
VS
27272013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
2730 attribute since structure is not necessarily aligned.
2731
34b22f5c
AB
27322013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
2733
2734 * docs/grub.texi (Device syntax): Clarify description of network
2735 drives.
2736
0f7e980b
VS
27372013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
2740 for vasprintf presence.
2741
30b03dc2
VS
27422013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * util/grub-install.in: Handle efibootmgr presence check.
2745 Reported by: Leif Lindholm.
2746
0dc11c08
VS
27472013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
2750 new strings to translate.
2751
f8024c3f
VS
27522013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
2755 yet another string (pun intended) to translate.
2756
b4c1da62
VS
27572013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * po/POTFILES-shell.in: Autogenerate it.
2760
0ef7478b
VS
27612013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
2764
8200fa15
VS
27652013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2766
2767 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
2768 misnomer.
2769
091945b2
AB
27702013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
2771
2772 * docs/grub.texi (Network): Add description of net_default_interface,
2773 net_default_ip and net_default_mac. Rewrite variables description
2774 to emphasize that they are per-interface.
2775
0e7b2e32
VS
27762013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 New test: cmdline and cat.
2779
16f7c8f6
VS
27802013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * grub-core/commands/cat.c: Show UTF-8 characters.
2783
3e912fda
VS
27842013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * conf/Makefile.common: Poison float and double on non-emu.
2787
ee0220bc
VS
27882013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * configure.ac: Don't disable extended registers on emu.
2791
89e0240c
VS
27922013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 * configure.ac: Don't use extended registers on x86_64.
2795 Reported by: Peter Jones.
2796
e56d9637
VS
27972013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * grub-core/term/efi/console.c: Fix compile error.
2800
8098f655
VS
28012013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 Compressed HFS+ support.
2804
16940e07
VS
28052013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
2808 pixel".
2809
c5dbc13d
VS
28102013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 Menu color test.
2813
011f8ae8
VS
28142013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 * grub-core/tests/setjmp_test.c: New test.
2817
2aa072d7
VS
28182013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2819
2820 New variables 'net_default_*' to determine MAC/IP of default interface.
2821
43fe02cb
VS
28222013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * tests/gettext_strings_test.in: A test to check for strings not
2825 marked for translation.
2826
bed06142
VS
28272013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 * autogen.sh: Exclude unused libgcrypt files from translation.
2830
fb2666b5
VS
28312013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 Simplify few strings.
2834
d22840ec
VS
28352013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 Mark few forgotten strings for translation.
2838
e34092fd
VS
28392013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
2842 rather than printf.
2843
47cf82b4
VS
28442013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
2847 rather than printf.
2848 * grub-core/video/readers/tga.c: Likewise.
2849
1eed0e6e
VS
28502013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 * tests/priority_queue_unit_test.cc: New test.
2853
c5b7697b
VS
28542013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
2857 than printf.
2858
5945c2f8
AB
28592013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
2860
2861 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
2862 variable for one time boot menu entry.
2863
fa292343
B
28642013-05-05 Bean <bean123ch@gmail.com>
2865
2866 * grub-core/commands/testspeed.c: New command testspeed.
2867
310d4214
VS
28682013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 Factor-out human-size printing.
2871
85002bf3
VS
28722013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 Agglomerate more mallocs to speed-up gfxterm.
2875
22b06e96
VS
28762013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 Speed-up gfxterm by slightly agglomerating mallocs.
2879
b7c036bc
VS
28802013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 More video checks.
2883
92323d1f
VS
28842013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 Speed-up gfxterm by saving intermediate results in index+alpha
2887 format.
2888
0fb356a3
VS
28892013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
2892 test.
2893
44dea3f9
VS
28942013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
2897 line of timeout as it may contain the rest of long line.
2898
14af86e4
VS
28992013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/normal/main.c: Fix freed memory dereference.
2902
03f7c8c3
VS
29032013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 Fix several memory leaks.
2906
c686014c
VS
29072013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
2910
0788a695
VS
29112013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
2914
daf01d61
VS
29152013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 Fix test -a and -o precedence.
2918 Reported by: adrian15.
2919
82ae74d7
VS
29202013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
2923
8cec7bd4
AB
29242013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
2925
2926 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
2927 and add it as source to functional_test module.
2928
aa73d688
VS
29292013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
2932
c104b6f9
VS
29332013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 New series of tests for gfxterm and gfxmenu.
2936
7391c4d5
VS
29372013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
2940 the theme path relative to $prefix/themes.
2941
cff50118
VS
29422013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
2945 Fix order bug.
2946 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2947
7c332bdc
VS
29482013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
2951 descriptor.
2952
a4f9a5ff
VS
29532013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
2956 grub_gfxmenu_timeout_notifications.
2957 (grub_gfxmenu_view_destroy): Likewise.
2958
b5a2114d
VS
29592013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
2962
a8905e8a
VS
29632013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 Several fixes to ieee1275 and big-endian video.
2966
813c1622
VS
29672013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 Add missing exports on mips.
2970
3f3e7326
VS
29712013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
2974 if no unifont is found.
2975 Restore original keyboard.
2976
095accd1
VS
29772013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2980 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
2981
50361660
VS
29822013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 First automated video test (running videotest and comparing results)
2985
cd0f6eec
VS
29862013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
2989 instead of 2 to have full RGB/CMY test pattern.
2990
3f9634e5
VS
29912013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 Add few more tests.
2994
583e5b64
VS
29952013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * include/grub/arc/arc.h: Account for missing "other" peripheral on
2998 ARCS. All users updated.
2999
aa7bcb99
VS
30002013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
3003
95ef1a54
VS
30042013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/partmap/amiga.c: Fix size of checksummed block.
3007
46546fc5
VS
30082013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
3011 Reported by: qwertial.
3012
3476e0ef
VT
30132013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
3014
3015 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
3016 with syntax "XXX deg"/"XXX °".
3017
96f33fed
VS
30182013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 Make PCI init in i386-qemu port more robust.
3021
30222013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
3023
3024 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
3025 cached view is reused.
3026 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
3027 open boot menus.
3028
c53b4e67
VS
30292013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 Unify more code in grub-install_header.
3032
f7457fb2
VS
30332013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 Add few new tests.
3036
e2f27a8c
VS
30372013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 Enforce disabling of firmware disk drivers when native drivers kick in.
3040
ef9d8cd5
VS
30412013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * grub-core/commands/nativedisk.c: Customize the list of modules on
3044 platform. Don't try to search for disks already using native drivers.
3045
f7bf6c31
VS
30462013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
3049 platforms.
3050
bdc4add8
VS
30512013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
3054 handling of variables containing backslash.
3055
e9e46c9a
VS
30562013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
3059 dereference.
3060 Reported by: qwertial.
3061
0e90dee8
VS
30622013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
3065
e0aacf24
VS
30662013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
3069 dereference.
3070 Reported by: qwertial.
3071
3c0003c3
VS
30722013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * docs/grub.texi: Add a comment about usefullness of nativedisk.
3075
adb7d667
VS
30762013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
3079
7cd0df84
VS
30802013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 New command `nativedisk'.
3083
02adbb93
VS
30842013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
3087 * grub-core/loader/i386/bsd.c: Likewise.
3088
9fb0fd4f
VS
30892013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
3092
bd69257a
VS
30932013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
3096 grub_get_unaligned16 rather than shifts.
3097
178c2764
VS
30982013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * grub-core/kern/file.c: Use const char * rather than casting to
3101 non-const.
3102
eadfad24
VS
31032013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * grub-core/commands/probe.c: Add missing grub_device_close.
3106
9f73ebd4
VS
31072013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * INSTALL: Document linguas.sh.
3110
965fa829
VS
31112013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 Remove POTFILES.in and regenerate it in autogen.sh.
3114
d417ddc4
VS
31152013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 Move --directory/--override-directorry to grub-install_header and unify.
3118
f97ec546
VS
31192013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * grub-core/term/morse.c: Macroify dih and dah.
3122
b2d7470c
PFS
31232013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3124
3125 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
3126
141e2a78
VS
31272013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * grub-core/term/ns8250.c: Systematically probe ports by writing
3130 to SR before using them.
3131
1dd70ebd
PFS
31322013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3133
3134 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
3135 disks.
3136 (check_sas): Get sas_adress info.
3137
c796a107
VS
31382013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
3141 ports.
3142
43168646
LD
31432013-04-27 Leon Drugi <eyak>
3144
3145 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
3146 BSS clearing.
3147
e7b8fd08
VS
31482013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 Core compression test.
3151
17f9fd29
VS
31522013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 Implement grub_machine_get_bootlocation for ARC.
3155
dc2a6c8b
VS
31562013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 Improve AHCI detection and command issuing.
3159
f25a2ba6
VS
31602013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Fix pseries test.
3163
a6393224
VS
31642013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3165
3166 Make 'make check' work on emu.
3167
db99fbe8
VS
31682013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 Replace libcurses with our own vt100 handling for the ease of testing
3171 and decreasing prerequisites.
3172
b24ca7cd
VS
31732013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
3176
63314aa4
VS
31772013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
3180 compile when not needed.
3181
c1b00fff
VS
31822013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * tests/pseries_test.in: New test.
3185
f93e89ef
VS
31862013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 Add test to check that different boot mediums work.
3189
c4b456d3
VS
31902013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
3193 ofw limited ISO support.
3194
5fe67f39
VS
31952013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * configure.ac: Fix loongson conditional.
3198
7f63a64f
VS
31992013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 Enable mipsel-arc.
3202
b04b5990
VS
32032013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 Add serial on ARC platform.
3206
88d2f302
VS
32072013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
3210 commit.
3211
86eb23bc
VS
32122013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * tests/partmap_test.in: Add missing double semicolon.
3215
eec3bb75
VS
32162013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * util/grub-mkrescue.in: Fix loongson filename.
3219
e0810df3
VS
32202013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 * util/grub-mkrescue.in: Move all files that don't have a location
3223 set in stone under /boot/grub. Use ISO hard links rather than copies
3224 to save some space.
3225
65a6b30b
VS
32262013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
3229 bogus SLOF values.
3230
6aff0107
VS
32312013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 Make check work on mips-arc.
3234
5e013e56
VS
32352013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * util/grub-mkrescue.in: Alias sashARCS as sash.
3238
d1989e2e
VS
32392013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
3242 it's serial.
3243
1a25e72c
VS
32442013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * util/grub-install.in: Fix target fo qemu_mips.
3247 Fix extension on EFI.
3248
a59a9826
VS
32492013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3250
3251 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
3252 in front of chosen entry to mark it even if highlighting is lost.
3253
1a40f80c
VS
32542013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
3257 gfxpayload=keep if cbfb is active.
3258
e343549c
VS
32592013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
3262
45fbd9a2
VS
32632013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 Add missing video ids to coreboot and ieee1275 video.
3266
ab1440bd
VS
32672013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 * util/grub-mkrescue.in: Add mips-arc support.
3270
cdeb8324
VS
32712013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3272
3273 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
3274
8528c879
VS
32752013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 Move mips-arc link address. Previous link address was chosen
3278 in belief that RAM on SGI platforms grows down while in fact it
3279 grows up from an unusual base.
3280
17fca573
VS
32812013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
3284 Fix a type which prevented CD-ROM and floppy boot.
3285
d178788e
VS
32862013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 Support coreboot framebuffer.
3289
3290 * grub-core/video/i386/coreboot/cbfb.c: New file.
3291
fe4c3e7e
VS
32922013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3293
3294 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
3295 detecting too small regions.
3296
ec2dd179
VS
32972013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
3300
872dac83
VS
33012013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
3304 Remove dprintf.
3305 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
3306
90ec4b7f
VS
33072013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
3310 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
3311 * grub-core/loader/powerpc/ieee1275/linux.c
3312 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
3313
f32555dd
VS
33142013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
3317 Look for /boot-rom as well as /rom/boot-rom.
3318
38649799
VS
33192013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
3322 handling when creating text_layer failed.
3323 * grub-core/video/video.c (grub_video_create_render_target):
3324 Set result to 0 on error.
3325 (grub_video_delete_render_target): Do not dereference NULL.
3326
aeace7f7
VS
33272013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
3330 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
3331 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
3332 (grub_linux_load64): Mask out 2 high bits.
3333
4eafa175
AB
33342013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
3335
3336 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
3337 more place.
3338
daaa64bd
VS
33392013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 Add support for pseries and other bootinfo machines to grub-mkrescue.
3342
3343 Tested by: Paulo Flabiano Smorigo.
3344
d0d2daa6
VS
33452013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * util/grub-mkrescue.in: Add GPT for EFI boot.
3348
b193e100
VS
33492013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3350
3351 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
3352 It improves performance in qemu.
3353
a0f8f3ac
VS
33542013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 * build-aux/snippet: Add missing gnulib files.
3357
284df0e2
AB
33582013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
3359
3360 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
3361
740201f3
AB
33622013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
3363
3364 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
3365
a7e03923
PJ
33662013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
33672013-04-15 Peter Jones <pjones@redhat.com>
3368
3369 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
3370 sectors.
3371 Based on patch by Peter Jones.
3372
25fc51a8
VS
33732013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 Fix DMRAID partition handling.
3376
88017d47
VS
33772013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * tests/grub_cmd_date.in: Skip on sparc64.
3380
fa7d914e
VS
33812013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3382
3383 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
3384 firmware error messages.
3385
cbe57a48
VS
33862013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
3389 source and destination differ.
3390
21aecce0
VS
33912013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
3394 detection.
3395
25092d29
VS
33962013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
3399 match config-util.h to avoid warnings and increase compatibility.
3400
79451522 34012013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 34022013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
3403
3404 Add option to compress files on install/image creation.
3405
78b7d77b
VS
34062013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * docs/grub-dev.texi: Rearrange menu to match the section order.
3409 Reported by: Bryan Hundven.
3410
cc2fa5ec
VS
34112013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
3414
b49fe879
VS
34152013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 Move GRUB out of system area when using xorriso 1.2.9 or later.
3418
5351da81
VS
34192013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * tests/grub_cmd_date.in: Add missing exit 1.
3422
c9d586ea
VS
34232013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 * tests/partmap_test.in: Skip on sparc64.
3426
3f729741
VS
34272013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 Support grub-shell on sparc64.
3430
8ca86b3a
VS
34312013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 Support mkrescue on sparc64.
3434
aa1af9bb
VS
34352013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3436
3437 Allow IEEE1275 ports on path even if it wasn't detected automatically.
3438 Needed on OpenBIOS due to incomplete device tree.
3439
ac4fea79
VS
34402013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
3443 would be otherwise excluded.
3444
34452013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
3446
3447 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
3448 Inline name defines used only once.
3449
fe22b071
VS
34502013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 Fix memory leaks in ofnet.
3453 Reported by: Francesco Lavra.
3454
9d21381b
VS
34552013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * docs/man/grub-glue-efi.h2m: Add missing file.
3458
07aec23c
VS
34592013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
3462
67ab8353
VS
34632013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 Better support Apple Intel Macs on CD.
3466
ba44ca6d
VS
34672013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 Replace stpcpy with grub_stpcpy in tools.
3470
bbdd6305
VS
34712013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 Handle Japanese special keys.
3474 Reported by: Hiroyuki YAMAMORI.
3475 Codes supplied by: Hiroyuki YAMAMORI.
3476
8573d302
VS
34772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 * util/grub-mkimage.c: Document memdisk implying --prefix.
3480
d70dbab7
VS
34812013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
3484 much we can do about it anyway.
3485
51a4c3e3
AN
34862013-04-12 Aleš Nesrsta <starous@volny.cz>
3487
3488 Fix handling of split transfers.
3489
92c8f58d
VS
34902013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 * grub-core/net/http.c: Fix bad free.
3493
b7d17a49
VS
34942013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
3497 than buffer size.
3498
a3d566d4
VS
34992013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 Disable partmap check on i386-ieee1275 due to openfirmware issues.
3502
a936af56
VS
35032013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3504
3505 * tests/util/grub-shell.in: Fix it on powerpc.
3506
51212234
VS
35072013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 Turn off QEMU ACPI-way since new releases don't have shutdown port
3510 anymore.
3511
a21eec9e
VS
35122013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3513
3514 * docs/grub.texi: Update coreboot status info.
3515
e3734b84
VS
35162013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * tests/grub_cmd_date.in: New test for datetime.
3519
f9d40055
VS
35202013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * tests/partmap_test.in: Fix missing qemudisk setting.
3523
dbc56d8f
VS
35242013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 Support i386-ieee1275 grub-mkrescue and make check on it.
3527
a79b8a15
VS
35282013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
3531 feature for it.
3532
48f39bb4
VS
35332013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3534
3535 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
3536 GRUB_CMDLINE_XEN_DEFAULT.
3537 Reported by: Marc Warne (GigaTux) <gigatux>
3538
053cfcdd
VS
35392013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3540
3541 Import new gnulib.
3542
93cd84df
VS
35432013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 Use ACPI shutdown intests as traditional port was removed.
3546
f4b1fa4f
AB
35472013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
3548
3549 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
3550 distinction.
3551
49818a59
VS
35522013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
3555 Fix few warining messages and leaks while on it.
3556
9277a306
AB
35572013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
3558
3559 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
3560 links under grub-core/lib/libgcrypt-grub/mpi.
3561
d5e2a158
VS
35622013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 Fix ia64-efi image generation on big-endian machines. Deduplicate
3565 some code while on it.
3566 Reported by: Leif Lindholm.
3567
18866643
AB
35682013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3569
3570 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
3571 as extra_dist.
3572
ca53deb8
AB
35732013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3574
3575 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
3576
d4c4b8e1
BH
35772013-04-08 Bryan Hundven <bryanhundven@gmail.com>
3578
3579 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
3580 texinfo-5.1.
3581
47043f95
VS
35822013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * grub-core/normal/term.c: Few more fixes for menu entry editor
3585 rendering.
3586 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3587
a3216068
VS
35882013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * grub-core/normal/term.c: Few more fixes for menu entry editor
3591 rendering.
3592 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3593
21026747
AB
35942013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3595
3596 * conf/Makefile.extra-dist (EXTRA_DIST): Add
3597 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
3598
59624ca8
AB
35992013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3600
3601 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
3602 instead of hardcoding grub.mo.
3603
1f44478c
FN
36042013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
3605
3606 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
3607
eeada7b1
VS
36082013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
3611 grub-core/disk/geli.c.
3612
132867de
VS
36132013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * util/grub-mkfont.c: Prefer enum to #define.
3616
de73de17
VS
36172013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
3620
1865baa7
VS
36212013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
3624
ce7d92a9
VS
36252013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
3628
52eab656
VS
36292013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3630
3631 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
3632
98b23b95
VS
36332013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 * include/grub/bsdlabel.h: Use enums.
3636
0467a5dd
VS
36372013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 Move GRUB_CHAR_BIT to types.h.
3640
16cc9f03
AB
36412013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3642
3643 * docs/grub.texi: Document more user commands.
3644
3152aecb
AB
36452013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3646
3647 * docs/grub.texi: Document menuentry --id option.
3648
c506fc30
FL
36492013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
3650
3651 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
3652
aa428238
VS
36532013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 Unify file copying setup across different install scripts. Add
3656 options for performing partial install.
3657
efe0cdda
PJ
36582013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
36592013-04-04 Peter Jones <pjones@redhat.com>
3660
3661 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
3662
f75835bd
VS
36632013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 Use TSC as a possible time source on i386-ieee1275.
3666
2cd5ce6c
VS
36672013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
3670 Init err.
3671
c9625630
VS
36722013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 * util/grub-setup.c (setup): Handle some corner cases.
3675
be008941
VS
36762013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
3679
1a78d573
VS
36802013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * grub-core/commands/verify.c: Save verified file to avoid it being
3683 tampered with after verification was done.
3684
db8ff59f
VS
36852013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
3688 reported width by one to compensate for curesor algorithm problem.
3689
91bf46b1
VS
36902013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 Fix screen corruption in menu entry editor and simplify the code
3693 flow while on it.
3694
a7b1d693
AB
36952013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
3696
3697 * util/grub-mount.c (fuse_init): Return error if fuse_main
3698 failed.
3699
31df9ad8
FL
37002013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
3701
3702 * include/grub/elf.h: Add missing ARM relocation codes and fix
3703 existing ones.
3704
07f392eb
VT
37052013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3706
3707 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
3708
9efd73ec 37092013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
37102013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
3713 into account when calculating radius.
3714
37152013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
3716
3717 * grub-core/gfxmenu/view.c: Fix off-by-one error.
3718
4985ddaa
VT
37192013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3720
3721 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
3722
8c3635ff
RS
37232013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3724
3725 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
3726 missing closing bracket.
3727
74a35e69
RS
37282013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3729
3730 * INSTALL: Mention xorriso requirement.
3731
40f1c000
AB
37322013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
3733
3734 * grub-core/commands/verify.c: Fix hash algorithms values for
3735 the first three hashes - they start with 1, not with 0.
3736
e75fdee4
VS
37372013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
3740 Try terminating EFI services several times due to quirks in some
3741 implementations.
3742
33028f4c
CW
37432013-03-26 Colin Watson <cjwatson@ubuntu.com>
3744
3745 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
3746 skipping Event, Device, Processor, PowerRes, ThermalZone, and
3747 BankField extended opcodes.
3748 (get_sleep_type): Add minimal scope handling (just enough to
3749 handle setting the scope to the root path).
3750 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
3751 * include/grub/acpi.h: Add enumeration values for Event, Device,
3752 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
3753
33871a10
VT
37542013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
3755
3756 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
3757 memory leak.
3758
8990963a
VS
37592013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * grub-core/disk/ahci.c: Give more time for AHCI request.
3762
daae8f9e
VS
37632013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3764
3765 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
3766 command.
3767
6a7fb94b
VS
37682013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 Replace the region at 0 from coreboot tables to available in BSD
3771 memory map.
3772
ff99babd
VS
37732013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
3776 non-BIOS platforms.
3777
30d6b1b2
VS
37782013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
3781 platforms.
3782
6ccd0b31
VS
37832013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
3786 handling of multi-device filesystems.
3787
23c9cc04
VS
37882013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
3791 platforms.
3792
ce50dbd7
VS
37932013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 Add new 'proc' filesystem framework and put luks_script into it.
3796
d975e8d5
VS
37972013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3798
3799 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
3800 and qemu.
3801
e73ba5e8
VS
38022013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
3805
92750e4c
VS
38062013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3807
3808 Add ability to generate newc additions on runtime.
3809
0ec45a68
VS
38102013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
3813 description.
3814
320abd43
VS
38152013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * po/POTFILES.in: Regenerate.
3818
d7a6506e
VS
38192013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 * grub-core/commands/verify.c (hashes): Add several hashes
3822 from the spec.
3823
8fe05def
VS
38242013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3825
3826 Slight improve in USB-related boot-time checkpoints.
3827
524e2766
VS
38282013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * grub-core/commands/boottime.c: Fix copyright header.
3831
cc19857a
VS
38322013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
3835 coreboot tables content. Support for cbmemc.
3836
ef8810e9
VS
38372013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 Fix a conflict between ports structures with 2 controllers of
3840 same kind.
3841
e9dabdfa
VS
38422013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 * include/grub/boottime.h: Add missing file.
3845
f6df57d2
VS
38462013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 Initialize USB ports in parallel to speed-up boot.
3849
d745dda7
VS
38502013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 Fix USB devices not being detected when requested
3853 due to delayed attach.
3854
e5a2dd7b
VS
38552013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3856
e744219b
VS
3857 Implement boot time analysis framework.
3858
38592013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
3862 descriptor to just receive it as argument rather than endpoint
3863 address.
3864
5dd6f587
VS
38652013-03-19 Aleš Nesrsta <starous@volny.cz>
3866
3867 Better estimate the maximum USB transfer size.
3868
2f1071d5
VS
38692013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 Resend a packet if we got the wrong buffer in status.
3872
46ecfc49
VS
38732013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
3876 multiplication rather than division.
3877
ea811130
VS
38782013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
3881 than divisions.
3882
d2789cf0
VS
38832013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
3886 operations to have intended shifts and not divisions.
3887
a9c94590
VS
38882013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
3891 intended shifts rather than division.
3892
84cfe81b
VS
38932013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
3896 computation for some years before epoch. Avode confusing division
3897 while on it.
3898
21344ef6
VS
38992013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 * grub-core/video/i386/pc/vbe.c
3902 (grub_video_vbe_print_adapter_specific_info): Replace division by
3903 shifts.
3904
3f2b4d1a
VS
39052013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3906
3907 Adjust types in gdb module to have intended unsigned shifts rather than
3908 signed divisions.
3909
3dac5878
VS
39102013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
3913 maximum size is 4G - 1 on hfs
3914
5341c0fb
VS
39152013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
3918
fc3ff2a2
VS
39192013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
3922 function.
3923
81455e8e
AB
39242013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
3925
3926 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
3927 causing gcc error with gcc 4.7.1.
3928
efd4f117
NZ
39292013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3930
3931 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
3932 dereference null pointer. While the code is technically correct, gcc
3933 may eliminate a null check if pointer is already dereferenced.
3934
e11645f4
NZ
39352013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3936
3937 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
3938 OOM check.
3939 * grub-core/normal/term.c (read_terminal_list): Likewise.
3940
77468368
VS
39412013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 Lift up core size limits on some platforms. Fix potential memory
3944 corruption with big core on small memory systems. Document remaining
3945 limits.
3946
f6b58fe5
VS
39472013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
3950 gotoxy to 0,0.
3951
19ce697d
VS
39522013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 Remove all trampoline support. Add -Wtrampolines when
3955 present. Remove symbols used for trampolines to make
3956 link fail if trampolines are present.
3957
73b5d90f
VS
39582013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
3961 append out of its parent.
3962
cb758e96
VS
39632013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
3966 parent.
3967
3188131f
VS
39682013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
3971 all vars to a macro. All users updated.
3972
e42b2514
VS
39732013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * grub-core/disk/ieee1275/nand.c: Fix compilation on
3976 i386-ieee1275.
3977
83e1a1a1
VS
39782013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
3981
1d5a880f
VS
39822013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
3985
6e4146c4
VS
39862013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 Move to more hookless approach in IEEE1275 devices handling.
3989
99fcda8a
VS
39902013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 * grub-core/kern/term.c (grub_term_normal_color),
3993 (grub_term_highlight_color): Add back lost defaults.
3994
73bf57e2
VS
39952013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 Make elfload not use hooks. Opt for flags and iterators instead.
3998
7f8c105f
VS
39992013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
4002 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
4003
396d4091
VS
40042013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 * grub-core/script/execute.c (gettext_append): Remove nested functions.
4007
40082013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4009
4010 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
4011 hook pass-through parameter. All users updated and unnested.
4012
74a27421
VS
40132013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
4016 out of its parent.
4017
b46d4213
VS
40182013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * grub-core/fs/hfs.c: Remove nested functions.
4021
e114c3cc
VS
40222013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
4025 the context through.
4026 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
4027
f9b7d780
VS
40282013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 * util/grub-editenv.c (list_variables): Move print_var out of its
4031 parent.
4032
ca9c2608
VS
40332013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
4036 function.
4037
5d983f5f
VS
40382013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * grub-core/gentrigtables.c: Make tables const.
4041
3056d3e7
VS
40422013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 Remove nested functions from videoinfo iterators.
4045
e2303774
VS
40462013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
4049 for 64-bit platforms.
4050
f42e3a2f
VS
40512013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
4054 a FOR_CHILDREN macro.
4055
be174e5e
VS
40562013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
4059 platform from firmware path.
4060
0789b672
VS
40612013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 Enable linux16 on non-BIOS systems for i.a. memtest.
4064
4065 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
4066 correctly.
4067 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
4068
005a9c32
VS
40692013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
4072 Fix end of table condition.
4073
ff2b3cd9
VS
40742013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
4077 out of its parent.
4078
4fc40ff8
VS
40792013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 * grub-core/fs/jfs.c: Remove nested functions.
4082
be42d97a
VS
40832013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 * grub-core/fs/minix.c: Remove nested functions.
4086
99373ce4
VS
40872013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * grub-core/fs/iso9660.c: Remove nested functions.
4090
5aec2afe
VS
40912013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
4094 of parent function.
4095
6c69e691
VS
40962013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4097
4098 * util/grub-fstest.c: Remove nested functions.
4099
43c91882
VS
41002013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * grub-core/loader/machoXX.c: Remove nested functions.
4103
4eb8b756
CW
41042013-02-27 Colin Watson <cjwatson@ubuntu.com>
4105
4106 Remove nested functions from disk and file read hooks.
4107
4108 * include/grub/disk.h (grub_disk_read_hook_t): New type.
4109 (struct grub_disk): Add read_hook_data member.
4110 * include/grub/file.h (struct grub_file): Likewise.
4111 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
4112 argument.
4113
4114 Update all callers.
4115
df6da5a5
AB
41162012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
4117
4118 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
4119 Fix off by one error in enumerating extended partitions.
4120
21aecde5
AB
41212013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
4122
4123 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
4124 memory leak if device name is not found.
4125
f1a19118
AB
41262013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4127
4128 * grub-core/normal/menu_entry.c (update_screen): remove
4129 unused variable `off' which caused scroll down arrow to be always shown.
4130
958bfd20
AB
41312013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4132
4133 * grub-core/normal/menu_entry.c (insert_string): fix off by one
4134 access to unallocated memory.
4135
b7b78edb
AB
41362013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4137
4138 * Makefile.util.def: Add partmap/msdos.c to common library.
4139 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
4140 * grub-core/disk/ldm.c: Check for existence of
4141 GRUB_PC_PARTITION_TYPE_LDM.
4142
28d468d6
VS
41432013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
4146 sizes and display sector size.
4147
d55ffb02
VS
41482013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 Implement new command cmosdump.
4151
b5ea6ce0
VS
41522013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4153
4154 Support Openfirmware disks with non-512B sectors.
4155
4156 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
4157 size of the disk.
4158 * (grub_ofdisk_get_block_size): New function.
4159 * (grub_ofdisk_prepare): Use the correct block size.
4160 * (grub_ofdisk_read): Likewise.
4161 * (grub_ofdisk_write): Likewise.
4162 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
4163 New proto.
4164
cc0e476f
VS
41652013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
4168
c5dbdc33
VS
41692013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
4172 on first error.
4173
3f078c0f
VS
41742013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
4177 freeing it.
4178
66a93674
VS
41792013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 Implement USBDebug (full USB stack variant).
4182
c9f0c134
VS
41832013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
4186 unless they have unexpected values.
4187
cfe1288b
VS
41882013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
4191 grub_print_error.
4192
e42b9969
VS
41932013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
4196 zero-out of port structure.
4197
cf94fd62
VS
41982013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
4201 of extended attributes.
4202
f81ef4b5
AB
42032013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
4204
4205 * util/grub-install.in: change misleading comment about
4206 device.map creation
4207
af18fdb4
VS
42082013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
4211 when menu highlight color isn't set.
4212
08bcec50
M
42132013-01-27 C. Masloch <pushbx@38.de>
4214
4215 Improve FreeDOS direct loading support compatibility.
4216
4217 * include/grub/i386/relocator.h (grub_relocator16_state):
4218 New member ebp.
4219 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
4220 variable.
4221 (grub_relocator16_boot): Handle %ebp.
4222 * grub-core/lib/i386/relocator16.S: Likewise.
4223 * grub-core/loader/i386/pc/freedos.c:
4224 Load BPB to pass kernel which partition to load from.
4225 Check that kernel file is not too large.
4226 Set register dl to BIOS unit number as well.
4227
7782b8a6
CW
42282013-01-22 Colin Watson <cjwatson@ubuntu.com>
4229
4230 * util/grub-reboot.in (usage): Document the need for
4231 GRUB_DEFAULT=saved.
4232 * util/grub-set-default.in (usage): Likewise.
4233 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
4234
e661c180
VS
42352013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
4238 than defining WORDS_BIGENDIAN manually.
4239
1c22ca9a
VS
42402013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
4243 invariants.
4244
d44892fe
CW
42452013-01-21 Colin Watson <cjwatson@ubuntu.com>
4246
4247 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
4248 nested.
4249 (blit_comb: add_device_width): Likewise.
4250
5fdbaed1
CW
42512013-01-21 Colin Watson <cjwatson@ubuntu.com>
4252
4253 Remove nested functions from USB iterators.
4254
4255 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
4256 (grub_usb_controller_iterate_hook_t): Likewise.
4257 (grub_usb_iterate): Add hook_data argument.
4258 (grub_usb_controller_iterate): Likewise.
4259 (struct grub_usb_controller_dev.iterate): Likewise.
4260
4261 Update all implementations and callers.
4262
4250985a
VS
42632013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
4266 margin when not needed.
4267
7d8848f3
VS
42682013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4269
bc136973 4270 Make color variables global instead of it being per-terminal.
7d8848f3
VS
4271
42722013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4273
bc136973
VS
4274 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
4275 asterisk.
7d8848f3 4276
ed12a003
CW
42772013-01-21 Colin Watson <cjwatson@ubuntu.com>
4278
4279 Fix powerpc and sparc64 build failures caused by un-nesting memory
4280 map iterators.
4281
6a0db449
CW
42822013-01-21 Colin Watson <cjwatson@ubuntu.com>
4283
4284 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
4285 parameter declarations.
4286
ccd86b21
VS
42872013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
4290
822b726b
VS
42912013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 Improve spkmomdem reliability by adding a separator between bytes.
4294
115c2cc1
CW
42952013-01-21 Colin Watson <cjwatson@ubuntu.com>
4296
4297 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
4298 an Acer registration utility with several sightings in the wild.
4299 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
4300
fc524edf
CW
43012013-01-21 Colin Watson <cjwatson@ubuntu.com>
4302
4303 Remove nested functions from filesystem directory iterators.
4304
4305 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
4306 (struct grub_fs.dir): Add hook_data argument.
4307
4308 Update all implementations and callers.
4309
53d3e4e3
CW
43102013-01-21 Colin Watson <cjwatson@ubuntu.com>
4311
4312 * docs/grub.texi (Multi-boot manual config): Fix typo for
4313 "recommended".
4314
c821711f
LL
43152013-01-20 Leif Lindholm <leif.lindholm@arm.com>
4316
4317 * util/grub-mkimage.c (main): Postpone freeing arguments.output
4318 until after its use in generate_image.
4319
6a0debbd
CW
43202013-01-20 Colin Watson <cjwatson@ubuntu.com>
4321
4322 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
4323 initrd size to addr_min, since the initrd will be allocated after
4324 this address.
4325
f41e08db
AB
43262013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
4327
4328 * conf/Makefile.common: Fix autogen rules to pass definition
4329 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
4330
77529e0f
LL
43312013-01-20 Leif Lindholm <leif.lindholm@arm.com>
4332
4333 * include/grub/elf.h: Update ARM definitions based on binutils.
4334
b879aa7b
VS
43352013-01-20 Aleš Nesrsta <starous@volny.cz>
4336
4337 Split long USB transfers into short ones.
4338
8eb8284d
AB
43392013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
4340
4341 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
4342 is interrupted by ESC.
4343
08dad2dc
VS
43442013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * util/grub-script-check.c (main): Uniform the error message.
4347
6c724b85
CW
43482013-01-20 Colin Watson <cjwatson@ubuntu.com>
4349
4350 Remove nested functions from ELF iterators.
4351
25239370
CW
43522013-01-20 Colin Watson <cjwatson@ubuntu.com>
4353
4354 Remove nested functions from device iterators.
4355
4356 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
4357 (grub_arc_iterate_devs): Add hook_data argument.
4358 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
4359 (struct grub_ata_dev.iterate): Add hook_data argument.
4360 * include/grub/device.h (grub_device_iterate_hook_t): New type.
4361 (grub_device_iterate): Add hook_data argument.
4362 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
4363 (struct grub_disk_dev.iterate): Add hook_data argument.
4364 (grub_disk_dev_iterate): Likewise.
4365 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
4366 Likewise.
4367 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
4368 Likewise.
4369 * include/grub/partition.h (grub_partition_iterate_hook_t): New
4370 type.
4371 (struct grub_partition_map.iterate): Add hook_data argument.
4372 (grub_partition_iterate): Likewise.
4373 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
4374 (struct grub_scsi_dev.iterate): Add hook_data argument.
4375
4376 Update all callers.
4377
6c0314d6
CW
43782013-01-20 Colin Watson <cjwatson@ubuntu.com>
4379
4380 Fix typos for "developer" and "development".
4381
600dc5f1
VS
43822013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 Add license header to spkmodem-recv.c.
4385
17334a6b
VS
43862013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 Rewrite spkmodem to use PIT for timing. Double the speed.
4389
7d462559
VS
43902013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4391
4392 Add new command pcidump.
4393
b78d6c32
VS
43942013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 New terminal outputs using serial: morse and spkmodem.
4397
34f71cb8
VS
43982013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 Improve bidi handling in entry editor.
4401
4542e71b
VS
44022013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4405 argument to prevent name collision.
4406
09fd6d82
CW
44072013-01-15 Colin Watson <cjwatson@ubuntu.com>
4408
4409 Remove nested functions from script reading and parsing.
4410
4411 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
4412 getline_data argument, passed to getline.
4413 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
4414 getline_data argument, passed to grub_parser_split_cmdline.
4415 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
4416 lexerstate->getline_data to lexerstate->getline.
4417 (grub_script_lexer_init): Add getline_data argument, saved in
4418 lexerstate->getline_data.
4419 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
4420 argument, passed to grub_script_parse.
4421 * grub-core/script/script.c (grub_script_parse): Add getline_data
4422 argument, passed to grub_script_lexer_init.
4423 * include/grub/parser.h (grub_parser_split_cmdline): Update
4424 prototype. Update all callers to pass appropriate getline data.
4425 (struct grub_parser.parse_line): Likewise.
4426 (grub_rescue_parse_line): Likewise.
4427 * include/grub/reader.h (grub_reader_getline_t): Add void *
4428 argument.
4429 * include/grub/script_sh.h (struct grub_lexer_param): Add
4430 getline_data member.
4431 (grub_script_parse): Update prototype. Update all callers to pass
4432 appropriate getline data.
4433 (grub_script_lexer_init): Likewise.
4434 (grub_normal_parse_line): Likewise.
4435
4436 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
4437 data argument.
4438 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
4439 static instead of nested. Rename to ...
4440 (grub_parser_execute_getline): ... this.
4441 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
4442 data argument.
4443 * grub-core/normal/main.c (read_config_file: getline): Make static
4444 instead of nested. Rename to ...
4445 (read_config_file_getline): ... this.
4446 (grub_normal_read_line): Add unused data argument.
4447 * grub-core/script/execute.c (grub_script_execute_sourcecode:
4448 getline): Make static instead of nested. Rename to ...
4449 (grub_script_execute_sourcecode_getline): ... this.
4450 * util/grub-script-check.c (main: get_config_line): Make static
4451 instead of nested.
4452
d0d4b8a0
CW
44532013-01-15 Colin Watson <cjwatson@ubuntu.com>
4454
4455 Remove nested functions from memory map iterators.
4456
4457 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
4458 argument, passed to hook.
4459 * grub-core/kern/i386/coreboot/mmap.c
4460 (grub_linuxbios_table_iterate): Likewise.
4461 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
4462 instead of nested.
4463 (grub_machine_mmap_iterate): Add hook_data argument.
4464 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
4465 Add hook_data argument, passed to hook.
4466 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
4467 Likewise.
4468 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4469 Likewise.
4470 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
4471 Likewise.
4472 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
4473 Likewise.
4474 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
4475 Likewise.
4476 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
4477 Likewise.
4478 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
4479 (grub_machine_mmap_iterate): Likewise.
4480 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
4481 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
4482 prototype.
4483 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
4484 Remove NESTED_FUNC_ATTR from here and from all users.
4485 (grub_mmap_iterate): Update prototype.
4486 (grub_efi_mmap_iterate): Update prototype. Update all callers to
4487 pass appropriate hook data.
4488 (grub_machine_mmap_iterate): Likewise.
4489
4490 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
4491 static instead of nested.
4492 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
4493 Rename to ...
4494 (lsmmap_hook): ... this.
4495 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
4496 Likewise.
4497 (grub_efiemu_mmap_fill: fill_hook): Likewise.
4498 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
4499 heap_init): Likewise.
4500 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
4501 Rename to ...
4502 (mmap_iterate_hook): ... this.
4503 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
4504 Likewise.
4505 * grub-core/lib/ieee1275/relocator.c
4506 (grub_relocator_firmware_get_max_events: count): Likewise.
4507 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
4508 to ...
4509 (grub_relocator_firmware_fill_events_iter): ... this.
4510 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
4511 hook): Likewise. Rename to ...
4512 (grub_relocator_alloc_chunk_align_iter): ... this.
4513 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
4514 Rename to ...
4515 (generate_e820_mmap_iter): ... this.
4516 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
4517 Rename to ...
4518 (count_hook): ... this.
4519 (grub_linux_boot: hook): Likewise. Rename to ...
4520 (grub_linux_boot_mmap_find): ... this.
4521 (grub_linux_boot: hook_fill): Likewise. Rename to ...
4522 (grub_linux_boot_mmap_fill): ... this.
4523 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
4524 hook): Likewise. Rename to ...
4525 (grub_fill_multiboot_mmap_iter): ... this.
4526 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
4527 hook): Likewise. Rename to ...
4528 (count_hook): ... this.
4529 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
4530 hook): Likewise. Rename to ...
4531 (grub_fill_multiboot_mmap_iter): ... this.
4532 * grub-core/loader/powerpc/ieee1275/linux.c
4533 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
4534 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
4535 Likewise. Rename to ...
4536 (alloc_phys_choose): ... this.
4537 (determine_phys_base: get_physbase): Likewise.
4538 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
4539 find_hook): Likewise.
4540 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
4541 (malloc_hook: count_hook): Likewise.
4542 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
4543 Likewise. Rename to ...
4544 (lower_hook): ... this.
4545 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4546 (upper_hook): ... this.
4547 (grub_mmap_get_post64: hook): Likewise. Rename to ...
4548 (post64_hook): ... this.
4549 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
4550 Likewise. Rename to ...
4551 (lower_hook): ... this.
4552 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4553 (upper_hook): ... this.
4554 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
4555 (grub_mmap_iterate: fill_hook): Likewise.
4556 (fill_mask): Pass addr and mask within a single struct.
4557 (grub_cmd_badram: hook): Make static instead of nested. Rename
4558 to ...
4559 (badram_iter): ... this.
4560 (grub_cmd_cutmem: hook): Likewise. Rename to ...
4561 (cutmem_iter): ... this.
4562
22099030
VS
45632013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
4566 delimit path in strings using quotes.
4567 * util/getroot.c (grub_guess_root_devices): Likewise.
4568 (grub_make_system_path_relative_to_its_root): Likewise.
4569 * util/grub-probe.c (probe): Likewise.
4570 * util/ieee1275/ofpath.c (find_obppath): Likewise.
4571 (xrealpath): Likewise.
4572
4a9950ec
VS
45732013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 Fix compilation with older compilers.
4576
4577 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
4578 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
4579 declarations.
4580 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
4581 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
4582 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
4583 identifier with b.
4584 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
4585 * include/grub/crypto.h: Add type defines.
4586 * util/import_gcrypth.sed: Remove duplicate type defines.
4587
adcc6020
VS
45882013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 New command list_trusted.
4591
4592 * grub-core/commands/verify.c (grub_cmd_list): New function.
4593
a4528937
CW
45942013-01-13 Colin Watson <cjwatson@ubuntu.com>
4595
4596 * util/grub-mkimage.c (generate_image): Fix "size of public key"
4597 info message.
4598
ca3a7446
CW
45992013-01-13 Colin Watson <cjwatson@ubuntu.com>
4600
4601 Remove nested functions from PCI iterators.
4602
4603 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
4604 passed to hook. Update all callers to pass appropriate hook data.
4605 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
4606 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
4607 Remove NESTED_FUNC_ATTR from here and from all users.
4608 (grub_pci_iterate): Update prototype.
4609 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
4610 instead of nested. Rename to ...
4611 (grub_cs5536_find_iter): ... this.
4612 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
4613 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
4614 Likewise.
4615 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
4616 Likewise.
4617 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
4618 Likewise.
4619 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
4620 Likewise.
4621 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
4622 * grub-core/video/radeon_fuloong2e.c
4623 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
4624 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
4625 find_card): Likewise.
4626 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
4627 Likewise.
4628
f8e98fee
VS
46292013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * grub-core/commands/verify.c: Mark messages for translating.
4632
055b36b6
VS
46332013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
4636 fatal.
4637
f7ff879b
VS
46382013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
4641 fatal.
4642
46432013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
4644
4645 * autogen.sh: Do not try to delete nonexistant files.
4646 * util/import_gcrypth.sed: Add some missing header removals.
4647
01323d49
CW
46482013-01-12 Colin Watson <cjwatson@ubuntu.com>
4649
4650 Clean up dangling references to grub-setup.
4651 Fixes Ubuntu bug #1082045.
4652
4653 * docs/grub.texi (Images): Refer generally to grub-install rather
4654 than directly to grub-setup.
4655 (Installing GRUB using grub-install): Remove direct reference to
4656 grub-setup.
4657 (Device map) Likewise.
4658 (Invoking grub-install): Likewise.
4659 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
4660 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
4661 * util/grub-install.in (usage): Likewise.
4662
4663 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
4664 Apply to grub-bios-setup and grub-sparc64-setup rather than to
4665 grub-setup.
4666 * configure.ac: Remove grub_setup output variable.
4667
4668 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
4669 to grub-bios-setup.
4670 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
4671 grub-setup to grub-sparc64-setup.
4672
5e3b8dcb
VS
46732013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 Import gcrypt public-key cryptography and implement signature checking.
4676
535714bd
VS
46772013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * grub-core/fs/ntfs.c: Ue more appropriate types.
4680 * grub-core/fs/ntfscomp.c: Likewise.
4681 * include/grub/ntfs.h: Likewise.
4682
3e4f3566
VS
46832013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 Support Apple FAT binaries on non-Apple platforms.
4686
4687 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
4688 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
4689 Likewise.
4690 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
4691 Apple FAT binaries.
4692
4dedb13f
VS
46932013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
4696 sector devices.
4697
f8861eaf
CW
46982013-01-07 Colin Watson <cjwatson@ubuntu.com>
4699
4700 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
4701 explicitly zeroing elements.
4702 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
4703 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
4704 of elements in a structure already allocated using grub_zalloc.
4705 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
4706
86065b0a
CW
47072013-01-07 Colin Watson <cjwatson@ubuntu.com>
4708
4709 * docs/grub.texi (grub_cpu): New subsection.
4710 (grub_platform): Likewise.
4711
c6f1e92f
VS
47122013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
4715
f797ec85
VS
47162013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
4719 divisions.
4720
033d0b4b
VS
47212013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
4724 * grub-core/fs/ntfscomp.c: Likewise.
4725 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
4726 (grub_ntfs_comp): Likewise.
4727
21d1b9a0
VS
47282013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
4731 Rename to ...
4732 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
4733 of groups_per_block. All users updated.
4734
10ca8645
VS
47352013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
4738 grub_error properly.
4739 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
4740 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
4741
a4c3ed4c
VS
47422013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4743
4744 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
4745 always in /boot/zfs.
4746 Reported by: Yuta Satoh.
4747
0b716507
YS
47482013-01-03 Yuta Satoh <nigoro>
4749
4750 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
4751 ${grub_probe}
4752
00c05e22
VS
47532013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * configure.ac: Extend -Wno-trampolines to host.
4756
dadddb76
VS
47572013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
4760 entry->len = 0.
4761
54ce53ca
CW
47622013-01-03 Colin Watson <cjwatson@ubuntu.com>
4763
4764 * docs/grub.texi (Invoking grub-mkrelpath): New section.
4765 (Invoking grub-script-check): Likewise.
4766
8912efca
CW
47672013-01-03 Colin Watson <cjwatson@ubuntu.com>
4768
4769 * docs/grub.texi (Invoking grub-mount): New section.
4770 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
4771
c3fc8394
CW
47722013-01-02 Colin Watson <cjwatson@ubuntu.com>
4773
4774 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
4775 test failures, so that a failing unit test correctly causes 'make
4776 check' to fail.
4777
45d26abb
CW
47782013-01-02 Colin Watson <cjwatson@ubuntu.com>
4779
4780 Fix failing printf test.
4781
4782 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
4783 '$' in the correct order when collecting type information.
4784
971dd2c6
CW
47852013-01-02 Colin Watson <cjwatson@ubuntu.com>
4786
4787 * docs/grub.texi (configfile): Explain environment variable
4788 handling.
4789 (source): New section.
4790 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
4791
5c67ea6c
CW
47922012-12-31 Colin Watson <cjwatson@ubuntu.com>
4793
4794 Remove several trivially-unnecessary uses of nested functions.
4795
4796 * grub-core/commands/i386/pc/sendkey.c
4797 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
4798 instead of nested.
4799 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
4800 Rename to ...
4801 (legacy_file_getline): ... this.
4802 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
4803 Likewise.
4804 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
4805 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
4806 to ...
4807 (probe_dummy_iter): ... this.
4808 * grub-core/kern/i386/coreboot/mmap.c
4809 (grub_linuxbios_table_iterate: check_signature): Likewise.
4810 * grub-core/kern/parser.c (grub_parser_split_cmdline:
4811 check_varstate): Likewise. Mark inline.
4812 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
4813 an additional parameter.
4814 (find_long: fnd_long): Likewise. Pass two additional parameters.
4815 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
4816 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
4817 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
4818 Likewise. Rename to ...
4819 (grub_cmos_find_port_iter): ... this.
4820 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
4821 Rename to ...
4822 (find_rtc_iter): ... this.
4823
4824 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
4825 function directly into the function body, since it is only called
4826 once.
4827
33a68ac6
CW
48282012-12-30 Colin Watson <cjwatson@ubuntu.com>
4829
4830 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
4831 __attribute__ ((unused)).
4832 * grub-core/video/bochs.c (find_card): Likewise.
4833 * grub-core/video/cirrus.c (find_card): Likewise.
4834 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
4835 * grub-core/video/sis315pro.c (find_card): Likewise.
4836 * grub-core/video/sm712.c (find_card): Likewise.
4837
608b647a
CW
48382012-12-28 Colin Watson <cjwatson@ubuntu.com>
4839
4840 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
4841 Fixes Savannah bug #37821.
4842
fd49ceb3
CW
48432012-12-28 Colin Watson <cjwatson@ubuntu.com>
4844
4845 Apply program name transformations at build-time rather than at
4846 run-time. Fixes Debian bug #696465.
4847
4848 * acinclude.m4 (grub_TRANSFORM): New macro.
4849 * configure.ac: Create output variables with transformed names for
4850 most programs.
4851 * util/bash-completion.d/grub-completion.bash.in: Use
4852 pre-transformed variables for program names.
4853 * util/grub-install.in: Likewise.
4854 * util/grub-kbdcomp.in: Likewise.
4855 * util/grub-mkconfig.in: Likewise.
4856 * util/grub-mkconfig_lib.in: Likewise.
4857 * util/grub-mknetdir.in: Likewise.
4858 * util/grub-mkrescue.in: Likewise.
4859 * util/grub-mkstandalone.in: Likewise.
4860 * util/grub-reboot.in: Likewise.
4861 * util/grub-set-default.in: Likewise.
4862 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4863 * tests/util/grub-shell-tester.in: Remove unused assignment.
4864 * tests/util/grub-shell.in: Likewise.
4865 * util/grub.d/00_header.in: Likewise.
4866
7024b3c0
CW
48672012-12-28 Colin Watson <cjwatson@ubuntu.com>
4868
4869 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
4870
4871 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
4872 HAVE_RAW_DECL_GETS.
4873 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
4874
e3501b13
VS
48752012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
4878 Reported by: Eriks Latosheks <foresterlv>.
4879
b40c88a9
VS
48802012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * docs/grub.texi (Network): Update instructions on generating netboot
4883 image.
4884
ce96d01c
VS
48852012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
4888 around device name if necessarry.
4889
0f596201
PFS
48902012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4891
4892 * util/grub-install.in: Follow the symbolic link parameter added
4893 to the file command.
4894
600d5bdb
AB
48952012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
4896
4897 * util/grub-install.in: Remove stale TODO.
4898
64ebd2f4
PFS
48992012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4900
4901 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
4902 dynamic allocation for the bootpath buffer.
4903
74b2fe3e
DTB
49042012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
4905
4906 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
4907 window too small.
4908
969b804f
VS
49092012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
4912 argument rather than font name. All users updated.
4913 (grub_gfxterm_set_window): Likewise.
4914
b9f5ebd6
VT
49152012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4916
4917 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
4918 from working.
4919
258f43b7
VS
49202012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 * util/getroot.c (convert_system_partition_to_system_disk): Support
4923 nbd disks.
4924
cc1ce5f9
VS
49252012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
4928 infinite loop on corrupted FS.
4929
e77a16ca
VS
49302012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 Fix big-endian mtime.
4933
4934 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
4935 together sec and usec.
4936 (grub_ufs_dir): Use correct byteswapping for UFS time.
4937
d9c48c7b
VS
49382012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 Support big-endian UFS1.
4941
4942 * Makefile.util.def (libgrubmods): Add ufs_be.c
4943 * grub-core/Makefile.core.def (ufs1_be): New module.
4944 * grub-core/fs/ufs_be.c: New file.
4945 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
4946 the file.
4947
2f9f40ba
LL
49482012-11-28 Leif Lindholm <leif.lindholm@arm.com>
4949
4950 * include/grub/types.h: Fix functionality unaffecting typo in
4951 GRUB_TARGET_WORDSIZE conditional macro.
4952
48ff0889
PFS
49532012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4954
4955 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
4956
03711240
GS
49572012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4958
4959 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
4960 that /netbsd appears first (when it exists).
4961
a31b11bd
CJ
49622012-10-12 Christoph Junghans <ottxor@gentoo.org>
4963
4964 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
4965 Fixes Savannah bug #37558.
4966
e8a5d5d4
CW
49672012-10-12 Colin Watson <cjwatson@ubuntu.com>
4968
4969 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
4970 description of extract_entries_configfile.
4971
49722012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
4973
4974 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
4975 preferred_address.
4976 (grub_cmd_linux): Likewise.
4977 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
4978 preferred_lifetime. Update all users.
4979
288c757d
CW
49802012-09-26 Colin Watson <cjwatson@ubuntu.com>
4981
4982 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
4983 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
4984
0d35da3f
CW
49852012-09-26 Colin Watson <cjwatson@ubuntu.com>
4986
4987 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
4988 errors from grub-probe to /dev/null, not stdout.
4989
b78c3127
VS
49902012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
4993 sector 1.
4994
473959f0
CW
49952012-09-24 Colin Watson <cjwatson@ubuntu.com>
4996
4997 * util/grub-install.in: Make the error message if $source_dir
4998 doesn't exist more useful.
4999
794c8c33
CW
50002012-09-22 Colin Watson <cjwatson@ubuntu.com>
5001
5002 Fix grub-emu build on FreeBSD.
5003
5004 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
5005 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
5006 headers on Linux.
5007 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
5008 implementation is currently Linux-specific.
5009 * util/getroot.c (exec_pipe): Define only on Linux or when either
5010 libzfs or libnvpair is unavailable.
5011 (find_root_devices_from_poolname): Remove unused path variable.
5012
86d08fdb
CW
50132012-09-19 Colin Watson <cjwatson@ubuntu.com>
5014
5015 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
5016 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
5017 should fit before end == 63.
5018
735abf54
CW
50192012-09-19 Colin Watson <cjwatson@ubuntu.com>
5020
5021 * util/grub-setup.c (write_rootdev): Remove unused core_img
5022 parameter. Update all callers.
5023 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
5024 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
5025 GRUB_SETUP_BIOS.
5026
140acd3c
VS
50272012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * util/grub-mkconfig_lib.in (grub_tab): New variable.
5030 (grub_add_tab): New function.
5031 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
5032 * util/grub.d/10_illumos.in: Likewise.
5033 * util/grub.d/10_kfreebsd.in: Likewise.
5034 * util/grub.d/10_linux.in: Likewise.
5035 * util/grub.d/10_netbsd.in: Likewise.
5036 * util/grub.d/10_windows.in: Likewise.
5037 * util/grub.d/10_xnu.in: Likewise.
5038 * util/grub.d/20_linux_xen.in: Likewise.
5039 * util/grub.d/30_os-prober.in: Likewise.
5040
7ddffdad
VS
50412012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5044 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
5045 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
5046 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
5047 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
5048 ieee1275-nocursor.
5049 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
5050 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
5051
4e092454
VS
50522012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
5055 le-conversion.
5056 Reported by: BURETTE, Bernard.
5057
735abf54 50582012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
5059
5060 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
5061 from comment.
5062
dfd39dbd
CW
50632012-09-14 Colin Watson <cjwatson@ubuntu.com>
5064
5065 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
5066 IEEE1275 machines. Fixes powerpc-emu compilation.
5067 * include/grub/terminfo.h: Likewise.
5068
3bfa763c
VS
50692012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
5072 a const pointer.
5073 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
5074 const pointer.
5075 (efiemu_set_variable): Make vendor_guid a const pointer.
5076
250e475b
VS
50772012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 Don't require grub-mkconfig_lib to generate manpages for programs.
5080
5081 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
5082 dependencies, don't add grub-mkconfig_lib.
5083 (program): Pass empty adddeps.
5084 (script): Pass grub-mkconfig_lib as adddeps.
5085
592fd0e4
VS
50862012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
5087
5088 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
5089 * util/getroot.c (grub_find_device): Likewise.
5090 (get_mdadm_uuid): Likewise.
5091 (grub_util_is_imsm): Likewise.
5092 (grub_util_pull_device): Likewise.
5093 * util/grub-probe.c (probe): Likewise.
5094
801a3027
BG
50952012-09-10 Benoit Gschwind <gschwind>
5096
5097 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
5098 (devs): Add devpath_8.
5099
c5052c81
PJ
51002012-09-08 Peter Jones <pjones@redhat.com>
5101
5102 * grub-core/Makefile.core.def (efifwsetup): New module.
5103 * grub-core/commands/efi/efifwsetup.c: New file.
5104 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
5105 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
5106 New define.
5107 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
5108
8e832f71
JS
51092012-09-05 Jiri Slaby <jslaby@suse.cz>
5110
5111 * configure.ac: Add SuSe path.
5112
f0f55752
CW
51132012-09-05 Colin Watson <cjwatson@ubuntu.com>
5114
5115 * NEWS: Fix typo.
5116
ecadc4c2
CW
51172012-09-05 Colin Watson <cjwatson@ubuntu.com>
5118
5119 * util/import_gcry.py: Sort cipher_files, to make build system
5120 generation more deterministic.
5121
64498f25
VS
51222012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
5125 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
5126 (grub_set_datetime): Likewise.
5127
9cc836a2
VS
51282012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
5131 warnings.
5132
bcfcea01
VS
51332012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
5136
a4099485
VS
51372012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
5140
265c162a
CW
51412012-09-04 Colin Watson <cjwatson@ubuntu.com>
5142
5143 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
5144 required for checkouts from bzr, but it may be useful for users or
5145 distributors wishing to update translations against a tarball
5146 distribution, and it can be helpful for the tarball to be a superset
5147 of what's in bzr.
5148
3d171e95
CW
51492012-09-04 Colin Watson <cjwatson@ubuntu.com>
5150
5151 * Makefile.am (EXTRA_DIST): Add
5152 grub-core/tests/boot/linux.init-mips.S,
5153 grub-core/tests/boot/linux.init-ppc.S, and
5154 grub-core/tests/boot/linux-ppc.cfg.
5155
f2c2503e
CW
51562012-09-04 Colin Watson <cjwatson@ubuntu.com>
5157
5158 * grub-core/mmap/mips/loongson: Remove empty directory.
5159
51602012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
5161
5162 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
5163 gone.
5164
ab2163d5
CW
51652012-09-04 Colin Watson <cjwatson@ubuntu.com>
5166
5167 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
5168 grub-sparc64-setup.
5169
ce938140
GS
51702012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5171
5172 * configure.ac: Strengthen the test for working -nostdinc -isystem.
5173
529f58a5
GS
51742012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
5175
5176 * po/POTFILES.in: Regenerated.
5177
16cf79e9
GS
51782012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
5179
5180 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
5181 (NetBSD): New subsection.
5182
39b27f1e 51832012-07-22 Ales Nesrsta <starous@volny.cz>
5184
5185 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
5186 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
5187
a885261b
VS
51882012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
5191 * util/grub.d/10_hurd.in: Add missing quoting.
5192 * util/grub.d/10_illumos.in: Likewise.
5193 * util/grub.d/10_kfreebsd.in: Likewise.
5194 * util/grub.d/10_linux.in: Likewise.
5195 * util/grub.d/20_linux_xen.in: Likewise.
5196
7bd29c01
VS
51972012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 New command `lsefi'.
5200
5201 * grub-core/Makefile.core.def (lsefi): New module.
5202 * grub-core/commands/efi/lsefi.c: New file.
5203 * include/grub/efi/api.h: Add more GUIDs.
5204
ac625d8f
VS
52052012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
5208 (grub_bsd_elf32_hook): Likewise.
5209 (grub_bsd_elf64_size_hook): Likewise.
5210 (grub_bsd_elf64_hook): Likewise.
5211 (grub_bsd_load_elf): Likewise.
5212
e73bb801
VS
52132012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
5216 if hash function is unavailable.
5217 (dec_stream_header): Likewise.
5218
e81db8b5
VS
52192012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
5222 filter state.
5223
d187a1c3
VS
52242012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 Fix coreboot compilation.
5227
5228 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
5229 (grub_vga_text_init_real): ... this.
5230 (grub_vga_text_fini): Rename to ...
5231 (grub_vga_text_fini_real): ... this.
5232
91a05f64
VS
52332012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5234
5235 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
5236
6af96df7
VS
52372012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * grub-core/lib/legacy_parse.c: Support clear and testload.
5240
4d569e12
VS
52412012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
5244
073b57bb
VS
52452012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * grub-core/fs/ext2.c: Experimental support for 64-bit.
5248
a706f4cc
VS
52492012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * grub-core/net/tftp.c (ack): Fix endianness problem.
5252 (tftp_receive): Likewise.
5253 Reported by: Michael Davidsaver.
5254
e7850aa9
VS
52552012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * gentpl.py: Make mans depend on grub-mkconfig_lib.
5258
52592012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
5262 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
5263 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
5264
35692881
VS
52652012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5266
5267 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
5268 efi_mmap_size.
5269 Reported by: Stuart Hayes.
5270
c35fc5bd
VS
52712012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
5274
5275 * grub-core/Makefile.core.def (mda_text): New module.
5276 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
5277 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
5278 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
5279 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
5280 here.
5281 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
5282 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
5283 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
5284 here.
5285 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
5286 to ..
5287 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
5288 ... here
5289 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
5290 here.
5291 * grub-core/term/i386/vga_common.c: Removed.
5292 * include/grub/i386/vga_common.h: Likewise.
5293 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
5294 (grub_vga_cr_bw_read): Likewise.
5295 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
5296 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
5297 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
5298 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
5299 grub_vga_cr_read/grub_vga_cr_write.
5300 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
5301
5f91f701
VS
53022012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 * configure.ac: Bump version to 2.00.
5305 * grub-core/normal/main.c (features): Add feature_200_final.
5306
0c4f85f6
VS
53072012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
53082012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
5309
5310 * NEWS: Fix unclarity and language mistakes.
5311
f923ad22
VS
53122012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
5315 additional size to 3 pages.
5316 Reported by: Stuart Hayes.
5317
d22029ba
VS
53182012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * NEWS: Add 2.00 entry.
5321
58eee08f
VS
53222012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
5325 put explicit "/" for empty path.
5326 (wildcard_expand): Improve dprintf.
5327
c59bdff7
VS
53282012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
5331 it's equal to currnode. This can happen with "" symlink.
5332
5e6a440a
YB
53332012-06-27 Yves Blusseau <blusseau@zetam.org>
5334
5335 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
5336 echo shell command by printf command.
5337
73a68bcb
VS
53382012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
5341 the value returned by firmware is the maximal position, not diumension.
5342 (grub_terminfo_output_state): Use a more sane fallback.
5343
392a603b
VS
53442012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5345
5346 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
5347
42d0867f
VS
53482012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5349
5350 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
5351 frequency to 150 MHz.
5352
489509f4
VS
53532012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5354
5355 Apple fixes.
5356
5357 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
5358 __APPLE_
5359 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
5360 definition.
5361 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
5362
9f3fc883
VS
53632012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 Handle slash in HFS label.
5366
5367 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
5368 (grub_hfs_dir): Tanslate slash.
5369 (grub_hfs_label): Don't translate slash.
5370
54853fd7
VS
53712012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
5374 network protocol listing since it introduces problematic dependency on
5375 net module.
5376
4dc02ddf
VS
53772012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
5380
c50c867d
VS
53812012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 Init video early on yeeloong to avoid being rebooted by watchdog.
5384
5385 * grub-core/Makefile.am (gensm712): New target.
5386 (sm712_start.S): Likewise.
5387 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
5388 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
5389 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
5390 description.
5391 * include/grub/vga.h: Move registry definitions to...
5392 * include/grub/vgaregs.h: ... here.
5393
5f92c8a1
VS
53942012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
5397 signedness.
5398
e9e6f111
VS
53992012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
5402 platforms with firmware disk drivers in the core.
5403
754ad9eb
VS
54042012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
5407 informative verbose message.
5408 (read_lv): Handle 64-bit segment size.
5409
315654c2
VS
54102012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5411
5412 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
5413
fb022c79
VS
54142012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
5417 character but still remove trainling spaces.
5418 (grub_fat_label): Ignore archive flag.
5419
8645f72c
VS
54202012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
5423 cast between linux_kernel_header and linux_kernel_params.
5424
36498496
VS
54252012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
5428 type for size.
5429 (grub_raid6_recover_func_t): Likewise.
5430 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
5431 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
5432
0b5ea6b8
VS
54332012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
5436
650cfcfe
GS
54372012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
5438
5439 Fix overflow.
5440
5441 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
5442 [__NetBSD__]: Add explicit cast before bitshift.
5443
8a4d6a44
VS
54442012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5445
5446 * configure.ac: Bump to 2.00~rc1.
5447
2fb97ed3
VS
54482012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5449
5450 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
5451 half of $a0.
5452
1fa097dc
VS
54532012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
54542012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
5455
5456 * docs/grub.texi: Fix search syntax.
5457 (Multi-boot manual config): Put msdos rather than GPT example.
5458 Grammar corrections.
5459
c890ba78
VS
54602012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5461
5462 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
5463
0f92dca7
VS
54642012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
5467
3988c4a0
VS
54682012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
5471 message on double free. Put the value of magic in case of mismatch.
5472
9e86d4c5
VS
54732012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 Speed-up video on yeeloong.
5476
5477 * grub-core/video/sm712.c (framebuffer): Remove render_target and
5478 add cached_ptr.
5479 (grub_video_sm712_video_fini): Unmap cached_ptr.
5480 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
5481 (grub_video_sm712_set_active_render_target): Removed.
5482 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5483 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
5484 sync caches.
5485
ed24c312
VS
54862012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 Avoid flushing the same line multiple times on loongson.
5489
5490 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
5491 Step in 32 bytes and not 1 byte.
5492 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
5493 Likewise.
5494
d1718e7d
VS
54952012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
5498 subvolumes.
5499
982f1909
VS
55002012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 Implement flow control for http.
5503
5504 * grub-core/net/http.c (parse_line): Handle response 206.
5505 (http_receive): Stall if too many packets are in the queue.
5506 (http_establish): Fix range header.
5507 (http_seek): Fix double free.
5508 (http_close): Likewise.
5509 (http_packets_pulled): New function.
5510 (grub_http_protocol): Set http_seek
5511 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
5512 (ack_real): Set window depending on i_stall.
5513 (grub_net_send_tcp_packet): Likewise.
5514 (grub_net_tcp_stall): New function.
5515 (grub_net_tcp_unstall): Likewise.
5516 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
5517 (grub_net_tcp_unstall): Likewise.
5518
bd407d6e
VS
55192012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 * grub-core/net/tftp.c: Decrease stall to 50 packets.
5522
c7564b8e
VS
55232012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
5526
a3706162
VS
55272012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 * tests/util/grub-shell.in: Fix a typo.
5530
b27069e0
VS
55312012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 Implement flow control for tftp.
5534
5535 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
5536 packets but stop only if stop condition is satisfied.
5537 (grub_net_fs_read_real): Call packets_pulled after real read. Use
5538 `stall' instead of `eof' as stop condition.
5539 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
5540 (http_err): Likewise.
5541 * grub-core/net/tftp.c (ack): Replace the first argument with data
5542 instead of socket.
5543 (tftp_receive): Stall if too many packets are in wait queue.
5544 (tftp_packets_pulled): New function.
5545 (grub_tftp_protocol): Set packets_pulled.
5546 * include/grub/net.h (grub_net_packets): New field count.
5547 (grub_net_put_packet): Increment count.
5548 (grub_net_remove_packet): Likewise.
5549 (grub_net_app_protocol): New field `packets_pulled'.
5550 (grub_net): New field `stall'.
5551
6b9cfac6
VS
55522012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
5555 sync part to handle them.
5556
f35abd81
VS
55572012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
5560 * grub-core/net/drivers/ieee1275/ofnet.c
5561 (grub_ieee1275_net_config_real): Likewise.
5562
0e7ec820
VS
55632012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
5566 the direct route for server/gateway.
5567
9d611a31
VS
55682012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
5571 IP address to server name since we may not hame the DNS.
5572
418f45ab
VS
55732012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5574
5575 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
5576 freeing random buffer on failure.
5577 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
5578
44a0efc1
VS
55792012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
5582
531e2241
VS
55832012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5584
5585 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
5586 reserved bytes.
5587 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
5588 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
5589 Handle malloc error correctly.
5590
cde393c9
VS
55912012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
5594 blocks.
5595
538478d0
VS
55962012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5597
5598 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
5599 increment.
5600
9b55efe0
VS
56012012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
5604 none is explicitly specified.
5605
9eb832c3
VS
56062012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
5609 while reallocating.
5610
d6b7c7c9
VS
56112012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5612
5613 Respect netmask from bootp/dhcp.
5614
5615 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
5616 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
5617 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
5618 into ...
5619 (grub_net_add_ipv4_local): ... this.
5620 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
5621 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
5622 (grub_net_add_ipv4_local): New proto.
5623
67caf9eb
VS
56242012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
5627 determining EFI memory map size.
5628
43657558
VS
56292012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5630
5631 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
5632
eb6d0dd3
VS
56332012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
5636 when looking for partition separator.
5637
31230544
VS
56382012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5641 Escape commas.
5642
918a2517
VS
56432012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 Restructure FAT driver to avoid hook in label reading as it hits a
5646 GCC bug.
5647
5648 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
5649 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
5650 (grub_fat_iterate_dir): Split into ...
5651 (grub_fat_iterate_init): ... this, ...
5652 (grub_fat_iterate_fini): ... this, ...
5653 (grub_fat_iterate_dir_next): ... and this. All users updated.
5654
9f1d654e
VS
56552012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5658 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
5659 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5660 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
5661 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
5662 New fields last_key and last_key_time.
5663 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
5664 extended key-esc into extended key-extended key.
5665
52f0f643
VS
56662012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 Avoid unnecessary memcpy of whole video buffer.
5669
5670 * grub-core/video/fb/video_fb.c (dirty): New struct.
5671 (framebuffer): Add members current_dirty and previous_dirty.
5672 (dirty): New function.
5673 (grub_video_fb_fill_rect): Update dirty.
5674 (common_blitter): Likewise.
5675 (grub_video_fb_scroll): Likewise.
5676 (doublebuf_blit_update_screen): Copy only dirty part.
5677 (doublebuf_pageflipping_update_screen): Likewise.
5678 (grub_video_fb_doublebuf_blit_init): Init dirty.
5679 (doublebuf_pageflipping_init): Likewise.
5680 (grub_video_fb_setup): Likewise.
5681
e169a180
VS
56822012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
5685 poll rate.
5686
48556879
VS
56872012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5688
5689 Fix wildcard regexp dot and other special characters handling.
5690 Reported by: Robert Mabee.
5691
5692 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
5693 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
5694 (split_path): Trigger expansion on '?'.
5695 (unescape): New function.
5696 (wildcard_expand): Unescape parts copied without globbing.
5697 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
5698 (grub_script_arglist_to_argv): Don't unescape expansions.
5699
0494408e
VS
57002012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 * include/grub/net.h (grub_net_card): New member txbufsize.
5703 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
5704 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5705 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
5706 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
5707 txbufsize.
5708 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
5709 compatible property to check for macs. Set
5710 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5711 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
5712 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
5713 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
5714 (send_card_buffer): Use txbuf.
5715 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
5716 nested function out of the parent while on it.
5717
cc35fe8f
VS
57182012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5719
5720 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
5721 presence check.
5722 (grub_ieee1275_net_config_real): Fix config pointer.
5723
970a0a09
VS
57242012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
5727 filename parsing to non-block devices.
5728
3e19bf87
VS
57292012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 * grub-core/kern/device.c (grub_device_open): Remove dead code.
5732
c62d1a0c
VS
57332012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
5736 All users updated.
5737
ef76bec3
VS
57382012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5739
5740 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
5741 UUID search command even if hints probing failed.
5742
57432012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
5744
5745 * po/POTFILES.in: Regenerated.
5746
70aaf305
VS
57472012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 Speed-up video on fuloong.
5750
5751 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
5752 New function.
5753 (grub_pci_device_unmap_range): Handle non-cached address.
5754 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
5755 add direct_ptr.
5756 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
5757 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
5758 (grub_video_sis315pro_set_active_render_target): Removed.
5759 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
5760 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5761 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
5762 sync caches.
5763 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
5764 New proto.
5765
10400f0b
VS
57662012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * docs/grub.texi (Multi-boot manual config): New section.
5769
ba67e2c6
VS
57702012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 Avoid slow read-back from VRAM.
5773
5774 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
5775 Move from here ...
5776 * grub-core/video/fb/video_fb.c
5777 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
5778 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
5779 (front_target): Remove front_target. Add pages.
5780 (grub_video_fb_init): Skip setting front_pages.
5781 (grub_video_fb_fini): Likewise.
5782 (doublebuf_blit_update_screen): Use pages.
5783 (grub_video_fb_doublebuf_blit_init): Likewise.
5784 (doublebuf_pageflipping_init): Allocate offscreen buffer.
5785 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
5786 (grub_video_fb_setup): Prefer doublebuffing.
5787
377c98cb
VS
57882012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
5791 gzio.
5792
eac49cff
VS
57932012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5794
5795 Add loongson tests.
5796
5797 * tests/util/grub-shell.in: Handle loongson.
5798 * tests/partmap_test.in: Add loongson to the list of platform using ATA
5799 drivers.
5800 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
5801 Reboot instead of shutdown if REBOOT is defined.
5802
0321415e
VS
58032012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
5806 sized ports since unlike on real hardware qemu supports only 32-bit
5807 regs.
5808
3f2bdd8f
VS
58092012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 * Makefile.util.def (grub-mkrescue): Enable on loongson.
5812 * util/grub-mkrescue.in: Handle loongson.
5813
29a049c9
VS
58142012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
5817 Set is_part appropriately.
5818 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
5819 names. Canonicalize partition without full disk.
5820
4abde346
VS
58212012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 Revert usb-quiesce since it's wrong.
5824
5825 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
5826 (grub_ofdisk_init): Don't do quiesce.
5827
61f1d93b
VS
58282012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
5831 PowerMac workaround to Xserves as well.
5832 Information supplied by: Benjamin Herrenschmidt.
5833
a09eb541
VS
58342012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 Don't assume that beginning address is also the entry point on ppc.
5837
5838 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
5839 (grub_linux_boot): Use linux_entry.
5840 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
5841 (grub_linux_load64): Likewise.
5842
505b3c9b
VS
58432012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
5846
cbe0b4ef
VS
58472012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
5850 needlessly lose the console.
5851
3006e981
VS
58522012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
5855 space.
5856
4e5a96b0
VS
58572012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5858
7da036bb
VS
5859 Remove non-functional EFI grub_get_rtc. Put a better fatal message
5860 than current grub_get_rtc() not implemented when booted with
5861 coreboot without TSC.
5862
5863 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
5864 Add machine/time.h to kernel headers on loongson.
5865 * grub-core/Makefile.core.def (kernel): Remove
5866 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
5867 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
5868 (grub_get_rtc): Likewise.
5869 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
5870 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
5871 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
5872 * grub-core/kern/i386/tsc.c (grub_tsc_init)
5873 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
5874 rather than installing known non-working time source.
5875 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
5876 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
5877 * include/grub/time.h: Don't include machine/time.h.
5878 * include/grub/efi/time.h: Removed.
5879 * include/grub/i386/efi/time.h: Likewise.
5880 * include/grub/i386/ieee1275/time.h: Likewise.
5881 * include/grub/powerpc/ieee1275/time.h: Likewise.
5882 * include/grub/sparc64/ieee1275/time.h: Likewise.
5883 * include/grub/x86_64/efi/time.h: Likewise.
5884
58852012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
5888
5889 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
5890 value.
5891 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
5892 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
5893 with dotless variants when any combining above is present.
5894
5561c22d
VS
58952012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
5898 text and not binary.
5899
96f7e60e
VS
59002012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 Stop polling as soon as we have the packet we were waiting for.
5903
5904 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
5905 All users updated.
5906 * grub-core/net/arp.c (have_pending): New var.
5907 (pending_req): Likewise.
5908 (grub_net_arp_send_request): Fill pending_req and use have_pending as
5909 stop indicator.
5910 (grub_net_arp_receive): Set have_pending.
5911 * grub-core/net/dns.c (recv_data): New field stop.
5912 (recv_hook): Set stop.
5913 (grub_net_dns_lookup): Init stop and use as stop condition.
5914 * grub-core/net/http.c (http_establish): Use headers_recv as stop
5915 condition.
5916 * grub-core/net/net.c (grub_net_poll_cards): New argument
5917 stop_condition. Stop when it goes true.
5918 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
5919 indicator.
5920 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
5921
3e747239
VS
59222012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 Keep TX and RX buffers on EFI rather than always allocate new ones.
5925
5926 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
5927 card. All users updated.
5928 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
5929 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
5930 (get_card_packet): Likewise.
5931 (grub_efinet_findcards): Init new fields.
5932
f695e99a
VS
59332012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
5936 compilation error on sparc64.
5937
9e5e66d1
VS
59382012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 Use ITC on IA64 rather than broken routine based on daytime.
5941
5942 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
5943 ia64.
5944 (grub_get_rtc) [__ia64__]: Likewise.
5945 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
5946 (get_itc): New function.
5947 (grub_rtc_get_time_ms): Likewise.
5948 (grub_machine_init): Calibrate ITC.
5949 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
5950 Keep only on non-ia64. Don't export since it's broken and used only
5951 if TSC is unavailable.
5952
a1767404
VS
59532012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5954
5955 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
5956 even if it's used.
5957 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
5958 Skip if parent is unused.
5959
34b2bced
VS
59602012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
5963
5e619f40
VS
59642012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 Fix wildcard escaping.
5967
5968 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
5969 * grub-core/script/execute.c (wildcard_escape): .. to here.
5970 Don't escape dot.
5971 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
5972 * grub-core/script/execute.c (wildcard_unescape): .. to here.
5973 Don't escape dot.
5974 * grub-core/script/execute.c (gettext_append): Always escape.
5975 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
5976 * grub-core/script/yylex.l: Don't cut away the escaping.
5977 * tests/grub_script_echo1.in: Add tests with wildcard.
5978
c8ca5855
VS
59792012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
5982 (ftdi_hw_configure): Likewise.
5983 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
5984 define.
5985 (real_config): Handle 1.5 stop bits.
5986 (pl2303_hw_configure): Likewise.
5987
7183452c
VS
59882012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5989
5990 * Makefile.am: Add ppc linux bootcheck.
5991 * grub-core/tests/boot/linux-ppc.cfg: New file.
5992 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
5993
f57c84cd
VS
59942012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 * tests/grub_script_expansion.in: Skip network protocols.
5997
ecfc6207
VS
59982012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5999
6000 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
6001
8d03d284
VS
60022012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
6005 --rom-directory.
6006 Add -graft-points.
6007
61c42af0
VS
60082012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 ESCC serial driver for conducting sautomated tests in qemu.
6011 Not tested on real hardware.
6012
6013 * include/grub/serial.h (grub_serial_port): New field escc_desc.
6014 * grub-core/term/ieee1275/escc.c: New file.
6015 * grub-core/Makefile.core.def (escc): New module.
6016
08fd1291
VS
60172012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
6020 invalid on error.
6021 (serial_hw_fetch): Don't read invalid handle.
6022 (serial_hw_put): Don't write into invalid handle.
6023
08dafeea
VS
60242012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6025
6026 Add a 1.5 stop bits value.
6027
6028 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
6029 * include/grub/serial.h (grub_serial_stop_bits_t): Add
6030 GRUB_SERIAL_STOP_BITS_1_5.
6031
9068fdcf
VS
60322012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
6035 value rather than let it uninited.
6036
f4d5820f
VS
60372012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 * grub-core/commands/wildcard.c (+check_file): New function.
6040 (wildcard_expand): Don't expand to non-existing files, expand with
6041 suffix and not attempt to expand if not needed.
6042
3d2de9a7
VS
60432012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
6046 out of partitions containing other partitions.
6047
c5c81ff9
VS
60482012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6049
6050 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
6051 on some qemu versions with GRUB.
6052
6053 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
6054 define.
6055 (grub_openbsd_bootarg_pcibios): New struct.
6056 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
6057 Add PCIINFO.
6058
08a14e0b
VS
60592012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * tests/util/grub-shell.in: Trim firmware output on EFI.
6062
cede3ca3
VS
60632012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
6066 and coreboot since it's already in kernel.
6067
558d3a60
VS
60682012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
6071 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6072 to here. New return value start. All users updated.
6073 Recursively scan linear mappings.
6074 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
6075 proto.
6076 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6077 Use grub_util_get_dm_node_linear_info.
6078 * util/getroot.c (convert_system_partition_to_system_disk): Use
6079 grub_util_info rather than grub_dprintf.
6080 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
6081
60fde14d
VS
60822012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
6085
6086 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
6087 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
6088
24bd8838
VS
60892012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 * include/grub/types.h (grub_set_unaligned64): New function.
6092 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
6093 (setup): Likewise.
6094
7bc06a49
VS
60952012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6096
6097 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
6098 (grub_ofdisk_fini): Quiesce USB devices.
6099
49cea015
VS
61002012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6101
6102 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
6103 caches.
6104
8dcbe03b
VS
61052012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
6108
5b258735
VS
61092012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6110
6111 * grub-core/disk/pata.c (grub_pata_pio_read)
6112 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
6113 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
6114
37ba07eb
VS
61152012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 Extend automated tests to qemu-mips.
6118
6119 * Makefile.am: reorganise tests and enable qemu-mips.
6120 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
6121 * grub-core/tests/boot/linux.init-mips.S: New file.
6122 * tests/partmap_test.in: Handle ata0 disks.
6123 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
6124 non-pc i386.
6125
070038f8
VS
61262012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
6129 ia64.
6130 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
6131 quotes while on it.
6132
004be2cd
VS
61332012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
6136 (grub_halt): Likewise.
6137 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
6138
b1622487
VS
61392012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * grub-core/term/serial.c (grub_serial_register)
6142 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
6143 the behaviour in line with x86 platforms.
6144
b7b4ab33
VS
61452012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
6148 (grub_ata_strncpy): Likewise.
6149 (grub_ata_identify): Add missing byteswaps.
6150
5e3535ae
VS
61512012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
6154 byte-swap.
6155 (screen_read_char): Likewise.
6156 (grub_vga_text_cls): Likewise.
6157
c21b17e6
VS
61582012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
6161 filenames.
6162 (make_file_path): Likewise.
6163
bf293dec
VS
61642012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
6167 machines.
6168 Tested by: Paulo Flabiano Smorigo.
6169 Crucial information about API supplied by: Coleen <Last name unknown>.
6170 Reviewed by: Coleen <Last name unknown>.
6171
81f6ef0e
VS
61722012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 * util/grub-mkimage.c: Disable -Wcast-align.
6175
7284143a
VS
61762012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
6179 as they are fatal.
6180
b99f3e00
VS
61812012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
6184
944f752d
VS
61852012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * util/grub-probe.c (escape_of_path): Fix double free.
6188
6cce6f38
VS
61892012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 * grub-core/commands/videoinfo.c (hook): Show pitch.
6192
1e1eb50e
VS
61932012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * util/grub.d/20_linux_xen.in: Skip xen-syms.
6196
1c715b5a
VS
61972012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
6200 (probe): Add ieee1275 to OFW devices.
6201
007ae52d
VS
62022012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
6205
4557a36d
VS
62062012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 Handle IBM OFW path.
6209
6210 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
6211 available.
6212 (of_path_of_scsi): Handle vdevice.
6213
efbeefe9
VS
62142012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
6217 Allocate in multiples of 16 to avoid adding a few bytes free region the
6218 windows bugs upon.
6219
15a940bb
VS
62202012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
6223 Allocate in multiples of 16 to avoid adding a few bytes free region the
6224 windows bugs upon.
6225 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
6226
6e5efd60
VS
62272012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
6230 resolutions.
6231 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
6232 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
6233
0d3d137e
IS
62342012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
6235
6236 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
6237
45dbe300
VS
62382012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6239
6240 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
6241 resulted in \\ at the end of the line.
6242
6d8db947
VS
62432012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
6246 (grub_parser_cmdline_state): Likewise.
6247 (grub_parser_split_cmdline): Likewise.
6248
de89d338
VS
62492012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
6252 /dev/root and /dev/dm-*.
6253
00d41dee
VS
62542012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
6257 fix partially stale display.
6258
f95d1f11
VS
62592012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 * grub-core/normal/menu_entry.c (backward_char): Use right line for
6262 substraction.
6263
6297e197
VS
62642012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
6267 Fix MBR remapping workaround.
6268 (grub_util_biosdisk_read) [__linux__]: Likewise.
6269
8a7ecad3
VS
62702012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 * util/grub-install.in: Check for ieee1275 and not ieee1276.
6273
2b34f944
VS
62742012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * configure.ac: Bump to beta6.
6277
684aef11
CW
62782012-05-31 Christer Weinigel <christer@weinigel.se>
6279
6280 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
6281
05b0bb91
VS
62822012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
6285 (grub_cmd_linux): Likewise.
6286
bda36bfa
CW
62872012-05-31 Christer Weinigel <christer@weinigel.se>
6288
6289 Fix EHCI low-speed.
6290
6291 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
6292 (GRUB_EHCI_MULT_TWO): Likewise.
6293 (GRUB_EHCI_MULT_THREE): Likewise.
6294 (GRUB_EHCI_CMASK_MASK): New enum value.
6295 (GRUB_EHCI_SMASK_MASK): Likewise.
6296 (GRUB_EHCI_CMASK_OFF): Likewise.
6297 (GRUB_EHCI_SMASK_OFF): Likewise.
6298 (grub_ehci_pci_iter): Enable periodic schedule.
6299 (grub_ehci_parse_notrun): Likewise.
6300 (grub_ehci_restore_hw): Likewise.
6301 (grub_ehci_setup_qh): Set flags for low speed transfers.
6302 (grub_ehci_find_qh): Use periodic list for low speed.
6303 (grub_ehci_setup_transfer): Check periodic queue as well.
6304 (grub_ehci_check_transfer): Likewise.
6305 (grub_ehci_cancel_transfer): Cancel periodic transfer.
6306
e12bcb1c
PFS
63072012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6308
6309 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
6310 parameter is used.
6311
bcc75fb3
PJ
63122012-05-31 Peter Jones <pjones@redhat.com>
6313
6314 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
6315 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
6316 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
6317
f19cb95e
VS
63182012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
6321 uninited variable. Allocate at least setup_sects.
6322
a4e5ca80
VS
63232012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6324
6325 Fix handling of EFI with big memory maps.
6326
6327 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
6328 (real_mode_mem): Likewise.
6329 (real_mode_target): Likewise.
6330 (real_mode_pages): Likewise.
6331 (prot_mode_pages): Likewise.
6332 (linux_params): New var.
6333 (linux_cmdline): Likewise.
6334 (free_pages): Don't set real mode variables.
6335 (allocate_pages): Don't allocate real mode memory.
6336 (grub_e820_add_region): Remove the limit.
6337 (grub_linux_boot): Allocate and copy real mode memory.
6338 (grub_linux_unload): Free linux_cmdline.
6339 (grub_cmd_linux): Use temporary storage for parameters.
6340 (grub_cmd_initrd): Likewise.
6341 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
6342 (linux_kernel_params): Make it 1K big.
6343
ddb73558
VS
63442012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * Makefile.util.def: Remove -Wno-format.
6347 * grub-core/Makefile.core.def: Likewise.
6348
1c4afb60
VS
63492012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * tests/cmp_unit_test.c: Add missing failure message.
6352 * tests/example_unit_test.c: Likewise.
6353 * tests/printf_unit_test.c: Likewise.
6354
941e3a6d
VS
63552012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
6358 relaxation of protective MBR requirements.
6359
b105df76
VS
63602012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 * configure.ac: Add condition for COND_HOST_XNU.
6363 * Makefile.util.def (10_xnu): New script.
6364 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
6365
84e1569e
VS
63662012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6367
6368 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
6369 objconv bug.
6370
130c0f77
VS
63712012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
6374 Binary on other platforms stays identical.
6375
6fd0b143
VS
63762012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
6379 Apple.
6380
0af1751d
VS
63812012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
6384
176d5f7d
VS
63852012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
6388 rather than defining size_t ourselves to avoid conflict.
6389
7de5e20a
VS
63902012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6391
6392 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
6393 initialisation to avoid __bzero reference.
6394
f7143efe
VS
63952012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
6398 version.
6399 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
6400 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
6401 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
6402 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
6403 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
6404
e6ad0555
VS
64052012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
6408 * grub-core/kern/misc.c: Likewise.
6409 * grub-core/loader/i386/xnu.c: Likewise.
6410 * include/grub/i386/tsc.h: Likewise.
6411 * include/grub/symbol.h: Likewise.
6412
4a5a3c4a
VS
64132012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
6416 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
6417 on older compiler.
6418
037f6d90
VS
64192012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
6422 Implement Apple flavour.
6423 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
6424
f7194551
VS
64252012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
6428 (memmove) [__APPLE__]: Likewise.
6429 (memcpy) [__APPLE__]: Likewise.
6430 (memset) [__APPLE__]: Likewise.
6431 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
6432 (memmove) [__APPLE__]: Likewise.
6433 (memcpy) [__APPLE__]: Likewise.
6434 (memset) [__APPLE__]: Likewise.
6435
85a730ca
VS
64362012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
6439 dependency discard.
6440
40e80b94
VS
64412012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 * grub-core/normal/main.c (read_config_file): Provide config_file and
6444 config_directory.
6445 * util/grub.d/41_custom.in: Use config_directoy when available.
6446
9da59c32
VS
64472012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
6450 (grub_bfs_dir): Likewise.
6451
2787ae53
PJ
64522012-05-27 Peter Jones <pjones@redhat.com>
6453
6454 The old code gives arguments to a printf function which can't work
6455 correctly, and the compiler complains.
6456
6457 * grub-core/tests/example_functional_test.c (example_test): Add
6458 missing text.
6459 * grub-core/tests/lib/test.c (add_failure): Rewrite.
6460 * include/grub/test.h (grub_test_assert_helper): New declaration.
6461 (grub_test_assert): Use grub_test_assert_helper.
6462
526ef13d
VS
64632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
6466 (exfctest): ... this to avoid overlong filenames.
6467 All users updated.
6468
20dd511c
VS
64692012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 Handle "." and ".." on squashfs.
6472
6473 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
6474 Make inode numbers into stack.
6475 (grub_squash_read_symlink): Use stack.
6476 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
6477 (make_root_node): Fill stack.
6478 (grub_squash_open): Use stack.
6479
1d80c62a
VS
64802012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
6483 freeing.
6484
d336f652
VS
64852012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
6488 stderr on test calls.
6489
8b43f587
VS
64902012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
6493
80a3dc3f
VS
64942012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
6497
47e297d4
VS
64982012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6499
6500 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
6501 "..".
6502
df042ccb
VS
65032012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
6506 (grub_hfsplus_iterate_dir): Add "." and "..".
6507
fc977f48
VS
65082012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6509
6510 * grub-core/fs/cpio.c (canonicalize): Handle "..".
6511 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
6512
f3250e5f
VS
65132012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
6516 (find_path): Handle "." and "..".
6517
fd8ed4c5
VS
65182012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6519
6520 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
6521 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
6522 (grub_affs_iterate_dir): Handle hardlinks.
6523
4ce776d2
MG
65242012-05-26 Matthew Garrett <mjg@redhat.com>
6525
6526 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
6527 (grub_efi_console_fini): Likewise.
6528 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
6529 (grub_video_gop_fill_mode_info): Rename to ...
6530 (grub_video_gop_fill_real_mode_info): ... this.
6531 (grub_video_gop_fill_mode_info): New function.
6532 (grub_video_gop_setup): Setup double framebuffer.
6533 (grub_video_gop_get_info_and_fini): Use original framebuffer.
6534 Free offscreen.
6535 (grub_video_gop_swap_buffers): Copy framebuffer.
6536 (grub_video_gop_fini): Free offscreen buffer.
6537 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
6538 New enum.
6539 (grub_efi_gop_blt_pixel): New struct.
6540
683031ba
VS
65412012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 * gentpl.py: Remove error disabling for objconv.
6544
c2deb798
VS
65452012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 * configure.ac: Remove -Wunitialized as it's not available on older
6548 compilers.
6549
65502012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
6551
6552 Fix extent overflow comparator.
6553
6554 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
6555 (grub_hfsplus_read_block): Set type.
6556 (grub_hfsplus_cmp_extkey): Compare type.
6557
d6b1fd36
VS
65582012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
6561
0a9aa0f6
VS
65622012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6563
6564 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
6565 than 0.
6566
8360e159
VS
65672012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6568
6569 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
6570 (dejavu_bold_14.pf2): New target.
6571
501b9e4b
VS
65722012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 * configure.ac: Fix djvu font detection.
6575
7026b0e2
VS
65762012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6577
6578 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
6579 ext* instead of ext2.
6580
c2a51ade
VS
65812012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6582
6583 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
6584 name with \0.
6585
8f803a5d
JU
65862012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
6587
6588 * docs/grub-dev.texi: Remove dot from .png.
6589
13c6353f
VS
65902012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
6593 protective entry in any slot.
6594 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
6595 if protective entry is found in any slot.
6596
6597 Protective entry in non-first slot make no sense but is a widespread
6598 brain damage.
6599
4cf6be1b
VS
66002012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
6603
937d1c44
VS
66042012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
6607 with old reiserfs.
6608 (grub_reiserfs_open): Don't free root.
6609
021d90ec
VS
66102012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
6613 after freeing for safety.
6614
967b2b64
VS
66152012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6616
6617 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
6618 Reported by: Jordan Uggla.
6619
34274d02
JU
66202012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
6621
967b2b64
VS
6622 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
6623 actual implementation. Specifically, clarify that the grub menu will
6624 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
6625 passed.
34274d02 6626
dcaaae9d
BH
66272012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
6628
6629 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
6630 of r0.
6631
7086ad52
VS
66322012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 Remove unjustified hard dependency of normal.mod on gfxterm.
6635
6636 * include/grub/term.h (grub_term_output): New member fullscreen.
6637 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
6638 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
6639 (grub_gfxterm): Set .fullscreen.
6640 * grub-core/normal/menu.c (menu_init): Use fullscreen.
6641 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
6642
37ed2c9b
VS
66432012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6644
6645 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
6646 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 6647 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 6648
a4469c88
VS
66492012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6650
6651 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
6652
4e461486
VS
66532012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6656 a bad FS.
6657
aa78f5c4
VS
66582012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
6661 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
6662
197626b5
VS
66632012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
6666 (grub_jfs_mount): Fill caseins.
6667 (grub_jfs_find_file): Respect caseins.
6668
8ad3f28c
VS
66692012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
6672 through UTF-16.
6673
0c6c324e
VS
66742012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
6677 New argument origpath. All users updated.
6678
c6666ba6
VS
66792012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6680
6681 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
6682 (read_attr): Ensure that we read start of possibly compressed block.
6683
e28e5fe5
VS
66842012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
6687 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
6688 All users updated.
6689
5fc23ab2
VS
66902012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
6693 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
6694 (dejavu.pf2): Replace with ...
6695 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
6696 this.
6697
79dbc21c
VS
66982012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 * util/grub.d/20_linux_xen.in: Add missing line.
6701
d2fcfb0c
VS
67022012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
6705 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
6706 (grub_utf16_to_utf8): Likewise.
6707
5560e9d6
VS
67082012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
6711 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
6712 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6713 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
6714 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6715 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
6716
67172012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
6718
6719 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6720 a bad FS.
6721
5560e9d6 67222012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
6723
6724 * grub-core/fs/udf.c (read_string): Bail out on size=0.
6725 (grub_udf_read_symlink): Handle read_string failure.
6726
5eae3175
VS
67272012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6728
6729 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
6730 comment.
6731
c1ad82db
VS
67322012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6733
6734 Fix handling of UDF symlinks.
6735
6736 * grub-core/fs/udf.c (read_string): New argument outbuf.
6737 All users updated.
6738 (grub_ufs_read_symlink): Rename to ...
6739 (grub_udf_read_symlink): ... this. All users updated.
6740 Handle symlinks with more than one component.
6741
33eca6e0
VS
67422012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
6745 symlinks. Replace leading colon with a slash.
6746
57f4a70b
VS
67472012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
6750 filename.
6751
38c8ee20
VS
67522012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
6755 match in inner node.
6756
2e57f28f
VS
67572012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
6760 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
6761 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
6762 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
6763 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
6764 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
6765 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
6766 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
6767 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
6768
fe8c2f11
VS
67692012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 Use grub-probe and not cmp to check that disk is empty.
6772
6773 * util/grub-install.in: Use grub-probe for zero-check.
6774 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
6775 (probe): Handle PRINT_ZERO_CHECK.
6776 (argp_parser): Handle -t zero_check.
6777
67782012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
6779
6780 Flush block cache on adding disk to device map.
6781
6782 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
6783 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
6784 adding.
6785 (read_device_map): Likewise.
6786 (open_device): Flush on opening.
6787
690434e8
VS
67882012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
6791 (handle_symlink): Fix off-by-one error.
6792 Canonicalize the target.
6793 (grub_cpio_dir): Canonicalize the name.
6794 Fix memory leak.
6795 Set directory.
6796 (grub_cpio_open): Canonicalize the name.
6797
742d2be6
VS
67982012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
6801 handling.
6802
3244fe96
VS
68032012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6804
6805 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
6806 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
6807
8aeb1837
VS
68082012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6809
6810 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
6811 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 6812 All users updated.
8aeb1837 6813
9133fd05
VS
68142012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
6817 counterpart.
6818
6d521c5b
VS
68192012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 Fix UFS1 big file support.
6822
6823 * grub-core/fs/ufs.c (INODE): Removed.
6824 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
6825 64-bit.
6826 (INODE_MODE): Simplify.
6827 (grub_ufs_inode): Use uint64_t for size and not int64_t.
6828 (grub_ufs_lookup_symlink): Don't use INODE.
6829
21b82e17
VS
68302012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6831
6832 Fix minixfs with non-power-of-two blocks since it's supported by minix.
6833
6834 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
6835 (grub_minix_data): Replace log_block_size with block_size.
6836 (grub_minix_read_file): Use block_size but avoid 64-bit division.
6837 (grub_minix_mount): Fill block_size.
6838
68392012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
6840
6841 * configure.ac: Bump to beta5.
6842
f417ed04
VS
68432012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 Fix wrapped HFS+ handling.
6846
6847 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
6848 blocks_start. All users updated.
6849 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
6850 wrapping offset.
6851 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
6852
607d282b
VS
68532012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 Fix long symlinks on reiserfs.
6856
6857 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
6858 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
6859 (grub_reiserfs_iterate_dir): Save size for non-directories.
6860 (grub_reiserfs_open): Don't reread stat block as we already know the
6861 size.
6862 (grub_reiserfs_read): Split into...
6863 (grub_reiserfs_read_real): ... and ...
6864 (grub_reiserfs_read): ...this.
6865
ae16024d
VS
68662012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 Fix non-indexed JFS.
6869
6870 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
6871 (grub_jfs_data): New field namecomponentlen.
6872 (grub_jfs_mount): Fill namecomponentlen.
6873 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
6874
eea1e26e
VS
68752012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
6878 * tests/grub_script_echo1.in: Add tests.
6879
df760f77
VS
68802012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6881
6882 * util/grub-install.in: Ignore empty devicetree directory.
6883
5efb817d
B
68842012-05-08 Bean <bean123ch@gmail.com>
6885
6886 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
6887 All users updated.
6888 (free_rsm): Free header as well.
6889 (free_old_fragments): Fix memory leak.
6890 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
6891 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
6892 (destroy_pq): Likewise.
6893 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
6894
668ea6d2
VS
68952012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
6898 resulting hash as a precaution.
6899
1739b1fe
VS
69002012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
6903 '_' in variable names.
6904 * grub-core/net/net.c (grub_net_network_level_interface_register):
6905 Likewise.
6906
6ae485aa
VS
69072012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 Fix AFFS with non-512B blocks.
6910
6911 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
6912 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
6913 (grub_affs_data): Replace blocksize with log_blocksize.
6914 (grub_affs_read_block): Fix non-512B blocks.
6915 (grub_affs_read_symlink): Likewise.
6916 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
6917 (grub_affs_read): Fix non-512B blocks.
6918 (grub_affs_label): Likewise.
6919 (grub_affs_mtime): Likewise.
6920 (grub_affs_mount): Fix block detection routine.
6921
d20fab84
VS
69222012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6923
6924 Add filesystem mtime to AFFS.
6925
6926 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
6927 (aftime2ctime): New function.
6928 (grub_affs_dir): Use aftime2ctime.
6929 (grub_affs_label): Fix return value.
6930 (grub_affs_mtime): New function.
6931 (grub_affs_fs): Add mtime.
6932
e87b10f5
VS
69332012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
6936 UTF-8.
6937
7dceec9b
VS
69382012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
6941 UTF-8.
6942
2f48221f
VS
69432012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
6946
dacd85cf
VS
69472012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
6950 flags.
6951 (FLAGS_CASE_SENSITIVE): New enum value.
6952 (cache_entry): New struct.
6953 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
6954 cache_size and cache.
6955 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
6956 Add log_blocksize and fshelp_flags.
6957 (grub_sfs_read_extent): Handle non-512 blocks.
6958 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
6959 (grub_sfs_read_file): Handle non-512 blocks.
6960 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
6961 fshelp_flags.
6962 (grub_sfs_read_symlink): Handle non-512 blocks.
6963 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
6964 (grub_sfs_dir): Free cache.
6965 (grub_sfs_close): Likewise.
6966
24e9a854
VS
69672012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6968
6969 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
6970 filesystems.
6971
62ace64d
VS
69722012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
6975
83b2e89c
VS
69762012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
6979
75ccaea3
VS
69802012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
6983 (grub_sfs_read_extent): Likewise.
6984 (grub_sfs_read_block): Likewise.
6985 (grub_sfs_mount): Likewise.
6986 (grub_sfs_iterate_dir): Likewise.
6987 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
6988 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
6989
1b8463f2
VS
69902012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 Fix errors on compressed NTFS with 512B clusters.
6993
6994 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
6995 types.
6996 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
6997 not 0.
6998 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
6999 Relax check for inline extents.
7000 (ntfscomp): Return correct -1 on error and not 0.
7001
4f8e368f
VS
70022012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7003
7004 * util/grub-install.in: Fix handling of prefix containing spaces.
7005
6f5d5ee8
VS
70062012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
7009 (grub_squash_read_data): Fix offset byte-swapping.
7010
ce41ab7a
VS
70112012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
7014 per common usage and preffered in several parts of code.
7015 (grub_memcmp): Likewise.
7016 (grub_strncmp): Likewise.
7017 * include/grub/misc.h (grub_strcasecmp): Likewise.
7018 (grub_strncasecmp): Likewise.
7019 * Makefile.util.def (cmp_test): New test.
7020 (grub_script_strcmp): Likewise.
7021 * tests/cmp_unit_test.c: New file.
7022 * tests/grub_script_strcmp.in: Likewise.
7023 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
7024
49717bf4
VS
70252012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7026
7027 * include/grub/pci.h: Move enums into no-asm part.
7028
0a308f64
VS
70292012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
7032
1796965f
ST
70332012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
7034
7035 * util/getroot.c (find_hurd_root_device): Try to make error message
7036 and comments to translators clearer.
7037
4e9b2819
VS
70382012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
7041
076aeb50
VS
70422012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7043
7044 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
7045 btrfs.
7046
19424d94
VS
70472012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7048
7049 * docs/grub.cfg: Update.
7050
ebb73076
VS
70512012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 * docs/grub.texi (PXE): Remove not present variables.
7054
9a1b669c
VS
70552012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * grub-core/net/net.c (defserver_set_env): New function.
7058 (defserver_get_env): Likewise.
7059 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
7060
d38bf7d3
VS
70612012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
7064 entries.
7065
70662012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
7067
7068 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
7069 * grub-core/kern/emu/hostdisk.c: Likewise.
7070
e5e4ca48
ST
70712012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
7072
7073 Handle hurd userspace partitions.
7074
7075 * util/getroot.c (find_hurd_root_device): New function.
7076 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
7077
56bb5dd5
VS
70782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7079
7080 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
7081 names.
7082 Reported by: Bastian Blank.
7083
9e8bc27a
VS
70842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
7087 crossing page boundary.
7088
aa01499d
VS
70892012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 Fix B-tree search in BFS, especially in presence of non-ASCII
7092 characters.
7093
7094 * grub-core/fs/bfs.c (bfs_strcmp): New function.
7095 (find_in_b_tree): Use standard bsearch + btree algorithm.
7096
57006035
VS
70972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7098
7099 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
7100 and so on.
7101
9d34bb85
MG
71022012-05-03 Matthew Garrett <mjg@redhat.com>
71032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7104
7105 Suspend broadcom cards in order to stop their DMA.
7106
7107 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
7108 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
7109 (pci): Don't build on x86 EFI.
7110 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
7111 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
7112 New function.
7113 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
7114 stop_broadcom if running on EFI.
7115 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
7116 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
7117 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
7118 (grub_pci_find_capability): New proto.
7119
01aab997
VS
71202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * docs/grub.texi: Remove dot from the extension as it apparently
7123 doesn't work with some makeinfo versions.
7124
fbd8dca6
VS
71252012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
7128 with GRUB expectance.
7129
dab797f4
VS
71302012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7131
7132 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
7133
1516bfb4
VS
71342012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
7137 zero after directory block since last entry may be not 0-terminated if
7138 it ends on block boundary. Use continue instead of if spanning whole
7139 loop.
7140
a3a0eace
VS
71412012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7142
7143 Support 4K sectors UDF inline files.
7144
7145 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
7146 (grub_udf_extended_file_entry): Likewise.
7147 (grub_fshelp_node): Name the anonymous union. Put block at the end.
7148 All users updated.
7149 (get_fshelp_size): New function.
7150 (grub_udf_read_icb): Read whole block.
7151 (grub_udf_iterate_dir): Likewise.
7152 (grub_udf_dir): Likewise.
7153 (grub_udf_open): Likewise.
7154
c82f16c1
VS
71552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
7158
59fd2aac
VS
71592012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
7162 inline symlinks in addition to workaround.
7163
3b4afb4d
VS
71642012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
7167
f45c794a
VS
71682012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7169
7170 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
7171
f25cecbd
VS
71722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
7175
bb9a34e8
VS
71762012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 Fix reiserfs big seek times.
7179
7180 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
7181 exact. All users updated.
7182 (grub_reiserfs_read): Use nearest btree search for seeking.
7183 Fix return value on error.
7184
dc478aea
VS
71852012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
7188 entries.
7189 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
7190 * docs/grub.texi: Update menuentry description.
7191
8db10f47
VS
71922012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7193
7194 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
7195 crash when embedding onto filesystem.
7196
bcb288ed
VS
71972012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7198
7199 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
7200 name.
7201
a626fdd7
VS
72022012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
7205
b2f68477
VS
72062012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
7209 commit.
7210
ba15b2af
B
72112012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
72122012-05-01 Bean <bean123ch@gmail.com>
7213
7214 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
7215
a188012e
VS
72162012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
7219 Special behaviour for len = 0 to read whole file isn't used anywhere and
7220 can cause buffer ovewrflows in several places.
7221
f0a53ed2
VS
72222012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
7225
5ed554f0
VS
72262012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 Handle RAIDZ on non-512B sectors.
7229
7230 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
7231 max_children_ashift.
7232 (fill_vdev_info_real): Fill max_children_ashift.
7233 (read_device): Use max_children_ashift.
7234
ddc58357
VS
72352012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7236
7237 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
7238
e3282399
VS
72392012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
7242 disk names.
7243 * docs/grub.texi: Update device.map parts.
7244
ee618bd4
VS
72452012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 Don't scan into non-diskfilter devices having diskfilter names.
7248
7249 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
7250 (scan_disk): New argument accept_diskfilter. Fix recursion depth
7251 handling.
7252 (scan_disk_hook): New function.
7253
bdf88864
B
72542012-04-29 Bean <bean123ch@gmail.com>
7255
7256 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
7257 allocation.
7258
32745f51
MK
72592012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
7260
7261 * configure.ac: Detect starfield theme font path
7262 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
7263
bc95c8c0
VS
72642012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
7267 geometry on serial consoles.
7268
147fbcab
VS
72692012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
7272 because of network consoles.
7273
0f42c889
VS
72742012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
7277 handling.
7278
4a3594c9
VS
72792012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
7282 falls on Q syndrom.
7283
5cb53879
VS
72842012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
7287 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
7288
b282dfe5
VS
72892012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
7292 Allocate at lest 8192 for temporary buffer as required for lzo.
7293
daa59f47
VS
72942012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
7297 to cluster_bits, since it's already added in.
7298 (grub_fat_read_data): Likewise.
7299
986748ce
VS
73002012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7301
7302 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
7303 as long as cluster size is multiple of 512 bytes.
7304
a20f6ad0
VS
73052012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 * util/grub-mkrescue.in: Fix locale directory.
7308
385f9abb
VS
73092012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 * grub-core/kern/emu/hostdisk.c (map): Make static.
7312
1c557d30
B
73132012-04-23 Bean <bean123ch@gmail.com>
7314
7315 * util/grub-fstest.c (fstest): Add missing break.
7316
524b5d3a
ST
73172012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
7318
7319 Fix hurd build.
7320
7321 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
7322 not define nr variable.
fe4824e9 7323 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
7324 find_root_devices_from_poolname, find_root_devices_from_libzfs,
7325 grub_find_device): Do not define.
524b5d3a 7326
9a06490c
VS
73272012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 Fix kfreebsd compile and behaviour.
7330
7331 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
7332 format-security.
7333 * util/getroot.c: Fix wait.h include.
7334 (grub_guess_root_devices): Error if grub_find_device fails.
7335 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
7336 (grub_util_get_dev_abstraction): Likewise.
7337 (grub_util_pull_device): Likewise.
7338 (grub_util_get_grub_dev): Likewise.
7339 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
7340
48143d96
VS
73412012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 Fix and unify wholedisk detection.
7344
7345 * util/getroot.c (convert_system_partition_to_system_disk): New argument
7346 is_part. All users updated.
7347 (device_is_wholedisk): Removed.
7348 (grub_util_biosdisk_get_grub_dev): Use is_part.
7349
ebbd24f3
VS
73502012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
7353 mode.
7354
56f7aa1e
VS
73552012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * configure.ac: Bump to beta4.
7358
9c815e01
VS
73592012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
7362 --fs-uuid --set UUID syntax.
7363
59e2651a
VS
73642012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7365
7366 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
7367 disunification.
7368
54e03cfc
VS
73692012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
7372
81092a75
MK
73732012-04-18 Mads Kiilerich <mads@kiilerich.com>
7374
7375 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
7376
f8315e14
MG
73772012-04-18 Mike Gilbert <floppym@gentoo.org>
7378
7379 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
7380
1501ac21
B
73812012-04-18 Bean <bean123ch@gmail.com>
7382
7383 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
7384 place.
7385
cb7f944e
VS
73862012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
7389 users updated.
7390 (grub_util_biosdisk_read): Handle Linux partitions not exactly
7391 corresponding to GRUB partitions.
7392 (grub_util_biosdisk_write): Likewise.
7393
b72d44a1
VS
73942012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7395
7396 Scan mdraid before LVM.
7397
7398 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
7399 (grub_diskfilter_register_front): ... this.
7400 (grub_diskfilter_register_back): New function.
7401 All users of grub_diskfilter_register updated.
7402
33d918b8
VS
74032012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * util/grub-install.in: Fix an automatic target detection bug.
7406
c6ca973d
VS
74072012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 * util/grub-install.in: New option --efi-directory.
7410
b41be562
VS
74112012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
7414 boot services if we have no other choice.
7415
74162012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7417
7418 * util/grub-mknetdir.in: Rename --override-directory to --directory and
7419 document it.
7420 * tests/util/grub-shell.in: Update to --directory.
7421
e0595a73
VS
74222012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
7425
4ed80652
VS
74262012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
7429 (grub_minix_read_file): Likewise.
7430 (grub_minix_read_inode): Likewise.
7431 (grub_minix_find_file): Likewise.
7432 (grub_minix_dir): Likewise.
7433
56008077
VS
74342012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 * util/grub-setup.c (setup): Fix partition handling and blocklist
7437 check.
7438
ee520775
VS
74392012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
7442 redundant buggy overlap check.
7443
16fc9293
VS
74442012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7445
7446 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
7447 and grub-mknetdir.
7448
9bab65c4
VS
74492012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7450
7451 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
7452 kh.loadflags on pre-2.00 kernels.
7453
3c491b47
VS
74542012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7455
7456 Terminate UNDI and PXE before launching the payload to avoid problems
7457 with DMA.
7458
7459 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
7460 (grub_loader_flags): ... this. All users updated.
7461 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
7462 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
7463 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
7464 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
7465 function.
7466 (grub_pxe_restore): Likewise.
7467 (fini_hnd): New var.
7468 (GRUB_MOD_INIT): Register shutdown hook.
7469 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
7470 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
7471 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
7472 (grub_loader_set): Rename second argument to flags.
7473
851ffada
VS
74742012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
7477 written bytes.
7478 (grub_get_num_of_utf8_bytes): New function.
7479 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
7480 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
7481 executing it.
7482 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
7483 (grub_ucs4_to_utf8): Change return type.
7484
491c57a8
VS
74852012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
7488 warning.
851ffada
VS
7489 * grub-core/fs/bfs.c (hop_level): Likewise.
7490 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 7491
756773df
VS
74922012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 * grub-core/lib/adler32.c: Recode due to license unclearness.
7495
fd556a96
VS
74962012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
7499 (test_header): Likewise.
7500
9f9d3f69
VS
75012012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 Fix --help formatting.
7504
7505 * util/grub-mkconfig_lib.in (print_option_help): New function.
7506 (grub_fmt): Likewise.
7507 * util/grub-install.in: Use print_option_help and grub_fmt.
7508 * util/grub-kbdcomp.in: Likewise.
7509 * util/grub-mkconfig.in: Likewise.
7510 * util/grub-mknetdir.in: Likewise.
7511 * util/grub-mkrescue.in: Likewise.
7512 * util/grub-mkstandalone.in: Likewise.
7513 * util/grub-reboot.in: Likewise.
7514 * util/grub-set-default.in: Likewise.
7515 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7516
561ec77e
VS
75172012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7518
7519 * linguas.sh: Remove autogenerated *.po.
7520
7ec2b021
VS
75212012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7522
7523 * po/README: Move language fetcing to ...
7524 * linguas.sh: ... here.
7525 * po/README: Point to linguas.sh.
7526
a88f3270
VS
75272012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * po/README: Exclude ko.po due to disclaimer problems.
7530
d61357ce
VS
75312012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
7534 len = 0.
7535 (grub_gettext_translate_real): Handle 0th string.
7536 (grub_gettext_translate): Ensure that "" isn't translated.
7537
505e41dc
VS
75382012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
7541 TRANSLATORS comment.
7542 (grub_diskfilter_print_partmap): Propagate changing of error into
7543 warning.
7544
e44092db
VS
75452012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
7548 to uint64_t to prevent overflow.
7549 (grub_diskfilter_lv): Increase start_extent and extent_count
7550 to uint64_t to prevent overflow.
7551
9b83956a
VS
75522012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * configure.ac: Increase version.
7555
da0d5b3f
VS
75562012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7557
7558 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
7559
7560 * po/Rules-translit: New file.
7561 * po/arabic.sed: Likewise.
7562 * po/cyrillic.sed: Likewise.
7563 * po/greek.sed: Likewise.
7564 * po/hebrew.sed: Likewise.
7565 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
7566 * po/Makefile.in.in: Add extra_dist4.
7567
ac66b453
VS
75682012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7569
7570 Handle big-endian minixfs (fixes minixfs tests on bigendian).
7571
7572 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
7573 modify names. Introduce MODE_BIGENDIAN.
7574 * grub-core/fs/minix_be.c: New file.
7575 * grub-core/fs/minix2_be.c: Likewise
7576 * grub-core/fs/minix3_be.c: Likewise.
7577 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
7578 minix3_be.
7579 * grub-core/Makefile.core.def (minix_be): New module.
7580 (minix2_be): Likewise.
7581 (minix3_be): Likewise.
7582
75832012-04-01 Felix <email@hamburg.de>
7584
7585 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
7586 (devs): Add MBP 2011.
7587
0a2d5a82
VS
75882012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7589
7590 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
7591
d1625889
VS
75922012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 * grub-core/normal/cmdline.c (print_completion): New field
7595 prompt_len.
7596 (grub_cmdline_get): Handle width properly.
7597
6d36a236
VS
75982012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * grub-core/commands/lsacpi.c (options): Add missing terminator.
7601
9576977e
VS
76022012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 7605 after 29th of February.
9576977e 7606
d73ff15d
VS
76072012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7608
7609 Fix exfat endianness handling.
7610
7611 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
7612 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
7613 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
7614 Byte-swap utf16 when necessary.
7615 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
7616
bbb39a45
AB
76172012-03-31 Anton Blanchard <anton@samba.org>
76182012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 Fix btrfs endianness handling.
7621
7622 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
7623 (lower_bound): Make root uint64_t. Use root in le.
7624 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
7625 (find_path): Fix template key init.
7626 (grub_btrfs_dir): Fix mtime byteswap.
7627 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
7628
354e0af7
VS
76292012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
7632 recursion_depth. Break infinite resursions. All users updated.
7633
4e75f21c
VS
76342012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
7637 after free.
7638 Reported by: Peter Jones.
7639
25581802
AB
76402012-03-31 Anton Blanchard <anton@samba.org>
7641
7642 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
7643 8 bit values.
7644
08fbf92e
VS
76452012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 * util/grub-install.in: Fix nvram call for PreP.
7648
5d1182a6
VS
76492012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7650
7651 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
7652 the error when some elements are missing into a warning.
7653
3f8cdd90
VS
76542012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
7657
51006716
CW
76582012-03-28 Colin Watson <cjwatson@ubuntu.com>
7659
7660 * docs/grub.texi (Invoking grub-probe): New section.
7661 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
7662
e1bd676b
VS
76632012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7664
7665 Fix tab and wide character handling in editor and menu.
7666
7667 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
7668 agglomerate control characters with combining marks.
7669 (bidi_line_wrap): Allow break on tab.
7670 (grub_unicode_get_comb_start): New function.
7671 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
7672 and tab correctly.
7673 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
7674 with a space.
7675 * grub-core/normal/term.c (print_ucs4_terminal): New argument
7676 fixed_tab_size. All users updated.
7677 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
7678 (grub_term_getcharwidth): Handle \t.
7679 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
7680 and copy.
7681
22e6a774
VS
76822012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 Handle big-endian mdraid.
7685
7686 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
7687 * grub-core/Makefile.core.def (mdraid09_be): New module.
7688 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
7689 rather than grub_le_to_cpu* and grub_cpu_to_le*.
7690 * grub-core/disk/mdraid_linux_be.c: New file.
7691
3c0eae66
VS
76922012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
7695
b6cf74c9
VS
76962012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7699 missing quotes which caused confusion among translators.
7700
83c93b9c
VS
77012012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7702
7703 * util/grub-mkconfig_lib.in: Fix typo.
7704
ac6fd218
VS
77052012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
7708 spaces.
7709 * tests/grub_script_leading_whitespace.in: New file.
7710 * Makefile.util.def (grub_script_leading_whitespace): New test.
7711
ba287dd8
VS
77122012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7713
7714 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
7715 to work.
7716
d2d58d0a
VS
77172012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
7720 starts with control character.
7721
0382d9bb
VS
77222012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
7725 overflow.
7726 (grub_gdb_outbuf): Likewise.
7727
d83ff9f9
VS
77282012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
7731 zero terminator. Fixes a crash.
7732
2282da4a
VS
77332012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
7736 beyond 4 GiB.
7737 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
7738 images independently of preffered adderss field.
7739
0ae4f0bd
VS
77402012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
7743 * grub-core/commands/regexp.c: Likewise.
7744 * grub-core/loader/i386/linux.c: Likewise.
7745 * grub-core/partmap/msdos.c: Likewise.
7746 * grub-core/script/execute.c: Likewise.
7747 * grub-core/term/gfxterm.c: Likewise.
7748
546fbe9b
VS
77492012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 Add variable parsing in $"..." and fix several mismatches with bash.
7752
7753 * Makefile.util.def (grub_script_gettext): New test.
7754 * grub-core/script/execute.c (parse_string): New function.
7755 (gettext_append): Likewise.
7756 (grub_script_arglist_to_argv): Use gettext_append.
7757 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
7758 * tests/grub_script_gettext.in: New file.
7759
9fdb2d7b
VS
77602012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 Fix handling of leading spaces in scripts.
7763
7764 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
7765 spaces.
7766 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
7767 other than skipping \r. All users updated.
7768 * tests/grub_script_echo1.in: Add space-related tests.
7769 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
7770
1a1ac4f6
VS
77712012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7772
7773 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
7774
b63d89b6
VS
77752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 * configure.ac: Bump up the version to beta2.
7778
17f38c0f
VS
77792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 Fix gettext reload bugs (e.g. inability to disable gettext
7782 once enabled).
7783
7784 * grub-core/gettext/gettext.c: Encapsulate all static variables in
7785 main_context and secondary_context. All functions updated.
7786 (grub_gettext_translate): Rename to ...
7787 (grub_gettext_translate_real): ... this. Return NULL on failed
7788 translate.
7789 (grub_gettext_translate): Handle secondary context.
7790 (grub_gettext_delete_list): Close file and zero-out the context.
7791 (grub_mofile_open): Don't call grub_gettext_delete_list.
7792 Don't close file.
7793 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
7794 if locale="" to avoid pointless error message.
7795 (grub_gettext_env_write_lang): Update lang even if load fails.
7796 Handle secondary context.
7797 (grub_gettext_reread_prefix): New function.
7798 (read_main): Likewise.
7799 (read_secondary): Likewise.
7800 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
7801 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
7802 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
7803 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
7804
8e56f870
VS
78052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 * configure.ac: Decrease warning level to avoid spurious warnings and
7808 to be able to compile with GCC 4.2.
7809 * Makefile.util.def: Remove -Wno-error=logical-op.
7810
82f6d455
WB
78112012-03-10 William Bittner <william.bittner@gmail.com>
7812
7813 * util/import_unicode.py: Add missing brackets around string for
7814 python 3 support.
7815
1ecd61a4
VS
78162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 Fix efi chainloader on network root.
7819
7820 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
7821 network devices.
7822 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
7823 New function.
7824
14361ee8
VS
78252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
7828 unused show_text member.
7829 * docs/grub.texi: Document "text" property.
7830
922aabf3
VS
78312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
7834 in dprintf.
7835
ec316771
VS
78362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 Fix IMSM handling on Fedora.
7839
7840 * util/getroot.c (grub_util_is_imsm): New function.
7841 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
7842
0f021838
VS
78432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 * Makefile.am: Strip gold section.
7846 * conf/Makefile.common: Likewise.
7847 * gentpl.py: Likewise.
7848 * grub-core/Makefile.core.def: Likewise.
7849 * grub-core/genmod.sh.in: Likewise.
7850
1039c8eb
VS
78512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
7854 * util/grub.d/20_linux_xen.in: Likewise.
7855 Based on Debian patch.
7856
6dd412cd
VS
78572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7858
7859 * util/grub.d/10_linux.in: Fix syntax error resulting in
7860 Richard Laager's patch.
7861 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
7862
3fd8bae5
VS
78632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
7866 dependencies.
7867
7eea1671
RL
78682012-03-10 Richard Laager <rlaager@wiktel.com>
7869
7870 * util/grub.d/10_linux.in: Fix ZFS root passing.
7871
e8e0566b
VS
78722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7875 * grub-core/commands/xnu_uuid.c: Likewise.
7876 * grub-core/loader/efi/appleloader.c: Likewise.
7877 * grub-core/script/execute.c: Likewise.
7878 * grub-core/script/main.c: Likewise.
7879 * util/grub-mkfont.c: Likewise.
7880
1acc5b1f
VS
78812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7882
7883 * util/grub-mkfont.c (options): Use more appropriate "select" that
7884 "set" for face index.
7885
35d70620
VS
78862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7887
7888 * util/grub-editenv.c (options): Gettextize command summaries.
7889
c9eb96b5
VS
78902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7891
7892 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
7893 "out of memory" error messagge.
7894
1f493136
VS
78952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
7898 of diskfilter for diskfilter on diskfilter support.
7899
6d790129
VS
79002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
7903
005f46c9
VS
79042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * util/grub-install.in: Check for themes/starfield/theme.txt and not
7907 themes/starfield.
7908
c8f778a0
VS
79092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
7912
de1e64eb
VS
79132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7914
7915 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
7916
c6d54211
VS
79172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7918
7919 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
7920 of error message.
7921
dd390777
VS
79222012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7923
7924 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
7925
5fd1c522
VS
79262012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7927
7928 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
7929 message.
c6d54211 7930 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 7931
fae01f6c
VS
79322012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
7935 Gettextize.
7936 * util/grub-mount.c (options): Likewise.
7937
292fdaff
VS
79382012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7939
7940 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
7941 gettextize.
7942 * grub-core/commands/search_wrap.c (options): Likewise.
7943
ecdbae77
VS
79442012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
7947
52bfedfa
VS
79482012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
7951 size calculation.
7952 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
7953 none is known.
7954
55b20e58
VS
79552012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
7958 "temporary" since it's used in identifier and is limited in space.
7959
fda9d101
VS
79602012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 * po/POTFILES.in: Regenerate. Include *.h since they contain
7963 translatable strings as well.
7964
6a0295e2
VS
79652012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7966
7967 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7968 byte-swap on big-endian.
7969 Reported by: Lennart Sorensen
7970
807fb77c
VS
79712012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
7974 (allocate_pages): Improve dprintf.
7975 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
7976 code32_start. Fill code32_start and kernel_alignment in params.
7977 (grub_cmd_initrd): Use prot_init_space.
7978
61ac50ba
VS
79792012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
7982
abdd26dd
VS
79832012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * util/grub-install.in: Add missing dot at the end of sentence.
7986
6e69da9c
VS
79872012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7990 * grub-core/commands/videotest.c: Likewise.
7991 * grub-core/loader/i386/linux.c: Likewise.
7992
4a929343
VS
79932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
7996 sentence.
7997 Reported by: Milo Casagrande.
7998
bb51c6c6
VS
79992012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8000
8001 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
8002 * grub-core/commands/gptsync.c: Likewise.
8003 * grub-core/commands/hashsum.c: Likewise.
8004 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8005 * grub-core/commands/legacycfg.c: Likewise.
8006 * grub-core/io/gzio.c: Likewise.
8007 * grub-core/net/net.c: Likewise.
8008 * grub-core/term/gfxterm.c: Likewise.
8009 * grub-core/term/terminfo.c: Likewise.
8010 * grub-core/tests/test_blockarg.c: Likewise.
8011 * grub-core/video/video.c: Likewise.
8012 * util/grub-install.in: Likewise.
8013 * util/grub-mkfont.c: Likewise.
8014
b2b149cb
VS
80152012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8016
8017 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
8018
c7c080ad
VS
80192012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 8022 Reported by: David Prévot.
c7c080ad 8023
f2e243c0
VS
80242012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8025
8026 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
8027 description.
8028
09963c76
VS
80292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 * util/grub-script-check.c (main): Fix a syntax error message which was
8032 unclear.
8033
a50514a8
VS
80342012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8035
8036 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
8037
4650daec
VS
80382012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
8041 messages.
8042
80432012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
8044
8045 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
8046 without argument.
8047 * util/grub-mount.c (options): Likewise.
8048
bbc5a342
VS
80492012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8050
8051 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
8052
ef292a87
VS
80532012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8054
8055 * grub-core/net/http.c: Add TRANSLATORS comments.
8056 * grub-core/normal/cmdline.c: Likewise.
8057 * grub-core/normal/misc.c: Likewise.
8058 * grub-core/partmap/msdos.c: Likewise.
8059 * grub-core/parttool/msdospart.c: Likewise.
8060 * grub-core/script/execute.c: Likewise.
8061 * grub-core/script/main.c: Likewise.
8062 * grub-core/term/terminfo.c: Likewise.
8063 * grub-core/video/bitmap.c: Likewise.
8064 * util/grub-install.in: Likewise.
8065 * util/grub-mkimage.c: Likewise.
8066 * util/grub-mklayout.c: Likewise.
8067 * util/grub-setup.c: Likewise.
8068
0fc19bd0
VS
80692012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
8072 with similar messages in grub-fstest.
8073
d95862ef
VS
80742012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8075
8076 * util/grub-install.in: Unify "option requires an argument" message
8077 with similar messages in other files.
8078 * util/grub-mkconfig.in: Likewise.
8079
b7308f90
VS
80802012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 * util/grub-set-default.in: Replace printf with gettext_printf (the
8083 string in in question is already translated from grub-reboot)
8084
559dc587
VS
80852012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * configure.ac: Bump up the version to beta1.
8088
1a11761f
VS
80892012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
8092 case when min_align = 0.
8093
24539abd
VS
80942012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
8097 and fix a case when line_start overflows.
8098
32bd735b
VS
80992012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * util/grub-reboot.in (usage): Mention id posibility.
8102 * util/grub-set-default.in (usage): Likewise.
8103
1a2fd1e6
VS
81042012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8105
8106 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
8107 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
8108 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
8109 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
8110 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8111 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8112 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8113
90eeab76
VS
81142012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 * grub-core/commands/menuentry.c (options): Remove
8117 GRUB_ARG_OPTION_REPEATABLE.
8118 Reported by: Andreas Vogel
8119
5ad1be82
AV
81202012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
8121
8122 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
8123
cb055286
HE
81242012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
8125
8126 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
8127 error.
8128
93b1cd79
VS
81292012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 Use sort -V by the idea of Georgi Georgiev.
8132
8133 * util/grub-mkconfig_lib.in (version_sort): New function.
8134 (version_test_numeric): Use version_sort.
8135
0cdc126c
VS
81362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 Use submenus in grub-mkconfig.
8139
8140 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
8141 * util/grub-mkconfig_lib.in (grub_quote): New function.
8142 (gettext_printf): Use gettext and not gettext_quoted to fix several
8143 messages.
8144 * util/grub.d/10_hurd.in: Use submenus.
8145 * util/grub.d/10_kfreebsd.in: Likewise.
8146 * util/grub.d/10_linux.in: Likewise.
8147 * util/grub.d/10_netbsd.in: Likewise.
8148 * util/grub.d/20_linux_xen.in: Likewise.
8149 * util/grub.d/30_os-prober.in: Likewise.
8150 * util/grub.d/10_illumos.in: Add missing quoting.
8151 * util/grub.d/10_windows.in: Likewise.
8152
d9bef9bc
VS
81532012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 Fix menu title instability bug.
8156
8157 * grub-core/commands/menuentry.c (options): New option --id.
8158 (grub_normal_add_menu_entry): New argument id. All users updated.
8159 (grub_cmd_menuentry): Handle --id.
8160 (grub_menu_init): Accept unknown arguments.
8161 * grub-core/normal/main.c (features): Add feature_menuentry_id and
8162 feature_menuentry_options.
8163 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
8164 saved_entry.
8165 (get_entry_number): Match with id as well.
8166 * include/grub/menu.h (grub_menu_entry): New member id.
8167 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
8168 * util/grub.d/00_header.in: Define menuentry_id_option.
8169 * util/grub.d/10_hurd.in: Define id.
8170 * util/grub.d/10_illumos.in: Likewise.
8171 * util/grub.d/10_kfreebsd.in: Likewise.
8172 * util/grub.d/10_linux.in: Likewise.
8173 * util/grub.d/10_netbsd.in: Likewise.
8174 * util/grub.d/10_windows.in: Likewise.
8175 * util/grub.d/20_linux_xen.in: Likewise.
8176 * util/grub.d/30_os-prober.in: Likewise.
8177
81782012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
8179
8180 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
8181 "scope" with "body".
8182
7c8d0ce7
VS
81832012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8184
8185 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
8186 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
8187 prot_size and prot_file_size.
8188
49de079b
VS
81892012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
8192 All users updated. If easily=1 require raid-5/-6 to be full.
8193 (is_node_readable): Likewise.
8194 (scan_devices): Scan incomplete but readable LVs at the end.
8195 (grub_diskfilter_memberlist): Pull missing devices.
8196 (insert_array): Skip scanning until device is complete or scan is
8197 done otherwise.
8198 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
8199 check.
8200 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
8201 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
8202
aff05d45
MG
82032012-03-03 Matthew Garrett <mjg@redhat.com>
82042012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8205
8206 Avoid EFI boot services when loading Linux.
8207
8208 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
8209 avoid_efi_bootservices. All users updated.
8210 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
8211 argument avoid_efi_bootservices. All users updated.
8212 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
8213 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
8214 align, min_align, relocatable, prefered_address. All users updated.
8215 Allocate avoiding boot services if kernel is relocatable.
8216 (grub_cmd_linux): Check if kernel is relocatable.
8217 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
8218 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
8219 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
8220 avoid_efi_boot_services.
8221 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
8222 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
8223 (linux_kernel_params): Likewise.
8224
3935dde2
MG
82252012-03-03 Matthew Garrett <mjg@redhat.com>
82262012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8227
8228 Use EDID on EFI.
8229
8230 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
8231 datasize_out.
8232 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
8233 modes. Set gop_handle.
8234 (grub_video_gop_get_edid): New function.
8235 (grub_gop_get_preferred_mode): Likewise.
8236 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
8237 (grub_video_efi_gop_adapter): Set .get_edid.
8238 * include/grub/efi/edid.h: New file.
8239 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
8240
32107ec0
VS
82412012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 * util/grub-install.in: Load efivars unconditionally.
8244
e70a2c50
VS
82452012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8246
8247 * po/Rules-piglatin: Change suffix from .po-update-en to
8248 .po-update-en-piglatin.
8249
8f9cace1
VS
82502012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 Add a pig farm.
8253
8254 * po/piglatin.sed: New file.
8255 * po/en@piglatin.header: Likewise.
8256 * po/Rules-piglatin: Likewise.
8257 * po/README: Add en@piglatin to autogenerated languages.
8258
8f95d002
VS
82592012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8260
8261 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
8262 "Command for ...".
8263 * grub-core/commands/hdparm.c (options): Use "Display" rather than
8264 "Check" since we don't check anything.
8265 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
8266 is 64-bit one.
8267 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
8268 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
8269 (grub_md_sha512_real): Likewise.
8270
805a8dcc
VS
82712012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * grub-core/commands/gptsync.c: Fix typographic quoting.
8274 * grub-core/commands/ieee1275/suspend.c: Likewise.
8275 * grub-core/commands/parttool.c: Likewise.
8276 * grub-core/commands/search_wrap.c: Likewise.
8277 * grub-core/commands/videoinfo.c: Likewise.
8278 * grub-core/gfxmenu/gui_label.c: Likewise.
8279 * grub-core/hello/hello.c: Likewise.
8280 * grub-core/kern/emu/main.c: Likewise.
8281 * grub-core/net/net.c: Likewise.
8282 * grub-core/normal/menu.c: Likewise.
8283 * grub-core/normal/menu_text.c: Likewise.
8284 * grub-core/normal/misc.c: Likewise.
8285 * util/grub-editenv.c: Likewise.
8286 * util/grub-install.in: Likewise.
8287 * util/grub-kbdcomp.in: Likewise.
8288 * util/grub-mkconfig.in: Likewise.
8289 * util/grub-mknetdir.in: Likewise.
8290 * util/grub-mkrescue.in: Likewise.
8291 * util/grub-mkstandalone.in: Likewise.
8292 * util/grub-reboot.in: Likewise.
8293 * util/grub-set-default.in: Likewise.
8294 * util/grub-setup.c: Likewise.
8295 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8296
40211ab8
VS
82972012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
8300 * grub-core/commands/keystatus.c: Likewise.
8301 * grub-core/commands/loadenv.c: Likewise.
8302 * grub-core/commands/probe.c: Likewise.
8303 * grub-core/commands/regexp.c: Likewise.
8304 * grub-core/commands/true.c: Likewise.
8305 * grub-core/commands/videoinfo.c: Likewise.
8306 * grub-core/disk/cryptodisk.c: Likewise.
8307 * grub-core/disk/ldm.c: Likewise.
8308 * grub-core/disk/loopback.c: Likewise.
8309 * grub-core/disk/luks.c: Likewise.
8310 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8311 * grub-core/kern/disk.c: Likewise.
8312 * grub-core/kern/emu/hostdisk.c: Likewise.
8313
0c7d99c7
VS
83142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8315
8316 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
8317 * util/grub-install.in: Add missing quote in the comment.
8318
e7d2559b
VS
83192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
8322 * grub-core/commands/lsmmap.c: Likewise.
8323 * grub-core/commands/minicmd.c: Likewise.
8324 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8325 * grub-core/commands/regexp.c: Likewise.
8326 * grub-core/gdb/gdb.c: Likewise.
8327 * grub-core/term/gfxterm.c: Likewise.
8328 * util/grub-mkconfig.in: Likewise.
8329 * util/grub-mkfont.c: Likewise.
8330 * util/grub-mklayout.c: Likewise.
8331 * util/grub-mknetdir.in: Likewise.
8332 * util/grub-mkrescue.in: Likewise.
8333 * util/grub.d/30_os-prober.in: Likewise.
8334
49ce9e50
VS
83352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8336
8337 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
8338 with "Direct color" and "Packed" with "Packed pixel".
8339 (grub_cmd_videoinfo): Simplify legend.
8340
e4b791fa
VS
83412012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8344 absolutely unclear error message.
8345
fd1265cb
VS
83462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8347
8348 * util/grub-mkstandalone.in: Remove confusing leftover print.
8349
8822a8a0
VS
83502012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
8353 comments.
8354 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
8355 (GRUB_MOD_INIT): Likewise.
8356 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
8357 VGA mode.
8358 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
8359 comments.
8360 * util/grub-install.in (usage): Likewise.
8361 Spell ID in whole letters.
8362 Add missing ending dot.
8363 Quote variables.
8364 * util/grub-reboot.in: Fix capitalisation.
8365 * util/grub-set-default.in: Likewise.
8366
937fd0cc
VS
83672012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
8370 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
8371 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
8372 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
8373 Disable -Werror for -Wdeprecated-declarations.
8374 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
8375 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
8376 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
8377 (grub_util_get_grub_dev): Make luks handling dependent on
8378 HAVE_DEVICE_MAPPER and not __linux__.
8379 (get_win32_path): Fix format security.
8380 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
8381 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
8382 Don't try grub_find_zpool_from_dir.
8383 (grub_make_system_path_relative_to_its_root) [!__linux__]:
8384 #ifdef-out paresdir.
8385
1bab1ae3
VS
83862012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * util/grub-pe2elf.c (usage): Add missing noreturn.
8389 (write_section_data): Rename name to shname to avoid shadowing.
8390 (write_symbol_table): Rename name to symname to avoid shadowing.
8391 Fix write_reloc_section call.
8392
ef023e42
VS
83932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
8396 to ensure that it's after the last byte of .text.
8397
48afcb75
VS
83982012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 * util/ieee1275/ofpath.c (my_isdigit): New function.
8401 (trailing_digits): Use my_isdigit.
8402 (strip_trailing_digits): Likewise.
8403
88d51eff
VS
84042012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8405
8406 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
8407 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
8408
17edc2ba
VS
84092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8410
8411 * grub-core/kern/i386/pc/startup.S: Define __start.
8412
ad5518d7
VS
84132012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8414
8415 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
8416 strip already transforms he format.
8417
9e95e1bf
VS
84182012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
8421
9cc3ee5c
VS
84222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8423
8424 * util/grub-install.in: Add missing gettext init.
8425 * util/grub-kbdcomp.in: Likewise.
8426 * util/grub-mkconfig.in: Likewise.
8427 * util/grub-mknetdir.in: Likewise.
8428 * util/grub-mkrescue.in: Likewise.
8429 * util/grub-mkstandalone.in: Likewise.
8430 * util/grub-reboot.in: Likewise.
8431 * util/grub-set-default.in: Likewise.
8432 * util/grub.d/00_header.in: Likewise.
8433 * util/grub.d/10_hurd.in: Likewise.
8434 * util/grub.d/10_windows.in: Likewise.
8435 * util/grub.d/30_os-prober.in: Likewise.
8436 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8437
49e08a06
VS
84382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 * po/Rules-swiss: Fix header comment.
8441
3809cb41
AV
84422012-02-29 Andreas Vogel <anvoit>
8443
8444 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
8445 resulted in leak of arguments.
8446
fa6ec573
VS
84472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8448
8449 * grub-core/boot/i386/pc/startup_raw.S: Use separate
8450 reed_solomon_size const definition instead of computing it since
8451 Apple assembler doesn't support the later.
8452
22899b9c
VS
84532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 * gentpl.py (kernel): Rewrite Apple part.
8456
a132afc3
VS
84572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 * include/grub/kernel.h (FOR_MODULES): Check module magic.
8460
9d742bd4
VS
84612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 * util/grub-mkimagexx.c (locate_sections): Support non-standard
8464 ELF section gap.
8465 (load_image): Likewise.
8466
f04a9a21
VS
84672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8468
8469 * configure.ac: Fix a typo in previous commit.
8470
46cf439c
VS
84712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8472
8473 Don't add -Wl,-N on Apple platform.
8474
8475 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
8476 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
8477
c4c48c54
VS
84782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8479
8480 * grub-core/Makefile.core.def (lzma_decompress): Use
8481 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
8482
31a12124
VS
84832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8484
8485 * grub-core/genmod.sh.in: Rewrite the Apple part.
8486
4f3aa1af
VS
84872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
8490 comparison.
8491
7bd8b0c7
VS
84922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 * acinclude.m4 (grub_CHECK_PIC): New test.
8495 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
8496
97304d7c
VS
84972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8498
8499 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
8500 to avoid the warning.
8501
fb883812
VS
85022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8503
8504 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
8505 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
8506 after. All users updated.
8507
a121c964
VS
85082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8509
8510 Use the common size routine in hostfs so we can read disks as well.
8511
8512 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
8513 (grub_util_get_fd_size): ... this. Return size in bytes.
8514 All users updated.
8515 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
8516 grub_util_get_fd_size.
8517
c66d6410
VS
85182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8519
8520 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
8521 Add blocksize retrieval.
8522
dfc8aeb0
VS
85232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 * configure.ac: Restore CFLAGS after efiemu check.
8526
403e25a5
VS
85272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8528
8529 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
8530 Apple bug.
8531
382775d1
VS
85322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
8535
6fd4e6e4
VS
85362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
8539 (grub_cmd_halt): Likewise.
8540
bea359d6
VS
85412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
8544 for local arithmetics.
8545 Break %sp init into 2 instructions.
8546 Add 0 byte at the end.
8547
32eb6ee1
VS
85482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * grub-core/disk/diskfilter.c (read_segment): Initialise err
8551 before loops.
8552
e8377389
VS
85532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
8556 for context.
8557
8cb17de7
VS
85582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 * grub-core/disk/ldm.c (make_vg): Init part.name.
8561 (grub_ldm_detect): Silence spurious warning.
8562 (grub_util_is_ldm): Likewise.
8563
595717e6
VS
85642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
8567 sane value to avoid a spurious warning.
8568
c4b7e588
VS
85692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8570
8571 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
8572 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
8573
59824957
VS
85742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8575
8576 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
8577 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
8578
70115b99
VS
85792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8580
8581 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
8582 hardcoding the relevant info.
8583
56733740
VS
85842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
8587 missing const qualifiers.
8588 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
8589
43481481
VS
85902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 * util/getroot.c [__APPLE__]: Add missing includes.
8593 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
8594
3cb38f01
VS
85952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * util/grub-mkimage.c (generate_image): Silence spurious warning.
8598
d9dbf11e
VS
85992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
8602 avoid conflicts.
8603
0c42a45d
VS
86042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
8607
46c34eb0
VS
86082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
8611 and grub_file_close call.
8612
99ce1597
VS
86132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 Add LZSS Mach-O support (needed for new xnu kernelcache).
8616
8617 * grub-core/Makefile.core.def (xnu): Add file lzss.c
8618 * grub-core/loader/lzss.c: New file.
8619 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
8620 on Mach-O open failure.
8621 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
8622 Don't free cmdsXX in uncompressedXX is set.
8623 (grub_macho_file): Init new fields.
8624 New argument is_64bit. All users updated.
8625 Handle compressed. Error out if no suitable architecture is found.
8626 Don't close file.
8627 (grub_macho_open): New argument is_64bit. All users updated.
8628 * grub-core/loader/macho32.c: Add defines for new fields.
8629 * grub-core/loader/macho64.c: Likewise.
8630 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
8631 (grub_macho_parse): Handle compressed.
8632 Defer actual processing if compressed.
8633 (grub_macho_cmds_iterate): Decompress if compressed. New argument
8634 "filename". All users updated.
8635 (grub_macho_size): New argument "filename". All users updated.
8636 (grub_macho_get_entry_point): Likewise.
8637 (grub_macho_load): Handle compressed.
8638 * include/grub/macho.h (grub_macho_lzss_header): New struct.
8639 (GRUB_MACHO_LZSS_OFFSET): New define.
8640 (grub_decompress_lzss): New proto.
8641 * include/grub/machoload.h (grub_macho_file): New fields to handle
8642 compressed.
8643 (grub_macho_contains_macho64): Remove proto.
8644 (grub_macho_contains_macho32): Likewise.
8645 * util/grub.d/30_os-prober.in: Use kernel cache if available.
8646
ebd17d6f
VS
86472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
8650
2702b4e4
VS
86512012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 Fix make dist.
8654
8655 * Makefile.am (starfield_theme_files): New var.
8656 (starfield_DATA): Use starfield_theme_files.
8657 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
8658 Add bootcheck-related files.
8659 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
8660 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
8661 and font_char_metrics.txt.
8662 * grub-core/Makefile.core.def (kernel): Update extra_dist.
8663 (setjmp): Add lib/ia64/longjmp.S.
8664 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
8665 * po/POTFILES.in: Regenerate.
8666 * po/Rules-swiss: use DISTFILES.common.extra2 and not
8667 DISTFILES.common.extra1.
8668 * util/devicemap.c: Removed.
8669 * grub-core/lib/i386/relocator_backward.S: Likewise.
8670 * util/import_gcry.py: Remove unused files. Add extra_dist for
8671 ChangeLog.
8672
cf1adfdf
VS
86732012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 * grub-core/gettext/gettext.c (grub_mofile_open): Call
8676 grub_gettext_delete_list before changing grub_gettext_max to avoid
8677 running out of array bounds.
8678
86792012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
8680
8681 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
8682 grub_vga_text_init/grub_vga_text_fini.
8683
cf1adfdf 86842012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
8685
8686 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
8687
541d92e9
VS
86882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8689
8690 * configure.ac: Bump to 2.00~beta0.
8691
7931dddf
VS
86922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8693
8694 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
8695 missing initialisation.
8696
f1b16fa3
VS
86972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
8700
83ddae23
VS
87012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8702
8703 Support v2 xnu boot arguments.
8704
8705 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
8706 New argument fsbfreq_out.
8707 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
8708 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
8709 be used.
8710 * grub-core/loader/machoXX.c (grub_macho_load): New argument
8711 darwin_version.
8712 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
8713 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
8714 (grub_xnu_boot_params): Rename to ...
8715 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
8716 (grub_xnu_boot_params_v2): New struct.
8717
dc693fe6
VS
87182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
8721 zeroing of CRC field before computing CRC.
8722
5a6e39c2
VS
87232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
8726 Change order of allocations to decrease fragmentation.
8727
6c21f5d7
VS
87282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
8731
cfe456dc
CW
87322012-02-27 Colin Watson <cjwatson@ubuntu.com>
8733
8734 Use write-combining MTRR to speed up video with buggy BIOSes.
8735
8736 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
8737 (cpuid): New define.
8738 (rdmsr): Likewise.
8739 (wrmsr): Likewise.
8740 (mtrr_base): Likewise.
8741 (mtrr_mask): Likewise.
8742 (grub_vbe_enable_mtrr_entry): New function.
8743 (grub_vbe_enable_mtrr): Likewise.
8744 (grub_vbe_disable_mtrr): Likewise.
8745 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
8746 control off to BIOS.
8747 (grub_video_vbe_init): Fill mtrr.
8748 (grub_video_vbe_fini): Disable mtrr.
8749 (grub_video_vbe_get_info_and_fini): Likewise.
8750 (grub_video_vbe_setup): Enable mtrr.
8751
e3c78337
CW
87522012-02-27 Colin Watson <cjwatson@ubuntu.com>
8753
8754 * include/grub/partition.h (grub_partition_map): Change prototype of
8755 embed to take a maximum value for nsectors.
8756 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
8757 * include/grub/fs.h (grub_fs): Likewise.
8758 * grub-core/partmap/msdos.c (embed_signatures): New array.
8759 (pc_partition_map_embed): Check for and avoid sectors matching any
8760 of the signatures in embed_signatures, up to max_nsectors.
8761 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
8762 returned sector map to max_nsectors.
8763 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
8764 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
8765 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
8766 * util/grub-setup.c (setup): Allow for the embedding area being
8767 split into multiple blocklists. Tell dest_partmap->embed the
8768 maximum number of sectors we care about.
8769
87702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
8773 Specify blocklist_install and reserver_first_sector for all fs.
8774 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
8775 blocklists.
8776
984b973f
VS
87772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8778
8779 * util/grub-install.in: Clarify strings.
8780 Fix source dir check.
8781
f122e0d6
RL
87822012-02-27 Richard Laager <rlaager@wiktel.com>
8783
8784 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
8785 "zfs" and "fuse.zfs" as synonyms.
8786
071114bb
VS
87872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 * configure.ac: Put platform and target_cpu substitutions back since
8790 they are used for directories.
8791
817e6abc
RL
87922012-02-27 Richard Laager <rlaager@wiktel.com>
87932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 * util/grub.d/10_linux.in: Add ZFS-related arguments.
8796 * util/grub.d/20_linux_xen.in: Likewise.
8797
897b7419
RL
87982012-02-27 Richard Laager <rlaager@wiktel.com>
8799
8800 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
8801 with full paths.
8802
a414bd15
RL
88032012-02-27 Richard Laager <rlaager@wiktel.com>
8804
8805 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
8806 unescape.
8807
30ac48c4
VS
88082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8809
8810 Don't use insecure popen in getroot.
8811
8812 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
8813 (exec_pipe): ... here.
8814 (find_root_devices_from_poolname): Use exec_pipe.
8815
53f13848
VS
88162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8817
8818 Remove platform and target_cpu replacement.
8819
8820 * configure.ac: Remove platform and target_cpu substitutions.
8821 * tests/util/grub-shell.in: Use modinfo.
8822 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
8823 explicitly.
8824
90cb2803
VS
88252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 Autodetect platform in grub-install but allow override.
8828
8829 * util/grub-install.in: Autodetect platform. Support --target and
8830 --directory. Read platform from modinfo.sh.
8831
b9136427
VS
88322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 Support btrfs multi-volume probe.
8835
8836 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
8837 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
8838 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
8839 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
8840 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
8841 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
8842 grub_find_root_devices_from_btrfs if on btrfs.
8843
c36e5cd1
VS
88442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 Remove any awareness of *.c util files about target.
8847
8848 * Makefile.util.def (grub-setup): Split to ...
8849 (grub-bios-setup): ... and this.
8850 (grub-sparc64-setup): ... and this.
8851 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
8852 * docs/man/grub-setup.h2m: Split into ...
8853 * docs/man/grub-sparc64-setup.h2m: ... this.
8854 * docs/man/grub-bios-setup.h2m: ... and this.
8855 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
8856 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
8857 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
8858 (grub_target_addr_t): Remove.
8859 (grub_target_size_t): Remove.
8860 (grub_target_ssize_t): Remove.
8861 * util/grub-install.in: Use new grub-*-setup.
8862 * util/grub-mkimagexx.c (Elf_Word): New define.
8863 (Elf_Half): Likewise.
8864 (Elf_Section): Likewise.
8865 (ELF_ST_TYPE): Likewise.
8866 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
8867 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
8868
584b2f8a
VS
88692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 Replace grub_target_addr with more appropriate types.
8872
8873 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
8874 grub_target_addr with grub_addr.
8875 * grub-core/commands/iorw.c (grub_cmd_read): Replace
8876 grub_target_addr with grub_port.
8877 (grub_cmd_write): Likewise.
8878 * grub-core/commands/memrw.c (grub_cmd_read): Replace
8879 grub_target_addr with grub_addr.
8880 (grub_cmd_write): Likewise.
8881 * grub-core/video/efi_uga.c (find_line_len): Likewise.
8882
5a0dc6fb
VS
88832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
8886 const qualifier for vendor_guid.
8887
786aff6e
VS
88882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
8891 const qualifier.
8892 (efiemu_memequal): Likewise.
8893 (find_variable): Likewise.
8894
49017b17
VS
88952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 Fix missing console prototype on qemu-mips.
8898
8899 * include/grub/mips/qemu_mips/console.h: New file.
8900
c5988629
MG
89012012-02-27 Matthew Garrett <mjg@redhat.com>
89022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
8905 * include/grub/efi/efi.h: Likewise.
8906 * include/grub/efi/api.h: Add guid for EFI-specified variables.
8907 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
8908 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
8909 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
8910 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
8911 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
8912
e33f8d69
MG
89132012-02-27 Matthew Garrett <mjg@redhat.com>
8914
8915 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
8916
fb312cd9
VS
89172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
8920 error.
8921
7134247c
VS
89222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * configure.ac: Remove inappropriate use of program_transform_name
8925 on grubdir and bootdir but allow explicit specification of those
8926 variables.
8927
6a313124
VS
89282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8929
8930 * util/grub-mknetdir.in (grub_prefix): Removed.
8931 (subdir): Use @bootdirname@ and @grubdirname@.
8932
2311c5ca
VS
89332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8934
8935 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
8936
7d5d60f7
VS
89372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 * po/POTFILES.in: Regenerated.
8940
8151bc82
VS
89412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 Remove improper use of program_transform_name on pkglibrootdir.
8944
8945 * configure.ac (pkglibrootdir): Removed.
8946 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
8947 * util/grub-mkimage.c: Likewise.
8948
b4a6a533
VS
89492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
8952 warning.
8953
668f304f
VS
89542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * util/grub-install.in: Use file identifier if no UUID is available
8957 or user explicitly prompted for it.
8958
665f2341
NP
89592012-02-27 Navdeep Parhar <nparhar@gmail.com>
8960
8961 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
8962 (freebsd_get_zfs): New function.
8963 (grub_freebsd_boot): Pass zfs UUID.
8964 (grub_cmd_freebsd): Set zfs UUID.
8965
8151bc82 89662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
8967
8968 * conf/Makefile.common (platformdir): Base on pkglibdir and not
8969 pkglibrootdir.
8970
e4c498a1
MG
89712012-02-27 Mike Gilbert <floppym@gentoo.org>
8972
8973 Add configure flag to control libzfs integration.
8974
8975 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
8976
1e9a9a3f
VS
89772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8978
8979 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
8980 device.
8981 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
8982 small devices.
8983
036985b8
VS
89842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8985
8986 Remove grub_{modname}_init and grub_{modname}_fini. They should never
8987 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
8988 be used on non-modules.
8989
8990 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
8991 Rename to grub_boot_init.
8992 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
8993 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
8994 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
8995 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
8996 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
8997 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
8998 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
8999 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
9000 includes.
9001 (grub_machine_init): Remove empty inits.
9002 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
9003 includes.
9004 (grub_machine_init): Remove empty inits.
9005 * grub-core/term/arc/console.c: Remove explicit proto.
9006 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
9007 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
9008 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9009 grub_at_keyboard_fini.
9010 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
9011 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
9012 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9013 grub_gfxterm_fini.
9014 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
9015 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
9016 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9017 grub_vgatext_fini.
9018 * grub-core/term/ieee1275/console.c: Remove explicit proto.
9019 * grub-core/term/serial.c (GRUB_MOD_INIT)
9020 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
9021 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9022 grub_serial_fini.
9023 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
9024 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
9025 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9026 grub_terminfo_fini.
9027 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
9028 (GRUB_MOD_FINI): Likewise.
9029 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
9030 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
9031 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9032 grub_video_radeon_fuloong2e_fini.
9033 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
9034 [LOONGSON]: Rename to grub_video_sis315pro_init.
9035 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9036 grub_video_sis315pro_fini.
9037 * grub-core/video/sm712.c (GRUB_MOD_INIT)
9038 [LOONGSON]: Rename to grub_video_sm712_init.
9039 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9040 grub_video_sm712_fini.
9041 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
9042 (grub_at_keyboard_fini): Likewise.
9043 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
9044 Don't declare grub_{modname}_init.
9045 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
9046 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
9047 New proto.
9048 (grub_keylayouts_fini) [!EMU]: Likewise.
9049 * include/grub/serial.h (grub_serial_init) [!EMU]:
9050 New proto.
9051 (grub_serial_fini) [!EMU]: Likewise.
9052 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
9053 New proto.
9054 (grub_terminfo_fini) [!EMU]: Likewise.
9055 * include/grub/video.h (grub_font_init) [!EMU]:
9056 New proto.
9057 (grub_font_fini) [!EMU]: Likewise.
9058 (grub_gfxterm_init) [!EMU]: Likewise.
9059 (grub_gfxterm_fini) [!EMU]: Likewise.
9060 (grub_video_sm712_init) [!EMU]: Likewise.
9061 (grub_video_sm712_fini) [!EMU]: Likewise.
9062 (grub_video_sis315pro_init) [!EMU]: Likewise.
9063 (grub_video_sis315pro_fini) [!EMU]: Likewise.
9064 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
9065 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
9066
d5534665
VS
90672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 Make nand a prefix for nand devices.
9070
9071 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
9072
10133b5f
VS
90732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
9076 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
9077
8e307a62
VS
90782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 * include/grub/env.h (grub_env_find): Remove prototype.
9081 * grub-core/kern/env.c (grub_env_find): Make static.
9082 (grub_env_set): Remove useless set.
9083
a4c65f34
VS
90842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * grub-core/kern/i386/realmode.S: Remove useless align.
9087
d87893d5
VS
90882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * include/grub/dl.h (grub_dl_load_file): Don't export.
9091
50159add
VS
90922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
9095 grub_dprintf.
9096
b2582b84
VS
90972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9098
9099 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
9100 grub_errors.
9101 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
9102 not reloading whole superblock but only the part which is really needed.
9103 Remove useless grub_errors.
9104 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
9105 grub_errors.
9106
e2a83395
VS
91072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 Don't export grub_get_rtc.
9110
9111 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
9112 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
9113
e7d2a906
VS
91142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9115
9116 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
9117
6cf1363b
VS
91182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 9121 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 9122
eece3349
VS
91232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 Remove prio_list.
9126
9127 * include/grub/list.h (grub_prio_list): Removed.
9128 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
9129 GRUB_COMMAND_PRIO_MASK.
9130 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
9131 GRUB_COMMAND_FLAG_ACTIVE.
9132 (grub_prio_list_insert): Removed.
9133 (grub_prio_list_remove): Likewise.
9134 (GRUB_AS_PRIO_LIST): Likewise.
9135 (GRUB_AS_PRIO_LIST_P): Likewise.
9136 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
9137 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
9138 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
9139 * grub-core/kern/command.c (grub_register_command_prio): Inline
9140 the prio_list code.
9141 (grub_unregister_command): Likewise.
9142
94f064b4
VS
91432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 Fix interrupt mixup from previous commit.
9146
9147 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
9148 (grub_realidt): New var.
9149 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
9150 Load idt.
9151 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
9152 New declaration.
9153 (grub_relocator16_boot): Set grub_relocator16_idt.
9154 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
9155 (LOCAL(realidt)): ... this.
9156 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
9157 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
9158 (grub_realidt): New variable.
9159
27317084
VS
91602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
9163 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
9164 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
9165 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
9166 Gettextize.
9167 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
9168 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
9169 * po/POTFILES.in: Regenerate.
9170
47b40053
VS
91712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9172
9173 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
9174 errors.
9175
2b343101
VS
91762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
9179 \0.
9180 (add_length): Likewise.
9181
ff27c3dd
LK
91822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
91832012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
9184
9185 GDB serial and backtrace support.
9186
9187 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
9188 (prot_to_real): Likewise.
9189 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
9190 * grub-core/Makefile.core.def (backtrace): New module.
9191 (gdb): Likewise.
9192 * grub-core/gdb/cstub.c: New file.
9193 * grub-core/gdb/gdb.c: Likewise.
9194 * grub-core/gdb/i386/idt.c: Likewise.
9195 * grub-core/gdb/i386/machdep.S: Likewise.
9196 * grub-core/gdb/i386/signal.c: Likewise.
9197 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 9198 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
9199 * include/grub/backtrace.h: Likewise.
9200 * include/grub/gdb.h: Likewise.
9201 * include/grub/i386/gdb.h: Likewise.
9202
92032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
9204
9205 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
9206 New function.
9207 (add_length): Likewise.
9208 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
9209 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
9210 proto.
9211 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
9212 __argp_get_display_len.
9213
ff27c3dd 92142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
9215
9216 $"..." support in scripts.
9217
9218 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
9219 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
9220 * grub-core/script/yylex.l: Likewise.
9221 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
9222 value.
9223
ff27c3dd 92242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
9225
9226 * gentpl.py: Remove obsolete pkglib_DATA handling.
9227
ff27c3dd 92282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
9229
9230 Don't transform PACKAGE_TARNAME following a discussion on autoconf
9231 mailing list.
9232
9233 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
9234 * util/grub-kbdcomp.in: Likewise.
9235 * util/grub-mkconfig.in: Likewise.
9236 * util/grub-mkconfig_lib.in: Likewise.
9237 * util/grub-mknetdir.in: Likewise.
9238 * util/grub-mkrescue.in: Likewise.
9239 * util/grub-mkstandalone.in: Likewise.
9240 * util/grub-reboot.in: Likewise.
9241 * util/grub-set-default.in: Likewise.
9242 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9243
ff27c3dd 92442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
9245
9246 Remove GRUB_PREFIX.
9247
9248 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
9249 * util/grub.d/00_header.in: Compute prefix in the only place it's still
9250 used for backward compatibility.
9251
ff27c3dd 92522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
9253
9254 Add new all_video module.
9255
9256 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
9257 * grub-core/Makefile.core.def (all_video): New module.
9258 * grub-core/genmoddep.awk: Generate dependency of all_video from
9259 video.lst.
9260 * grub-core/lib/fake_module.c: New file.
9261 * grub-core/normal/main.c (features): Add feature_all_video_module.
9262 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
9263 don't do explicit search again.
47454da5 9264 insmod all_video in load_video if available.
22c7ce85 9265
ff27c3dd 92662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
9267
9268 Another round of string clarification and adding TRANSLATORS comments.
9269
ff27c3dd 92702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
9271
9272 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
9273
ff27c3dd 92742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
9275
9276 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
9277 to grub_ssize_t.
9278 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
9279 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
9280
ff27c3dd 92812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
9282
9283 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
9284 trailing newline implicitly. All users updated.
9285
ff27c3dd 92862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
9287
9288 Implement serial on IEEE1275 and EFI.
9289
9290 * docs/grub.texi (Platform-specific limitations): Fix the columen video
9291 on emu. Mention arc and emu as the only platforms without serial
9292 support.
9293 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
9294 ieee1275 platforms.
9295 * grub-core/term/efi/serial.c: New file.
9296 * grub-core/term/ieee1275/serial.c: Likewise.
9297 * grub-core/term/serial.c (grub_serial_find): Disable direct port
9298 specification if no ns8250 driver is available.
9299 (grub_cmd_serial): Likewise.
9300 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
9301 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
9302 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
9303 (grub_efi_parity_type_t): New type.
9304 (grub_efi_stop_bits_t): Likewise.
9305 (grub_efi_serial_io_interface): New struct.
9306 * include/grub/serial.h (grub_serial_port): Make 'broken' field
9307 available for all interfaces.
9308 Add EFI and IEEE1275 fields.
9309 (grub_ofserial_init): New proto.
9310 (grub_efiserial_init): Likeiwse.
9311 * util/grub.d/00_header.in: Don't check for the presence of serial
9312 module.
9313
ff27c3dd 93142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
9315
9316 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
9317 name as if it was an alias.
9318
114076ef
VS
93192012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 * grub-core/commands/lsacpi.c (options): Fix typo.
9322
6a656b0e
VS
93232012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 Convert grub-emu to argp.
9326
9327 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
9328 emu.
9329 * util/argp_common.c: Rename to ...
9330 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
9331 Add missing includes.
9332 * grub-core/kern/emu/main.c: Convert to argp.
9333 * po/POTFILES.in: Regenerate.
9334 * util/grub-install.in (usage): Make first letter lowcase in messages
9335 for uniformity.
9336 * util/grub-setup.c (options): Likewise.
9337
1e3f8ae8
VS
93382012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
9341 Put back accidently commented-out code.
9342
ed167a80
VS
93432012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
9346 loop check using Brent algorithm.
9347 (grub_hfsplus_btree_search): Likewise.
9348
6753c0ec
VS
93492012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 * util/grub-install.in: Fix usage of wrong device for PreP install.
9352
4e27343f
VS
93532012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 * conf/Makefile.common (CFLAGS_GNULIB): Add
9356 -Wno-unsafe-loop-optimizations.
9357 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
9358 on tools.
9359 * grub-core/commands/legacycfg.c: Add pragma to skip
9360 -Wunsafe-loop-optimizations.
9361 (check_password_md5_real): Fix loop counter type.
9362 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
9363 reading.
9364 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
9365 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
9366 loop condition.
9367 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
9368 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
9369 * grub-core/net/net.c (grub_net_route_address): Add safety loop
9370 condition.
9371 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
9372 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
9373 avoid possible infinite loops.
9374 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
9375 and -Wunsafe-loop-optimizations.
9376 * grub-core/script/yylex.l: Likewise.
9377 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
9378 (print_glyphs): Avoid infinite loops.
9379 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
9380
697f18b0
GS
93812012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
9382
9383 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
9384 to avoid infinite loop.
9385 (disp_acpi_rsdt_table): Likewise.
9386
274416e8
VS
93872012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9388
9389 * grub-core/font/font.c (grub_font_load): Add support for default
9390 path for fonts ($prefix/fonts).
9391 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
9392 for checking if string is a path.
9393 * grub-core/normal/main.c (features): Add feature_default_font_path.
9394 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
9395 * util/grub.d/00_header.in: Use default directory if possible.
9396 * util/grub-install.in: Install unicode.pf2.
9397
b3e08622
VS
93982012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
9401 * po/Rules-swiss: New file.
9402 * po/swiss.sed: Likewise.
9403
fe42ce09
VS
94042012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 * grub-core/fs/btrfs.c (find_device): Fix typos.
9407 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
9408 * util/grub-mkrelpath.c (argp_parser): Likewise.
9409 Reported by: Yuri Chornoivan.
9410
72f1d065
DO
94112012-02-23 Dalet Omega <daletomega@gmail.com>
9412
9413 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
9414 for usual informative messages.
9415
c5884973
DO
94162012-02-23 Dalet Omega <daletomega@gmail.com>
9417
9418 Starfield theme.
9419
9420 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
9421 * conf/Makefile.common: Define starfielddir.
9422 * configure.ac: Configure starfield.
9423 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
9424 * themes/starfield/README: Likewise.
9425 * themes/starfield/blob_w.png: Likewise.
9426 * themes/starfield/boot_menu_c.png: Likewise.
9427 * themes/starfield/boot_menu_e.png: Likewise.
9428 * themes/starfield/boot_menu_n.png: Likewise.
9429 * themes/starfield/boot_menu_ne.png: Likewise.
9430 * themes/starfield/boot_menu_nw.png: Likewise.
9431 * themes/starfield/boot_menu_s.png: Likewise.
9432 * themes/starfield/boot_menu_se.png: Likewise.
9433 * themes/starfield/boot_menu_sw.png: Likewise.
9434 * themes/starfield/boot_menu_w.png: Likewise.
9435 * themes/starfield/slider_c.png: Likewise.
9436 * themes/starfield/slider_n.png: Likewise.
9437 * themes/starfield/slider_s.png: Likewise.
9438 * themes/starfield/src/blob_nw.xcf: Likewise.
9439 * themes/starfield/src/bootmenu/: Likewise.
9440 * themes/starfield/src/bootmenu/center.xcf: Likewise.
9441 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
9442 * themes/starfield/src/bootmenu/side.xcf: Likewise.
9443 * themes/starfield/src/slider_c.xcf: Likewise.
9444 * themes/starfield/src/slider_n.xcf: Likewise.
9445 * themes/starfield/src/slider_s.xcf: Likewise.
9446 * themes/starfield/src/terminalbox/: Likewise.
9447 * themes/starfield/src/terminalbox/center.xcf: Likewise.
9448 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
9449 * themes/starfield/src/terminalbox/side.xcf: Likewise.
9450 * themes/starfield/starfield.png: Likewise.
9451 * themes/starfield/terminal_box_c.png: Likewise.
9452 * themes/starfield/terminal_box_e.png: Likewise.
9453 * themes/starfield/terminal_box_n.png: Likewise.
9454 * themes/starfield/terminal_box_ne.png: Likewise.
9455 * themes/starfield/terminal_box_nw.png: Likewise.
9456 * themes/starfield/terminal_box_s.png: Likewise.
9457 * themes/starfield/terminal_box_se.png: Likewise.
9458 * themes/starfield/terminal_box_sw.png: Likewise.
9459 * themes/starfield/terminal_box_w.png: Likewise.
9460 * themes/starfield/theme.txt: Likewise.
9461
17d73325
VS
94622012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * util/grub.d/00_header.in: Add missing export theme.
9465
dbebaf92
VS
94662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
9469 already included.
9470 Reported by: Eren D.
9471
3d68bffb
VS
94722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 * conf/Makefile.common (grubdatadir): Removed.
9475 (Makefile.am): Move eveything grubdata to pkgdata.
9476
4b59234d
VS
94772012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9478
9479 * grub-core/commands/acpihalt.c (get_sleep_type):
9480 Remove unused variable.
9481
463dcadc
VS
94822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9483
9484 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
9485 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
9486 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
9487 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
9488 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
9489 i18n with gettext no-op.
9490 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
9491 GRUB_ACPI_OPCODE_STRING_CONST.
9492 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
9493 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
9494
e5b90c82
VS
94952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9496
9497 * po/POTFILES.in: Regenerate.
9498
2a704ca9
VS
94992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9500
9501 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
9502 -Wno-error=missing-noreturn.
9503
84f9d341
VS
95042012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9505
9506 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
9507 condition to avoid possibly infinite loops.
9508 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
9509 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
9510
d46683f9
VS
95112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
9514 condition to avoid possibly infinite loops.
9515
c44866b2
VS
95162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
9519 on show_error.
9520
96790539
VS
95212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
9524
1ba7e295
VS
95252012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
9528
21ffe8f1
VS
95292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 * util/bin2h.c (usage): Add missing attribute noreturn.
9532
0ccb6b3c
VS
95332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
9536 if the size isn't divisible by 512.
9537
b00d7fb6
VS
95382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 Make list_push and list_remove functions rather than inline functions
9541 to decrease size and avoid aliasing violations.
9542
9543 * include/grub/list.h (grub_list_push): Move to ...
9544 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
9545 * include/grub/list.h (grub_list_remove): Move to ...
9546 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
9547
9d369087
VS
95482012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
9551 and -Wunused-result.
9552
af0250d9
VS
95532012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
9556 Reported by: Seth Goldberg
9557
aad32b14
VS
95582012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
9561
ac96441c
ST
95622012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
9563
9564 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
9565 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
9566 command line.
9567 * docs/grub.texi (Simple configuration): Document
9568 GRUB_CMDLINE_GNUMACH.
9569
95702012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
9571
9572 * conf/Makefile.common (platform_SCRIPTS): New variable.
9573 (platform_PROGRAMS): Likewise.
9574 * gentpl.py: Mark *,module and *.image for install.
9575 * grub-core/gdb_grub.in: Add a notice of expected environment.
9576 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
9577 (gmodule.pl): Likewise.
9578
ac96441c 95792012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
9580
9581 Replace grub_checkkey with grub_getkey_noblock.
9582
9583 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
9584 (grub_getkey_noblock): ... this. All users updated.
9585
ac96441c 95862012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
9587
9588 * grub-core/kern/emu/console.c: Move to ...
9589 * grub-core/term/emu/console.c: ...here.
9590 (grub_ncurses_getkey): Fix return value if no key is detected.
9591
e51b5666
VS
95922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
9595 (grub_unit_test_fini): Likewise.
9596 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
9597
95982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 * include/grub/test.h (GRUB_UNIT_TEST)
9601
d9a62292
VS
96022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9603
9604 * grub-core/script/execute.c (grub_script_break): Clarify logic.
9605 Better error handling.
9606 (grub_script_return): Likewise.
9607 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9608
77c9182f
VS
96092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9610
9611 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
9612 rimplicit redifinition.
9613
edb13cf9
VS
96142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
9617 GRUB.
9618
a9e9dc7c
VS
96192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
9622 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
9623 prompt here.
9624
b4ba8e02
VS
96252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
9628 as GRUB_ERR_BUG. Don't malloc if no device is available.
9629
dded5540
VS
96302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9631
9632 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
9633 Mark calling with invalid term as GRUB_ERR_BUG.
9634
0cf69874
VS
96352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9636
9637 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
9638 packets rather than raising an error.
9639
59bfe502
VS
96402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
9643 in if.
9644
db5fc596
VS
96452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
9648 diagnostic to dprintf.
9649 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9650
e4b7f404
VS
96512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
9654 device name.
9655
e7b02f9e
VS
96562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
9659 (grub_ntfs_iterate_dir): Likewise.
9660
0331e102
VS
96612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9662
9663 Efiemu stylistic fixes and gettext.
9664
9665 * grub-core/efiemu/i386/loadcore32.c
9666 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
9667 * grub-core/efiemu/i386/loadcore64.c
9668 (grub_arch_efiemu_relocate_symbols64): Likewise.
9669 * grub-core/efiemu/i386/pc/cfgtables.c
9670 (grub_machine_efiemu_init_tables): Likewise.
9671 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
9672 (grub_efiemu_loadcore_initXX): Add a filename argument.
9673 All users updated.
9674 Improved error message.
9675 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
9676 Add a filename argument.
9677 All users updated.
9678 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
9679 Reclassify double relocation as GRUB_ERR_BUG.
9680
306fc074
VS
96812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
9684 handling.
9685
794d8ef2
VS
96862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9687
9688 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
9689 on partition.
9690
96912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
9692
9693 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
9694
794d8ef2 96952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
9696
9697 Improve string. Gettextize.
9698
78dde88e
VS
96992012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
9702 utils.
9703 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
9704
4786a90f
VS
97052012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9706
9707 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
9708 [GRUB_UTIL]: New function.
9709 (insert_array) [GRUB_UTIL]: Store partmaps.
9710 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
9711 partmaps.
9712 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
9713 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
9714 (probe_abstraction): Print diskfilter and not raid.
9715 Reported by: Lennart Sorensen
9716
0b6225bd
VS
97172012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9718
9719 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
9720 * util/grub-mkimagexx.c (MASK3): New define.
9721 (add_value_to_slot_20b): Use MASK3.
9722 (add_value_to_slot_21): Likewise.
9723 (relocate_addresses): Fix format specification.
9724 (load_image): Explicitly init symtab_section.
9725
b055f8f6
VS
97262012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9727
9728 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
9729 (grub_util_biosdisk_get_grub_dev): Fix format specification.
9730
b77c2fb7
VS
97312012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9732
9733 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
9734 on powerpc.
9735 Reported by: Lennart Sorensen
9736
e3ec28ab
VS
97372012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9738
9739 * gentpl.py: Add missing license header.
9740 * docs/grub.texi: Update copyright year.
9741
c8d9ead6
GS
97422012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9743
9744 Source grub-mkconfig_lib from the build directory at build time.
9745 Suggested by: Vladimir Serbinenko.
9746
9747 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
9748 * util/grub-install.in: Define pkgdatadir if not already set, and source
9749 grub-mkconfig_lib from there.
9750 * util/grub-kbdcomp.in: Likewise.
9751 * util/grub-mkconfig.in: Likewise.
9752 * util/grub-mknetdir.in: Likewise.
9753 * util/grub-mkrescue.in: Likewise.
9754 * util/grub-mkstandalone.in: Likewise.
9755 * util/grub-reboot.in: Likewise.
9756 * util/grub-set-default.in: Likewise.
9757 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9758
ebcecdf1
VS
97592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 Increase warning level.
9762
9763 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
9764 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
9765 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
9766 (TARGET_CFLAGS): Likewise.
9767 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
9768 * grub-core/Makefile.core.def (decompressor_xz): Add
9769 -Wno-unreachable-code.
9770 (normal): Add -Wno-redundant-decls.
9771 (xzio): Add -Wno-unreachable-code.
9772 (lzopio): Add -Wno-redundant-decls -Wno-error.
9773 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
9774 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
9775 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
9776 * grub-core/kern/dl.c: Add exception to -Wcast-align.
9777 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
9778 * grub-core/kern/i386/coreboot/init.c: Add exception to
9779 -Wsuggest-attribute=noreturn.
9780 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
9781 * grub-core/kern/ia64/dl_helper.c: Likewise.
9782 * grub-core/kern/mips/dl.c: Likewise.
9783 * grub-core/kern/sparc64/dl.c: Likewise.
9784 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
9785 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
9786 (memcmp): Likewise.
9787 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
9788 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
9789 * grub-core/loader/mips/linux.c: Likewise.
9790 * grub-core/loader/multiboot_elfxx.c: Likewise.
9791 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
9792 * grub-core/video/sm712.c: Add exception to -Wcast-align.
9793 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
9794 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
9795 fixme.
9796 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9797 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
9798 Fix prototype.
9799
37bb97fe
VS
98002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
9803 address.
9804
29a3550b
VS
98052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9808 Avoid improper use of strings.
9809 (grub_cmd_legacy_initrdnounzip): Likewise.
9810
dfdffd0d
VS
98112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * include/grub/emu/misc.h (grub_util_warn): Add missing format
9814 attribute.
9815 (grub_util_info): Likewise.
9816 (grub_util_error): Likewise.
9817
102fae4a
VS
98182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9819
9820 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
9821 * util/grub-fstest.c (fstest): Likewise.
9822
7e94d044
VS
98232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9824
9825 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
9826 (grub_md_sha512_real): Likewise.
9827 (grub_util_get_geli_uuid): Likewise.
9828 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
9829 (grub_util_biosdisk_open): Fix format specification.
9830 Respect format security.
9831 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
9832 (xrealloc): Likewise.
9833 (xasprintf): Likewise.
9834
5ebd9769
VS
98352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * util/import_gcry.py: Include grub/crypto.h in init.c.
9838
495fc8c1
VS
98392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9840
9841 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
9842 (generate_image): Make prefix a const char *.
9843 Fix format specifications. Respect format security.
9844 Avoid void * arithmetics.
9845 Avoid shadowing.
9846 (argp_parser): Remove unused variable. Respect format security.
9847 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
9848 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
9849 (count_funcs): Remove unused variable.
9850 (relocate_addresses): Fix format specification.
9851 Disable x86-64 with elf32. Remove unused variables.
9852 (add_fixup_entry): Avoid shadowing.
9853 (make_reloc_section): Fix format specification.
9854 Use assert.
9855 (locate_sections): Fix format specifications.
9856 (load_image): Avoid shadowing.
9857
043c2ea3
VS
98582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9859
9860 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
9861 Fix format specifications. Respect format security.
9862 Don't translate already translated grub_errmsg.
9863 (argp_parser): Remove unused variable
9864
3ec65a81
VS
98652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
9868
a4d9fe4a
VS
98692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9870
9871 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
9872 (main): Likewise. Use xmalloc. Respect format security.
9873
15b81d49
VS
98742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
9877 a const char *.
9878 (argp_parser): Remove unused variable.
9879
31731fc0
VS
98802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9881
9882 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
9883 (add_pixel): Make static.
9884 (add_font): Likewise.
9885 (write_string_section): Make name and str a const char *.
9886 (write_be16_section): Make name a const char *.
9887 (print_glyphs): Make static.
9888 (write_font_ascii_bitmap): Likewise.
9889 (write_font_width_spec): Likewise.
9890 (write_font_pf2): Likewise.
9891 (argp_parser): Remove unused variable.
9892 Respect format security.
9893 (main): Avoid shadowing. Respect format security.
9894
0809527b
VS
98952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9896
9897 * util/grub-editenv.c (argp_parser): Make static.
9898 (create_envblk_file): Use xmalloc.
9899 (open_envblk_file): Likewise.
9900 Resepect format security.
9901 (set_variables): Respect format security.
9902
45b0c8b7
VS
99032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9904
9905 * util/getroot.c (grub_find_device): Respect format security.
9906 (get_mdadm_uuid): Remove unused variable.
9907 (grub_util_pull_device): Dont call gettext on already translated
9908 grub_errmsg.
9909 (find_system_device): Remove unused variable.
9910 (grub_util_get_grub_dev): Likewise.
9911 (grub_make_system_path_relative_to_its_root): Respect format security.
9912
1b024b4e
VS
99132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9914
9915 * util/grub-fstest.c (execute_command): Make first argument
9916 a const char *.
9917 (read_file): Avoid shadowing.
9918 Reuse underlying error message if device open fails.
9919 (cmd_cmp): Respect format security.
9920 (root): Make const char *.
9921 (fstest): Remove args argument and use global copy.
9922 Respect format security.
9923 (argp_parser): Make static.
9924 (main): Make default_root const char *.
9925
5d1d4e28
VS
99262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9927
9928 * util/grub-mount.c (root): Make const char *.
9929 (execute_command): Make first argument a const char *.
9930 (fuse_init): Respect format security.
9931 (argp_parser): Make static. Remove unused variable.
9932 (main): Make default_root a const char *.
9933 Respect format security.
9934
36eb7379
VS
99352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 * util/grub-probe.c (probe): Don't call gettext on already translated
9938 grub_errmsg.
9939 Remove unused variables.
9940 (argp_parser): Remove unused variable.
9941
76fb2ea9
VS
99422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 * util/grub-script-check.c (argp_parser): Remove unused variable.
9945 (main): Rename read to curread to avoid shadowing.
9946
56c98584
VS
99472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9948
9949 * util/misc.c (grub_util_write_image_at): Fix format specification.
9950 (grub_util_write_image): Likewise.
9951 (grub_script_execute_argument_to_string): Removed (unused).
9952 (grub_script_execute_menuentry): Likewise.
9953 (grub_putchar): Likewise.
9954
164ebb48
VS
99552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
9958 (FUNCTION) [GRUB_UTIL]: Likewise.
9959 (VARIABLE) [GRUB_UTIL]: Likewise.
9960
44318d61
VS
99612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
9964 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
9965
31a26002
VS
99662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9967
9968 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
9969 buffer.
9970
99712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9972
9973 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
9974 (LzmaEnc_SaveState): Removed (unused).
9975 (LzmaEnc_RestoreState): Likewise.
9976 (LzmaEnc_InitPriceTables): Made static.
9977 (LzmaEnc_Construct): Likewise.
9978 (LzmaEnc_FreeLits): Likewise.
9979 (LzmaEnc_Destruct): Likewise.
9980 (LzmaEnc_Init): Likewise.
9981 (LzmaEnc_InitPrices): Likewise.
9982 (LzmaEnc_Finish): Likewise.
9983 (LzmaEnc_PrepareForLzma2): Removed (unused).
9984 (LzmaEnc_MemPrepare): Likewise.
9985 (LzmaEnc_GetNumAvailableBytes): Likewise.
9986 (LzmaEnc_GetCurBuf): Likewise.
9987 (LzmaEnc_CodeOneMemBlock): Likewise.
9988
6fa67967
VS
99892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9990
9991 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
9992 (grub_util_ldm_embed): Likewise.
9993
9a7428e6
VS
99942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 * util/grub-editenv.c (print_var): Rename name to varname to
9997 avoid shadowing.
9998 (main): Rename index to curindex to avoid shadowing.
31a26002 9999 Make filename a const char *.
9a7428e6 10000
4f96abd1
VS
100012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
10004 to arg_getline to avoid shadowing.
10005
44d10dad
VS
100062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
10009 disk_ to avoid shadowing.
10010
340ba63e
VS
100112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10012
10013 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
10014 curindex to avoid shadowing.
10015 Make static.
10016 (MatchFinder_GetNumAvailableBytes): Make static.
10017
22965bce
VS
100182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
10021 avoid shadowing.
10022
7b5784d4
VS
100232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
10026 argument from encrypt to do_encrypt to avoid shadowing.
10027
6f48ca01
VS
100282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
10031 incorrect nesting of #if's.
10032
a4ea2dff
VS
100332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10034
10035 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
10036 checks which are always false on some platforms.
10037 (grub_cmd_lsacpi): Likewise.
10038 * grub-core/kern/misc.c (grub_strtoul): Likewise.
10039 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
10040 Likewise.
10041
def9fc1b
VS
100422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
10045 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
10046
a67b2a04
VS
100472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
10050 re_dfa_t to avoid breaking alignment invariants.
10051 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
10052 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
10053
44c6828d
VS
100542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
10057 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
10058
bebe0dd0
VS
100592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
10062 Fix declaration.
10063
a9cdb3cf
VS
100642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
10067 conserve alignment invariants.
10068 (grub_ehci_ehcc_read16): Likewise.
10069 (grub_ehci_oper_read32): Likewise.
10070 (grub_ehci_oper_write32): Likewise.
10071 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10072 Conserve alignment invariants.
10073
ccc3b1b8
VS
100742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10075
10076 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
10077 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
10078 declarations.
10079
987fbd95
VS
100802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
10083 Remove unused variable.
10084
0df363f3
VS
100852012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10086
10087 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
10088 Remove set in if.
10089
b2c0c4a6
VS
100902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10091
10092 * include/grub/net.h: Remove double declarations.
10093
690c531f
VS
100942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10095
10096 Remove "payload" command in ia64 Linux loader since I couldn't
10097 find any evidence of it being used for anything.
10098 Replace "relocate" command with an environment variable
10099
10100 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
10101 fields.
10102 (ia64_boot_payload): Removed.
10103 (last_payload): Likewise.
10104 (RELOCATE_OFF): Likewise.
10105 (RELOCATE_ON): Likewise.
10106 (RELOCATE_FORCE): Likewise.
10107 (relocate): Likewise.
10108 (free_pages): Don't free payloads.
10109 (grub_load_elf64): Use common error messages.
10110 Use "linux_relocate" variable.
10111 Increase the space after boot_params.
10112 (grub_cmd_payload): Removed.
10113 (grub_cmd_relocate): Likewise.
10114 (grub_cmd_fpswa): Improve messages.
10115 (cmd_payload): Removed.
10116 (cmd_relocate): Likewise.
10117 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
10118 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
10119
01783768
VS
101202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10121
10122 Convert UHCI to DMA framework.
10123
10124 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
10125 (grub_uhci_pci_iter): Fill new members
10126 (grub_alloc_td): Use P2V and V2P functions.
10127 (grub_free_queue): Likewise.
10128 (grub_alloc_qh): Likewise.
10129 (grub_uhci_setup_transfer): Likewise.
10130 (grub_uhci_check_transfer): Likewise.
10131
43206939
VS
101322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10133
10134 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
10135 Remove assignment in if while on it.
10136
571e140e
VS
101372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10138
10139 * util/grub-mkstandalone.in: Fix modules directory.
10140
a9d96eeb
VS
101412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10142
10143 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
10144 on i386-pc target.
10145 (argp_parser): Accept "auto" as compression specification.
10146
e4e37e8d
VS
101472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 Fix `help' with unloaded modules.
10150
10151 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
10152 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
10153 (grub_dyncmd_dispatcher): Small stylistic fix.
10154 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
10155 explicit help is requested.
10156
e1ea3ade
VS
101572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10158
10159 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
10160 Explicitly init restart while on it.
10161
27556881
VS
101622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
10165 uninited variable.
10166
d65f6b36
VS
101672012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 * util/grub-mknetdir.in: Use . rather than source for POSIX
10170 compatibility.
10171
0a1e473c
VS
101722012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
10175
ce6647c8
VS
101762012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
10179 variable.
10180
66747894
VS
101812012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
10184 without quotes.
10185
71645f6e
VS
101862012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
10189
0e1c1f61
VS
101902012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
10193 iteration of partitions.
10194
9c4b5c13
VS
101952012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10196
10197 Improve gettext support. Stylistic fixes and error handling fixes while
10198 on it.
10199
215c90cb
VS
102002012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
10203 part. Instead setup the correct stack in RM.
10204 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
10205 for stack.
10206 * include/grub/i386/relocator_private.h: New file.
10207
b5c1f9bf
VS
102082012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10209
10210 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
10211 argument.
10212 * util/grub-fstest.c (options): Add missing DEVICE part.
10213
b525fd83
VS
102142012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10215
10216 Clarify and unify messages.
10217
10218 * grub-core/commands/hashsum.c (options): Unify messages.
10219 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
10220 literal-only message as translatable.
10221 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
10222 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
10223 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
10224 commands.
10225 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
10226 key, not the key used to unlock. Clarify what it's used for.
10227 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
10228 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
10229 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
10230 * util/grub-editenv.c (options): Unify "verbose" message.
10231 * util/grub-fstest.c (read_file): Unify error message.
10232 (fstest): Add quotes around commands.
10233 (options): Unify "verbose" message.
10234 * util/grub-install.in: Add quotes around variable name.
10235 * util/grub-kbdcomp.in: Unify error message.
10236 * util/grub-mkfont.c (main): Likewise.
10237 * util/grub-mkrescue.in: Likewise.
10238 * util/grub-mklayout.c (options): Unify "verbose" message.
10239 * util/grub-mkstandalone.in: Unify help and verbose messages.
10240 * util/grub-mount.c (options): Unify "verbose" message.
10241 * util/grub-probe.c (options): Likewise.
10242 * util/grub-script-check.c (options): Likewise.
10243 * util/grub-setup.c (setup): Unify no-terminator message.
10244 (options): Use DEVICE and not DEV.
10245 Unify "verbose" message.
10246 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
10247
0ae70393
VS
102482012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10249
10250 Improve and unify messages.
10251
10252 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
10253 name. All users updated.
10254 Print filename in error.
10255 (read_device_map): Print filename in error.
10256 * util/getroot.c (grub_guess_root_devices): Print filename in error.
10257 (grub_util_get_os_disk): Likewise.
10258 (grub_util_biosdisk_get_grub_dev): Likewise.
10259 (grub_util_check_block_device): Likewise.
10260 (grub_util_check_char_device): Likewise.
10261 (grub_make_system_path_relative_to_its_root): Likewise.
10262 * util/grub-editenv.c (create_envblk_file): Likewise.
10263 (open_envblk_file): Likewise.
10264 (write_envblk): Likewise.
10265 * util/grub-fstest.c (cmd_cp): Likewise.
10266 (cmd_cat): Likewise.
10267 (cmd_cmp): Likewise.
10268 * util/grub-menulst2cfg.c (main): Likewise.
10269 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
10270 (write_font_width_spec): Likewise.
10271 (write_font_pf2): Likewise.
10272 * util/grub-mkimage.c (generate_image): New argument outname.
10273 All users updated.
10274 Remove unreacheable message.
10275 (options): Unify messages.
10276 (help_filter): Likewise.
10277 * util/grub-mklayout.c (usage): Removed (unused).
10278 (main): Print filename in error.
10279 * util/grub-mkrescue.in: Fix wrong quoting.
10280 * util/grub-setup.c (setup): Print filename in error.
10281 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
10282 (check_sas): Likewise.
10283 * util/misc.c (grub_util_get_fp_size): Removed.
10284 (grub_util_get_image_size): Print filename in error.
10285 (grub_util_read_at): Removed.
10286 (grub_util_read_image): Print filename in error.
10287 (grub_util_load_image): Likewise.
10288 (grub_util_write_image_at): New argument filename. All users updated.
10289 Print filename in error.
10290 (grub_util_write_image): New argument filename. All users updated.
10291 Print filename in error.
10292 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
10293 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
10294
0a96117d
VS
102952012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * grub-core/Makefile.core.def (pxechain): New module.
10298 * grub-core/loader/i386/pc/pxechainloader.c: New file.
10299 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
10300 function.
10301 (grub_pc_net_config_real): Use grub_pxe_get_cached.
10302 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
10303
aca002f7
VS
103042012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10305
10306 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
10307 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
10308 * include/grub/err.h (grub_error_saved): New struct.
10309 (grub_errmsg): Make array size explicit.
10310 * include/grub/misc.h (grub_error_save): New function.
10311 (grub_error_load): Likewise.
10312 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
10313 (grub_error_push): Update `errno' member name.
10314 (grub_error_pop): Likewise
10315 * grub-core/net/tftp.c (tftp_data): New member save_err.
10316 (tftp_receive): Save error.
10317 (tftp_open): Restore error.
10318
a51dab13
VS
103192012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
10322 to real mode down to execute A20-related code in protected mode as
10323 intended.
10324
eb6e6649
GS
103252012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
10326
10327 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
10328 NULL when the argument `level' has an unexpected value.
10329
92cd0f6e
VS
103302012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 Move platform-dependent files from $prefix to $prefix/$platform.
10333
10334 * config.h.in (GRUB_TARGET_CPU): New definition.
10335 (GRUB_PLATFORM): Likewise.
10336 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
10337 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
10338 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10339 * grub-core/kern/dl.c (grub_dl_load): Likewise.
10340 * grub-core/normal/autofs.c (read_fs_list): Likewise.
10341 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
10342 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
10343 * grub-core/normal/term.c (read_terminal_list): Likewise.
10344 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
10345 $prefix/locale.
10346 (grub_gettext_init_ext): Likewise.
10347 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
10348 grub_platform.
10349 * util/grub-install.in: Update directories.
10350 * util/grub-mknetdir.in: Likewise.
10351 * util/grub-mkrescue.in: Likewise.
10352
db606889
VS
103532012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10354
10355 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
10356 grub_error framework. All users updated.
10357
c39992a4
VS
103582012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10359
10360 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
10361 lists (by always binsearching), improve caching (cache strings
10362 used for binsearch, not only results), improve
10363 maintainability (by using more structured binary search) and correct
10364 error handling.
10365
1e5ec32f
VS
103662012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 * grub-core/script/execute.c (grub_script_return): Fix warning.
10369
ac576cde
VS
103702012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10371
10372 * grub-core/script/execute.c (grub_script_return): Fix potential
10373 NULL-dereference.
10374 Reported by: Jim Meyering.
10375
498453f6
VS
103762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * po/POTFILES.in: Regenerate.
10379 * util/grub-install.in: Gettextize the strings missed in first pass.
10380
8be63f2e
VS
103812012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10382
10383 * Makefile.util.def (grub-mkdevicemap): Removed.
10384 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
10385 * include/grub/util/deviceiter.h: Removed.
10386 * util/deviceiter.c: Likewise.
10387 * util/getroot.c (grub_util_get_os_disk): New function.
10388 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
10389 replacement for EFI.
10390 * util/grub-mkdevicemap.c: Removed.
10391 * util/grub-probe.c (probe): Handle PRINT_DISK.
10392 (argp_parser): Handle -t disk.
10393
8e1e4e39
VS
103942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 * util/grub-mkfont.c: Migrate to argp.
10397 * util/grub-mklayout.c: Likewise.
10398 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10399 * util/grub-mkrelpath.c: Likewise.
10400 * util/grub-probe.c: Likewise.
10401 * util/grub-script-check.c: Likewise.
10402
4459819a
VS
104032012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10404
10405 * util/grub-reboot.in: Add missing datarootdir.
10406 Add missing newline.
10407 * util/grub-set-default.in: Add missing datarootdir.
10408 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
10409 * util/grub-mkrescue.in: Likewise.
10410
f65741c7
VS
104112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10412
10413 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
10414
c1a33466
VS
104152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10416
10417 * util/grub-kbdcomp.in: Add decent help and gettextize.
10418 * docs/man/grub-kbdcomp.h2m: New file.
10419
c76899a0
VS
104202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10421
10422 Migrate grub-mkimage.c to argp.
10423
10424 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
10425 (grub-setup): Likewise.
10426 * util/grub-setup.c (print_version): Move to ...
10427 * util/argp_common.c (print_version): ... here.
10428 * util/grub-setup.c (argp_program_version_hook): Move to ...
10429 * util/argp_common.c (argp_program_version_hook): ... here.
10430 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
10431 safety.
10432 * util/grub-mkimage.c (main): Migrate to argp.
10433
57db0757
VS
104342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * util/grub-mkrescue.in: Use same message as
10437 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
10438 for better translations.
10439
18534ad9
VS
104402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10441
10442 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
10443 options with generic grub-mkrescue.in with the goal of future
10444 merge.
10445
c84ba308
VS
104462012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * grub-core/kern/mm.c: Add missing include of i18n.h
10449 * grub-core/lib/relocator.c: Likewise.
10450
347998c2
VS
104512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
10454 error.
10455 (allocate_pages): Check return value.
10456 Replace fatal with error.
10457 (grub_linux_boot): Replace printf with dprintf.
10458 Check find_mmap_size return value.
10459 Replace fatal with error.
10460 Don't call grub_machine_fini.
10461 (grub_load_elf64): Replace printf with dprintf.
10462 (grub_cmd_linux): Likewise.
10463 (grub_cmd_initrd): Likewise.
10464 (grub_cmd_payload): Likewise.
10465
c779226e
VS
104662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
10469 message.
10470 * grub-core/video/radeon_fuloong2e.c
10471 (grub_video_radeon_fuloong2e_setup): Likewise.
10472 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
10473 * grub-core/video/video.c (grub_video_set_mode): Don't override
10474 standard out of memory message.
10475
dc87d45a
GS
104762012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10477
10478 NetBSD disk wedge support.
10479
10480 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
10481 [__NetBSD__]: Handle NetBSD disk wedges.
10482 * util/getroot.c (convert_system_partition_to_system_disk)
10483 [__NetBSD__]: Likewise.
10484
055f856f
MW
104852012-02-03 Mark Wooding <mdw@distorted.org.uk>
10486
10487 * util/grub-mkconfig.in: Use umask rather than chmod to create
10488 grub.cfg.new to avoid insecure grub.cfg.
10489
4a9f8346
VS
104902012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10491
10492 * grub-core/commands/ls.c: Gettextize.
10493 * grub-core/commands/setpci.c: Likewise.
10494 * grub-core/commands/videotest.c: Likewise.
10495 * grub-core/disk/geli.c: Likewise.
10496 * grub-core/kern/mm.c: Likewise.
10497 * grub-core/lib/relocator.c: Likewise.
10498 * grub-core/loader/efi/appleloader.c: Likewise.
10499 * grub-core/loader/i386/xnu.c: Likewise.
10500 * grub-core/loader/ia64/efi/linux.c: Likewise.
10501 * grub-core/loader/xnu.c: Likewise.
10502 * grub-core/net/dns.c: Likewise.
10503 * grub-core/net/net.c: Likewise.
10504 * grub-core/script/lexer.c: Likewise.
10505 * grub-core/script/parser.y: Likewise.
10506 * grub-core/script/yylex.l: Likewise.
10507 * util/getroot.c: Likewise.
10508 * util/grub-setup.c: Likewise.
10509
a646a366
VS
105102012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10511
10512 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
10513 number.
10514
54e2be26
VS
105152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
10518
f7c71e68
VS
105192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10520
10521 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
10522 macro.
10523 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
10524 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
10525
a32d5c71
VS
105262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
10529 * util/grub-install.in: Gettextize.
10530 * util/grub-mkconfig.in: Likewise.
10531 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
10532 if not available.
10533 (grub_warn): Gettextize.
10534 * util/grub-mknetdir.in: Gettextize.
10535 * util/grub-mkrescue.in: Likewise.
10536 * util/grub-mkstandalone.in: Likewise.
10537 * util/grub-reboot.in: Likewise.
10538 * util/grub-set-default.in: Likewise.
10539 * util/grub.d/00_header.in: Likewise.
10540 * util/grub.d/10_hurd.in: Likewise.
10541 * util/grub.d/10_kfreebsd.in: Likewise.
10542 * util/grub.d/10_linux.in: Likewise.
10543 * util/grub.d/10_netbsd.in: Likewise.
10544 * util/grub.d/10_windows.in: Likewise.
10545 * util/grub.d/20_linux_xen.in: Likewise.
10546 * util/grub.d/30_os-prober.in: Likewise.
10547 * po/POTFILES-shell.in: Regenerate.
10548
69edd81a
RL
105492012-02-03 Richard Laager <rlaager@wiktel.com>
10550
10551 * util/grub-mkimage.c (main): Fix format-security warning.
10552 * util/grub-mkrelpath.c (main): Likewise.
10553 * util/grub-probe.c (main): Likewise.
10554
65f08dbf
RL
105552012-02-03 Richard Laager <rlaager@wiktel.com>
10556
10557 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
10558 failure.
10559 Put back lost PRINT_DRIVE.
10560
e9084abe
RL
105612012-02-03 Richard Laager <rlaager@wiktel.com>
10562
10563 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
10564 (grub_guess_root_devices): Replace strlen with sizeof.
10565 Avoid crash.
10566 (find_root_devices_from_poolname): Remove unused variable.
10567 Handle raidzN.
10568
cf5f7ee7
VS
105692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10570
10571 Support install on multi-device filesystems.
10572
10573 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
10574 (grub_guess_root_devices): ...this. Return char **. All users updated.
10575 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
10576 Removed.
10577 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
10578 (find_root_devices_from_poolname): ... here.
10579 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
10580 Support zfs-fuse.
10581 (grub_guess_root_device): Rename to ...
10582 (grub_guess_root_devices): ... this. Return char **. All users updated.
10583 * util/grub-install.in: Handle multi-device filesystems.
10584 * util/grub-probe.c (probe). Make device_names a char **. Add delim
10585 argument. All users updated.
10586 Handle multi-device filesystems.
10587 Use 'delim' as separator.
10588 Remove device check to allow filesystems on file.
10589 (main): Support -0 argument. Handle multi-device.
10590 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
10591 Fix a cross-device check while on it.
10592 (arguments): Remove root_dev.
10593 (argp_parser): Remove -r.
10594 (main): Remove root_dev.
10595
2f53a9ed
VS
105962012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10597
10598 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
10599
17e1d934
VS
106002012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10601
10602 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
10603 symbol.
10604 Reported by: NODA, Kai <nodakai>.
10605
d3e3fab5
VS
106062012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10607
10608 Fix ehci on amd64.
10609
10610 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
10611 pointers.
10612 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
10613 (grub_ehci_setup_qh): Likewise.
10614 (grub_ehci_find_qh): Likewise.
10615 (grub_ehci_transaction): Likewise.
10616 (grub_ehci_setup_transfer): Likewise.
10617 (grub_ehci_check_transfer): Likewise.
10618 (grub_ehci_portstatus): Likewise.
10619 (grub_ehci_detect_dev): Likewise.
10620 (grub_ehci_transfer_controller_data): New field td_last_phys.
10621 (grub_ehci_setup_transfer): Fill td_last_phys.
10622 (grub_ehci_check_transfer): Use td_last_phys.
10623
3008675b
SG
106242012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
10625
10626 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
10627 if no submenu is present.
10628
fc9b5652
AN
106292012-02-01 Aleš Nesrsta <starous@volny.cz>
10630
10631 CBI support.
10632
10633 * include/grub/usb.h (grub_usbms_protocol_t): New values
10634 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
10635 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
10636 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
10637 (grub_usbms_dev): Add subclass, protocol and intrpt.
10638 Remove in_maxsz and out_maxsz.
10639 (grub_usbms_reset): Rename to ...
10640 (grub_usbms_bo_reset): .. this.
10641 (grub_usbms_cbi_cmd): New function.
10642 (grub_usbms_cbi_reset): Likewise.
10643 (grub_usbms_reset): Likewise.
10644 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
10645 (grub_usbms_transfer): Rename to ...
10646 (grub_usbms_transfer_bo): ... this.
10647 (grub_usbms_transfer_cbi): Likewise.
10648 (grub_usbms_transfer): Likewise.
10649
a2b81d53
AN
106502012-02-01 Aleš Nesrsta <starous@volny.cz>
106512012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10652
10653 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
10654 the support for the CS5536 modification thereos and few bugfixes.
10655
10656 * grub-core/Makefile.core.def (ehci): New module.
10657 * grub-core/bus/usb/ehci.c: New file.
10658 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
10659 port and hubaddr. All users updated.
10660 Save port and hubaddr into dev structure.
10661 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
10662 define.
10663 * include/grub/pci.h (grub_dma_phys2virt): New function.
10664 (grub_dma_virt2phys): Likewise.
10665 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
10666
b1d51f02
VS
106672012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
10670 check as some mkfs implementations omit it.
10671
fc694106
VS
106722012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10673
10674 * docs/grub.texi (Unicode): Mention identifier and space limitations.
10675
6c0920e3
VS
106762012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10677
10678 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
10679 Add new member volname2.
10680 (grub_jfs_label): Use volname2 if available.
10681
d1a46f9a
VS
106822012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
10685 over last_mounted as seen in image generated by mkfs.nilfs2.
10686 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
10687
dec8ed14
VS
106882012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
10691 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
10692 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
10693
7397c69b
VS
106942012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
10697 over the sector.
10698
b3fe42ad
VS
106992012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10700
10701 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
10702 subvolume name (by removing a bogus and useless check).
10703
10476bb0
VS
107042012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10705
10706 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
10707 sizeof while on it.
10708
9c08ad87
VS
107092012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10710
10711 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
10712 (grub_scsi_read_capacity10): ... this.
10713 (grub_scsi_read_capacity16): New function.
10714 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
10715 0xffffffff.
10716 Fix off-by-one error.
10717 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
10718 64-bit unsigned.
10719 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
10720 (grub_scsi_read_capacity10): ... this.
10721 (grub_scsi_read_capacity_data): Rename to ...
10722 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
10723 (grub_scsi_read_capacity16): New struct.
10724 (grub_scsi_read_capacity16_data): Likewise.
10725 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
10726 grub_scsi_cmd_read_capacity10.
10727 New command grub_scsi_cmd_read_capacity16.
10728
bc8d0f45
VS
107292012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10730
10731 SCSI >2TiB support.
10732
10733 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
10734 (grub_scsi_write16): Likewise.
10735 (grub_scsi_read): Use read16 when necessary.
10736 (grub_scsi_write): Likewise.
10737 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
10738 (grub_scsi_write16): Likewise.
10739 (grub_scsi_cmd_t): Add READ16 and WRITE16.
10740
cc774926
VS
107412012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10742
10743 SCSI write support (for usbms mainly).
10744
10745 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
10746 a const pointer.
10747 (grub_scsi_write): Implement.
10748 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
10749
67639fd7
VS
107502012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
10753 variable.
10754
9079d3ed
VS
107552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10756
10757 * grub-core/lib/posix_wrap/string.h (memchr): New function.
10758
c6a6f204
VS
107592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10760
10761 * po/POTFILES.in: Regenerate.
10762
ecbf8cd1
VS
107632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10764
10765 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
10766 with grub_printf to avoid unnecessary fatal failure.
10767
0b3b3b38
VS
107682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10769
10770 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
10771 (INT_MAX): Likewise.
10772 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
10773 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
10774 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
10775 (strcpy): Likewise.
10776 (strstr): Likewise.
10777 (strchr): Likewise.
10778 (strncpy): Likewise.
10779 (strcat): Likewise.
10780 (strncat): Likewise.
10781 (strcoll): Likewise.
10782 * include/grub/types.h (GRUB_SHRT_MAX): New define.
10783 (GRUB_INT_MAX): Likewise.
10784
db7337a3
VS
107852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10786
10787 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
10788 unexpected error.
10789 (optimize_utf8): Likewise.
10790 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
10791
f37c87e1
VS
107922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10793
10794 * grub-core/boot/i386/pc/lnxboot.S: Use
10795 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
10796 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
10797 location.
10798 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
10799 definition.
10800 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
10801
63fe43f3
VS
108022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10803
10804 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
10805 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
10806 now to avoid double free.
10807 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
10808 hostdisk.
10809 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
10810 * util/grub-probe.c (escape_of_path): Always return a new copy.
10811 (print_full_name): Escape path.
10812 (probe): Don't call grub_util_devname_to_ofpath on NULL.
10813 Fix hints on abstractions.
10814
ebe2c961
VS
108152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
10818 Don't add "root" line if no compatibility hont is available.
10819 Suggested by: Seth Goldberg.
10820
2b5336a2
VS
108212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10822
10823 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
10824 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
10825 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
10826 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
10827
74310bd8
VS
108282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
10831
c30582ba
VS
108322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10833
10834 * util/grub-pe2elf.c (ehdr): Make static.
10835 (shdr): Likewise.
10836 (num_sections): Likewise.
10837 (offset): Likewise.
10838
5f47782c
VS
108392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 Eliminate ofpath limits and possible overflows.
10842
10843 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
10844 (OF_PATH_MAX): Removed.
10845 (MAX_DISK_CAT): New const.
10846 (find_obppath): Use allocated rather than preallocated buffer.
10847 Return result. Argument of_path removed. All users updated.
10848 Add missing fdstat.
10849 (xrealpath): New function.
10850 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
10851 Allocate rather than use preallocated buffer. All users updated.
10852 (__of_path_common): Use allocated rather than preallocatecd buffer.
10853 Return result. Argument of_path removed. All users updated.
10854 (vendor_is_ATA): Read only needed part form the file.
10855 (check_sas): Allocate depending on contents rather than fixed.
10856 (main) [STANDALONE]: Handle NULL result.
10857
f990cbf9
VS
108582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 * grub-core/normal/completion.c (iterate_dev): Close the disk.
10861
9c6e84b8
VS
108622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 Cryptodisk write support.
10865
10866 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
10867 (grub_cryptodisk_decrypt): Moved logic to ...
10868 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
10869 (grub_cryptodisk_write): Implement.
10870 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
10871 (grub_util_fd_write): ... this. Make global.
10872 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
10873
87cf9744
VS
108742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 * include/grub/list.h (grub_list_remove): Don't crash if element is
10877 removed twice.
10878
ca8c0baf
VS
108792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10880
10881 Rename ofconsole to console.
10882
10883 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
10884 as sysnonym to console.
10885 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
10886 * grub-core/term/ieee1275/console.c: ... this. All users updated.
10887 Rename grub_ofconsole_ to grub_console_. All users updated
10888 (grub_console_term_output): Rename "ofconsole" to "console".
10889 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
10890 as "console".
10891
64c8b8f6
VS
108922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
10895 handling.
10896 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
10897 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
10898 GRUB_DISK_DEVICE_FILE_ID.
10899
f6c434d5
VS
109002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
10903 and improve performance.
10904
5858b42d
VS
109052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
10908 missing ieee1275/ prefix on whole disk.
10909
4ed3c26b
VS
109102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10911
10912 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
10913 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
10914
df71143e
VS
109152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10916
10917 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
10918
076e7c0f
VS
109192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10920
10921 Merge common RAID and LVM logic to an abstract diskfilter.
10922 Add LDM support using the same framework.
10923
10924 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
10925 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
10926 (libgrubmods): Remove grub-core/disk/raid.c and
10927 grub-core/partmap/gpt.c.
10928 * grub-core/Makefile.core.def (ldm): New module.
10929 (raid): Renamed to diskfilter. All users updated.
10930 * grub-core/disk/raid.c: Moved to ...
10931 * grub-core/disk/diskfilter.c: ... here.
10932 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
10933 (lv_num): New var.
10934 (find_array): Renamed to ...
10935 (find_lv): ... this. Support multi-LV. Skip nameless LVs
10936 (grub_is_array_readable): Renamed to ...
10937 (grub_is_lv_readable): ... this. Support multinode hierarchy.
10938 (insert_array): New argument id.
10939 (is_node_readable): New function.
10940 (scan_device): Rename to ...
10941 (scan_disk): .. this. Restrict to one disk.
10942 (scan_devices): New function.
10943 (grub_diskfilter_iterate): Support multi-LV.
10944 Skip invisible and nameless LVs.
10945 (grub_diskfilter_memberlist): Support multi-LV.
10946 (grub_diskfilter_read_node): New function.
10947 (grub_raid_read): Most of logic moved to ...
10948 (read_segment): ... here
10949 (read_lv): New function.
10950 (grub_diskfilter_get_vg_by_uuid): New function.
10951 (grub_diskfilter_make_raid): Likewise.
10952 * grub-core/disk/ldm.c: New file.
10953 * grub-core/disk/lvm.c (vg_list): Removed.
10954 (lv_count): Likewise.
10955 (scan_depth): Likewise.
10956 (is_lv_readable): Likewise.
10957 (grub_lvm_getvalue): Advance pointer past the number.
10958 (find_lv): Removed.
10959 (do_lvm_scan): Refactored into ...
10960 (grub_lvm_detect): ... this. Support raid.
10961 (grub_lvm_iterate): Removed.
10962 (grub_lvm_memberlist): Likewise.
10963 (grub_lvm_open): Likewise.
10964 (grub_lvm_close): Likewise.
10965 (read_lv): Likewise.
10966 (read_node): Likewise.
10967 (is_node_readable): Likewise.
10968 (is_lv_readable): Likewise.
10969 (grub_lvm_read): Likewise.
10970 (grub_lvm_write): Likewise.
10971 (grub_lvm_dev): Use diskfilter
10972 (GRUB_MOD_INIT): Likewise.
10973 (GRUB_MOD_FINI): Likewise.
10974 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
10975 new interface.
10976 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
10977 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10978 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
10979 grub_diskfilter_read_node.
10980 Fix a bug with xor.
10981 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
10982 grub_diskfilter_read_node.
10983 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
10984 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
10985 (grub_disk_dev_iterate): Move from here...
10986 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
10987 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
10988 Make global.
10989 (grub_hostdisk_find_partition_start): Likewise.
10990 (grub_hostdisk_os_dev_to_grub_drive): New function.
10991 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
10992 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
10993 * util/getroot.c (make_device_name): ... here.
10994 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
10995 Move to ...
10996 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
10997 * grub-core/kern/emu/hostdisk.c
10998 (convert_system_partition_to_system_disk): Move to ...
10999 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
11000 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
11001 * util/getroot.c (device_is_wholedisk): ... here.
11002 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
11003 * util/getroot.c (find_system_device): ... here.
11004 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
11005 Move to ...
11006 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
11007 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11008 Move to ...
11009 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
11010 Handle LDM.
11011 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
11012 Move to ...
11013 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
11014 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
11015 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
11016 DISKFILTER.
11017 * include/grub/raid.h: Renamed to ...
11018 * include/grub/diskfilter.h: ... this.
11019 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
11020 (GRUB_RAID_LAYOUT_*): Make into array.
11021 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
11022 (grub_diskfilter_vg): New struct.
11023 (grub_diskfilter_pv_id): Likewise.
11024 (grub_raid_member): Removed.
11025 (grub_raid_array): Likewise.
11026 (grub_diskfilter_pv): New struct.
11027 (grub_diskfilter_lv): Likewise.
11028 (grub_diskfilter_segment): Likewise.
11029 (grub_diskfilter_node): Likewise.
11030 (grub_diskfilter_get_vg_by_uuid): New proto.
11031 (grub_raid_register): Inline.
11032 (grub_diskfilter_unregister): Likewise.
11033 (grub_diskfilter_make_raid): New proto.
11034 (grub_diskfilter_vg_register): Likewise.
11035 (grub_diskfilter_read_node): Likewise.
11036 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
11037 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
11038 (grub_util_is_ldm): Likewise.
11039 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
11040 (grub_hostdisk_find_partition_start): Likewise.
11041 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
11042 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
11043 New definition.
11044 (grub_gpt_partition_map_iterate): New proto.
11045 * include/grub/lvm.h (grub_lvm_vg): Removed.
11046 (grub_lvm_pv): Likewise.
11047 (grub_lvm_lv): Likewise.
11048 (grub_lvm_segment): Likewise.
11049 (grub_lvm_node): Likewise.
11050 * util/getroot.c [...]
11051 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
11052 (probe_abstraction): Likewise.
11053 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
11054 (main): Remove dead logic.
11055
8a7f9b9c
VS
110562012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
11057
11058 Simplify root device discover and don't fail when trying to open
11059 incorrect devices.
11060
11061 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
11062 function.
11063 (get_diskname_from_path): Likewise.
11064 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
11065 of iterating.
11066
30545b85
VS
110672012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11068
11069 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
11070
28ea58cf
VS
110712012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11072
11073 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
11074 pastthe end.
11075
692dabca
VS
110762012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11077
11078 * util/grub-install.in: Add missing \.
11079 Reported by: gentoofan
11080
f6e4ea70
VS
110812012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
11084 (direct_read): Use correct compressed size.
11085 (grub_squash_read_data): Likewise.
11086
110872012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
11088
11089 * docs/grub.texi (Platform limitations): New section.
11090 (Platform-specific operations): Likewise.
11091 * docs/grub-dev.texi (Porting): Likewise.
11092
76261110
VS
110932012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11094
11095 IEEE1275 disk write support.
11096
11097 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
11098 const void *.
11099 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
11100 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
11101 and seek loginc to ...
11102 (grub_ofdisk_prepare): ... here.
11103 (grub_ofdisk_write): Implement.
11104
fc36d603
VS
111052012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 ARC disk write support.
11108
11109 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
11110 (reopen): New argument writable. All users updated.
11111 Handle required access mode.
11112 (grub_arcdisk_write): Implement.
11113 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
11114 (grub_arc_firmware_vector): Make buffer to write a const buffer.
11115
e06c2e7a
VS
111162012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
11119 (read_sblock): Don't attempt to read superblocks outside the disk size.
11120
ff447958
VS
111212012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11122
11123 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
11124 first superblock to find the second one when possible.
11125
9e88df39
VS
111262012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * util/grub-install.in: Fix an ARC bug.
11129 Print a warning if no platform-specific setup is available.
11130
bb26e4ff
VS
111312012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 Use static allocation rather than scratch pointer in reed_solomon.
11134 It decreases its size significantly and avoids a variable in .text.
11135
11136 * grub-core/lib/reed_solomon.c (scratch): Removed.
11137 (chosenstat): New const or static array.
11138 (sigma): Likewise.
11139 (errpot): Likewise.
11140 (errpos): Likewise.
11141 (sy): Likewise.
11142 (mstat): Likewise.
11143 (errvals): Likewise.
11144 (eqstat): Likewise.
11145 (pol_evaluate): Replace x with log_x argument. All users updated.
11146 (syndroms): Removed.
11147 (gauss_solve): Use statically allocated arrays.
11148 (rs_recover): Likewise.
11149 Calculate syndroms directly.
11150 (decode_block): Use statically allocated arrays.
11151 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
11152 (main) [TEST]: Allow -DTEST -DSTANDALONE.
11153
2e13ede5
VS
111542012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11155
11156 Eliminate fixed limit on reed solomon decoder length.
11157
11158 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
11159 rather than hardcoding the address.
11160 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
11161 no_reed_solomon_length.
11162 Move gate_a20 to no-reed-solomon part.
11163 Don't force a particular size of no reed-solomon part.
11164 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11165 Removed.
11166 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
11167 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
11168
f8a9ab12
VS
111692012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11170
11171 * grub-core/commands/wildcard.c (match_files): Handle filenames
11172 without explicit device.
11173 (wildcard_expand): Don't add explicit device if not already present.
11174 * tests/grub_script_echo1.in: Add a new expansion test.
11175
87edb894
VS
111762012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11177
11178 Replace single-linked with double-linked lists. It results in more
11179 compact and more efficient code.
11180
11181 * grub-core/kern/list.c (grub_list_push): Moved from here ...
11182 * include/grub/list.h (grub_list_push): ... to here. Set prev.
11183 (grub_list_remove): Moved from here ...
11184 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
11185 (grub_prio_list_insert): Set prev.
11186 * include/grub/list.h (grub_list): Add prev. All users updated.
11187
48b391e9
VS
111882012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11189
11190 Handle newer autotools. Add some missing quotes while on it.
11191
11192 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
11193 (pkglib_DATA): Move grub-mkconfig_lib from here ...
11194 (pkgdata_DATA): ... here.
11195 * Makefile.util.def (update-grub_lib): Removed.
11196 * conf/Makefile.common (pkglib_DATA): Removed.
11197 (pkglib_SCRIPTS): Likewise.
11198 (pkgdata_DATA): New variable.
11199 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
11200 needed.
11201 Add missing quotes.
11202 Remove unused variable while on it.
11203 * tests/util/grub-shell.in: Likewise.
11204 * util/grub-install.in: Likewise.
11205 * util/grub-mkconfig.in: Likewise.
11206 * util/grub-mknetdir.in: Likewise.
11207 * util/grub-mkrescue.in: Likewise.
11208 * util/grub-mkstandalone.in: Likewise.
11209 * util/grub.d/00_header.in: Likewise.
11210 * util/grub.d/10_hurd.in: Likewise.
11211 * util/grub.d/10_illumos.in: Likewise.
11212 * util/grub.d/10_kfreebsd.in: Likewise.
11213 * util/grub.d/10_linux.in: Likewise.
11214 * util/grub.d/10_netbsd.in: Likewise.
11215 * util/grub.d/10_windows.in: Likewise.
11216 * util/grub.d/20_linux_xen.in: Likewise.
11217 * util/grub.d/30_os-prober.in: Likewise.
11218 * util/update-grub_lib.in: Removed.
11219
112202012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
11221
11222 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
11223 a workaround for intel problem.
11224
66832792
PRP
112252012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
112262012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
112272012-01-23 pfsmorigo
11228
11229 * util/grub-install.in: Support dd'in into PreP partition.
11230 * util/grub-probe.c (probe): Support discovering partition type.
11231 (main): Support -t msdos_parttype.
11232
7816a17e
VS
112332012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
11236 infinite recursion using counter.
11237 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
11238 init to skip it if the magic check fails.
11239 (dec_stream_header): Init s->crc32.
11240
8f9d3a8c
ZB
112412012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
112422012-01-22 Zachary Bedell <pendorbound@gmail.com>
112432012-01-22 Richard Laager <rlaager@wiktel.com>
11244
11245 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
11246 All users updated.
11247 (find_bestub): Determine correct size.
11248 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
11249 (scan_disk): Align the size down.
11250 Call check pool before find_bestub to have ashift.
11251
b055dd32
VS
112522012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11253
11254 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
11255 dprintf in no-malloc zone.
11256
d779e9bd
ML
112572012-01-22 Mario Limonciello <mario_limonciello@dell.com>
11258
11259 * configure.ac: Add back in test for limits.h.
11260
b508af69
VS
112612012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 Support 4K-sector NTFS.
11264
11265 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
11266 (grub_ntfs_data): Remove blocksize.
11267 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
11268 Remove data argument. All users updated.
11269
dad9c8b5
VS
112702012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11271
11272 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
11273 being in .text to avoid dprel references.
11274 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
11275 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
11276 (grub_arch_highmemsize): Likewise.
11277 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
11278 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
11279 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
11280
d43a777e
VS
112812012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11282
11283 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
11284
11285 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
11286 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
11287
34e4208f
VS
112882012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11289
11290 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
11291 GRUB_UTIL.
11292 (grub_set_datetime_cmos): Likewise.
11293
3ec0fc1c
VS
112942012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11295
11296 Make XZ compression parameters dependent on target and not host CPU.
11297
11298 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
11299 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
11300
22489834
VS
113012012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
11304 set but not used variable.
11305
8502fbca
VS
113062012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11307
11308 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
11309 created when no uuid support is compiled into mkfs.reiser.
11310
76df2068
VS
113112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11312
11313 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
11314 (utf8_to_macroman): Do the opposite.
11315 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
11316
64e3f8f6
VS
113172012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11318
11319 * configure.ac: Refise build qemu_mips w/o unifont.
11320
9c271078
VS
113212012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11322
11323 Eliminate grub_min/grub_max prone to overflow usage.
11324
11325 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
11326 (poll_nonroot_hub): Likewise.
11327 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
11328 (grub_affs_label): Likewise.
11329 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
11330 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
11331 (grub_hfs_label): Likewise.
11332 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
11333 * grub-core/fs/zfs/zfs.c (MIN): Remove.
11334 (zap_leaf_array_equal): Use grub_size. Remove MIN.
11335 (zap_leaf_array_get): Likewise.
11336 (dnode_get_path): Likewise.
11337 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
11338 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
11339 * grub-core/script/execute.c (grub_script_break): Likewise.
11340 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
11341 grub_max.
11342 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
11343 * include/grub/misc.h (grub_min): Removed.
11344 (grub_max): Likewise.
11345
80662dbc
VS
113462012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
11347
11348 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
11349 direct.inode = 0.
11350
e6da1467
VS
113512012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11352
11353 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
11354
b1ac4cb1
VS
113552012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11356
11357 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
11358
b4bf7c3b
VS
113592012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
11362 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
11363
8ee1101a
VS
113642012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11365
11366 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
11367 rather than a hack for grub_strncasemap.
11368
113692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11370
11371 Support multiple initrds
11372 Note: part of this was accidently committed in r3739.
11373
11374 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
11375 initrd.
11376 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11377 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11378 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11379 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11380 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11381
4d1e2bc9
VS
113822012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
11385 disks with unknown size.
11386 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
11387
75b49ebe
VS
113882012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11389
11390 Remove defines pertaining to arbitrary limits not affecting GRUB
11391 anymore.
11392
11393 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
11394 (EXT2_MAX_SYMLINKCNT): Likewise.
11395 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
11396 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
11397 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
11398 (GRUB_PXE_MAX_BLKSIZE): Likewise.
11399 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
11400 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
11401 (DN_MAX_OBJECT_SHIFT): Likewise.
11402 (DN_MAX_OFFSET_SHIFT): Likewise.
11403 (DN_MAX_OBJECT): Likewise.
11404 (DNODES_PER_LEVEL_SHIFT): Likewise.
11405 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
11406 (SPA_MAXBLOCKSIZE): Likewise.
11407 (SPA_BLOCKSIZES): Likewise.
11408 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
11409 (MZAP_MAX_BLKSZ): Likewise.
11410
74a1dce7
VS
114112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11412
11413 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
11414 handle NULL appropriately.
11415 Remove MIN.
11416
30c7d3ce
VS
114172012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 Fix efiemu.
11420
11421 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
11422 cpu/types.h.
11423 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
11424 * configure.ac: Fix efiemu check.
11425
3c76ea0c
VS
114262012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11427
11428 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
11429 grub_probe.
11430 Reported by: adamwill
11431
7e532280
SG
114322012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
11433
11434 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
11435
30492374
VS
114362012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 Fix handling of wide characters in gfxterm.
11439
11440 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
11441 (clear_char): Likewise.
11442 (paint_char): Skip code == NULL chars.
11443 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
11444
e70cb72f
VS
114452012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 * grub-core/normal/charset.c: Move comment to right place.
11448
5c827cf9
VS
114492012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11450
11451 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
11452 (GRUB_AFFS_FLAG_FFS): Put back where it was.
11453 (grub_affs_mount): Revert the correct version checking.
11454
53603892
VS
114552012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 * docs/grub.texi (Unicode): Mention several other unsupported features.
11458
ff094b9b
VS
114592011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11460
11461 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
11462 case statements as compile-time one.
11463 (direct_read): Prevent spurious warnings.
11464 (grub_squash_read_data): Likewise.
11465
c029da8a
VS
114662011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 Various squash4 fixes and LZO and XZ support.
11469
11470 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
11471 Add xzembed source files.
11472 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
11473 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
11474 (grub_squash_inode): New subtype long_dir.
11475 (SQUASH_TYPE_LONG_DIR): New inode type.
11476 (COMPRESSION): New enum.
11477 (XZBUFSIZ): New const.
11478 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
11479 (read_chunk): Use data->decompress.
11480 (zlib_decompress): New function.
11481 (lzo_decompress): Likewise.
11482 (xz_decompress): Likewise.
11483 (squash_mount): Set new data fields.
11484 (grub_squash_iterate_dir): Handle long dir.
11485 (squash_unmount): Free xzdec and xzbuf.
11486 (grub_squash_open): Check ino type.
11487 (direct_read): Stylistic fixes. Use data->decompress.
11488 (grub_squash_read_data): Likewise.
11489 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
11490 (get_byte): Likewise.
11491 (grub_zlib_disk_read): Removed.
11492 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
11493 (GRUB_POSIX_BOOL_DEFINED): New define.
11494 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
11495 * grub-core/lib/xzembed/xz.h: Addmissing includes.
11496 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
11497 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
11498
7a45a539
VS
114992011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 Don't override more informative errors.
11502
11503 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
11504 * grub-core/font/font.c (open_section): Likewise.
11505 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
11506 filename. Don't override errors.
11507 (grub_cmd_openbsd_ramdisk): Don't override errors.
11508 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
11509 (grub_cmd_initrd): Likewise.
11510 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11511 (grub_cmd_initrd): Likewise.
11512 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
11513 (grub_cmd_linux): Likewise.
11514 (grub_cmd_initrd): Likewise.
11515 (grub_cmd_payload): Likewise.
11516 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11517 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
11518 (grub_cmd_module): Likewise.
11519 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11520 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11521 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
11522 (grub_cmd_xnu_mkext): Likewise.
11523 (grub_cmd_xnu_ramdisk): Likewise.
11524 (grub_xnu_check_os_bundle_required): Likewise.
11525 (grub_xnu_load_kext_from_dir): Likewise.
11526 (grub_cmd_xnu_kextdir): Likewise.
11527 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
11528
b2d004db
VS
115292011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11530
11531 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
11532 as 1024 in block size field. Found on one of my test images.
11533 Small optimisation while on it.
11534
ec000eac
VS
115352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11536
11537 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
11538 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
11539 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
11540 performance fixes while on it.
11541 (grub_sfs_close): Fix memory leak while on it.
11542 (grub_sfs_label): Convert Latin1 to UTF-8.
11543
f50e1165
VS
115442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11545
11546 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
11547 space to avoid overflows.
11548 (grub_hfs_label): Convert from macroman to UTF-8.
11549
2ae254de
VS
115502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11551
11552 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
11553
0108f491
VS
115542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11555
11556 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
11557
f45f5f89
VS
115582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11559
11560 * unicode: Import Unicode 6.0 data.
11561
4d8c4765
VS
115622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11563
63fa8ef9
VS
11564 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
11565 outside of range.
11566
115672011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11568
11569 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
11570
11571 * include/grub/charset.h (grub_getend): New function.
11572 * grub-core/script/function.c (grub_script_function_find): Use
11573 grub_getend.
11574 * grub-core/normal/completion.c (add_completion): Likewise.
11575
f3cb4a4e
VS
115762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11577
11578 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
11579 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
11580 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
11581 (GRUB_UNICODE_TAG_END): Likewise.
11582 (GRUB_UNICODE_LAST_VALID): Likewise.
11583
5da8dbc5
VS
115842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
11587 len and make it smaller. All users updated.
11588 * util/import_unicode.py: Put length and not end character.
11589 Check length.
11590
8569f13d
VS
115912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11592
11593 Make better Unicode-compliant and unify some UTF-8 code pathes.
11594
11595 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
11596 valid character.
11597 (grub_is_valid_utf8): Use grub_utf8_process.
11598 Check resulting code range.
11599 (grub_utf8_to_ucs4): Use grub_utf8_process.
11600 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
11601 valid character.
11602
cc4fddf5
VS
116032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11604
11605 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
11606
bbc47747
VS
116072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * docs/grub.texi (Filesystems): Mention AFS.
11610
f63d6bf4
VS
116112011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11612
11613 * docs/grub.texi (Filesystems): Clarify restrictions.
11614 (Regexp): Mention non-Unicode regexp behaviour.
11615 (Other): Mention non-Unicode matching behaviour.
11616
74bbf0db
VS
116172011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11618
f63d6bf4 11619 Make HFS implementation use MacRoman.
74bbf0db
VS
11620
11621 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
11622 (macroman): New const array.
11623 (macroman_to_utf8): New function.
11624 (utf8_to_macroman): Likewise.
11625 (grub_hfs_find_dir): Use utf8_to_macroman.
11626 (grub_hfs_dir): Use macroman_to_utf8.
11627 Set case_insensitive.
11628
4ea0316e
VS
116292011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11630
11631 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
11632
d3c13cbd
VS
116332011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11634
11635 Integrate hints into autogeneration scripts.
11636
11637 * docs/grub.texi (Filesystems): Add a hostdisk example.
11638 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
11639 (grub-probe): Add ofpath.
11640 * gentpl.py: Remove group nosparc64.
11641 * grub-core/commands/search.c (cache_entry): New struct.
11642 (cache): New var.
11643 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
11644 * grub-core/commands/search_wrap.c (options): Add platform-specific
11645 hint options.
11646 (grub_cmd_search): Handle platform-specific hints.
11647 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
11648 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
11649 (grub_util_biosdisk_data): Likewise.
11650 (grub_util_biosdisk_open): Set device_map.
11651 (read_device_map): Handle "" as indication of no map.
11652 Set device_map.
11653 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
11654 (grub_util_biosdisk_get_compatibility_hint): New function.
11655 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
11656 * include/grub/emu/hostdisk.h
11657 (grub_util_biosdisk_get_compatibility_hint): New proto.
11658 * util/grub-install.in: Don't call grub-mkdevicemap.
11659 Add platform-specific hint to load.cfg.
11660 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
11661 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11662 hints. Set root preliminary to compatibility hint, not to OS name.
11663 * util/grub-probe.c (PRINT_*): Add hints.
11664 (print): Make static.
11665 (escape_of_path): New function.
11666 (guess_bios_drive): Likewise.
11667 (guess_efi_drive): Likewise.
11668 (guess_baremetal_drive): Likewise.
11669 (print_full_name): Likewise.
11670 (probe): Handle hints.
11671 (main): Likewise.
11672 * util/ieee1275/devicemap.c: Removed.
11673 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
11674 updated.
11675 (grub_util_devname_to_ofpath): Return NULL on failure.
11676
11677 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
11678 resource leak.
11679 * util/getroot.c (grub_util_pull_device): Fix memory leak.
11680
11681 * po/POTFILES.in: Regenerated.
11682
11683 Allow purely long options
11684
11685 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
11686 (SHORT_ARG_USAGE): Likewise.
11687 (grub_arg_show_help): Compare opt with help_options.
11688 (parse_option): Receive opt as argument. If makes big simplificatons.
11689 All users updated
11690
00ce2df3
VS
116912011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11692
11693 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
11694 Restructure to avoid warning.
11695
e77e325f
VS
116962011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11697
11698 * util/grub-install.in: Account for possible escaped comma in device
11699 name.
11700
165099ea
VS
117012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11702
11703 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
11704 channel.
11705
ce4a999d
VS
117062011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11707
11708 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
11709 allocation and zero-setting.
11710 (grub_ieee1275_get_devname): Check that alias is complete.
11711
379586ad
VS
117122011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11713
11714 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
11715 unaligned segments.
11716
9197b0ad
VS
117172011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11718
11719 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
11720 prefix.
11721 (grub_ofdisk_open): Check and discard ieee1275 prefix.
11722 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
11723 Add ieee1275 prefix.
11724
edddb7f9
VS
117252011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 * docs/grub.texi (Filesystems): Update.
11728
a1a8b1b9
VS
117292011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 Support odc, newc and bigendian cpio formats.
11732
11733 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
11734 * grub-core/Makefile.core.def (newc): New module.
11735 (odc): Likewise.
11736 (cpio_be): Likewise.
11737 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
11738 (MAGIC): Likewise.
11739 (MAGIC2): Likewise.
11740 (head) [MODE_ODC]: Adapt for the format.
11741 (head) [MODE_NEWC]: Likewise.
11742 (head) [!MODE_*]: Write fields of interest as arrays.
11743 (MAGIC_USTAR): Removed.
11744 (read_number) [MODE_NEWC]: Change to hex.
11745 (read_number) [!MODE_*]: Parse binary arrays.
11746 (grub_cpio_find_file): Factor out the code for better structure and
11747 always use read_number.
11748 (grub_cpio_mount): Use MAGIC and MAGIC2.
11749 (grub_cpio_dir): Exit on first hook non-0 return.
11750 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
11751 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
11752 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
11753 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
11754 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
11755 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
11756 * grub-core/fs/newc.c: New file.
11757 * grub-core/fs/odc.c: Likewise.
11758 * grub-core/fs/cpio_be.c: Likewise.
11759
58eba9ee
VS
117602011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11761
11762 Fix handling of tar numbers occupying the whole field.
11763
11764 * grub-core/fs/cpio.c (read_number): New function.
11765 (grub_cpio_find_file): Use read_number instead of strtoull.
11766
a54a0e12
VS
117672011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11768
11769 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
11770 occupying the whole field size.
11771
a6120aca
LA
117722011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
11773
11774 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
11775
a93964ce
VS
117762011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
11779
3ea1ca46
SG
117802011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
11781
11782 * grub-core/Makefile.core.def (lzma_decompress): Add missing
11783 TARGET_IMG_LDFLAGS.
11784
b87f7ef2
VS
117852011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11786
11787 * util/getroot.c (ESCAPED_PATH_MAX): New define.
11788 (mountinfo_entry): Increase the field size to take escaping into
11789 account.
11790 (find_root_device_from_libzfs): Add one byte to size of strings for
11791 security.
11792
62092395
VS
117932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11794
11795 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
11796 an assert.
11797 * util/grub-setup.c (setup): Likewise.
11798
1f0b1a77
VS
117992011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11800
11801 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
11802 _LzmaDecodeA.
11803
8eba9997
VS
118042011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11805
11806 * docs/grub.texi (Internationalisation): New section.
11807
dd0c91e9
VS
118082011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11809
11810 * docs/grub.texi (Loopback booting): New section.
11811
118122011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
11813
11814 * util/grub-mkstandalone.in: Fix minor typo errors.
11815
198e150a
VS
118162011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11817
11818 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
11819
11820 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
11821 net/icmp.c and net/icmp6.c.
11822 (http): New module.
11823 (priority_queue): Likewise.
11824 * grub-core/io/bufio.c: Rewritten.
11825 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
11826 TYPE_WITH_CONFIGFILE_OPTION.
11827 (legacy_commands): Add bootp and dhcp.
11828 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
11829 (grub_legacy_parse): Likewise.
11830 * grub-core/lib/priority_queue.c: New file.
11831 * grub-core/net/arp.c: Add missing license header.
11832 (arp_find_entry): Removed.
11833 (arp_find_entry): Likewise.
11834 (grub_net_arp_resolve): Rename to ...
11835 (grub_net_arp_send_request): ...this.
11836 (grub_net_arp_receive): New card argument.
11837 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
11838 Set router and DNS server.
11839 (grub_net_configure_by_dhcp_ack): Handle routing information.
11840 (grub_cmd_bootp): Set checksum.
11841 (grub_bootp_init): Remove net_dhcp.
11842 * grub-core/net/dns.c: New file.
11843 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
11844 completion.
11845 (get_card_packet): Handle allocation.
11846 (grub_efinet_findcards): Set mtu.
11847 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
11848 (get_card_packet): Handle allocation.
11849 (emucard): Set mtu.
11850 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
11851 (GRUB_MOD_INIT): Set mtu.
11852 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
11853 mtu.
11854 (get_card_packet): Handle allocation.
11855 (grub_ofnet_findcards): Set mtu.
11856 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
11857 assert.
11858 (grub_net_recv_ethernet_packet): Handle IPv6.
11859 * grub-core/net/http.c: New file.
11860 * grub-core/net/icmp.c: Likewise.
11861 * grub-core/net/icmp6.c: Likewise.
11862 * grub-core/net/ip.c (ip6addr): New type.
11863 (ip6hdr): Likewise.
11864 (reassemble): Likewise.
11865 (cmp): New function.
11866 (reassembles): New variable.
11867 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
11868 (id): New variable.
11869 (send_fragmented): New function.
11870 (grub_net_send_ip_packet): Rename to ...
11871 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
11872 Handle non-UDP.
11873 (grub_net_recv_ip_packets): Rename to ...
11874 (handle_dgram): ... this. Check checksum. Handle non-UDP.
11875 (free_rsm): New function.
11876 (free_old_fragments): Likewise.
11877 (grub_net_recv_ip4_packets): New function.
11878 (grub_net_send_ip6_packet): Likewise.
11879 (grub_net_send_ip_packet): Likewise.
11880 (grub_net_recv_ip6_packets): Likewise.
11881 (grub_net_recv_ip_packets): Likewise.
11882 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
11883 (LINK_LAYER_CACHE_SIZE): New const.
11884 (link_layer_find_entry): New function.
11885 (grub_net_link_layer_add_address): Likewise.
11886 (grub_net_link_layer_resolve_check): Likewise.
11887 (grub_net_link_layer_resolve): Likewise.
11888 (grub_net_ipv6_get_slaac): Likewise.
11889 (grub_net_ipv6_get_link_local): Likewise.
11890 (grub_cmd_ipv6_autoconf): Likewise.
11891 (parse_ip): Handle one number representation.
11892 (parse_ip6): New functoion.
11893 (match_net): Handle IPv6.
11894 (grub_net_resolve_address): Handle IPv6 and DNS.
11895 (grub_net_resolve_net_address): Handle IPv6.
11896 (route_cmp): New function.
11897 (grub_net_route_address): Find best route.
11898 (grub_net_addr_to_str): Handle IPv6.
11899 (grub_net_addr_cmp): New function.
11900 (grub_net_add_addr): Register local route.
11901 (print_net_address): Handle net address.
11902 (grub_net_poll_cards): Retransmit TCP.
11903 (grub_net_poll_cards_idle_real): Likewise.
11904 (have_ahead): New function.
11905 (grub_net_seek_real): Use underlying seek.
11906 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
11907 * grub-core/net/tcp.c: New file.
11908 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
11909 (cmp): New function.
11910 (ack): Likewise.
11911 (tftp_receive): Handle unordered input.
11912 (destroy_pq): New function.
11913 (tftp_close): Close pq.
11914 * grub-core/net/udp.c: Put missing license header.
11915 (grub_net_udp_socket): New function.
11916 (udp_socket_register): Likewise.
11917 (grub_net_udp_close): Likewise.
11918 (grub_net_recv_udp_packet): Check checksum.
11919 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
11920 * include/grub/misc.h (grub_memchr): New function.
11921 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
11922 (grub_net_card_driver): Return buf in recv.
11923 (grub_net_slaac_mac_list): New struct.
11924 (grub_network_level_protocol_id): Add ipv6.
11925 (grub_net_network_level_addr): Likewise.
11926 (grub_net_network_level_net_addr): Likewise.
11927 (grub_net_app_protocol): Add seek.
11928 (grub_net_socket): Removed.
11929 (grub_net_sockets): Likewise.
11930 (grub_net_socket_register): Likewise.
11931 (grub_net_socket_unregister): Likewise.
11932 (FOR_NET_SOCKETS): Likewise.
11933 (grub_net_add_addr): Add const.
11934 (GRUB_NET_BOOTP_*): New enum.
11935 (grub_net_addr_cmp): New proto.
11936 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
11937 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
11938 (grub_net_hwaddr_to_str): NEw proto.
11939 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
11940 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
11941 (grub_dns_init): New proto.
11942 (grub_dns_fini): Likewise.
11943 (grub_net_tcp_retransmit): Likewise.
11944 (grub_net_link_layer_add_address): Likewise.
11945 (grub_net_link_layer_resolve_check): Likewise.
11946 (grub_net_link_layer_resolve): Likewise.
11947 (grub_net_dns_lookup): Likewise.
11948 (grub_net_add_dns_server): Likewise.
11949 (grub_net_remove_dns_server): Likewise.
11950 (GRUB_NET_TRIES): New const.
11951 (GRUB_NET_INTERVAL): Likewise.
11952 * include/grub/net/arp.h: Mostly rewritten.
11953 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
11954 * include/grub/net/ip.h: Mostly rewritten.
11955 * include/grub/net/netbuff.h: Indent.
11956 * include/grub/net/tcp.h: New file.
11957 * include/grub/net/udp.h: Mostly rewritten.
11958 * include/grub/priority_queue.h: New file.
11959 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
11960 (grub_swap_bytes64_compile_time): Likewise.
11961 (grub_cpu_to_be16_compile_time): Likewise.
11962 (grub_cpu_to_be32_compile_time): Likewise.
11963 (grub_cpu_to_be64_compile_time): Likewise.
11964 (grub_be_to_cpu64_compile_time): Likewise.
11965
215c1800
VS
119662011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
11969 UINT_TO_PTR with cast.
11970
c17e546c
VS
119712011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11972
11973 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
11974 don't use them.
11975
ff6b18b6
VS
119762011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11977
11978 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
11979 already there.
11980
70ffcc93
VS
119812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11982
11983 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
11984 confusing ipxe.
11985
e5f4d260
VS
119862011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11987
11988 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
11989 Add missing const attribute.
11990 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
11991 Likewise.
11992 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
11993 Likewise.
11994
8e54b4b7
VS
119952011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11996
11997 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
11998 misaligned access.
11999 (serpent_setkey): Likewise.
12000 (serpent_encrypt_internal): Likewise.
12001 (serpent_decrypt_internal): Likewise.
12002 (serpent_encrypt): Don't put an alignment-increasing cast.
12003 (serpent_decrypt): Likewise.
12004 (serpent_test): Likewise.
12005
813c0a2b
VS
120062011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12007
12008 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
12009
f2b60fbd
VS
120102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
12013
12014 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
12015 grub_addr_t casts.
12016 (PTR_TO_UINT64): Likewise.
12017 (PTR_TO_UINT32): Likewise.
12018
5ef5c511
VS
120192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12020
12021 * util/grub-mkimage.c (generate_image): Decrease the higher limit
12022 because of stack.
12023 * util/grub-setup.c (setup): Don't add redundancy past the higher load
12024 limit.
12025
c476e6df
VS
120262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12027
12028 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
12029 text_width > available width a bit more gracefully.
12030
384ad7cc
VS
120312011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12032
12033 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
12034 current address calculation.
12035
96f8caf8
VS
120362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12037
12038 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
12039 stack.
12040 (encode_block): Likewise.
12041
276b7a8b
VS
120422011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12043
12044 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
12045 certainety.
12046
e3fd394a
VS
120472011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12048
12049 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
12050 non-RS part to avoid RS messing with GDT.
12051 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12052 Increase to suit in realmode routines.
12053
120542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12055
12056 * grub-core/kern/i386/realmode.S: Increase alignment.
12057 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
12058
ee9c2e7a
VS
120592011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12060
12061 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
12062 be deterministic.
12063 (syndroms): Compute 0 syndrom.
12064 (rs_recover): Use 0 syndrom.
12065
7a7f7cc9
VS
120662011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
12069
a14b16d1
VS
120702011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12071
12072 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
12073 brackets.
12074
9f59e9fc
VS
120752011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12076
ca1b552c
VS
12077 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
12078 account.
12079 (get_top_pad): Likewise.
12080 (get_right_pad): Likewise.
12081 (get_bottom_pad): Likewise.
12082
120832011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12084
12085 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 12086
e739d698
VS
120872011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12088
12089 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
12090 attribute as the structure isn't guaranteed to be properly aligned.
12091 (grub_efi_pci_device_path): Likewise.
12092 (grub_efi_pccard_device_path): Likewise.
12093 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
12094 specify the size of `memory_type'.
12095 (grub_efi_vendor_device_path): Likewise.
12096 (grub_efi_controller_device_path): Likewise.
12097 (grub_efi_acpi_device_path): Likewise.
12098 (grub_efi_expanded_acpi_device_path): Likewise.
12099 (grub_efi_atapi_device_path): Likewise.
12100 (grub_efi_scsi_device_path): Likewise.
12101 (grub_efi_fibre_channel_device_path): Likewise.
12102 (grub_efi_1394_device_path): Likewise.
12103 (grub_efi_usb_device_path): Likewise.
12104 (grub_efi_usb_class_device_path): Likewise.
12105 (grub_efi_i2o_device_path): Likewise.
12106 (grub_efi_mac_address_device_path): Likewise.
12107 (grub_efi_ipv4_device_path): Likewise.
12108 (grub_efi_ipv6_device_path): Likewise.
12109 (grub_efi_infiniband_device_path): Likewise.
12110 (grub_efi_uart_device_path): Likewise.
12111 (grub_efi_vendor_messaging_device_path): Likewise.
12112 (grub_efi_hard_drive_device_path): Likewise.
12113 (grub_efi_cdrom_device_path): Likewise.
12114 (grub_efi_vendor_media_device_path): Likewise.
12115 (grub_efi_file_path_device_path): Likewise.
12116 (grub_efi_protocol_device_path): Likewise.
12117 (grub_efi_piwg_device_path): Likewise.
12118 (grub_efi_bios_device_path): Likewise.
12119
cb8f88ea
VS
121202011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12121
12122 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
12123 (grub_ucs4_to_utf8_alloc): Likewise.
12124 (grub_ucs4_to_utf8): Likewise.
12125 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
12126 (grub_ucs4_to_utf8_alloc): Likewise.
12127
309e5352
VS
121282011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12129
12130 AFFS never uses unicode.
12131
12132 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
12133 (grub_latin1_to_utf8): New inline function.
12134 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
12135
e7987e1b
VS
121362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12137
12138 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
12139 overflow.
12140
efc2616e
VS
121412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12142
12143 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
12144 (grub_squash_dirent_header): Likewise.
12145 (read_chunk): Don't double swap.
12146 (grub_squash_iterate_dir): Fix swap sizes.
12147
3c349f5a
VS
121482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
12151
b453412d
VS
121522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
12155 (grub_hfs_iterate_dir): Likewise.
12156
12e9d4d1
VS
121572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12158
12159 Fix video on platforms where unaligned access is forbidden.
12160 Make several optimisations while on it.
12161
12162 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
12163 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12164 (grub_video_fbblit_replace_32bit_1bit): Likewise.
12165 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
12166 Disable.
12167 (grub_video_fbblit_replace_16bit_1bit):
12168 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12169 (grub_video_fbblit_replace_8bit_1bit): Likewise.
12170 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
12171 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
12172 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
12173 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
12174 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
12175 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
12176 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
12177 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
12178 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
12179 (grub_video_fbblit_replace_index_RGB888): Likewise.
12180 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
12181 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
12182 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
12183 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
12184 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
12185 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
12186 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
12187 Disable.
12188 (grub_video_fbblit_blend_XXX565_1bit):
12189 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12190 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
12191 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
12192 void *.
12193 * grub-core/video/fb/video_fb.c (common_blitter)
12194 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
12195 (grub_video_fb_create_render_target_from_pointer)
12196 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12197 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
12198 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
12199 definition.
12200 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
12201
ace96609
VS
122022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12203
12204 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
12205 HH22 and HM10 relocations.
12206
fd261d73
VS
122072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12208
12209 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
12210
e59b7857
VS
122112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
12214 allocation succeeded.
12215
9b4baaa4
VS
122162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12217
12218 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
12219 argument a u8 pointer. All users updated.
12220 Handle unaligned buffers.
12221
dc713193
VS
122222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12223
12224 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
12225 add_part to workaround compiler bug.
12226
30dd48c2
VS
122272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12228
12229 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
12230
0c6087a8
VS
122312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
12234 Reserve alignment invariants.
12235 (grub_multiboot_load): Likewise.
12236 (retrieve_video_parameters): Likewise.
12237 (grub_multiboot_make_mbi): Likewise.
12238
c2e77777
VS
122392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12240
12241 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
12242 incorrect pointer.
12243
b70b6d11
VS
122442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12245
12246 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
12247 (grub_pata_pio_write): Likewise.
12248
02a2bf83
VS
122492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 Add noreturn attributes and remove unreachable code.
12252
12253 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
12254 code.
12255 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
12256 code. Mark as noreturn.
12257 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
12258 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
12259 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
12260 unreachable code.
12261 * grub-core/kern/main.c (grub_main): Mark as noreturn.
12262 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
12263 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
12264 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
12265 * include/grub/kernel.h (grub_main): Mark as noreturn.
12266 * include/grub/reader.h (grub_rescue_run): Likewise.
12267
2019d09e
VS
122682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12269
12270 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
12271 redundant declaration.
12272
d1c501ee
VS
122732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12274
12275 * include/grub/net.h (grub_net_network_level_interfaces): Remove
12276 redundant declaration.
12277 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
12278
61664420
VS
122792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12280
12281 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
12282 to ensure alignment.
12283 (grub_hdparm_print_identify): Make argument uint16 * to ensure
12284 alignment. Ensure tmp alignment.
12285 (grub_cmd_hdparm): Ensure buf alignment.
12286 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
12287 to ensure alignment.
12288 (grub_ata_dumpinfo): Ensure text alignment.
12289 (grub_atapi_identify): Preserve alignment invariant.
12290 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
12291
0d51ee20
VS
122922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12293
12294 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
12295 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
12296 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
12297 * include/grub/misc.h (grub_reboot)
12298 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
12299 (grub_halt) [__mips__]: Likewise.
12300
753ef8c1
VS
123012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12302
12303 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
12304 Remove redundant declaration.
12305 (grub_mmap_get_post64): Likewise.
12306 (grub_mmap_get_upper): Likewise.
12307 (grub_mmap_get_lower): Likewise.
12308
85c85365
VS
123092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
12312 uint32_t * to ensure alignment.
12313 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
12314
a23f2cc4
VS
123152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12316
93018f64
VS
12317 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
12318 uint16_t * to ensure alignment.
12319 (sun_pc_partition_map_iterate): Make `block' a union to ensure
12320 alignment.
12321
123222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12323
12324 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
12325 to ensure alignment.
12326 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
12327
58acccd6
VS
123282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12329
12330 * grub-core/fs/ntfs.c (u16at): Make into inline function.
12331 Handle unaligned pointers.
12332 (u32at): Likewise.
12333 (u64at): Likewise.
12334 (fixup): Use byte access instead of v16at.
12335 (find_attr): Fix imporper usage of v32at.
12336 (read_data): Likewise.
12337 (list_file): Handle byte-swapping and unaligned strings.
12338 (grub_ntfs_label): Likewise.
12339
9b05cad7
VS
123402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12341
12342 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
12343 as it's not necessarily aligned.
12344
b3950b84
VS
123452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12346
12347 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
12348 redundant declaration.
12349 (grub_serial_init): Likewise.
12350 (grub_terminfo_init): Likewise.
12351
fcd232b7
VS
123522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12353
12354 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
12355 function.
12356 (ZAP_HASH_IDX): Likewise.
12357 (ZAP_LEAF_HASH_SHIFT): Likewise.
12358 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
12359 (LEAF_HASH): Likewise.
12360 (ZAP_LEAF_NUMCHUNKS): Likewise.
12361 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
12362 alignment invariants. Return pointer. All users updated.
12363 (ZAP_LEAF_ENTRY): Make into inline function.
12364 (NBBY): Removed.
12365 (xor): LIkewise.
12366 (xor_out): Use grub_crypto_xor.
12367 (dnode_get_path): Use grub_get_unaligned.
12368 (nvlist_find_value): Likewise.
12369 (grub_zfs_nvlist_lookup_uint64): Likewise.
12370 (grub_zfs_nvlist_lookup_string): Likewise.
12371 (get_nvlist_size): Likewise.
12372 (grub_zfs_open): Likewise.
12373 (fill_fs_info): Likewise.
12374 (grub_zfs_dir): Likewise.
12375 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
12376 alignment invariants.
12377 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
12378 necessarily aligned.
12379
f138623a
VS
123802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
12383
564840dc
VS
123842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12385
12386 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
12387 arithmetic to conserve alignment invariants.
12388
9b40df20
VS
123892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12390
12391 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
12392 redundant declaration.
12393 (grub_efiemu_mm_obtain_request): Likewise.
12394 (grub_efiemu_prepare): Likewise.
12395
d1c930f9
VS
123962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
12399 to match types.
12400
4c5f3056
VS
124012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12402
12403 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
12404 case of aunaligned recptr.
12405 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
12406 alignment.
12407 (grub_hfsplus_btree_search): Handle unaligned index.
12408
728cba91
VS
124092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12410
12411 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
12412 to get freetag and skip.
12413
eb561f31
VS
124142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12415
12416 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
12417 array.
12418 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
12419 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
12420
20993fbb
VS
124212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12422
12423 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
12424 name for checksum and fix allocation algorithm.
12425
1f313b94
VS
124262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 * include/grub/types.h (grub_properly_aligned_t): New type.
12429 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
12430 (grub_get_unaligned16): Add explicit casts.
12431 (grub_get_unaligned32): Likewise.
12432 (grub_get_unaligned64): Likewise.
12433 (grub_set_unaligned16): New function.
12434 (grub_set_unaligned32): Likewise.
12435
47ae27ec
VS
124362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12439
78c2cd1c
VS
124402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12441
12442 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
12443 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
12444 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
12445
53072f9b
VS
124462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12447
12448 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
12449 conditionals.
12450
055dc239
VS
124512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12452
12453 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
12454 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
12455
496bd074
VS
124562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12457
12458 Unify and improve RAID and crypto xor.
12459
12460 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
12461 changed to grub_crypto_xor
12462 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
12463 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
12464 Use bigger types when possible.
12465
ef6e4335
VS
124662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12467
12468 * grub-core/disk/raid.c (scan_devices): Fix condition.
12469
5d048bf2
VS
124702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
12473 Make name a const ptr.
12474
ee533335
VS
124752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
12478 first argument a const pointer.
12479 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
12480 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
12481 proto.
12482 (grub_children_iterate): Likewise.
12483 (grub_machine_mmap_iterate): Remove redundant declaration.
12484
cc8f3668
VS
124852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12486
12487 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
12488 (grub_cmd_acpi) [!x86]: Disable EBDA.
12489
c5fc563a
VS
124902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12491
12492 Enable UTF8 in gnulib regexp.
12493
12494 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
12495 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
12496 (isupper): Use grub_isupper.
12497 (isascii): New inline function.
12498 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
12499 * grub-core/lib/posix_wrap/wctype.h: Likewise.
12500 * grub-core/normal/charset.c (grub_utf8_process): New function.
12501 (grub_utf8_to_utf16): Use grub_utf8_process.
12502 (grub_encode_utf8_character): New function.
12503 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
12504 * include/grub/charset.h (grub_utf8_process): New declaration.
12505 (grub_encode_utf8_character): Likewise.
12506 * include/grub/misc.h (grub_islower): New inline function.
12507 (grub_isupper): Likewise.
12508 (grub_strchrsub): Moved down to fix the definitions.
12509
0af2346f
VS
125102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12511
12512 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
12513 specification.
12514
74dbd244
VS
125152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12516
12517 * include/grub/loader.h (grub_loader_register_preboot_hook):
12518 Use struct preboot * and not void * for handle. All users updated.
12519 (grub_loader_unregister_preboot_hook): Likewise.
12520
1bc8f60d
VS
125212011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12522
12523 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
12524 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
12525 UTF-16-BE. All users updated.
12526 (grub_hfsplus_cmp_catkey): Fix unicode handling.
12527 (grub_hfsplus_iterate_dir): Likewise.
12528 (grub_hfsplus_label): Likewise.
12529
48d6e456
VS
125302011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
12533
bf3a3857
VS
125342011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
12535
12536 Add missing const qualifiers.
12537
12538 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
12539 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
12540 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
12541 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
12542 (grub_lvm_check_flag): Likewise.
12543 * grub-core/efiemu/i386/coredetect.c
12544 (grub_efiemu_get_default_core_name): Likewise
12545 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12546 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
12547 * grub-core/fs/ntfs.c (fixup): Likewise.
12548 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
12549 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
12550 (fzap_lookup): Likewise.
12551 (zap_lookup): Likewise.
12552 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
12553 * grub-core/lib/legacy_parse.c (check_option): Likewise.
12554 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
12555 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
12556 (grub_freebsd_add_meta_module): Likewise.
12557 (grub_cmd_freebsd_module): Likewise.
12558 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
12559 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
12560 (grub_xnu_writetree_get_size): Likewise.
12561 (grub_xnu_writetree_toheap_real): Likewise.
12562 (grub_xnu_find_key): Likewise.
12563 (grub_xnu_create_key): Likewise.
12564 (grub_xnu_create_value): Likewise.
12565 (grub_xnu_register_memory): Likewise.
12566 (grub_xnu_check_os_bundle_required): Likewise.
12567 (grub_xnu_scan_dir_for_kexts): Likewise.
12568 (grub_xnu_load_kext_from_dir): Likewise.
12569 * grub-core/normal/color.c (color_list): Likewise.
12570 * grub-core/normal/completion.c (current_word): Likewise.
12571 * grub-core/normal/menu_entry.c (insert_string): Likewise.
12572 * grub-core/term/serial.c (grub_serial_find): Likewise.
12573 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
12574 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
12575 Likewise.
12576 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
12577 (grub_freebsd_add_meta_module): Likewise.
12578 * include/grub/lib/arg.h (grub_arg_option): Likewise.
12579 * include/grub/net.h (grub_net_card_driver): Likewise.
12580 (grub_net_card): Likewise.
12581 (grub_net_app_protocol): Likewise.
12582 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
12583 * include/grub/serial.h (grub_serial_find): Likewise.
12584 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
12585 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
12586 (grub_xnu_create_value): Likewise.
12587 (grub_xnu_find_key): Likewise.
12588 (grub_xnu_scan_dir_for_kexts): Likewise.
12589 (grub_xnu_load_kext_from_dir): Likewise.
12590
12591 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
12592 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
12593 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
12594 Moved from here ...
12595 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
12596
112b4837
CW
125972011-11-28 Colin Watson <cjwatson@ubuntu.com>
12598
12599 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
12600
49e891ac
VS
126012011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
12602
12603 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
12604 (read_device): Fix size calculation.
12605
fd258e5c
RM
126062011-11-25 Robert Millan <rmh@gnu.org>
12607
12608 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
12609 (find_root_device_from_libzfs): Add zpool output parser to be used
12610 as fallback when libzfs isn't available.
12611
78845dc2
SG
126122011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
12613
12614 * po/Makefile.in.in: Add missing escape-continuation.
12615
adac5211
VS
126162011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
12617
12618 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
12619
10b64f1c
VS
126202011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12621
12622 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
12623
bb416954
VS
126242011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12625
12626 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
12627
bdfe9eeb
VS
126282011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
12631
581ffa8a
VS
126322011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 * grub-core/lib/adler32.c: Add missing license specification.
12635 * grub-core/lib/crc64.c: Likewise.
12636 * grub-core/loader/i386/pc/plan9.c: Likewise.
12637 * grub-core/partmap/plan.c: Likewise.
12638
2536cf64
LK
126392011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
12640
12641 Add facility to debug GRUB with gdb under qemu.
12642
12643 * grub-core/gdb_grub.in: New file.
12644 * grub-core/gmodule.pl.in: Likewise.
12645 * grub-core/Makefile.core.def (gmodule.pl): New script.
12646 (gdb_grub): Likewise.
12647
bc108a4a
VS
126482011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12649
12650 * util/grub-mount.c (argp_parser): Accept relative pathes.
12651 * util/grub-fstest.c (argp_parser): Likewise.
12652
111c1778
VS
126532011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12654
12655 Plan9 support.
12656
12657 * Makefile.util.def (libgrubmods): Add
12658 grub-core/partmap/plan.c.
12659 * docs/grub.texi: Notice Plan9 support.
12660 * grub-core/Makefile.core.def (plan9): New module.
12661 (part_plan): Likewise.
12662 * grub-core/loader/i386/pc/plan9.c: New file.
12663 * grub-core/partmap/plan.c: Likewise.
12664 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
12665 define.
12666 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
12667 * include/grub/mm.h (grub_extend_alloc): New inline function.
12668
c30be3b6
VS
126692011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12670
12671 Make Reed-Solomon faster by using power of generator representation of
12672 GF(256)*.
12673
12674 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
12675 (gf_double_t): Likewise.
12676 (gf_invert): Removed.
12677 (gf_powx): New array.
12678 (gf_powx_inv): Likewise.
12679 (scratch): Move higher.
12680 (gf_reduce): Removed.
12681 (gf_mul): Use powx.
12682 (gf_invert): Likewise.
12683 (init_inverts): Replaced with ...
12684 (init_powx): ...this. All users updated.
12685 (pol_evaluate): Replace multiplications with additions.
12686 (rs_encode): Likewise.
12687 (gauss_eliminate): Call gf_invert.
12688 (grub_reed_solomon_add_redundancy): Call init_powx.
12689 (grub_reed_solomon_recover): Call init_powx unconditionally.
12690
fa5aeffc
VS
126912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12692
12693 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
12694
a346b81c
VS
126952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
12698 disk->partiton for safety.
12699
d89ee414
VS
127002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12703 Fix a memory leak.
12704 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
12705
91ee7b6d
VS
127062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
12709
91e5a33d
VS
127102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12711
12712 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
12713
9edd7be2
VS
127142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12715
12716 Fix spaces handling in proc/self/mountinfo.
12717
12718 * util/getroot.c (unescape): New function.
12719 (grub_find_root_device_from_mountinfo): Use unescape.
12720
ba102053
VS
127212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12722
12723 Support ZFS embedding.
12724
12725 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
12726 (grub_zfs_fs): Register grub_zfs_embed.
12727
aa94b870
VS
127282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12729
12730 Fix MIPS compilation.
12731
12732 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
12733 * include/grub/offsets.h: Rename decompressor fields from
12734 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
12735 * util/grub-mkimage.c (image_targets): Use new names.
12736
5fbdac14
VS
127372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12738
12739 Defer multiboot device parsing until we're in compressed part.
12740
12741 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
12742 bsd_part. setdevice has fallen into disuse.
12743 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
12744 (bsd_part): Likewise.
12745 (boot_dev): New variable.
12746 (multiboot_trampoline): Don't parse multiboot device.
12747 Pass multiboot device in %edx.
12748 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
12749 grub_boot_device.
12750 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
12751 Likewise.
12752 * grub-core/kern/i386/pc/startup.S: Save edx.
12753 (grub_boot_drive): Removed.
12754 (grub_install_dos_part): Likewise.
12755 (grub_install_bsd_part): Likewise.
12756 (grub_boot_device): New variable.
12757 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
12758 (grub_install_bsd_part): Likewise.
12759 (grub_boot_drive): Likewise.
12760 (grub_boot_device): New variable.
12761 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
12762 Removed.
12763 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12764 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
12765 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
12766 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
12767 * util/grub-install.in: Remove redundant condition.
12768
691cbb58
VS
127692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12770
12771 Fix bug introduced by previous commit.
12772
12773 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
12774
60240b8b
VS
127752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12776
12777 Use decompressors framework on i386-pc. It increases core size
12778 by 46 bytes but improves compatibility and maintainability.
12779
12780 * grub-core/Makefile.core.def (lzma_decompress): New image.
12781 (kernel): Add i386_pc_ldflags.
12782 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
12783 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
12784 to real_to_prot, prot_to_real and device info.
12785 * include/grub/offsets.h: Renamed decompressor offsets.
12786 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
12787 (image_target_desc): Remove raw_size and rename decompressor fields.
12788 (compress_kernel): Handle lzma.
12789 (generate_image): Handle decompressors on i386-pc.
12790
e9d3421c
VS
127912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12792
12793 * configure.ac: Add -fno-asynchronous-unwind-tables.
12794
2b23074a
VS
127952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12796
12797 Move assembly code to C by using intwrap. It increases core size
12798 by 88 bytes but improves compatibility and maintainability.
12799
12800 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
12801 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
12802 ... here. Translated to C.
12803 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
12804 * grub-core/term/i386/pc/console.c (grub_console_getkey):
12805 ... here. Translated to C.
12806 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
12807 * grub-core/term/i386/pc/console.c (grub_console_getxy):
12808 ... here. Translated to C.
12809 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
12810 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
12811 ... here. Translated to C.
12812 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
12813 * grub-core/term/i386/pc/console.c (grub_console_cls):
12814 ... here. Translated to C.
12815 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
12816 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
12817 ... here. Translated to C.
12818 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
12819 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
12820 Translated to C.
12821 * grub-core/term/i386/pc/console.c (int10_9): New function.
12822 (grub_console_putchar): Likewise.
12823 * include/grub/i386/pc/console.h: Removed the not anymore shared
12824 functions.
12825
678f4b67
VS
128262011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12827
12828 Move grub_chainloader_real_boot out of the kernel.
12829
12830 * grub-core/Makefile.am: Remove machine/loader.h.
12831 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12832 Removed.
12833 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
12834 variable.
12835 (grub_relocator16_keep_a20_enabled): Likewise.
12836 (grub_relocator16_boot): Fill new variables.
12837 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
12838 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
12839 relocator.
12840 (grub_chainloader_unload): Likewise.
12841 (grub_chainloader_cmd): Likewise.
12842 * include/grub/i386/pc/loader.h: Removed.
12843 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
12844 and esi. All initialisers updated.
12845
4626edf6
VS
128462011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
128472011-11-12 Colin Watson <cjwatson@ubuntu.com>
12848
12849 * Makefile.util.def (grub-mount): New util.
12850 * .bzrignore: Add grub-mount.
12851 * configure.ac: Check for fuse and enable grub-mount if available.
12852 * docs/man/grub-mount.h2m: New file.
12853 * util/grub-mount.c: Likewise.
12854
10f0117b
VS
128552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12856
12857 * grub-core/commands/efi/fixvideo.c: Gettextize.
12858 * grub-core/commands/hashsum.c: Likewise.
12859 * grub-core/commands/i386/cmostest.c: Likewise.
12860 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12861 * grub-core/commands/i386/pc/lsapm.c: Likewise.
12862 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12863 * grub-core/commands/lsmmap.c: Likewise.
12864 * grub-core/commands/menuentry.c: Likewise.
12865 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
12866 * grub-core/commands/setpci.c: Likewise.
12867 * grub-core/loader/i386/bsd.c: Likewise.
12868 * grub-core/loader/i386/linux.c: Likewise.
12869 * util/getroot.c: Likewise.
12870 * util/grub-editenv.c: Likewise.
12871 * util/grub-fstest.c: Likewise.
12872 * util/grub-mkfont.c: Likewise.
12873 * util/grub-mkimage.c: Likewise.
12874 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12875 * util/grub-pe2elf.c: Likewise.
12876 * util/grub-probe.c: Likewise.
12877 * util/grub-setup.c: Likewise.
12878 * util/ieee1275/ofpath.c: Likewise.
12879 * util/misc.c: Likewise.
12880 * util/raid.c: Likewise.
12881
566f779b
RM
128822011-11-11 Robert Millan <rmh@gnu.org>
12883
12884 * util/getroot.c (grub_util_get_geom_abstraction): Remove
12885 __attribute__((unused)) from `os_dev', which *is* being used.
12886
b50787de
VS
128872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12888
12889 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
12890 forgotten define.
12891 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
12892 GRUB_IA64_DL_GOT_ALIGN.
12893 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
12894 GRUB_IA64_DL_TRAMP_ALIGN.
12895
119d11c8
VS
128962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12897
12898 Replace grub_fatal with normal errors in i386 linux loader.
12899
12900 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
12901 (allocate_pages): Check find_efi_mmap_size return value.
12902 (grub_e820_add_region): Return error.
12903 (grub_linux_boot): Check mmap return value.
12904
6e0632e2
VS
129052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12906
12907 * grub-core/commands/acpihalt.c: Gettextized.
12908 * grub-core/commands/cacheinfo.c: Likewise.
12909 * grub-core/commands/cmp.c: Likewise.
12910 * grub-core/commands/efi/loadbios.c: Likewise.
12911 * grub-core/commands/gptsync.c: Likewise.
12912 * grub-core/commands/ieee1275/suspend.c: Likewise.
12913 * grub-core/commands/legacycfg.c: Likewise.
12914 * grub-core/commands/memrw.c: Likewise.
12915 * grub-core/commands/minicmd.c: Likewise.
12916 * grub-core/commands/parttool.c: Likewise.
12917 * grub-core/commands/time.c: Likewise.
12918 * grub-core/commands/videoinfo.c: Likewise.
12919 * grub-core/disk/geli.c: Likewise.
12920 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
12921 * grub-core/disk/luks.c: Likewise.
12922 * grub-core/disk/lvm.c: Likewise.
12923 * grub-core/font/font_cmd.c: Likewise.
12924 * grub-core/fs/zfs/zfscrypt.c: Likewise.
12925 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12926 * grub-core/gfxmenu/view.c: Likewise.
12927 * grub-core/kern/emu/hostdisk.c: Likewise.
12928 * grub-core/kern/emu/main.c: Likewise.
12929 * grub-core/kern/emu/misc.c: Likewise.
12930 * grub-core/kern/emu/mm.c: Likewise.
12931 * grub-core/kern/mips/arc/init.c: Likewise.
12932 * grub-core/kern/mips/loongson/init.c: Likewise.
12933 * grub-core/kern/partition.c: Likewise.
12934 * grub-core/lib/i386/halt.c: Likewise.
12935 * grub-core/lib/mips/arc/reboot.c: Likewise.
12936 * grub-core/lib/mips/loongson/reboot.c: Likewise.
12937 * grub-core/loader/i386/pc/chainloader.c: Likewise.
12938 * grub-core/loader/i386/xnu.c: Likewise.
12939 * grub-core/loader/multiboot.c: Likewise.
12940 * grub-core/net/bootp.c: Likewise.
12941 * grub-core/net/net.c: Likewise.
12942 * grub-core/normal/term.c: Likewise.
12943 * grub-core/partmap/bsdlabel.c: Likewise.
12944 * grub-core/parttool/msdospart.c: Likewise.
12945 * grub-core/term/gfxterm.c: Likewise.
12946 * grub-core/term/terminfo.c: Likewise.
12947 * grub-core/video/i386/pc/vbe.c: Likewise.
12948 * util/grub-menulst2cfg.c: Likewise.
12949 * util/grub-mkdevicemap.c: Likewise.
12950 * util/grub-mklayout.c: Likewise.
12951 * util/grub-mkrelpath.c: Likewise.
12952 * util/grub-script-check.c: Likewise.
12953 * util/ieee1275/grub-ofpathname.c: Likewise.
12954 * util/resolve.c: Likewise.
12955
073aa7a9
VS
129562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12957
12958 Support %1$d syntax.
12959
12960 * tests/printf_unit_test.c: New file.
12961 * Makefile.util.def (printf_test): New test.
12962 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
12963
c76b5417
VS
129642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12965
12966 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
12967 fix.
12968
df067ad1
VS
129692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12970
12971 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
12972 dprintf.
12973 * grub-core/font/font.c (grub_font_load): Likewise.
12974
5b289bc5
VS
129752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12976
12977 * util/grub-macho2img.c: Add comment concerning gettext.
12978 * grub-core/lib/legacy_parse.c: Likewise.
12979
c1860f87
VS
129802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12981
12982 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
12983 (grub_xvasprintf): Likewise.
12984
d35d0d37
VS
129852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12986
12987 Add const keyword to grub_env_get and gettextize week days.
12988
12989 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
12990 (grub_read_hook_datetime): Return const char *.
12991 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
12992 updated.
12993 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12994 Mark for gettext.
12995 (grub_get_weekday_name): Return const char *. Call gettext.
12996 * grub-core/script/argv.c (grub_script_argv_append): Receive const
12997 char * and len as the argument. All users updated.
12998 (grub_script_argv_split_append): Receive const char *.
12999 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
13000 * include/grub/env.h (grub_env_get): Likewise.
13001 (grub_env_read_hook_t): Return const char *.
13002 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
13003 (grub_script_argv_split_append): Likewise.
13004
9aed8a71
VS
130052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13006
13007 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
13008
067fdf00
VS
130092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13010
13011 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
13012 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
13013
a8bd9d39
VS
130142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13015
13016 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
13017 Fix prototype.
13018
f7ce5baf
VS
130192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13020
13021 Fix mips compilation.
13022
13023 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
13024 normal decoder.
13025 (hashes): Use in embed decoder as well (for sizes).
13026 (dec_stream_header): Fix embed decompressor logic.
13027 (dec_stream_footer): Likewise.
13028
9bb182f3
VS
130292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13030
13031 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
13032 an error and not a fatal on unrecognised relocation types.
13033
63a9e6f6
VS
130342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13035
13036 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
13037 Issue error rather than printf on unknown arguments.
13038
4c458569
VS
130392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13040
13041 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
13042 Make buf a const.
13043
e2d22baf
VS
130442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13045
13046 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
13047 Fix module name.
13048
53dc8590
VS
130492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13050
13051 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
13052 leftover debug printf.
13053
6c189294
VS
130542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
13057
f7688369
VS
130582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13059
13060 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
13061 A stylistic fix.
13062
11a775a3
VS
130632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13064
13065 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
13066
33f784e8
SL
130672011-11-10 Shea Levy <slevy@tieronedesign.com>
13068
13069 Allow all modules to perform serial IO
13070
13071 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
13072 * include/grub/serial.h (grub_serial_port_configure): New inline
13073 function.
13074 (grub_serial_port_fetch): Likewise.
13075 (grub_serial_port_put): Likewise.
13076 (grub_serial_port_fini): Likewise.
13077 (grub_serial_find): New proto.
13078
f6276525
VS
130792011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13080
13081 Put symlink at the end of the node and fix a potential
13082 memory corruption.
13083
13084 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
13085 Make symlink into an array.
13086 (set_rockridge): Set have_symlink and alloc_dirents.
13087 (grub_iso9660_read_symlink): Use new layout.
13088 (grub_iso9660_iterate_dir): Fix memory corruption.
13089 Use new layout.
13090 (grub_iso9660_dir): Set have_symlink.
13091 (grub_iso9660_open): Likewise.
13092
c3591189
VS
130932011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13094
13095 Remove local keyword.
13096
13097 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
13098 (version_test_gt): Likewise.
13099 (version_find_latest): Likewise.
13100 (gettext_printf): Likewise.
13101 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
13102
cb544caa
VS
131032011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13104
13105 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
13106
45bd824d
VS
131072011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 Fix ZFS memory and resource leaks.
13110
13111 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
13112 All users updated.
13113 Free type on exit.
13114 (fill_vdev_info): New parameter inserted. All users updated.
13115 (check_pool_label): Likewise.
13116 (scan_disk): Likewise.
13117 (scan_devices): Close non-inserted disks.
13118 (fzap_iterate): Free l.
13119 (unmount_device): Free children descripto memory.
13120
ad9a2f44
VS
131212011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13122
13123 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
13124 argument (access out of bounds).
13125
6b68db81
VS
131262011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13127
13128 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
13129 >= 6 drives.
13130
28840fda
VS
131312011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13132
13133 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
13134 Fix declaration.
13135
8a5a3a5b
VS
131362011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13137
13138 Fix several memory leaks.
13139
13140 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
13141 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
13142 (grub_cpio_dir): Likewise.
13143 * grub-core/fs/fat.c (grub_fat_label): Likewise.
13144 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
13145 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
13146 (grub_romfs_label): Likewise.
13147 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
13148 (squash_unmount): New function.
13149 (grub_squash_dir): Fix memory leak.
13150 (grub_squash_open): Likewise.
13151 (grub_squash_read): Likewise.
13152 (grub_squash_mtime): Likewise.
13153 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
13154 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
13155 * util/grub-fstest.c (fstest): Likewise.
13156
57b01250
VS
131572011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13158
13159 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
13160 avoid accessing beyond the array.
13161
19e81ba7
VS
131622011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13163
13164 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
13165
52b656c0
VS
131662011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 Several AFFS fixes.
13169
13170 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
13171 (GRUB_AFFS_FLAG_FFS): Removed.
13172 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
13173 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
13174 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
13175 (grub_fshelp_node): Make block 32-bit.
13176 Add block_cache and last_block_cache.
13177 (grub_affs_read_block): Fill and use block cache.
13178 (grub_affs_read_file): Removed.
13179 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
13180 boot block.
13181 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
13182 safety.
13183 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
13184 space.
13185 (grub_affs_close): Free block cache.
13186 (grub_affs_read): Use grub_fshelp_read_file directly.
13187
438a746a
VS
131882011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
13191 with no error set.
13192
49a45021
VS
131932011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13194
13195 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
13196 used variable.
13197 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
13198 Likewise.
13199
3ae17eb8
VS
132002011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13201
13202 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
13203
13204 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
13205 byteswap when needed.
13206
27610c38
VS
132072011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13208
13209 Fix FreeBSD compilation.
13210
13211 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
13212 to avoid circular dependency.
13213 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
13214 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
13215 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
13216
4a19b601
VS
132172011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13218
13219 Fix ZFS crypto error types.
13220
13221 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
13222 (grub_gcm_decrypt): Likewise.
13223 (grub_zfs_load_key_real): Fix error code type. Handle possible error
13224 from PBKDF2.
13225
958ee221
VS
132262011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13227
13228 Illumos support.
13229
13230 * Makefile.util.def (10_illumos): New script.
13231 * configure.ac: Set COND_HOST_ILLUMOS.
13232 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
13233 Support Illumos calls.
13234 (find_partition_start) [__sun__]: Likewise.
13235 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
13236 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
13237 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
13238 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
13239 device.
13240 * util/grub-probe.c (probe) [__sun__]: Do character check.
13241 * util/grub.d/10_illumos.in: New file.
13242
cac14fb6
VS
132432011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13244
13245 Support escaped commas in hostdisk.
13246
13247 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
13248 (find_grub_drive): Use unescape_cmp.
13249 (make_device_name): Escape commas.
13250
78e08dc3
VS
132512011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13252
13253 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
13254
9f421dd1
VS
132552011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13256
13257 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
13258 variable.
13259
ed64e9e2
VS
132602011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13261
13262 Support trampoline jumps on powerpc.
13263
13264 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
13265 __ia64__ path.
13266 (grub_dl_load_segments): Set mod->sz.
13267 (grub_dl_flush_cache): Flush whole space occupied by module, not just
13268 segments.
13269 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
13270 (jump): Likewise.
13271 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
13272 function.
13273 (trampoline): New struct.
13274 (trampoline_template): New const.
13275 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
13276 * include/grub/dl.h (grub_dl): Add sz element.
13277 [__powerpc__]: Follow __ia64__.
13278 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
13279 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
13280 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
13281 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
13282
3084ede4
VS
132832011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13284
13285 ZFS crypto support.
13286
13287 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
13288 * grub-core/Makefile.core.def (zfscrypt): New module.
13289 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
13290 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
13291 it. All users updated.
13292 (grub_zfs_decrypt): New var.
13293 (grub_zfs_load_key): Likewise.
13294 (zio_checksum_functions): Add SHA256+MAC.
13295 (zio_checksum_verify): Handle incomplete comparison due to MAC.
13296 (zio_read): Handle encrypted blocks.
13297 (zap_verify): Remove incorrect check.
13298 (fzap_iterate): Handle non-standard fzap.
13299 (zap_iterate): Likewise.
13300 (zap_iterate_u64): New function.
13301 (dnode_get_fullpath): Load keys.
13302 * grub-core/fs/zfs/zfscrypt.c: New file.
13303 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
13304 (grub_crypto_ecb_encrypt): Make input const.
13305 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
13306 (grub_crypto_ecb_encrypt): Make input const.
13307 (GRUB_CIPHER_AES): New macro.
13308 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
13309 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
13310 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
13311 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
13312 prefix. All users updated.
13313 (grub_zfs_add_key): New proto.
13314 (grub_zfs_decrypt): Likewise.
13315 (grub_zfs_load_key): Likewise.
13316 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
13317 * util/grub-fstest.c (options): Add -K option.
13318 (argp_parser): Likewise.
13319
b632b404
VS
133202011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 Support zle compression on ZFS.
13323
13324 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
13325 (decomp_table): Add zle.
13326 * include/grub/zfs/zio.h (zio_compress): Add zle.
13327
c7ba4f69
VS
133282011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13329
13330 Support BtrFS embedding.
13331
13332 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
13333 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
13334 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
13335 * util/grub-setup.c (setup): Use fs embedding if available.
13336 Add additional sanity check.
13337
455377d9
VS
133382011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 * util/grub-install.in: Fix condition for config_opt.
13341
c2fd16ca
VS
133422011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13343
13344 Support third redundancy strip on raidz3.
13345
13346 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
13347 Return error on singularity. All users updated.
13348 (read_device): Don't stop on 3rd failure on raidz3.
13349
8622923b
VS
133502011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13351
13352 Support case-insensitive ZFS subvolumes.
13353
13354 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
13355 All users updated.
13356 (zap_hash): Likewise.
13357 (name_cmp): New function.
13358 (zap_leaf_array_equal): New parameter case_insensitive.
13359 All users updated.
13360 (zap_leaf_lookup): Likewise.
13361 (fzap_lookup): Likewise.
13362 (zap_lookup): Likewise.
13363 (dnode_get_path): New parameter case_insensitive. Retrieve case
13364 sensitiviness of a volume. All users updated.
13365 (dnode_get_fullpath): New parameter case_insensitive.
13366 All users updated.
13367 (grub_zfs_dir): Set info.case_insensitiveness.
13368
95f2e860
VS
133692011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13370
13371 Support second redundancy strip on raidz(2,3).
13372
13373 * grub-core/fs/zfs/zfs.c (powx): New array.
13374 (powx_inv): Likewise.
13375 (poly): New const.
13376 (xor_out): New function.
13377 (gf_mul): Likewise.
13378 (recovery): Likewise.
13379 (read_device): Use second redundancy strip.
13380
11ee4389
VS
133812011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13382
13383 Use a power of generator representation of GF(256) multiplication group
13384 to save space time and complexity.
13385
13386 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
13387 (raid6_table2): Likewise.
13388 (powx): New array.
13389 (powx_inv): Likewise.
13390 (poly): New const.
13391 (grub_raid_block_mul): Replace with ...
13392 (grub_raid_block_mulx): ...this.
13393 (grub_raid6_init_table): Rewritten.
13394 (grub_raid6_recover): Use power of generator representation.
13395
09e2763f
VS
133962011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13397
13398 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
13399 for the right device.
13400
8bec9a28
VS
134012011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13402
13403 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
13404 expected by grub-mkimage and it's more clear since there is no implicit
13405 padding.
13406
dbd3a32e
VS
134072011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13408
13409 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
13410 disk.
13411 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
13412
182c872a
PMH
134132011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
13414
13415 * util/grub-mkrescue.in: Fix handling xorriso option.
13416
1e51cabd
VS
134172011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
13420 NULL.
13421
9cc3581d 134222011-11-03 crocket <crockabiscuit@gmail.com>
13423
13424 * util/grub.d/10_linux.in: Add Slackware initrd naming.
13425
158dc1ea
VS
134262011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13427
13428 XZ CRC64 and SHA256 support.
13429
13430 * Makefile.util.def (libgrubmods): Add crc64.c.
13431 * grub-core/Makefile.core.def (crc64): New module.
13432 * grub-core/lib/crc64.c: New file.
13433 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
13434 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
13435 Fix the type.
13436 (MAX_HASH_SIZE): New define.
13437 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
13438 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
13439 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13440 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13441 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
13442 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
13443 Handle non-crc32 hashes.
13444 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
13445 (dec_stream_header): Handle non-crc32 hashes.
13446 (dec_stream_footer): Likewise.
13447 (dec_block_header): Likewise.
13448 (dec_main): Likewise.
13449 (xz_dec_init): Likewise.
13450 (xz_dec_reset): Likewise.
13451 (xz_dec_end): Likewise.
13452 * util/import_gcry.py: Add CRC64 line.
13453
9d9b3d2f
VS
134542011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13455
13456 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
13457 as well.
13458
7d0ac931
VS
134592011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13460
13461 Make reiserfs label retrieval similar to other *_label functions.
13462
13463 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
13464 (REISERFS_MAX_LABEL_LENGTH): Removed.
13465 (REISERFS_LABEL_OFFSET): Likewise.
13466 (grub_reiserfs_label): Rewritten.
13467
134682011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
13471 field.
13472
cf5ba824
VS
134732011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
13476
17744004
VS
134772011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13478
13479 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
13480 drive failure on both raidz and raidz2.
13481
aca5aefc
VS
134822011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13483
13484 Fix RAIDZ(2) for >= 5 devices.
13485
13486 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
13487 asize argument. All users updated.
13488
ce8ca56e
VS
134892011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 Fix RAIDZ(2).
13492
13493 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
13494 (fill_vdev_info_real): Set ashift.
13495 (read_device): Rewrite RAIDZ part based on reverse engineering.
13496
7c01e783
VS
134972011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13498
13499 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
13500 don't report potentially unavialiable fields in debug output.
13501 (find_path): Fix double-free and memory leak.
13502
ce109e84
VS
135032011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13504
13505 Read label on UFS1.
13506
13507 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
13508 (grub_ufs_fs): Always set .label.
13509
87661123
VS
135102011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13511
13512 Use shifts in UFS.
13513
13514 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
13515 (grub_ufs_data): New field log2_blksz.
13516 (grub_ufs_read_file): Use shifts.
13517 (grub_ufs_mount): Check block size and logarithm it.
13518
46bc1dc2
VS
135192011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13520
13521 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
13522 long symlinks.
13523
19ee2987
VS
135242011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 Handle symlinks and long names on tar and cpio.
13527
13528 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
13529 (ATTR_FILE): Likewise.
13530 (ATTR_DIR): Likewise.
13531 (ATTR_LNK): Likewise.
13532 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
13533 (grub_cpio_find_file): Fill mode, handle linkname field as well as
13534 L and K entries.
13535 (grub_cpio_mount): Zero-fill data.
13536 (handle_symlink): New function.
46bc1dc2
VS
13537 (grub_cpio_dir): Handle symlinks.
13538 (grub_cpio_open): Likewise.
13539 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 13540
c83a08d8
VS
135412011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13542
13543 Fix iso9660 filename limitations and fix memory leaks.
13544
13545 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
13546 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
13547
45cdd3ea
VS
135482011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13549
13550 Fix JFS file name length limitations.
13551
13552 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
13553 (grub_jfs_diropen): Fix maximum filename length.
13554 (grub_jfs_getent): Fix filename length.
13555 (grub_jfs_lookup_symlink): Fix size checks.
13556
94ef05c2
VS
135572011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13558
13559 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
13560 string.
13561
785ab8c7
VS
135622011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13563
eb0b6b45
VS
13564 Leverage BFS implementation to read AFS.
13565
13566 * Makefile.util.def (libgrubmods): Add afs.c.
13567 * grub-core/Makefile.core.def (afs): New module
13568 * grub-core/fs/afs.c: New file.
13569 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
13570
135712011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13572
13573 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 13574
c4a1628f
VS
135752011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13576
13577 * grub-core/fs/bfs.c: Run indent.
13578
5825b379
VS
135792011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13580
13581 BFS implementation based on the specification.
13582
13583 * grub-core/fs/bfs.c: New file.
13584 * Makefile.util.def (libgrubmods): Add bfs.c.
13585 * grub-core/Makefile.core.def (bfs): New module.
13586
42b2a706
VS
135872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13588
13589 * util/grub-fstest.c (cmd_cp): Clarify error message.
13590 (cmd_cmp): Likewise.
13591
61b99bfc
YB
135922011-10-30 Yves Blusseau <blusseau@zetam.org>
13593
13594 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
13595 and befs_be.
13596
faba3d16
VS
135972011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 Remove afs and befs because of copyright problem.
13600
13601 * grub-core/fs/afs.c: Removed.
13602 * grub-core/fs/afs_be.c: Removed.
13603 * grub-core/fs/befs.c: Removed.
13604 * grub-core/fs/befs_be.c: Removed.
13605 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
13606 * grub-core/Makefile.core.def (afs): Removed.
13607 (afs_be): Likewise.
13608 (befs): Likewise.
13609 (befs_be): Likewise.
13610
c39224b0
VS
136112011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13612
13613 Prefer rockridge over Joliet.
13614
13615 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
13616 to ...
13617 (set_rockridge): ... here.
13618 (grub_iso9660_mount): Check rockridge on the primary label when
13619 discovering. Ignore Joliet if Rockridge is present.
13620
e551115a
VS
136212011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13622
13623 Use shifts in nilfs2.
13624
13625 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
13626 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
13627 (grub_nilfs2_palloc_entries_per_group): Replace with ...
13628 (grub_nilfs2_log_palloc_entries_per_group): ... this.
13629 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
13630 (grub_nilfs2_entries_per_block): Replaced with ...
13631 (grub_nilfs2_log_entries_per_block_log): ... this.
13632 (grub_nilfs2_blocks_per_group): Replaced with ...
13633 (grub_nilfs2_blocks_per_group_log): ... this.
13634 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
13635 (grub_nilfs2_blocks_per_desc_block_log): ... this.
13636 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
13637 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
13638 (grub_nilfs2_palloc_entry_offset): Replaced ...
13639 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
13640 (grub_nilfs2_dat_translate): Use shifts.
13641 (grub_nilfs2_read_inode): Likewise.
13642 (GRUB_MOD_INIT): Ensure that logs are correct.
13643
564dd58c
VS
136442011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13645
13646 Use shifts in minix filesystem.
13647
13648 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
13649 (GRUB_MINIX_ZONE2SECT): Likewise.
13650 (grub_minix_data): Replace block_size with log_block_size.
13651 (grub_minix_read_file): Use shifts.
13652 (grub_minix_mount): Check block size and take a logarithm.
13653
ed9ba06d
VS
136542011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13655
13656 Use shifts in squash4.
13657
13658 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
13659 (squash_mount): Check block size and take logarithm.
13660 (direct_read): Use shifts.
13661
ad03fe76
VS
136622011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13663
13664 Correct befs block counting logic.
13665
13666 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
13667 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
13668 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
13669 (grub_afs_read_inode): Use block_shift.
13670 (RANGE_SHIFT): New definition.
13671 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
13672 unexpected conditions, use shifts and appropriate types.
13673 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
13674
6563f63d
VS
136752011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13676
13677 * grub-core/disk/raid.c (scan_devices): Check partition.
13678 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
13679
5b1ae25f
VS
136802011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13681
13682 Support BFS (befs) UUID.
13683
13684 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
13685 (grub_afs_small_data_element_header): New struct.
13686 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
13687 (grub_afs_read_attribute) [MODE_BFS]: New function.
13688 (grub_afs_iterate_dir): Allocate for complete inode.
13689 (grub_afs_mount): Likewise.
13690 (grub_afs_uuid) [MODE_BFS]: New function.
13691 (grub_afs_fs) [MODE_BFS]: Add .uuid.
13692
f8d82408
VS
136932011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13694
13695 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
13696 (zfs_unmount): Fix memory leak.
13697
5773fb64
VS
136982011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13699
13700 Support NTFS reparse points.
13701
13702 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
13703 (symlink_descriptor): New struct.
13704 (grub_ntfs_read_symlink): New function.
13705 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
13706 (grub_ntfs_open): Likewise.
13707
91c3fdde
VS
137082011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13709
13710 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
13711
3be82e10
VS
137122011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13713
13714 fstest xnu_uuid subcommand.
13715
13716 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
13717 grub-core/commands/xnu_uuid.c.
13718 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
13719 (fstest): Handle xnu_uuid.
13720 (options): Document xnu_uuid.
13721 (argp_parser): Parse xnu_uuid.
13722
8e32442e
VS
137232011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13724
13725 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
13726 -l argument. Add newline at the end if printing.
13727 (GRUB_MOD_INIT): Document -l.
13728
52a05075
VS
137292011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13730
13731 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
13732
1869edb5
VS
137332011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13734
13735 ZFS multi-device and version 33 support.
13736
13737 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
13738 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
13739 (grub_zfs_data): Add multidev-ice-related fields.
13740 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
13741 (dva_get_offset): Make dva const.
13742 (zfs_fetch_nvlist): New function.
13743 (fill_vdev_info_real): Likewise.
13744 (fill_vdev_info): Likewise.
13745 (check_pool_label): Likewise.
13746 (scan_disk): Likewise.
13747 (scan_devices): Likewise.
13748 (read_device): Likewise.
13749 (read_dva): Likewise.
13750 (zio_read_gang): Use read_dva.
13751 (zio_read_data): Likewise.
13752 (zap_leaf_lookup): Add missing endian conversion.
13753 (zap_verify): Add missing endian conversion. All users updated.
13754 (fzap_lookup): Likewise.
13755 (fzap_iterate): Likewise.
13756 (dnode_get_path): Handle SA bonus.
13757 (nvlist_find_value): Make input const. All users updated.
13758 (unmount_device): New function.
13759 (zfs_unmount): Use unmount_device.
13760 (zfs_mount): Use scan_disk.
13761 (zfs_mtime): New function.
13762 (grub_zfs_open): Handle system attributes.
13763 (fill_fs_info): Likewise.
13764 (grub_zfs_dir): Likewise.
13765 (grub_zfs_fs): Add mtime.
13766 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
13767 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
13768 (SA_MTIME_OFFSET): Likewise.
13769 (SA_SYMLINK_OFFSET): Likewise.
13770 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
13771 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
13772 (fstest): Support zfsinfo.
13773 (argp_parser): Likewise.
13774
186b4028
VS
137752011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13776
13777 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
13778 error.
13779
137802011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
13781
13782 ZFS fixes.
13783
13784 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
13785 sharing the same block. Iterate over correct number of indices.
13786 (dnode_get_path): Handle symlinks correctly.
13787
c0584900
VS
137882011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13789
13790 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
13791
67e2bd71
VS
137922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13793
13794 Read label on HFS+.
13795
13796 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
13797 (grub_hfsplus_btree_search): Fix types.
13798 (grub_hfsplus_label): Implement.
13799
e9cc6b7b
VS
138002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13801
13802 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
13803
19832ddb
VS
138042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13805
13806 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
13807
66b40850
VS
138082011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 Fix symlink handling on iso9660.
13811
13812 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
13813 All users updated.
13814 (grub_iso9660_susp_iterate): Accept zero-size iterate.
13815 (grub_iso9660_read_symlink): Moved most of code ...
13816 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
13817
db821363
VS
138182011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13819
13820 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13821 Use union to avoid breaking strict-aliasing rules.
13822
e1211949
VS
138232011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13824
13825 Support multi-extent iso files.
13826
13827 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
13828 Add node.
13829 (grub_fshelp_node): Revamp. All users updated.
13830 (FLAG_*): New enum.
13831 (read_node): New function.
13832 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
13833 All users updated.
13834 (grub_iso9660_mount): Don't attempt to read sua when there is none.
13835 (get_node_size): New function.
13836 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
13837 entries.
13838 Fix memory leak on . and ..
13839 (grub_iso9660_read): Use read_node.
13840 (grub_iso9660_close): Free node.
13841
d4888031
VS
138422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13843
13844 Fix tar 4G limit and handle paths containing dot.
13845
13846 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
13847 (canonicalize): New function.
13848 (grub_cpio_find_file): Use canonicalize. Store offs in
13849 grub_disk_addr_t.
13850 (grub_cpio_dir): Use grub_disk_addr_t.
13851 (grub_cpio_open): Likewise.
13852
9f12e664
VS
138532011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13854
13855 Fix handling of uncompressed blocks on squashfs and break 4G limit.
13856
13857 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
13858 unused flags.
13859 (grub_squash_inode): Add long_file and block_size.
13860 (grub_squash_cache_inode): New struct.
13861 (grub_squash_dirent): Make types into enum.
13862 (SQUASH_TYPE_LONG_REGULAR): New type.
13863 (grub_squash_frag_desc): Add field size.
13864 (SQUASH_BLOCK_FLAGS): New enum.
13865 (grub_squash_data): Use grub_squash_cache_inode.
13866 (grub_fshelp_node): Make ino_chunk 64-bit.
13867 (read_chunk): Minor argument change. All users updated.
13868 (squash_mount): Use correct le_to_cpu.
13869 (grub_squash_open): Handle LONG_REGULAR.
13870 (direct_read): New function.
13871 (grub_squash_read_data): Handle blocks correctly.
13872
9f326fba
VS
138732011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13874
13875 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
13876
f4d9b64b
VS
138772011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13878
13879 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
13880
5bbd28b8
VS
138812011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13882
13883 Fix 2G limit on ZFS.
13884
13885 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
13886 types.
13887 (uberblock_verify): Likewise.
13888 (dmu_read): Likewise.
13889 (grub_zfs_read): Likewise. Remove invalid cast.
13890
68c72069
VS
138912011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13892
13893 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
13894 (grub_jfs_blkno): Fix incorrect shift.
13895 (grub_jfs_read_file): Use more appropriate types.
13896
6e536dc8
VS
138972011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13898
13899 Support triple indirect on minix2 and minix3.
13900
13901 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
13902 Declare triple_indir_zone.
13903 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
13904 indirect.
13905
e0864e7a
VS
139062011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13907
13908 Minix FS fixes.
13909
13910 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
13911 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
13912 Rename ctime to mtime. All users updated.
13913 (grub_minix_get_file_block): Fix types and double indirect computations.
13914
89481cab
VS
139152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13916
13917 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
13918 if no label is found.
13919 (grub_fat_iterate_dir): Fix file size type.
13920 (grub_fat_iterate_dir): Likewise.
13921
f646e143
VS
139222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13923
13924 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
13925 save some space.
13926 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13927 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13928
534d769e
VS
139292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13930
13931 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
13932
e084ba18
VS
139332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13934
13935 * util/import_gcry.py: Accept space between # and include.
13936
3471ecdf
VS
139372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
13940
124df5f6
VS
139412011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 Fine grainely disable warnings on lexer. Remove Wno-error on it.
13944
13945 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
13946 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
13947 yylex_strncpy.
13948 * grub-core/script/yylex.l: Add fine-grained #pragma.
13949
4defb8d5
VS
139502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13951
13952 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
13953 New inline function.
13954 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
13955 Likewise.
13956 (memset) [GRUB_UTIL]: Likewise.
13957 (memcmp) [GRUB_UTIL]: Likewise.
13958
4e94ae65
VS
139592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13960
13961 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
13962 inline function rather than a define.
13963
18c575e5
VS
139642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13965
13966 * util/grub-setup.c: Add missing include.
13967
f8bc22a8
VS
139682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13969
13970 * util/ieee1275/grub-ofpathname.c: Add missing include.
13971
3ce69fc9
VS
139722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13973
13974 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
13975 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
13976 Likewise.
13977
d1e293bb
VS
139782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13979
13980 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
13981 grub_memcmp usage.
13982
7a5c54a4
VS
139832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13984
13985 * util/grub-install.in: Add datarootdir as per automake manual
13986 suggestion.
13987 * util/grub-mknetdir.in: Likewise.
13988
139892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
13990
13991 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
13992 suggestion.
13993 * util/grub.d/10_kfreebsd.in: Likewise.
13994 * util/grub.d/10_linux.in: Likewise.
13995 * util/grub.d/10_netbsd.in: Likewise.
13996 * util/grub.d/10_windows.in: Likewise.
13997 * util/grub.d/20_linux_xen.in: Likewise.
13998
766f7d08
VS
139992011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
14000
14001 Remove redundant grub_kernel_image_size.
14002
14003 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
14004 _edata and _start.
14005 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
14006 the small code. It moves it only by few bytes but simplifies the code.
14007 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
14008 _start.
14009 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
14010 (grub_kernel_image_size): Removed.
14011 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
14012 (grub_kernel_image_size): Removed.
14013 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
14014 compiled with Apple toolchain.
14015 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
14016 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
14017 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
14018 (grub_total_module_size): Likewise.
14019 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
14020 Removed.
14021 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
14022 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
14023 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14024 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
14025 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
14026 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
14027 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
14028 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
14029 Removed.
14030 (grub_total_module_size): Removed.
14031 * util/grub-mkimage.c (image_target_desc): Remove image_size.
14032 (image_targets): Likewise.
14033 Set .compressed_size to no field on sparc.
14034 (generate_image): Remove kernel_image_size handling.
14035
fcf1d672
SJ
140362011-10-19 Szymon Janc <szymon@janc.net.pl>
14037
14038 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
14039 NULL pointer dereference.
14040
de9c615e
VS
140412011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14042
14043 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
14044 done with a dedicated section.
14045
14046 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
14047 Ensure the correct position of boot_path.
14048 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
14049 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
14050 other fields.
14051 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
14052 * include/grub/boot.h: Removed. All references removed.
14053 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
14054 Removed.
14055 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
14056
e55599dc
VS
140572011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14058
14059 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
14060 name.
14061
36dd20ad
VS
140622011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
14065
f8f72eb8
VS
140662011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14067
14068 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14069 Don't add the bogus brackets.
14070
a374751b
VS
140712011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 ExFAT support.
14074
14075 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
14076 * grub-core/Makefile.core.def (exfat): New module.
14077 * grub-core/fs/exfat.c: New file.
14078 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
14079 (GRUB_FAT_ATTR_*): Make into an enum.
14080 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
14081 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
14082 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
14083 (GRUB_FAT_MAXFILE): Removed.
14084 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
14085 (grub_current_fat_bpb_t): New type.
14086 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
14087 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
14088 (grub_fat_dir_node_t): New type.
14089 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
14090 (fat_log2) [MODE_EXFAT]: Removed.
14091 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
14092 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
14093 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
14094 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
14095 (grub_fat_label) [MODE_EXFAT]: New function.
14096 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
14097 reserved_first_sector to 0.
14098
544c2487
VS
140992011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14100
14101 Move grub_reboot out of the kernel.
14102
14103 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
14104 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
14105 * grub-core/lib/efi/reboot.c: ... here.
14106 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
14107 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14108 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
14109 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
14110 * grub-core/lib/i386/reboot_trampoline.S: ... here.
14111 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
14112 * grub-core/lib/ieee1275/reboot.c: ... here.
14113 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
14114 * grub-core/lib/mips/arc/reboot.c: ... here.
14115 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
14116 * grub-core/lib/mips/loongson/reboot.c: ...here.
14117 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
14118 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
14119 * include/grub/emu/misc.h (grub_reboot): New function declaration.
14120 * include/grub/i386/reboot.h: New file.
14121 * include/grub/mips/loongson/ec.h: Fix includes.
14122 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
14123 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
14124 * grub-core/lib/i386/reboot.c: New file.
14125
a97501d2
VS
141262011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
14127
14128 Make grub_prefix into module to fix the arbitrary limit and save
14129 some space.
14130
14131 * grub-core/kern/emu/main.c (grub_prefix): Removed.
14132 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
14133 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
14134 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
14135 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
14136 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
14137 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
14138 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
14139 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14140 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
14141 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
14142 * include/grub/ia64/efi/kernel.h: Removed.
14143 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
14144 (grub_prefix): Removed.
14145 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
14146 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
14147 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
14148 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
14149 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
14150 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
14151 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
14152 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
14153 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
14154 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
14155 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
14156 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
14157 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14158 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14159 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
14160 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
14161 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
14162 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14163 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
14164 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
14165 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
14166 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
14167 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
14168 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
14169 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
14170 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
14171 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
14172 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
14173 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
14174 from module.
14175 * util/grub-mkimage.c (image_target_desc): Removed prefix and
14176 prefix_end.
14177 (image_targets): Likewise.
14178 (generate_image): Put prefix as a module.
14179
39705fad
VS
141802011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14181
14182 Replace grub_module_iterate with FOR_MODULES.
14183
14184 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
14185 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
14186 (grub_efi_modules_addr): ...this.
14187 * grub-core/kern/efi/init.c (grub_modbase): New variable.
14188 (grub_efi_init): Set grub_modbase.
14189 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
14190 (grub_modbase): New variable.
14191 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
14192 (grub_modbase): New variable.
14193 (grub_machine_init): Set grub_modbase.
14194 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
14195 (grub_modbase): New variable.
14196 (grub_machine_init): Set grub_modbase.
14197 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
14198 (grub_modbase): New variable.
14199 (grub_machine_init): Set grub_modbase.
14200 * grub-core/kern/main.c (grub_module_iterate): Remove.
14201 (grub_modules_get_end): Use grub_modbase.
14202 (grub_load_modules): Use FOR_MODULES.
14203 (grub_load_config): Likewise.
14204 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
14205 (grub_modbase): New variable.
14206 (grub_machine_init): Set grub_modbase.
14207 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
14208 (grub_modbase): New variable.
14209 (grub_machine_init): Set grub_modbase.
14210 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
14211 Removed.
14212 (grub_modbase): New variable.
14213 (grub_machine_init): Set grub_modbase.
14214 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
14215 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
14216 (grub_module_iterate): Likewise.
14217 (grub_modbase): New variable declaration.
14218 (FOR_MODULES): New macro.
14219
2afb7f6c
VS
142202011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14221
14222 * configure.ac: Check for __ctzdi2 and __ctzsi2.
14223 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
14224
366e34fa
VS
142252011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14226
14227 Fix few obvious type discrepancies.
14228
14229 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
14230 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
14231 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
14232 variable.
14233 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
14234 and connected types.
14235 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
14236 offset.
14237 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
14238 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
14239 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
14240 and connected types.
14241
177b960e
VS
142422011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14243
14244 Fix python 3.x incompatibilities.
14245
14246 * gentpl.py: Put brackets around print strings.
14247 * util/import_gcry.py: Open explicitly as utf-8.
14248 Use in instead of has_key.
14249
3b619ae1
VS
142502011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14251
14252 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
14253 (GRUB_XFS_INO_AGBITS): Make into inline function.
14254 (GRUB_XFS_INO_INOINAG): Likewise.
14255 (GRUB_XFS_INO_AG): Likewise.
14256 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
14257 (GRUB_XFS_EXTENT_OFFSET): Likewise.
14258 (GRUB_XFS_EXTENT_BLOCK): Likewise.
14259 (GRUB_XFS_EXTENT_SIZE): Likewise.
14260 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
14261 (GRUB_XFS_NEXT_DIRENT): Likewise.
14262 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
14263 (grub_xfs_read_file): Fix offset type.
14264
8bcebcb8
RM
142652011-10-15 Robert Millan <rmh@gnu.org>
14266
14267 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
14268
0017e5ef
RM
142692011-10-15 Robert Millan <rmh@gnu.org>
14270
14271 Fix build problem on FreeBSD and GNU/kFreeBSD.
14272
14273 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
14274
d8919552
VS
142752011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14276
14277 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
14278
14279 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
14280 types.
14281 (grub_hfsplus_btree_recoffset): Likewise.
14282 (grub_hfsplus_btree_recptr): Likewise.
14283 (grub_hfsplus_find_block): Likewise.
14284 (grub_hfsplus_btree_search): Likewise.
14285 (grub_hfsplus_read_block): Likewise.
14286 (grub_hfsplus_read_file): Likewise.
14287 (grub_hfsplus_mount): Likewise.
14288 (grub_hfsplus_btree_iterate_node): Likewise.
14289 (grub_hfsplus_btree_search): Likewise.
14290 (grub_hfsplus_iterate_dir): Likewise.
14291 (grub_hfsplus_read): A small code simplification.
14292
c81296b6
VS
142932011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14294
14295 * grub-core/kern/emu/hostdisk.c
14296 (convert_system_partition_to_system_disk): Don't assume that children
14297 of mapper nodes are mapper nodes.
14298
0eb8ffb1
VS
142992011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14300
14301 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
14302 * include/grub/misc.h (grub_isxdigit): New function.
14303 * grub-core/video/colors.c (my_isxdigit): Removed. All users
14304 switched to grub_isxdigit.
14305 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
14306 number starting with a letter.
14307
a98f4a08
RM
143082011-10-09 Robert Millan <rmh@gnu.org>
14309
14310 LVM support for FreeBSD and GNU/kFreeBSD.
14311
14312 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
14313 GNU/kFreeBSD.
14314 (LVM_DEV_MAPPER_STRING): Move from here ...
14315 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
14316 * util/getroot.c: Include `<grub/util/lvm.h>'.
14317 (grub_util_get_dev_abstraction): Enable
14318 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
14319 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
14320 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
14321 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
14322 support it.
14323 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
14324 GNU/kFreeBSD.
14325 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
14326 when LVM abstraction is required for ${GRUB_DEVICE}.
14327
050e8e90
SJ
143282011-10-06 Szymon Janc <szymon@janc.net.pl>
14329
14330 Add support for LZO compression in GRUB:
14331 - import of minilzo library,
14332 - LZO decompression for btrfs,
14333 - lzop files decompression.
14334
14335 * grub-core/io/lzopio.c: New file.
14336 * grub-core/lib/adler32.c: Likewise.
14337 * grub-core/lib/minilzo/lzoconf.h: Likewise.
14338 * grub-core/lib/minilzo/lzodefs.h: Likewise.
14339 * grub-core/lib/minilzo/minilzo.c: Likewise.
14340 * grub-core/lib/minilzo/minilzo.h: Likewise.
14341 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
14342 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
14343 grub-core/lib/minilzo/minilzo.c to common.
14344 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
14345 cflags in cppflags.
14346 * grub-core/Makefile.core.def (btrfs): Likewise.
14347 * grub-core/Makefile.core.def (lzopio): New module.
14348 (adler32): Likewise.
14349 * grub-core/fs/btrfs.c: Include minilzo.h.
14350 (GRUB_BTRFS_COMPRESSION_LZO): New define.
14351 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
14352 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
14353 (grub_btrfs_lzo_decompress): New function.
14354 (grub_btrfs_extent_read): Add support for LZO compression type.
14355 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
14356 (GRUB_USHRT_MAX): Likewise.
14357 (GRUB_UINT_MAX): Likewise.
14358 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
14359 (UINT_MAX): Likewise.
14360 (CHAR_BIT): Likewise.
14361 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
14362 grub-core/lib/posix_wrap/limits.h
14363 (UCHAR_MAX): Likewise.
14364 * include/grub/file.h (grub_file_filter_id): New compression filter
14365 GRUB_FILE_FILTER_LZOPIO.
14366 * include/grub/file.h (grub_file_filter_id): Set
14367 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
14368 * include/grub/types.h (grub_get_unaligned16): New function.
14369 (grub_get_unaligned32): Likewise.
14370 (grub_get_unaligned64): Likewise.
14371 * util/import_gcry.py (cryptolist): Add adler32.
14372
0eb8ffb1
VS
143732011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
14374
14375 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
14376 in perspective decreases the complexity of build system and fixes
14377 compilation right now.
14378
ce79cc99 143792011-10-01 Ales Nesrsta <starous@volny.cz>
14380
14381 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
14382 (fixed problem related to using UHCI with coreboot).
14383
8667a314
BC
143842011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14385
14386 * gentpl.py: Use Autogen macros so that the output template file
14387 (Makefile.tpl) size is reduced.
14388
fc5efcc0
MK
143892011-09-29 Mads Kiilerich <mads@kiilerich.com>
14390
14391 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
14392 extra_dist.
14393
d1ab689d
ML
143942011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14395
14396 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
14397 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
14398
c05de032
ML
143992011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14400
14401 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
14402 _fullpath.
14403
cca7ccd8
ML
144042011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14405
14406 Remove extra declaration of sleep for mingw32.
14407
14408 * util/misc.c (sleep) [__MINGW32__]: Removed.
14409 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
14410
e0b0dc83
GS
144112011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
14412
14413 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
14414 type and packname.
14415 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
14416 Resurrected.
14417 (NETBSD_BTINFO_BOOTWEDGE): New definition.
14418 (grub_netbsd_btinfo_bootwedge): New struct.
14419 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
14420 New function.
14421 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
14422
91a1a164
TH
144232011-09-28 Thomas Haller <thomas.haller@fen-net.de>
14424
14425 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
14426 loader.
14427
2ded951e
AB
144282011-09-28 Andreas Born <futur.andy@googlemail.com>
14429
14430 Fix incorrect identifiers in bash-completion.
14431
14432 * util/bash-completion.d/grub-completion.bash.in
14433 (_grub_mkpasswd-pbkdf2): Rename to ...
14434 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
14435 (_grub_script-check): Rename to ...
14436 (_grub_script_check): ... this. All users updated.
14437
69915030
VS
144382011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
14439
14440 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14441 Return 0 if disk isn't biosdisk.
14442
20fd15f9
GS
144432011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14444
14445 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
14446 on NetBSD.
14447 * Makefile.util.def (grub-fstest): Likewise.
14448
1a7d7db9
GS
144492011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14450
14451 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
14452 Get sector size from disk label.
14453
2221ab6c
CW
144542011-09-05 Colin Watson <cjwatson@ubuntu.com>
14455
14456 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
14457 */README* as well as README*.
14458 Reported by: Axel Beckert.
14459
ca51c4a0
VS
144602011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14461
14462 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
14463 case of less than 256 MiB of RAM.
14464
ab80f326
VS
144652011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14466
14467 * grub-core/commands/wildcard.c (make_regex): Handle @.
14468
4155e697
VS
144692011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14470
14471 * util/grub-install.in: Move cryptodisk logic to appropriate place.
14472
ab178c08
SJ
144732011-08-21 Szymon Janc <szymon@janc.net.pl>
14474
14475 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
14476 AC_LANG_CONFTEST macros.
14477
7dc3c686
SJ
144782011-08-20 Szymon Janc <szymon@janc.net.pl>
14479
14480 Add grub-fstest option to uncompress data for commands.
14481
14482 * util/grub-fstest.c (uncompress): New var.
14483 (options): New option -u.
14484
fe8d4a7b
SJ
144852011-08-20 Szymon Janc <szymon@janc.net.pl>
14486
14487 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
14488 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
14489
a5219af1
SJ
144902011-08-20 Szymon Janc <szymon@janc.net.pl>
14491
14492 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
14493 file type was not recognized correctly (not gzip or corrupted).
14494
f87abff5
VS
144952011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14496
14497 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
14498 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
14499
d94497ea
VS
145002011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14501
14502 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
14503 loongson.
14504 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14505 video_radeon_fuloong2e.
14506 * grub-core/video/radeon_fuloong2e.c: New file.
14507 * include/grub/video.h (grub_video_id_t): Add new ID
14508 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
14509
0d1fd011
VS
145102011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14511
14512 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
14513 define.
14514 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
14515 that PRID matches the detected subplatform and reset the subplatform
14516 if it doesn't.
14517
84beb0ee
VS
145182011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14519
14520 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
14521
1227c133
VS
145222011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14523
14524 Fix PCI iterating on functions >= 4.
14525
14526 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
14527 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
14528 Removed.
14529 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
14530 (grub_pci_read): Fix bitmask.
14531 (grub_pci_read_word): Likewise.
14532 (grub_pci_read_byte): Likewise.
14533 (grub_pci_write): Likewise.
14534 (grub_pci_write_word): Likewise.
14535 (grub_pci_write_byte): Likewise.
14536
9594c689
VS
145372011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14538
14539 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
14540 can still be specified in TARGET_CFLAGS)
14541
14a2562c
VS
145422011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14543
14544 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
14545
14546 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
14547 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
14548 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
14549 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
14550 (FULOONG): Rename to ...
14551 (FULOONG2F): ... this. All users updated.
14552 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
14553 (machtype_fuloong2f_str): ... this.
14554 (machtype_fuloong2e_str): New string.
14555 Check for machtype_fuloong2e_str.
14556 * grub-core/loader/mips/linux.c (loongson_machtypes)
14557 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
14558 * grub-core/term/serial.c (loongson_defserial)
14559 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
14560 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
14561 loongson_defserial.
14562 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
14563 Rename to ...
14564 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
14565 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
14566 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
14567 to IMAGE_FULOONG2F_FLASH. All users updated.
14568 (image_targets): Rename images.
14569 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
14570
b526cbb6
SJ
145712011-08-19 Szymon Janc <szymon@janc.net.pl>
14572
14573 Make enable of disk cache statistics code configurable.
14574
14575 * configure.ac: --enable-cache-stats added.
14576 * config.h.in (DISK_CACHE_STATS): New define.
14577 * grub-core/Makefile.core.def (cacheinfo): New command.
14578 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
14579 * grub-core/commands/cacheinfo.c: New file.
14580 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
14581 moved to cacheinfo.c.
14582 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
14583 debug code.
14584 * include/grub/disk.h: Likewise.
14585
fb739ccd
SJ
145862011-08-19 Szymon Janc <szymon@janc.net.pl>
14587
14588 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
14589 * grub-core/Makefile.am: Likewise.
14590
2bba8cfd
VS
145912011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14592
14593 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
14594 non-zero pull.
14595
43526629
VS
145962011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14597
14598 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
14599 All users updated.
14600 (grub_jfs_lookup_symlink): Use correct starting inode.
14601
5c144cc8
VS
146022011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14603
14604 * util/grub-setup.c (main): Add missing gcry initialisation.
14605
b1257f65
VS
146062011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14607
14608 Don't accept text modes on EFI when booting Linux.
14609
14610 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
14611 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
14612
828bc390
ML
146132011-08-15 Mario Limonciello <mario_limonciello@dell.com>
146142011-08-15 Colin Watson <cjwatson@ubuntu.com>
14615
14616 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
14617 use of "/path/.." as in grub-install for EFI as well as handling
14618 symlinks correctly.
14619 Fixes Debian bug #637768.
14620
5f60ccac
CW
146212011-08-15 Colin Watson <cjwatson@ubuntu.com>
14622
14623 * util/grub-probe.c: Remove duplicate #include.
14624
6dc212f9
RM
146252011-08-10 Robert Millan <rmh@gnu.org>
14626
14627 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
14628
14629 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
14630 function.
14631 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
14632 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
14633
66816d85
RM
146342011-08-03 Robert Millan <rmh@gnu.org>
14635
14636 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
14637 la_array as packed.
14638 Reported by: Zachary Bedell
14639
20168fca
CW
146402011-07-26 Colin Watson <cjwatson@ubuntu.com>
14641
14642 * configure.ac: The Loongson port requires grub-mkfont due to its
14643 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
14644 be built.
14645
303b6246
CW
146462011-07-26 Colin Watson <cjwatson@ubuntu.com>
14647
14648 * util/grub-install.in: Don't source grub-mkconfig_lib until after
14649 processing arguments (otherwise help2man fails when GRUB has not yet
14650 been installed).
14651
6795300e
VS
146522011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14653
41aa28ea
VS
14654 New script grub-mkstandalone.
14655
14656 * Makefile.util.def (grub-mkstandalone): New script.
14657 * docs/man/grub-mkstandalone.h2m: New file.
14658 * util/grub-mkstandalone.in: Likewise.
14659
146602011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14661
14662 Support ATA disks with 4K sectors.
6795300e
VS
14663
14664 * include/grub/ata.h (grub_ata): New member log_sector_size.
14665 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
14666 (grub_ata_identify): Read sector size.
14667 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
14668
92227597
VS
146692011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 * util/grub-install.in: Don't use uhci outside of x86.
14672
c77069f5
VS
146732011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14674
14675 * util/grub-mkrescue.in: Add missing quotes.
14676
146772011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
14678
14679 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
14680 dereference.
14681
583168a2
VS
146822011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14683
14684 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
14685
6be1c01f
VS
146862011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14687
14688 * include/grub/video.h: add missing EXPORT_FUND on
14689 grub_video_edid_checksum and grub_video_edid_preferred_mode.
14690
a1167439
VS
146912011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14692
14693 * include/grub/mips/kernel.h: Fix define conflict.
14694
bf66054f
VS
146952011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14696
14697 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
14698 all four ways.
14699
8fc4fa45
CW
147002011-07-21 Colin Watson <cjwatson@ubuntu.com>
14701
14702 Preferred resolution detection for VBE.
14703
14704 * grub-core/video/video.c (grub_video_edid_checksum): New function.
14705 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
14706 the Flat Panel extension, in line with the X.org VESA driver.
14707 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
14708 New function.
14709 (grub_vbe_bios_get_ddc_capabilities): Likewise.
14710 (grub_vbe_bios_read_edid): Likewise.
14711 (grub_vbe_get_preferred_mode): Likewise.
14712 (grub_video_vbe_setup): When the mode is "auto", try to get the
14713 preferred mode from VBE, and use the largest mode that is no larger
14714 than the preferred mode (some BIOSes expose a preferred mode that is
14715 not in their mode list!). If this fails, fall back to 640x480 as a
14716 safe conservative choice.
14717 (grub_video_vbe_get_edid): New function.
14718 (grub_video_vbe_adapter): Add get_edid.
14719 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
14720 (struct grub_video_adapter): Add get_edid.
14721 (grub_video_edid_checksum): Add prototype.
14722 (grub_video_edid_preferred_mode): Likewise.
14723 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
14724 structure.
14725
14726 * grub-core/commands/videoinfo.c (print_edid): New function.
14727 (grub_cmd_videoinfo): Print EDID if available.
14728
14729 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
14730 is more appropriate on a wider range of platforms than 640x480.
14731 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
14732 documentation.
14733
ca5572a9
VS
147342011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14735
14736 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
14737
e4bcf625
VS
147382011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14739
14740 * po/POTFILES.in: Regenerate.
14741
c4edd548
VS
147422011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14743
14744 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
14745 incorrect memory usage.
14746
16a2bab0
VS
147472011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14748
14749 * util/grub-install.in: Source grub-mkconfig_lib.
14750
2e418de6
VS
147512011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14752
14753 Remove getroot.c from core on emu platform.
14754
14755 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
14756 kern/emu/raid.c.
14757 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
14758 useless.
14759 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
14760 * util/getroot.c (get_win32_path): ... here.
14761 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
14762 * util/getroot.c (fini_libzfs): ... here.
14763 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
14764 * util/getroot.c (grub_get_libzfs_handle): ... here.
14765 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
14766 Moved from here...
14767 * util/getroot.c (grub_find_zpool_from_dir): ... here.
14768 * grub-core/kern/emu/misc.c
14769 (grub_make_system_path_relative_to_its_root): Moved from here...
14770 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
14771 * grub-core/kern/emu/getroot.c: Moved from here ...
14772 * util/getroot.c: ... here. All users updated.
14773 * grub-core/kern/emu/raid.c: Moved from here ...
14774 * util/raid.c: ... here. All users updated.
14775
def9832a
VS
147762011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14777
14778 * po/POTFILES.in: Regenerate.
14779
cd8fe79a
VS
147802011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14781
14782 Fix compilation on GNU/Linux.
14783
14784 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
14785 Disable geli.
14786 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
14787 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
14788 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
14789
a251b719
VS
147902011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
147912011-07-07 Michael Gorven <michael@gorven.za.net>
147922011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
14793
14794 LUKS and GELI support.
14795
14796 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
14797 grub-core/disk/luks.c, grub-core/disk/geli.c,
14798 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
14799 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
14800 grub-core/lib/arg.c.
14801 (libgrubmods.a): Remove gcrypts cflags and cppflags.
14802 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
14803 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
14804 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
14805 (grub-bin2h): Add libgcry.a.
14806 (grub-mkimage): Likewise.
14807 (grub-mkrelpath): Likewise.
14808 (grub-script-check): Likewise.
14809 (grub-editenv): Likewise.
14810 (grub-mkpasswd-pbkdf2): Likewise.
14811 (grub-pe2elf): Likewise.
14812 (grub-fstest): Likewise.
14813 (grub-mkfont): Likewise.
14814 (grub-mkdevicemap): Likewise.
14815 (grub-probe): Likewise.
14816 (grub-ofpath): Likewise.
14817 (grub-mklayout): Likewise.
14818 (example_unit_test): Likewise.
14819 (grub-menulst2cfg): Likewise.
14820 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
14821 * grub-core/Makefile.core.def (cryptodisk): New module.
14822 (luks): Likewise.
14823 (geli): Likewise.
14824 * grub-core/disk/AFSplitter.c: New file.
14825 * grub-core/disk/cryptodisk.c: Likewise.
14826 * grub-core/disk/geli.c: Likewise.
14827 * grub-core/disk/luks.c: Likewise.
14828 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
14829 grub_util_is_lvm.
14830 (grub_util_get_dm_abstraction): New function.
14831 (grub_util_follow_gpart_up): Likewise.
14832 (grub_util_get_geom_abstraction): Likewise.
14833 (grub_util_get_dev_abstraction): Use new functions.
14834 (grub_util_pull_device): Pull GELI and LUKS.
14835 (grub_util_get_grub_dev): Handle LUKS and GELI.
14836 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
14837 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
14838 (follow_geom_up): Removed.
14839 (grub_util_fd_seek): New function.
14840 (open_device): Use grub_util_fd_seek.
14841 (nread): Rename to ..
14842 (grub_util_fd_read): ... this. All users updated.
14843 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
14844 (grub_crypto_cbc_decrypt): Likewise.
14845 (grub_crypto_hmac_write): Likewise.
14846 (grub_crypto_hmac_buffer): Likewise.
14847 (grub_password_get): Extend to util.
14848 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
14849 New member modname.
14850 (gcry_md_spec) [GRUB_UTIL]: Likewise.
14851 * include/grub/cryptodisk.h: New file.
14852 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
14853 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
14854 LUKS and GELI.
14855 (grub_util_follow_gpart_up): New proto.
14856 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
14857 (grub_util_fd_read): Likewise.
14858 (grub_cryptodisk_cheat_mount): Likewise.
14859 (grub_util_cryptodisk_print_uuid): Likewise.
14860 (grub_util_get_fd_sectors): Likewise.
14861 * util/grub-fstest.c (mount_crypt): New var.
14862 (fstest): Mount crypto if requested.
14863 (options): New option -C.
14864 (argp_parser): Parse -C.
14865 (main): Init and fini gcry.
14866 * util/grub-install.in: Support cryptodisk install.
14867 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
14868 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
14869 cryptodisk.
14870 (prepare_grub_to_access_device): Likewise.
14871 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
14872 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
14873 (probe_cryptodisk_uuid): New function.
14874 (probe_abstraction): Likewise.
14875 (probe): Use new functions.
14876 * util/import_gcry.py: Create Makefile.utilgcry.def.
14877 Add modname member.
14878
9bfdcbbc
VS
148792011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14880
14881 Lazy device scanning.
14882
14883 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
14884 (grub-setup): Remove util/raid.c.
14885 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
14886 * grub-core/disk/lvm.c (scan_depth): New variable.
14887 (grub_lvm_iterate): Rescan if necessary.
14888 (find_lv): New function based on grub_lvm_open.
14889 (grub_lvm_open): Use find_lv. Rescan on error.
14890 (is_node_readable): New function.
14891 (is_lv_readable): Likewise.
14892 (grub_lvm_scan_device): Skip already found disks.
14893 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
14894 Stop if searched device is found and readable.
14895 * grub-core/disk/raid.c (inscnt): New variable.
14896 (scan_depth): Likewise.
14897 (scan_devices): New function based on grub_raid_register. Abort if
14898 looked for device is found.
14899 (grub_raid_iterate): Rescan if needed.
14900 (find_array): NEw function based on -grub_raid_open.
14901 (grub_raid_open): Use find_array and rescan.
14902 (insert_array): Set became_readable_at.
14903 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
14904 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
14905 New function.
14906 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
14907 (grub_util_pull_device): New function.
14908 (grub_util_get_grub_dev): Call grub_util_pull_device.
14909 * util/raid.c: Moved to ..
14910 * grub-core/kern/emu/raid.c: ... here.
14911 (grub_util_raid_getmembers): New parameter "bootable".
14912 All users updated. Support 1.x.
14913 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
14914 All users updated.
14915 * include/grub/disk.h (grub_disk_pull_t): New enum.
14916 (grub_disk_dev): Change iterate prototype.
14917 All users updated.
14918 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
14919 New proto.
14920 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
14921 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
14922 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
14923 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
14924 All users updated.
14925 * include/grub/util/raid.h: Removed.
14926
1c358e59
VS
149272011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14928
14929 * po/POTFILES.in: Regenerate.
14930
abee94ed
VS
149312011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14932
14933 Unify sparc init with other ieee1275.
14934
14935 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
14936 instead of kern/sparc64/ieee1275/init.c.
14937 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
14938 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
14939 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
14940 grub/machine/kernel.h.
14941 (grub_ieee1275_original_stack) [__sparc__]: New variable.
14942 (grub_claim_heap) [__sparc__]: Use sparc version.
14943 (grub_machine_init): Moved args parsing to
14944 (grub_parse_cmdline): ...this.
14945 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
14946 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
14947 New definition.
14948 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
14949
14950 Move BOOTP to separate file.
14951
14952 * grub-core/Makefile.core.def (net): Add net/bootp.c.
14953 * grub-core/net/net.c: Move all BOOTP functions to
14954 * grub-core/net/bootp.c: ... here.
14955
14956 Use frame interface on PXE.
14957
14958 * grub-core/Makefile.core.def (pxecmd): Removed.
14959 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
14960 * grub-core/commands/i386/pc/pxecmd.c: Removed.
14961 * grub-core/i386/pc/pxe.c: Moved from here ...
14962 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
14963 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
14964 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
14965
14966 EFI network support.
14967
14968 * grub-core/Makefile.core.def (efinet): New module.
14969 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
14970 here...
14971 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
14972 All users updated.
14973 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
14974 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
14975 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
14976 * grub-core/net/drivers/efi/efinet.c: New file.
14977 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
14978 (grub_efi_net_config): New extern var.
14979
14980 Various cleanups and bugfixes.
14981
14982 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
14983 error.
14984 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
14985 disk declared as partition.
14986 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
14987 leak on failure.
14988 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
14989 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
14990 (grub_debug_zalloc): Likewise.
14991 (grub_debug_realloc): Likewise.
14992 (grub_debug_memalign): Likewise.
14993 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
14994 Check that target is IPv4.
14995 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
14996 local-mac-address as fallback.
14997 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
14998 memory leak.
14999 * grub-core/net/ip.c (ipchksum): Rename to ...
15000 (grub_net_ip_chksum): ... this. All users updated.
15001 (grub_net_recv_ip_packets): Special handling for DHCP.
15002 * util/grub-mkimage.c (generate_image): Zero-out aout header.
15003
15004 Unify prefix handling
15005
15006 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
15007 (grub_machine_get_bootlocation): ... this.
15008 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
15009 (grub_machine_get_bootlocation): ... this.
15010 (grub_prefix): New variable.
15011 (prefix): Removed.
15012 (root_dev): New variable.
15013 (dir): Likewise.
15014 (main): Use new variables.
15015 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
15016 Revamped into ...
15017 (grub_machine_get_bootlocation): ... this.
15018 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
15019 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
15020 (grub_machine_get_bootlocation): ... this.
15021 (grub_machine_set_prefix): Removed.
15022 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
15023 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
15024 Revamped into ...
15025 (grub_machine_get_bootlocation): ... this.
15026 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
15027 (grub_set_prefix_and_root): ... this. All users updated.
15028 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
15029 Revamped into ...
15030 (grub_machine_get_bootlocation): ... this.
15031 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
15032 (grub_machine_get_bootlocation): New proto.
15033 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
15034
15035 Less intrusive and more reliable seek on network implementation.
15036
15037 * grub-core/kern/file.c (grub_file_net_seek): Removed.
15038 (grub_file_seek): Don't call grub_file_net_seek.
15039 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
15040 (grub_net_fs_read_real): .. this.
15041 (grub_net_seek_real): Use net->offset.
15042 (grub_net_fs_read): Seek if necessary.
15043
15044 Unify IEEE1275 netwotk config with the other platforms.
15045
15046 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
15047 New variable.
15048 (grub_machine_get_bootlocation): Support network.
15049 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
15050 Support type and device parsing.
15051 (grub_ieee1275_get_device_type): New function.
15052 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
15053 into ...
15054 (grub_ieee1275_net_config_real): ... this.
15055 (grub_ofnet_probecards): Removed.
15056 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
15057 * include/grub/ieee1275/ofnet.h: Removed.
15058 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
15059 extern var.
15060 (grub_ieee1275_get_device_type): New function.
15061
15062 Unify network device closing across platforms and make more robust.
15063
15064 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
15065 grub_grubnet_fini.
15066 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
15067 already.
15068 * grub-core/net/net.c (grub_net_network_level_interface_register):
15069 Update num_ifaces.
15070 (grub_net_card_unregister): Close all interfaces.
15071 (receive_packets): Don't poll if no iterfaces are registered.
15072 Open if necessary.
15073 (grub_net_fini_hw): New function.
15074 (grub_net_restore_hw): Likewise.
15075 (fini_hnd): New variable.
15076 (GRUB_MOD_INIT): Register preboot hook.
15077 (GRUB_MOD_FINI): Run and unregister preboot hook.
15078
15079 Poll network cards when idle.
15080
15081 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
15082 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
15083 * grub-core/net/net.c (receive_packets): Save last poll time.
15084 (grub_net_poll_cards_idle_real): New function.
15085 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
15086 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
15087 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
15088
15089 Rename ofnet interfaces.
15090
15091 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
15092 (grub_ofnet_findcards): Use ofnet_%s names.
15093
15094 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
15095
15096 Cleanup socket opening.
15097
15098 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
15099 (grub_net_fs_close): Likewise.
15100 (grub_net_fs_read_real): Use eof member.
15101 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
15102 (+grub_net_udp_close): New inline function.
15103
15104 * include/grub/net/tftp.h: Moved to the top of ...
15105 * grub-core/net/tftp.c: ... here.
15106 * include/grub/net/ip.h: Moved mostly to the top of ...
15107 * grub-core/net/ip.c: ... here.
15108 * include/grub/net/ethernet.h: Moved mostly to the top of ...
15109 * grub-core/net/ethernet.c: ... here.
15110
15111 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
15112
15113 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
15114 FS name.
15115
15116 * include/grub/net/ip.h (ipv4_ini): Removed.
15117 (ipv4_fini): Likewise.
15118
15119 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
15120 (grub_net_send_ip_packets): Likewise.
15121
cf1337aa
VS
151222011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15123
15124 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
15125 grub_read_cmos prototype.
15126
93c06ff9
VS
151272011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15128
15129 VGA text support in qemu-mips
15130
15131 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
15132 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
15133 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
15134 text.
15135 * grub-core/kern/i386/qemu/init.c: Renamed to ...
15136 * grub-core/kern/vga_init.c: ... this.
15137 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
15138 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
15139 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
15140 Adjust.
15141 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
15142 GRUB_MACHINE_PCI_IO_BASE.
15143
748ccabe
VS
151442011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15145
15146 MIPS qemu flash support.
15147
15148 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
15149 magic.
15150 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
15151 (grub_machine_init): Probe memory if its size isn't known.
15152 * util/grub-mkimage.c (image_targets): Add flash targets.
15153 (generate_image): Handle flash targets.
15154
d7345994
VS
151552011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15156
15157 MIPS qemu at_keyboard support.
15158
15159 * gentpl.py (videoinkernel): Add qemu-mips.
15160 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
15161 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
15162 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
15163 modules.
15164 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
15165 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
15166 * grub-core/term/serial.c (grub_serial_register)
15167 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
15168
a07a81b3
VS
151692011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15170
15171 CMOS support on sparc.
15172
15173 * gentpl.py (cmos): Add powerpc and sparc.
15174 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
15175 powerpc and sparc.
15176 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
15177 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
15178 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
15179 grub_set_datetime_cmos.
15180 * grub-core/lib/ieee1275/cmos.c: New file.
15181 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
15182 (find_rtc): Set no_ieee1275_rtc on error.
15183 (grub_get_datetime): Call grub_get_datetime_cmos on error.
15184 (grub_set_datetime): Call grub_set_datetime_cmos on error.
15185 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
15186 fail. Move value to argument. All users updated
15187 (grub_cmos_write): Likewise.
15188 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
15189 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
15190 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
15191 grub_get_datetime_cmos and grub_set_datetime_cmos.
15192
77546584
GS
151932011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
15194
15195 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
15196 sourcing grub-mkconfig_lib.
15197 * util/update-grub_lib.in: Likewise.
15198 * util/grub.d/00_header.in: Likewise.
15199 * util/grub.d/10_hurd.in: Likewise.
15200 * util/grub.d/10_kfreebsd.in: Likewise.
15201 * util/grub.d/10_linux.in: Likewise.
15202 * util/grub.d/10_netbsd.in: Likewise.
15203 * util/grub.d/10_windows.in: Likewise.
15204 * util/grub.d/20_linux_xen.in: Likewise.
15205 * util/grub.d/30_os-prober.in: Likewise.
15206
54894791
CW
152072011-06-28 Colin Watson <cjwatson@ubuntu.com>
15208
15209 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
15210 default_bg_color rather than black.
15211 (grub_gfxterm_fullscreen): Likewise.
15212 (grub_gfxterm_background_color_cmd): Save new background color in
15213 default_bg_color.
15214
8d5d8444
VS
152152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15216
15217 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
15218
5afeb5bd
VS
152192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
15222 mismerge.
15223
ba7df45e
VS
152242011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15225
15226 Chainloading on coreboot support.
15227
15228 * grub-core/Makefile.core.def (chain): Add coreboot.
15229 * grub-core/loader/i386/coreboot/chainloader.c: New file.
15230
d0b526b2
VS
152312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15232
15233 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
15234 if it happens.
15235
5ff1d945
VS
152362011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15237
15238 Implement time command.
15239
15240 * grub-core/Makefile.core.def (time): New module.
15241 * grub-core/commands/time.c: New file.
15242 * grub-core/script/parser.y: Remove "time" keyword.
15243 * grub-core/script/yylex.l: Likewise.
15244
5ebaad7e
VS
152452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15246
15247 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
15248
bdea3798
VS
152492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15250
15251 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
15252 when handling leftovers.
15253
b28c5655
VS
152542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15255
15256 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
15257 so that help2man doesn't fail.
15258
b6f945dc
VS
152592011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15260
15261 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
15262 type in pointers on sparc64.
15263 (get_card_packet): Likewise.
15264
f9b75e8a
CW
152652011-06-27 Colin Watson <cjwatson@ubuntu.com>
15266
15267 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
15268 with `*'.
15269 (grub_cmd_videoinfo): Fetch current video mode.
15270
1e3d9b86
VS
152712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15272
15273 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
15274 because of underlying system restrictions.
15275
efff4b1c
VS
152762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15277
15278 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
15279 necessary.
15280
9fc9ce37
VS
152812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 Coreboot video support.
15284
15285 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
15286 (vbe): Likewise.
15287 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
15288 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
15289 here ...
15290 * grub-core/kern/i386/int.S: ... here.
15291 * grub-core/video/i386/pc/vbe.c: Updated includes.
15292 * grub-core/video/i386/pc/vga.c: Likewise.
15293 * include/grub/i386/coreboot/memory.h
15294 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
15295 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
15296 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
15297 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
15298 Disable interrupts.
15299 * include/grub/i386/pc/vga.h: Removed. All users updated.
15300
41bec7fe
VS
153012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15302
15303 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
15304 definitions for dprintf.
15305 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
15306
ca80309d
VS
153072011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15308
15309 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
15310 prototype.
15311 (get_card_packet): Likewise.
15312
9e322ce8
YB
153132011-06-26 Yves Blusseau <blusseau@zetam.org>
15314
15315 Display the path of the file when file is not found
15316
15317 * grub-core/fs/fat.c: Display the filename when file is not found.
15318 * grub-core/fs/fshelp.c: Likewise.
15319 * grub-core/fs/hfs.c: Likewise.
15320 * grub-core/fs/jfs.c: Likewise.
15321 * grub-core/fs/minix.c: Likewise.
15322 * grub-core/fs/ufs.c: Likewise.
15323 * grub-core/fs/btrfs.c: Likewise.
15324 * grub-core/commands/i386/pc/play.c: Likewise.
15325
cbf597af
SJ
153262011-06-26 Szymon Janc <szymon@janc.net.pl>
15327
15328 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
15329 pointer checks before calling grub_free().
15330 * grub-core/commands/wildcard.c (match_devices): Likewise.
15331 * grub-core/commands/wildcard.c (match_files): Likewise.
15332 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
15333 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
15334 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
15335 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
15336 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
15337 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
15338 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
15339 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
15340 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
15341
6295b32f
P
153422011-06-25 Patrick <p55@mailinator.com>
15343
15344 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
15345
77c0840b
VS
153462011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
15347
15348 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
15349 (grub_pxe_send): Likewise.
15350 (GRUB_MOD_INIT): Fix types.
15351
40ea05de
SJ
153522011-06-24 Szymon Janc <szymon@janc.net.pl>
15353
15354 * grub-core/io/xzio.c: Fix code style issues
15355
90162423
MRA
153562011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
153572011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
15358
15359 Network infrastructure.
15360 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
15361
15362 * include/grub/net/arp.h: New file.
90162423
MRA
15363 * include/grub/net/device.h: Likewise.
15364 * include/grub/net/ethernet.h: Likewise.
15365 * include/grub/net/ip.h: Likewise.
15366 * include/grub/net/netbuff.h: Likewise.
15367 * include/grub/net/tftp.h: Likewise.
15368 * include/grub/net/udp.h: Likewise.
15369 * include/grub/ieee1275/ofnet.h: Likewise.
15370 * include/grub/emu/export.h: Likewise.
15371 * include/grub/net.h: Likewise.
15372 * grub-core/net/arp.c: Likewise.
15373 * grub-core/net/ethernet.c: Likewise.
15374 * grub-core/net/ip.c: Likewise.
15375 * grub-core/net/udp.c: Likewise.
15376 * grub-core/net/tftp.c: Likewise.
15377 * grub-core/net/netbuff.c: Likewise.
15378 * grub-core/net/net.c: Likewise.
15379 * grub-core/net/drivers/emu/emunet.c: Likewise.
15380 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
15381 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
15382 export.h.
15383 * grub-core/Makefile.core.def (net): New module.
15384 (tftp): Likewise.
15385 (ofnet): Likewise.
15386 (emunet): Likewise.
15387 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
15388 network protocols.
15389 * grub-core/kern/device.c (grub_net_open) : New variable.
15390 (grub_device_open): Handle network device.
15391 (grub_device_close): Likewise.
15392 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
15393 (grub_grubnet_fini): Likewise.
15394 (grub_file_seek): Seek in network device.
15395 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
15396 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
15397 network root.
15398 (grub_machine_fini): Call grub_grubnet_fini.
15399 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
15400 network.
15401 (grub_ieee1275_get_aliasdevname): New function.
15402 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15403 Add unofficial Solaris network info.
15404 (grub_multiboot_make_mbi): Likewise.
15405 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
15406 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
15407 * include/grub/device.h (grub_fs): Removed.
15408 * include/grub/err.h (grub_err_t): Add network-related values.
15409 * include/grub/i386/pc/pxe.h: Removed bootp parts.
15410 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
15411 (grub_ieee1275_get_aliasdevname): New proto.
15412 * include/grub/net.h: Rewritten.
423a1849 15413
031f22a0
VS
154142011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
15417 names.
15418
4388ca72
VS
154192011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15420
15421 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
15422 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
15423 it truncates the output.
15424 Reported by: Ximin Luo.
15425
98e2f506
VS
154262011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15427
15428 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
15429
2a5e94d8
VS
154302011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15433 partmap before abstraction.
15434
535c1910
AK
154352011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
15436
15437 * util/grub-mkconfig_lib.in: Add missing quotes.
15438
bc09e1a2
VS
154392011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15440
15441 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
15442 old method if mountinfo would return /dev/root and /dev/root doesn't
15443 exist.
15444
290766fb
VS
154452011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15446
15447 ZFS zlib support
15448
15449 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
15450 (decomp_table): Add zlib entries.
15451 (zio_read): USe 8 bits for compression function rather than 3.
15452 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
15453
154542011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15455
15456 * grub-core/disk/ahci.c: Add missing license statements.
15457 * grub-core/fs/romfs.c: Likewise.
15458 * grub-core/lib/ia64/setjmp.S: Likewise.
15459 * grub-core/loader/i386/pc/freedos.c: Likewise.
15460 * grub-core/loader/ia64/efi/linux.c: Likewise.
15461 * grub-core/video/colors.c: Likewise.
15462 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
15463
5ab3f48a
VS
154642011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15465
15466 AHCI support.
15467
15468 * grub-core/Makefile.core.def (ata_pthru): Removed.
15469 (ahci): New module.
15470 (pata): Likewise.
15471 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
15472 on unload.
15473 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
15474 readwrite.
15475 (grub_hdparm_do_check_powermode_cmd): Likewise.
15476 (grub_hdparm_do_smart_cmd): Likewise.
15477 (grub_hdparm_set_val_cmd): Likewise.
15478 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
15479 * grub-core/disk/ahci.c: New file.
15480 * grub-core/disk/ata.c: Factor out the low-level part into ...
15481 * grub-core/disk/pata.c: ... here.
15482 * grub-core/disk/ata_pthru.c: Contents moved to ...
15483 * grub-core/disk/pata.c: ... here.
15484 * grub-core/disk/scsi.c (grub_scsi_names): New array.
15485 (grub_scsi_iterate): Use grub_scsi_names.
15486 (grub_scsi_open): Likewise.
15487 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
15488 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
15489 (grub_ata_regs_t): New struct.
15490 (grub_disk_ata_pass_through_parms): Likewise.
15491 (grub_ata_device): Renamed to ...
15492 (grub_ata): ... this.
15493 (grub_ata_dev): New struct.
15494 Removed all low-level inline functions.
15495 * include/grub/scsi.h: Add PATA and AHCI subsystems.
15496 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
15497 iterate hooks and open. All users updated.
15498 * util/grub-install.in: Handle AHCI disk module.
15499
c31dc5f5
SJ
155002011-06-23 Szymon Janc <szymon@janc.net.pl>
15501
15502 Add support for DRI and RSTn markers in JPEG files.
15503
15504 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
15505 (JPEG_MARKER_RST0): Likewise.
15506 (JPEG_MARKER_RST1): Likewise.
15507 (JPEG_MARKER_RST2): Likewise.
15508 (JPEG_MARKER_RST3): Likewise.
15509 (JPEG_MARKER_RST4): Likewise.
15510 (JPEG_MARKER_RST5): Likewise.
15511 (JPEG_MARKER_RST6): Likewise.
15512 (JPEG_MARKER_RST7): Likewise.
15513 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
15514 (grub_jpeg_decode_dri): New function.
15515 (grub_jpeg_decode_sos): Move image data related part into
15516 grub_jpeg_decode_data function.
15517 (grub_jpeg_decode_data): New function.
15518 (grub_jpeg_reset): New function.
15519 (grub_jpeg_decode_jpeg): Handle new markers.
15520
fe12fd5b
VS
155212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 * util/ieee1275/ofpath.c (check_sas): Close fd.
15524 (main): Free of_path.
15525 Reported by: David Volgyes <dvolgyes>.
15526
03147f46
VS
155272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15528
15529 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
15530 Reported by: David Volgyes <dvolgyes>.
15531
cad3237f
VS
155322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15533
15534 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
15535 file after stat.
15536 Reported by: David Volgyes <dvolgyes>.
15537
13548d26
VS
155382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15539
15540 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
15541
15542 Reported by: David Volgyes <dvolgyes>.
15543
e061a1b5
VS
155442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15545
15546 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
15547 Prevent memory leak.
15548
1abe47dc
VS
155492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15550
15551 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
15552 (main): Close file.
e061a1b5 15553 Reported by: David Volgyes <dvolgyes>.
1abe47dc 15554
fbc62666
VS
155552011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15556
15557 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
15558 to continue if allocation is failed.
15559
15560 Reported by: David Volgyes <dvolgyes>.
15561
e98c83e9
DV
155622011-06-23 David Volgyes <dvolgyes>
15563
15564 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
15565 dereference.
15566
a199a8cd
VS
155672011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15568
15569 Fix spurious warning.
15570
15571 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
15572 (acorn_partition_map_find): Use .bin member.
15573
e2d1dba0
VS
155742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15575
15576 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
15577 /dev/root as a valid device.
15578
8a5d6919
JM
155792011-06-23 Jim Meyering <meyering@redhat.com>
15580
e2d1dba0
VS
15581 Avoid NULL deref in grub_device_open.
15582
8a5d6919
JM
15583 * grub-core/kern/device.c (grub_device_open): Don't dereference
15584 a NULL pointer upon failed grub_env_get.
15585
f7db6f4a
VS
155862011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15587
15588 Support non-512B sectors and agglomerate reads.
15589
15590 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
15591 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
15592 (disk_io_guid): Removed.
15593 (make_devices): Locate solely by BlockIO.
15594 (grub_efidisk_open): Fill log_sector_size and total_sectors.
15595 (grub_efidisk_read): Use read_blocks.
15596 (grub_efidisk_write): Use write_blocks.
15597 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
15598 log_sector_size.
15599 (get_safe_sectors): Handle non-512B sectors.
15600 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
15601 sectors.
15602 (grub_biosdisk_write): Handle non-512B sectors.
15603 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
15604 (grub_scsi_read): Remove special non-512B block handling (now handled
15605 one level up).
15606 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
15607 and do sanity checks.
15608 (grub_disk_adjust_range): Handle non-512B sectors.
15609 (transform_sector): New function.
15610 (grub_disk_read_small): Likewise.
15611 (grub_disk_read): Rewritten.
15612 (grub_disk_write): Handle non-512B sectors.
15613 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
15614 log_sector_size.
15615 (open_device): Use log_sector_size.
15616 (grub_util_biosdisk_read): Likewise.
15617 (grub_util_biosdisk_write): Likewise.
15618 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
15619 non-512B sectors.
15620 (pc_partition_map_embed): Likewise.
15621 * include/grub/disk.h (grub_disk): New field log_sector_size.
15622 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
15623 (GRUB_DISK_CACHE_BITS): Increased to 6.
15624 * util/grub-fstest.c (fstest): New command testload.
15625 (argp_parser): Likewise.
15626
881ac815
RM
156272011-06-16 Robert Millan <rmh@gnu.org>
15628
15629 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
15630 `ata' driver on kernel of FreeBSD 9.
15631
15632 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
15633 (get_ataraid_disk_name): New functions.
15634 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
15635 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
15636 get_ataraid_disk_name() and get_ada_disk_name().
15637
1e9aef7d
CW
156382011-06-13 Colin Watson <cjwatson@ubuntu.com>
15639
15640 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
15641 input format.
15642
351c7c8a
CW
156432011-05-29 Colin Watson <cjwatson@ubuntu.com>
15644
15645 * docs/grub.texi (Obtaining and Building GRUB): Substitute
15646 `ftp.gnu.org' for `alpha.gnu.org'.
15647
6b4e6430
CW
156482011-05-27 Colin Watson <cjwatson@ubuntu.com>
15649
15650 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
15651 partitions under /dev/disk/by-id/.
15652
c64db050
CW
156532011-05-27 Colin Watson <cjwatson@ubuntu.com>
15654
15655 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
15656 after ten consecutive open failures. Scanning all the way up to
15657 10000 is excessive and can cause serious performance problems in
15658 some configurations.
15659 Fixes Ubuntu bug #787461.
15660
245f4aba
VS
156612011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15662
15663 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
15664 opening new one.
15665
f767c929
VS
156662011-05-21 Colin Watson <cjwatson@ubuntu.com>
156672011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15668
15669 Don't stat devices unless we have to.
15670
15671 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
15672 dir == /dev/mapper.
15673 (grub_guess_root_device): Use already known os_dev if possible.
15674 * grub-core/kern/emu/hostdisk.c
15675 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
15676 if device is known to be a dm one.
15677
f35fa3a6
CW
156782011-05-20 Colin Watson <cjwatson@ubuntu.com>
15679
15680 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
15681 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
15682 Reported by: Pawel Tecza.
15683
9a79fcf2
VS
156842011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
15685
15686 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
15687 (lsefisystab): Likewise.
15688 (lssal): Likewise.
15689 (lsefimmap): Likewise.
15690 (hdparm): Enable on qemu-mips.
15691 (setjmp): Add ia64 nodist.
15692 (serial): Simplify tags.
15693
63e3eea9
CW
156942011-05-18 Colin Watson <cjwatson@ubuntu.com>
15695
15696 * Makefile.util.def (grub-ofpathname): Install manual page.
15697
09728256
CW
156982011-05-18 Colin Watson <cjwatson@ubuntu.com>
15699
15700 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
15701
8b63a142
CW
157022011-05-18 Colin Watson <cjwatson@ubuntu.com>
15703
15704 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
15705
e775d8ed
VS
157062011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15707
15708 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
15709 into dprintf.
15710
bf947d36
VS
157112011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15712
15713 Use full 64-bit division.
15714
15715 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
15716 (grub_divmod64): ... this.
15717 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
15718 version.
15719
b84f26c5
CW
157202011-05-18 Colin Watson <cjwatson@ubuntu.com>
15721
15722 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
15723 `source'.
15724
5626056f
CW
157252011-05-18 Colin Watson <cjwatson@ubuntu.com>
15726
15727 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
15728 to avoid accidents when debugging with 'sh -x'.
15729 * grub-core/gensyminfo.sh.in: Likewise.
15730 * tests/example_scripted_test.in: Likewise.
15731 * tests/grub_cmd_regexp.in: Likewise.
15732 * tests/grub_script_blanklines.in: Likewise.
15733 * tests/grub_script_dollar.in: Likewise.
15734 * tests/grub_script_expansion.in: Likewise.
15735 * tests/grub_script_final_semicolon.in: Likewise.
15736 * tests/partmap_test.in: Likewise.
15737 * tests/util/grub-shell-tester.in: Likewise.
15738 * tests/util/grub-shell.in: Likewise.
15739
e2965f4a
CW
157402011-05-18 Colin Watson <cjwatson@ubuntu.com>
15741
15742 Move gfxmenu color handling to video, so that gfxterm can use it
15743 too.
15744
15745 * grub-core/gfxmenu/named_colors.c: Move to ...
15746 * grub-core/video/colors.c: ... here. Rename
15747 grub_gui_get_named_color to grub_video_get_named_color.
15748 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
15749 * grub-core/video/colors.c (my_isxdigit): ... here.
15750 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
15751 Move to ...
15752 * grub-core/video/colors.c (parse_hex_color_component): ... here.
15753 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
15754 to ...
15755 * grub-core/video/colors.c (grub_video_parse_color): ... here.
15756
15757 * include/grub/gui.h (grub_gui_color_t): Move to ...
15758 * include/grub/video.h (grub_video_rgba_color_t): ... here.
15759 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
15760 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
15761 * include/grub/gui.h (grub_gui_map_color): Move to ...
15762 * include/grub/video.h (grub_video_map_rgba_color): ... here.
15763 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
15764 to ...
15765 * include/grub/video.h (grub_video_get_named_color): ... here.
15766 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
15767 * include/grub/video.h (grub_video_parse_color): ... here.
15768
15769 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
15770 video/colors.c.
15771 (gfxmenu): Remove gfxmenu/named_colors.c.
15772 (video) [videomodules]: Add video/colors.c.
15773
15774 Add a background_color command.
15775
15776 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
15777 function.
15778 (GRUB_MOD_INIT): Register background_color command.
15779 (GRUB_MOD_FINI): Unregister background_color command.
15780 (redraw_screen_rect): Allow blend/replace of text layer to be
15781 controlled independently from whether there is a background bitmap.
15782 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
15783 changing bitmap.
15784
1e4b4390
VS
157852011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15786
26618ff0
VS
15787 Patch BPB in ntldr and chainloader --bpb.
15788
1e4b4390
VS
15789 * grub-core/fs/fat.c: Include grub/fat.h.
15790 (grub_fat_bpb): Moved to ...
15791 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
15792 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
15793 grub/ntfs.h.
15794 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
15795 Moved from here...
15796 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
15797 here.
15798 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
15799 New function.
15800 (grub_chainloader_cmd): Patch BPB if --bpb is given.
15801 (GRUB_MOD_INIT): Show --bpb.
15802 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
15803 * grub-core/normal/main.c (features): New variable.
15804 (GRUB_MOD_INIT): Set feature_* variables.
15805 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
15806 proto.
15807 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
15808
cf02731e
VS
158092011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15810
15811 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
15812 for cleanness.
15813
e3a1073f
VS
158142011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15815
15816 FreeDOS direct loading support.
15817
15818 * docs/grub.texi (Supported OS): Add FreeDOS.
15819 * grub-core/Makefile.core.def (freedos): New module.
15820 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
15821 variable.
15822 (grub_relocator16_boot): Handle %ebx.
15823 * grub-core/lib/i386/relocator16.S: Likewise.
15824 * grub-core/loader/i386/pc/freedos.c: New file.
15825
05caa461
VS
158262011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15827
15828 Long Linux command line support.
15829
15830 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15831 (maximal_cmdline_size): New variable.
15832 (allocate_pages): Use maximal_cmdline_size.
15833 (grub_cmd_linux): Set and use maximal_cmdline_size.
15834 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15835 (allocate_pages): Use maximal_cmdline_size.
15836 (grub_cmd_linux): Set and use maximal_cmdline_size.
15837 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
15838 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
15839 and cmdline_size.
15840
a2491e23
VS
158412011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
158422011-05-18 Colin Watson <cjwatson@ubuntu.com>
15843
15844 Improve devmapper support
15845
15846 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
15847 (grub_util_is_lvm): New function.
15848 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
15849 than lvm if not dmraid.
15850 Handle mapped md nodes.
15851 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
15852 (grub_util_device_is_mapped): ... this. Make always available. All users
15853 updated.
15854 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
15855 (convert_system_partition_to_system_disk): Handle lvm, mpath and
15856 dmraid nodes.
15857 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
15858
6ad6223e
VS
158592011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
15862
15863 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
15864 * grub-core/modinfo.sh.in: New file.
15865 * grub-core/Makefile.core.def (modinfo.sh): New script.
15866 * util/grub-mknetdir.in: Use modinfo.sh.
15867 * util/grub-mkrescue.in: Likewise.
15868
543a8f6e
VS
158692011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15870
15871 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15872 Fix potential usage of Elf32 instead of Elf64 when compiling on
15873 32-bit architecture. Add endianness macros while on it.
15874
4959e111
VS
158752011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15876
15877 Use mipsel- rather than mips- in directories involving mipsel ports to
15878 allow both endiannesses coexist.
15879
15880 * configure.ac: proparate target_cpu=mipsel rather than resetting to
15881 mips. All conditions adjusted.
15882 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
15883 variable.
15884 * util/grub-install.in: Adjust conditions to take renaming into account.
15885 * util/grub-mkimage.c (image_targets): Likewise. New target
15886 mips-qemu_mips-elf for bigendian mips.
15887
35341bbc
VS
158882011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15889
15890 Avoid unnecessary copying on MIPS.
15891
15892 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
15893 early if src == dest.
15894 * util/grub-mkimage.c (generate_image): Arange for src == dest if
15895 compression is none.
15896
b772baed
VS
158972011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15898
15899 Reduce memory footprint on SGI by putting modules before the kernel
15900 as opposed to after.
15901
15902 * grub-core/Makefile.core.def (kernel): Increase linking address.
15903 (none_decompress): Likewise.
15904 (xz_decompress): Likewise.
15905 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
15906 address.
15907 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
15908 layout change.
15909 (grub_arch_modules_addr): New function.
15910 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
15911 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
15912 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
15913 here.
15914 * grub-core/kern/mips/startup.S (total_size): Rename to ...
15915 (grub_total_modules_size): ... this. Make global.
15916 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
15917 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
15918 New definition.
15919 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
15920 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
15921 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
15922 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
15923 * util/grub-mkimage.c (image_target_desc): New flag
15924 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
15925 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
15926 (generate_image): Handle images with modules before kernel.
15927
566a1917
VS
159282011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 Prevent potential loss of memory map by overwrite on qemu-mips.
15931
15932 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15933 Save ram size in $s4.
15934 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
15935 All users changed to grub_arch_memsize.
15936 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
15937 Loongson.
15938 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
15939 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
15940 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
15941 external variable.
15942
5d420cd9
CW
159432011-05-17 Colin Watson <cjwatson@ubuntu.com>
15944
15945 * .bzrignore: Remove grub-dumpbios.
15946
d064b830
CW
159472011-05-17 Colin Watson <cjwatson@ubuntu.com>
15948
15949 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
15950 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
15951 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
15952 existing options which append).
15953 * docs/grub.texi (Simple configuration): Document new options.
15954 Reported by: Ian Jackson. Fixes Debian bug #617538.
15955
3ca2b466
CW
159562011-05-17 Colin Watson <cjwatson@ubuntu.com>
15957
15958 * util/grub-fstest.c (cmd_cat): New function.
15959 (fstest): Handle CMD_CAT.
15960 (options): Add cat.
15961 (argp_parser): Handle cat.
15962
24c9143a
CW
159632011-05-17 Colin Watson <cjwatson@ubuntu.com>
15964
15965 * Makefile.util.def (grub-bin2h): Don't install.
15966 * docs/man/grub-bin2h.h2m: Remove.
15967
90f7ac19
VS
159682011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15969
15970 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
15971 place.
15972
8d4a5178
VS
159732011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15974
15975 Reenable qemu-mips port.
15976
15977 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
15978 Fix small arc bug while on it.
15979 * gentpl.py: Handle qemu_mips.
15980 * grub-core/Makefile.am: Likewise.
15981 * grub-core/Makefile.core.def: Likewise.
15982 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
15983 inappropriate includes.
15984 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
15985 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
15986 * grub-core/kern/main.c (grub_modules_get_end)
15987 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
15988 * grub-core/kern/mips/qemu-mips: Moved to ..
15989 * grub-core/kern/mips/qemu_mips: ... this.
15990 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
15991 (grub_machine_init): Call terminfo_init and serial_init.
15992 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
15993 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15994 New variable.
15995 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
15996 parameter passing.
15997 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
15998 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
15999 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
16000 * include/grub/mips/qemu_mips/cmos.h: New file.
16001 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
16002 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
16003 Removed.
16004 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
16005 Use correct mips-style address.
16006 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
16007 (GRUB_TICKS_PER_SECOND): Removed.
16008 (grub_get_rtc): Likewise.
16009 (grub_cpu_idle): Likewise.
16010 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
16011 New definition.
16012 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
16013 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
16014 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
16015 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
16016 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16017 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16018 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
16019 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
16020
400b9371
VS
160212011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16022
16023 SGI ARCS port.
16024
16025 * Makefile.util.def (libgrubmods.a): Add dvh.c.
16026 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
16027 platforms.
16028 * configure.ac: New target mips-arc.
16029 * gentpl.py: Likewise.
16030 * grub-core/Makefile.am: Likewise.
16031 * grub-core/Makefile.core.def: Likewise.
16032 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
16033 (none_decompress): Likewise.
16034 (lsdev): New module.
16035 (datetime): Use lib/arc/datetime.c on ARC.
16036 (part_dvh): New module.
16037 * grub-core/commands/arc/lsdev.c: New file.
16038 * grub-core/disk/arc/arcdisk.c: Likewise.
16039 * grub-core/kern/mips/arc/init.c: Likewise.
16040 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
16041 aligned addresses.
16042 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
16043 support.
16044 (grub_arch_dl_relocate_symbols): Likewise.
16045 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
16046 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
16047 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
16048 platforms.
16049 * grub-core/lib/arc/datetime.c: New file.
16050 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
16051 pci.h on non-loongson.
16052 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
16053 (grub_linux_boot): Set unused registers to 0.
16054 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
16055 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
16056 * grub-core/mmap/mips/uppermem.c: ...here.
16057 * grub-core/partmap/dvh.c: New file.
16058 * grub-core/term/arc/console.c: Likewise.
16059 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
16060 (grub_terminfo_set_current): Add terminal "arc".
16061 (grub_terminfo_readkey): Support ARC sequences.
16062 * include/grub/arc/arc.h: New file.
16063 * include/grub/arc/console.h: Likewise.
16064 * include/grub/disk.h (grub_disk_dev_id): Add
16065 GRUB_DISK_DEVICE_ARCDISK_ID.
16066 * include/grub/mips/arc/kernel.h: New file.
16067 * include/grub/mips/arc/memory.h: Likewise.
16068 * include/grub/mips/arc/time.h: Likewise.
16069 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
16070 * include/grub/mips/kernel.h (grub_halt): ... here.
16071 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
16072 here...
16073 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
16074 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
16075 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
16076 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
16077 proto.
16078 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
16079 from here ...
16080 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
16081 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
16082 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
16083 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
16084 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
16085 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
16086 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
16087 (grub_phys_addr_t): Moved from here ...
16088 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
16089 (grub_vtop): Moved from here ...
16090 * include/grub/mips/memory.h (grub_vtop): ... here.
16091 (grub_map_memory): Moved from here ...
16092 * include/grub/mips/memory.h (grub_map_memory): ... here.
16093 (grub_unmap_memory): Moved from here ...
16094 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
16095 (grub_machine_mmap_iterate): Moved from here ...
16096 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
16097 (grub_mmap_get_lower): Moved from here ...
16098 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
16099 (grub_mmap_get_upper): Moved from here ...
16100 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
16101 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
16102 here ...
16103 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
16104 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
16105 here ...
16106 * include/grub/mips/time.h (grub_get_rtc): ... here.
16107 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
16108 here ...
16109 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
16110 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
16111 here ...
16112 * include/grub/mips/time.h (grub_cpu_idle): ... here.
16113 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
16114 definition.
16115 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
16116 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
16117 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
16118 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
16119 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16120 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16121 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
16122 (GRUB_MACHINE_LINK_ADDR): Likewise.
16123 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
16124 to 6.
16125 * util/grub-install.in: Run dvhtool on ARC.
16126 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 16127 (generate_image): Handle ECOFF output for mips-arc.
400b9371 16128
c8ecc840
VS
161292011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16130
16131 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
16132 blocks.
16133
153a4b55
VS
161342011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16135
16136 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
16137 after enabling port.
16138
ff44d107
VS
161392011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16140
16141 Skip incorrect USB devices.
16142
16143 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
16144 configcnt == 0.
16145 * include/grub/usb.h (grub_usb_err_t): New enum value
16146 GRUB_USB_ERR_BADDEVICE.
16147
638dbe4f
VS
161482011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16149
16150 Fuloong video init support.
16151
16152 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
16153 well.
16154 (grub_vga_read_arx): New function.
16155 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
16156 definition.
16157 (framebuffer): New members io, mmioptr and mmiobase.
16158 (read_sis_cmd): New function.
16159 (write_sis_cmd): Likewise.
16160 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
16161 rather than 640x400.
16162 * grub-core/video/sis315_init.c: New file.
16163
c3fc520c
VS
161642011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16165
16166 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
16167 non-loongson.
16168 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
16169 to grub_dl_register_symbol.
16170
67b1e5c9
VS
161712011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16172
16173 Fix compilation errors.
16174
16175 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
16176 potentially unused.
16177 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
16178 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
16179 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
16180 to loongson machines.
16181
b756f75f
VS
161822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16183
16184 Several FS mtime support.
16185
16186 * grub-core/fs/affs.c (grub_affs_time): New struct.
16187 (grub_affs_file): New field mtime.
16188 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
16189 type. Removed 'size'. New field 'di'. All users updated.
16190 (grub_affs_mount): Simplify checsum checking.
16191 (grub_affs_iterate_dir): New helper grub_affs_create_node.
16192 (grub_affs_dir): Handle mtime.
16193 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
16194 (grub_cpio_dir): Likewise.
16195 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
16196 (grub_hfs_filerec): New field mtime.
16197 (grub_hfs_dir): Handle mtime.
16198 (grub_hfs_mtime): New function.
16199 (grub_hfs_fs): Register grub_hfs_mtime.
16200 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
16201 (grub_iso9660_dir): New field mtime.
16202 (grub_fshelp_node): New field dirent.
16203 (iso9660_to_unixtime): New function.
16204 (iso9660_to_unixtime2): Likewise.
16205 (grub_iso9660_read_symlink): Use node->dirent.
16206 (grub_iso9660_iterate_dir): Likewise.
16207 (grub_iso9660_dir): Set mtime.
16208 (grub_iso9660_mtime): New function.
16209 (grub_iso9660_fs): Register grub_iso9660_mtime.
16210 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
16211 (grub_jfs_inode): New fields atime, ctime and mtime.
16212 (grub_jfs_dir): Set mtime.
16213 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
16214 * grub-core/fs/ntfs.c (list_file): Set mtime.
16215 (grub_ntfs_dir): Likewise.
16216 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
16217 (grub_reiserfs_iterate_dir): Set mtime.
16218 (grub_reiserfs_dir): Likewise.
16219 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
16220 (grub_fshelp_node): Likewise.
16221 (grub_sfs_iterate_dir): Set mtime.
16222 (grub_sfs_dir): Likewise.
16223 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
16224 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
16225 (grub_xfs_inode): New fields atime, mtime, ctime.
16226 (grub_xfs_dir): Set mtime.
16227 * include/grub/datetime.h (grub_datetime2unixtime): New function.
16228 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
16229 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
16230
16231 Support UDF symlinks.
16232
16233 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
16234 (grub_ufs_read_symlink): New function. All users updated.
16235
16236 Check amiga partmap checksum.
16237
16238 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
16239 (grub_amiga_partition): Likewise.
16240 (amiga_partition_map_checksum): New function.
16241 (amiga_partition_map_iterate): Check checksum.
16242
5470225d
VS
162432011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 ROMFS support.
16246
16247 * Makefile.util.def (libgrubmods.a): Add romfs.
16248 * grub-core/Makefile.core.def (romfs): New module.
16249 * grub-core/fs/romfs.c: New file.
16250
d4680a35
VS
162512011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16252
16253 Squashfs v4 support.
16254
16255 * Makefile.util.def (libgrubmods.a): Add squash4.
16256 * grub-core/Makefile.core.def (squash4): New module.
16257 * grub-core/fs/squash4.c: New file.
16258 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
16259 disk_input_start, disk_input.
16260 (get_byte): Handle disk_input.
16261 (grub_zlib_disk_read): New function.
16262 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
16263
bcb18e74
FZ
162642011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
162652011-05-15 Feiran Zheng <famcool@gmail.com>
16266
16267 * Makefile.util.def (libgrubmods.a): Add minix3.
16268 * grub-core/Makefile.core.def (minix3): New module.
16269 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
16270 (GRUB_MINIX_BSIZE): Removed.
16271 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
16272 (grub_minix_ino_t): New type.
16273 (grub_minix_le_to_cpu_ino): New macro.
16274 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
16275 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
16276 (grub_minix_data): New field block_size.
16277 (grub_minix_read_file): Handle 64-bit correctly.
16278 * grub-core/fs/minix3.c: New file.
16279
32297d5f
TG
162802011-05-15 Tristan Gingold <gingold@free.fr>
162812011-05-15 Robert Millan <rmh.grub@aybabtu.com>
162822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16283
16284 IA64 support.
16285
16286 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
16287 * configure.ac: Add ia64-efi target.
16288 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
16289 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
16290 * gentpl.py: Add ia64_efi platform.
16291 Rename x86_efi to efi and Add ia64-efi. All users updated.
16292 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
16293 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
16294 Remove kern/generic/rtc_get_time_ms.c on EFI.
16295 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
16296 kern/ia64/dl_helper.c on ia64-efi.
16297 Add kern/emu/cache.c on emu.
16298 (linux): Use on loader/ia64/efi/linux.c on ia64.
16299 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
16300 whether symbol is a function.
16301 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
16302 (grub_symbol): New field 'isfunc'.
16303 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
16304 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
16305 (grub_dl_load_segments): Place all sections into the same region.
16306 [__ia64__]: Create trampolines and got.
16307 [GRUB_MACHINE_EMU]: Call mprotect.
16308 (grub_dl_resolve_symbols): Resolve symbol type as well.
16309 [__ia64__]: Create function descriptors.
16310 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
16311 (grub_rtc_get_time_ms): ... this. Expressions simplified.
16312 (grub_get_rtc): New function.
16313 * grub-core/kern/emu/cache.c [__ia64__]: New file.
16314 * grub-core/kern/emu/cache.S: Renamed to ...
16315 * grub-core/kern/emu/cache_s.S: ... this.
16316 [__ia64__]: Add a nop.
16317 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
16318 [__ia64__]: New function.
16319 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
16320 * grub-core/kern/ia64/dl.c: New file.
16321 * grub-core/kern/ia64/dl_helper.c: Likewise.
16322 * grub-core/kern/ia64/efi/init.c: New file.
16323 * grub-core/kern/ia64/efi/startup.S: Likewise.
16324 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
16325 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
16326 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
16327 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
16328 * grub-core/loader/ia64/efi/linux.c: New file.
16329 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
16330 (GRUB_MOD_DEP): Likewise.
16331 (grub_dl) [__ia64__]: New fields got and tramp.
16332 (grub_dl): New field 'base'.
16333 (grub_dl_register_symbol): New argument isfunc. All users updated.
16334 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
16335 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
16336 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
16337 (grub_ia64_dl_get_tramp_got_size): New proto.
16338 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
16339 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
16340 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
16341 * include/grub/efi/api.h: Skip call wrappers on ia64.
16342 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
16343 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
16344 * include/grub/elf.h (ELF_ST_INFO): New definition.
16345 * include/grub/ia64/efi/kernel.h: New file.
16346 * include/grub/ia64/efi/memory.h: Likewise.
16347 * include/grub/ia64/efi/time.h: Likewise.
16348 * include/grub/ia64/kernel.h: Likewise.
16349 * include/grub/ia64/setjmp.h: Likewise (from glibc).
16350 * include/grub/ia64/time.h: New file.
16351 * include/grub/ia64/types.h: Likewise.
16352 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
16353 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
16354 New protos.
16355 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
16356 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16357 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
16358 * util/grub-mkimage.c (image_target_desc): New field pe_target.
16359 All users updated.
16360 (EFI64_HEADER_SIZE): New definition. All users updated.
16361 (image_targets): Add ia64-efi.
16362 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
16363 jumpers_addr. All users updated.
16364 Create function descriptors.
16365 (count_funcs): New function.
16366 (unaligned_uint32): New struct.
16367 (MASK20): New definition.
16368 (MASK19): Likewise.
16369 (MASKF21): Likewise.
16370 (add_value_to_slot_20b): New function.
16371 (add_value_to_slot_21_real): Likewise.
16372 (add_value_to_slot_21): Likewise.
16373 (ia64_kernel_trampoline): New struct.
16374 (nopm): New variable.
16375 (jump): Likewise.
16376 (make_trampoline): New function.
16377 (relocate_addresses): Handle ia64.
16378 (make_reloc_section): Likewise.
16379 (load_image): Likewise.
16380
983b414d
VS
163812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16382
16383 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
16384 warning. Move variables before code while on it.
16385
5d063cdc
VS
163862011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16387
16388 Fuloong support.
16389
16390 * configure.ac: Rename yeeloong platform to loongson. All users updated.
16391 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
16392 * grub-core/boot/mips/loongson/fuloong.S: New file.
16393 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
16394 Explicitly init CS5536.
16395 [FULOONG]: Don't use serial until CS5536 is available.
16396 Set GPIO based on dumps.
16397 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
16398 [FULOONG]: Handle GPIO and memory controller differences.
16399 Parse machine type in $a2.
16400 * grub-core/boot/mips/startup_raw.S: Determine and save the
16401 architecture.
16402 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
16403 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
16404 init on architecture type.
16405 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16406 SIS315E. Don't init at_keyboard on fuloong.
16407 (grub_halt): Support Fuloong.
16408 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
16409 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
16410 (loongson_machtypes): New array.
16411 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
16412 type.
16413 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
16414 config. All users updated. Handle CS5536 serial.
16415 * grub-core/term/serial.c (grub_serial_register): Conditionalise
16416 default port on machine type. Register serial as inactive.
16417 * grub-core/video/sis315pro.c: New file.
16418 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
16419 definition.
16420 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
16421 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
16422 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
16423 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
16424 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
16425 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
16426 to ...
16427 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
16428 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
16429 definition.
16430 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
16431 (grub_arch_machine): New extern var.
16432 * include/grub/mips/loongson/serial.h
16433 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
16434 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
16435 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
16436 (GRUB_MACHINE_SERIAL_PORT0): ... this.
16437 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
16438 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
16439 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
16440 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
16441 * include/grub/term.h (grub_term_register_input_inactive): New inline
16442 function.
16443 (grub_term_register_output_inactive): Likewise.
16444 * include/grub/video.h (grub_video_driver_id): New value
16445 GRUB_VIDEO_DRIVER_SIS315PRO.
16446 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
16447 New field "names". All users updated.
16448 New field value IMAGE_FULOONG_FLASH.
16449 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
16450
6ada82d1
JU
164512011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
16452
16453 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
16454 and add some clarification.
16455
90c571a4
VS
164562011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16457
16458 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
16459 platforms if kernel is compressed.
16460
de04eecf
VS
164612011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16462
16463 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
16464 unused modules since currently referrence counter isn't reliable and
16465 there isn't much memory to recover there anyway.
16466
57688121
VS
164672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16468
16469 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
16470 rather than resetting it to allow modules to reference themselves
16471 in init.
16472
3d2c7e35
VS
164732011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16474
16475 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
16476 counter on dependencies since grub_dl_unref already handles this.
16477
b25db218
VS
164782011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16479
16480 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
16481 on error if not already done.
16482
25a45338
VS
164832011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16484
16485 Fix few potential memory misusage.
16486
16487 * grub-core/font/font.c (load_font_index): Don't free char_index to
16488 avoid double free.
b25db218
VS
16489 (grub_font_load): Zero-fill font at alloc for safety.
16490 Close file on error.
16491 (free_font): Free bmp_idx.
25a45338 16492
0cac83df
VS
164932011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16494
16495 * docs/grub.texi (Installation): Fix several outdated claims.
16496
2217a143
VS
164972011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16498
16499 Handle module_license on windows.
16500
16501 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
16502 sections shifted.
16503 (insert_string): Make argument const char * instead of char *.
16504 (write_section_data): Handle long section names.
16505 Handle module_license.
16506
d4de6b01
VS
165072011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16508
16509 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
16510 handle class-free menuentries.
16511 (grub_normal_add_menu_entry): Add a check to be sure.
16512
4c2a3b43
VS
165132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16514
16515 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
16516 PgUp and PgDown.
16517
85c6210f
VS
165182011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 * configure.ac: Bump version to 1.99.
16521
36084912
VS
165222011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16523
16524 Give ATA device a bit more time on first try in order to allow disks
16525 to spin up.
16526
16527 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
16528 if dev->present is 1. Reset dev->present on failure.
16529 (grub_ata_device_initialize): Set dev->present to 1.
16530 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
16531 (grub_ata_device): New member 'present'.
16532
bda0e219
VS
165332011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16534
16535 * util/grub-mkimage.c (generate_image): Update hash.
16536
19e1c41b
VS
165372011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16538
16539 Flush caches on DMA memory.
16540
16541 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
16542 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
16543 (grub_dma_free): Likewise.
16544 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
16545
91bbcc0c
VS
165462011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16547
16548 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
16549 to avoid asm treating ld and sd as macros.
16550
60ddfad3
VS
165512011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16552
16553 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
16554 decompressor.
16555
a298aa04
VS
165562011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16557
16558 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
16559 grub_decompress_core since later would fail if grub_decompress_core
16560 is too far.
16561
9b44feca
VS
165622011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16563
16564 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
16565 R_MIPS_JALR since it's used by newer compiler.
16566
56dbe7b4
VS
165672011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
16568
16569 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
16570
52856af2
VS
165712011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16572
16573 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
16574 file_path to 0 for surety.
16575 (grub_chainloader_boot): Set exit_data to NULL.
16576 Unset the loader once done.
16577 (grub_cmd_chainloader): Fix confusing error message if file is empty.
16578
9c9bfc6d
VS
165792011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16580
16581 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
16582 unknown key into a dprintf.
16583
dd94a3df
VS
165842011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16585
16586 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
16587 on first non-existant partition.
16588
fa68d99c
VS
165892011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16590
16591 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
16592 openning fails.
16593 Reported by: Mark Korenberg.
16594
157effb7
VS
165952011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16596
16597 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
16598 overflow.
16599
ea75312f
VS
166002011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16601
16602 * util/grub-mkimage.c (main): Explicitely flush and sync the output
16603 before closing to ensure that it will be readable by grub-setup.
16604
072b5d31
VS
166052011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16606
16607 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
16608 (devpath_1): Use MAKE_PIWG_PATH.
16609 (devpath_2): Likewise.
16610 (devpath_3): Likewise.
16611 (devpath_4): Likewise.
16612 (devpath_5): Likewise.
16613 (devpath_6): Likewise.
16614
16615 The appleldr.mod was checked that to be binary identical to previous
16616 version.
16617
7fae0051
Z
166182011-05-05 Zach <mikezackles>
16619
16620 Support 2010 Macbooks.
16621
16622 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
16623 (devs): Add devpath_6.
16624
7c515bee
VS
166252011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16626
16627 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
16628 /dev/random. /dev/urandom is good enough for our purposes (salting).
16629
ed660bd8
VS
166302011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16631
16632 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
16633
ee5614b7
VS
166342011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16635
16636 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
16637 hexadecimal.
16638
664889a6
VS
166392011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16640
16641 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
16642 and not 0 on failure.
16643
bd405bbc
CW
166442011-05-03 Colin Watson <cjwatson@ubuntu.com>
16645
16646 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
16647 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
16648 disk; otherwise grub_fs_probe will not fall back to the next
16649 filesystem.
16650 (grub_pxefs_open): Likewise, for consistency.
16651 Reported and tested by: Ezekiel Grave.
16652
4ebff753
CW
166532011-05-03 Colin Watson <cjwatson@ubuntu.com>
16654
16655 * tests/partmap_test.in: Don't hardcode path to parted.
16656 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
16657
8f942553
CW
166582011-05-01 Colin Watson <cjwatson@ubuntu.com>
16659
16660 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
16661 of `ls' to find out which devices are available.
16662
3c62402d
VS
166632011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16664
16665 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
16666 than source address for efi mmap buffer.
16667
723f63f2
VS
166682011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16669
16670 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
16671 wrong action on non-detecting the magic.
16672
68797f92
VS
166732011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16674
16675 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
16676 already supplied by another part of the module (fixes compilation on
16677 FreeBSD).
16678
6be8715d
VS
166792011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16680
16681 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
16682 match the one used by mdadm.
16683
e91dba5b
CW
166842011-04-21 Colin Watson <cjwatson@ubuntu.com>
16685
16686 * po/README: Add instructions for creating po/LINGUAS.
16687
c85140b3
CW
166882011-04-21 Colin Watson <cjwatson@ubuntu.com>
16689
16690 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
16691 #551428.
16692
16693 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
16694 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
16695 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
16696 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
16697 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
16698 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
16699 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
16700 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
16701 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
16702 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
16703 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
16704 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
16705 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
16706 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
16707 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
16708 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
16709 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
16710 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
16711 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
16712 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
16713 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
16714 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
16715
92051871
CW
167162011-04-21 Colin Watson <cjwatson@ubuntu.com>
16717
16718 * grub-core/kern/emu/getroot.c
16719 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
16720 test that was incorrectly reintroduced in r3214.
16721 Reported by: Ian Dall. Fixes Savannah bug #33133.
16722
b13f79a4
CW
167232011-04-21 Colin Watson <cjwatson@ubuntu.com>
16724
16725 Fix stack pointer handling in 16-bit relocator.
16726
16727 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
16728 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
16729 Fixes Ubuntu bug #683904.
16730
9b710a88
VS
167312011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16732
16733 * configure.ac: Bump version to 1.99~rc2.
16734
d97e7b59
VS
167352011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16736
16737 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
16738 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
16739 * grub-core/lib/x86_64/setjmp.S: Likewise.
16740 * grub-core/lib/mips/setjmp.S: Likewise.
16741 * grub-core/lib/powerpc/setjmp.S: Likewise.
16742 * grub-core/lib/sparc64/setjmp.S: Likewise.
16743
0624551c
VS
167442011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16745
16746 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
16747 * grub-core/lib/efi/datetime.c: Likewise.
16748
e8f28d4c
VS
167492011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16750
16751 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
16752 New function.
16753 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
16754 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
16755 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
16756
bba79a15
VS
167572011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16758
16759 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
16760 bitmap.
16761 (grub_gfxterm_term_init): Likewise.
16762
abc474ef
VS
167632011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16764
16765 Take into account the decorations the computing menu entry width.
16766
16767 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
16768 (grub_gfxmenu_create_box): Register get_border_width.
16769 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
16770 if available.
16771 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
16772 get_border_width.
16773
e74b3947
EP
167742011-04-18 Endres Puschner <code@e7p.de>
16775
16776 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
16777 Don't skip first class.
16778
34faa595
VS
167792011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16780
16781 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
16782 chunks.
16783 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
16784
93a777e3
VS
167852011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16786
16787 Complete 64-bit division support.
16788
16789 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
16790 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
16791 * include/grub/misc.h (grub_divmod64): Rename to ...
16792 (grub_divmod64_full): ... this.
16793 (grub_divmod64): New inline function.
16794
a5102d94
VS
167952011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16796
16797 * util/grub-mkimage.c (generate_image): Add forgotten comma.
16798
f3fb7b36
VS
167992011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16800
16801 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
16802 performing the necessary test.
16803
9ac718b0
VS
168042011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16805
16806 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
16807 (kfreebsd.elf): Likewise.
16808 (pc-chainloader.elf): Likewise.
16809 (ntldr.elf): Likewise.
16810
50d2cc5a
VS
168112011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16812
16813 Identify RAID by its UUID rather than (guessed) name.
16814
16815 * grub-core/disk/raid.c (ascii2hex): New function.
16816 (grub_raid_open): Accept mduuid/%s specification.
16817 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
16818 (get_mdadm_uuid): ... this.
16819 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
16820
e03f7bea
VS
168212011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
16822
16823 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
16824 to negative size.
16825
e74c3112
CW
168262011-04-13 Colin Watson <cjwatson@ubuntu.com>
16827
16828 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
16829 btrfs subvolume.
16830 * util/grub.d/20_linux_xen.in: Likewise.
16831
78fa584f
CW
168322011-04-13 Colin Watson <cjwatson@ubuntu.com>
16833
16834 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
16835 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
16836
16837 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16838 Build a list of relevant visible mounts using the mnt_id and
16839 parent_mnt_id fields, and then scan that list at the end.
16840
9d5f8162
CW
168412011-04-12 Colin Watson <cjwatson@ubuntu.com>
16842
16843 * docs/grub.texi (normal): New section.
16844 (normal_exit): New section.
16845 (Embedded configuration): Add reference to normal.
16846 (GRUB only offers a rescue shell): Likewise.
16847 * docs/grub-dev.texi (Error Handling): Fix typo.
16848
09a9d66f
CW
168492011-04-12 Colin Watson <cjwatson@ubuntu.com>
16850
16851 * NEWS: Drop obsolete entry about probe-only btrfs support.
16852
0c676933
CW
168532011-04-12 Colin Watson <cjwatson@ubuntu.com>
16854
16855 * util/import_gcry.py: Fix typo.
16856
ec9f5e0d
VS
168572011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16858
16859 * NEWS: Add btrfs support.
16860
fe6b2cba
VS
168612011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
168622011-04-11 Colin Watson <cjwatson@ubuntu.com>
16863
16864 BtrFS support. Written by me (Vladimir) with important bugfixes and
16865 even more important testing by Colin.
16866
16867 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
16868 * grub-core/Makefile.core.def (btrfs): Add crc.c.
16869 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
16870 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
16871 mem_input_off and mem_input. All users updated to accept in-RAM input.
16872 (gzio_seek): New function.
16873 (test_zlib_header): Likewise.
16874 (grub_gzio_read): Likewise.
16875 (grub_zlib_decompress): Likewise.
16876 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
16877 Accept partial and non-virtual mounts.
16878 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
16879 avoid receiving /dev/dm-X as device.
16880 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
16881 Handle bind and partial mounts.
16882 * grub-core/lib/crc.c: New file.
16883 * include/grub/deflate.h: Likewise.
16884 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
16885 proto.
16886 * include/grub/lib/crc.h: New file.
16887
e745cf0c
VS
168882011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16889
16890 Implement automatic module license checking according to new GNU
16891 guidelines.
16892
16893 * grub-core/kern/dl.c (grub_dl_check_license): New function.
16894 (grub_dl_load_core): Use grub_dl_check_license.
16895 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
16896 (GRUB_MOD_LICENSE): Likewise.
16897 (GRUB_MOD_DUAL_LICENSE): Likewise.
16898 All modules updated.
16899
2a9bc016
CW
169002011-04-11 Colin Watson <cjwatson@ubuntu.com>
16901
16902 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
16903 reserved_first_sector to 1. btrfs reserves plenty of space for boot
16904 loaders.
16905 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
16906
8a3bc88e
VS
169072011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16908
16909 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
16910
af869a4a
VS
169112011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16912
16913 * util/grub-fstest.c (read_file): Report GRUB error if file opening
16914 failed.
16915
9ee8d94f
VS
169162011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16917
16918 * grub-core/kern/file.c (grub_file_open): Don't take into account the
16919 parenthesis in the middle of the filename.
16920
b01abe3e
VS
169212011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16922
16923 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
16924 rather than trying to put initrd way too high.
16925 Reported by: Ryan Lortie <desrt@desrt.ca>
16926
335bda1e
VS
169272011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16928
16929 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
16930 improperly removed string.
16931
5ca1a64d
VS
169322011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16933
16934 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
16935 is_disk.
16936 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
16937 (open_device) Likewise.
16938 (grub_util_biosdisk_close): Likewise.
d8ce9995 16939 Reported by: Mark Korenberg.
5ca1a64d 16940
cbac5b1e
AK
169412011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
16942
16943 * util/grub-mkconfig_lib.in: Add missing quotes.
16944
088cdb65
CW
169452011-04-10 Colin Watson <cjwatson@ubuntu.com>
16946
16947 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
16948 is NULL.
16949
8b8a81fa
VS
169502011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16951
16952 Dynamically count the number of lines for the lower banner.
16953
16954 * grub-core/normal/menu_entry.c (per_term_screen): New member
16955 num_entries.
16956 (print_down): Use num_entries.
16957 (update_screen): Likewise.
16958 (grub_menu_entry_run): Set num_entries.
16959 * grub-core/normal/menu_text.c (menu_viewer_data): New member
16960 num_entries.
16961 (grub_print_message_indented): Move real part to ...
16962 (grub_print_message_indented_real): ... here. Additional argument
16963 dry_run.
16964 (draw_border): Additional argument num_entries.
16965 (print_message): Additional argument dry_run.
16966 (print_entries): Receive menu viewer data.
16967 (grub_menu_init_page): New argment num_entries.
16968 (menu_text_set_chosen_entry): Use num_entries.
16969 (grub_menu_try_text): Likewise.
16970 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
16971 All users updated.
16972 (grub_ucs4_count_lines): New function.
16973 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
16974 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
16975 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
16976 (grub_term_border_height): Likewise.
16977 (grub_term_num_entries): Likewise.
16978
277f955b
VS
169792011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16980
16981 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
16982 Remove now unused string.
16983
536ce85a
CW
169842011-04-09 Colin Watson <cjwatson@ubuntu.com>
16985
16986 * docs/grub-dev.texi (Finding your way around): Update for 1.99
16987 build system.
16988 (Getting started): GRUB is developed in Bazaar now, not Subversion.
16989
16990 (Comment): Fix typo.
16991 (Getting started): General copy-editing.
16992 (Typical Development Experience): Likewise.
16993 (Error Handling): Likewise.
16994 (Video API): Likewise.
16995
2cf09e32
CW
169962011-04-09 Colin Watson <cjwatson@ubuntu.com>
16997
16998 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
16999 throughout.
17000
1ec652f4
VS
170012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17002
17003 * util/grub-mkimage.c (main): Handle special naming of yeeloong
17004 directory.
17005
2c583728
CW
170062011-04-08 Colin Watson <cjwatson@ubuntu.com>
17007
17008 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
17009 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
17010 "development".
17011
d7a565e9
VS
170122011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17013
17014 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
17015 grub_strcpy since the lines aren't necessarily 0-terminated.
17016
7c2e4909
VS
170172011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17018
17019 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
17020 root on legacy.
17021
34c09785
VS
170222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17023
17024 * grub-core/commands/probe.c (options): Argument to set isn't optional.
17025 (GRUB_MOD_INIT): DEVICE isn't optional.
17026
6a6f8058
VS
170272011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17028
17029 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
17030 word on new line if it's too long anyway. Fixes a hang.
17031
2e335e90
VS
170322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17033
17034 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
17035 const.
17036 * util/grub-setup.c (main): Reuse md device name if available.
17037 * util/raid.c (grub_util_raid_getmembers): Receive device name and
17038 not GRUB name as argument.
17039 Based on patch by: Florian Wagner <fwagner>.
17040
10a7a867
VS
170412011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17042
17043 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17044 Place mbi on low memory for better compatibility.
17045
7a3d6cd9
VS
170462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17047
17048 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
17049
18dd6b47
VS
170502011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
170512011-04-08 Colin Watson <cjwatson@ubuntu.com>
17052
17053 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 17054 * conf/Makefile.common: Likewise.
18dd6b47 17055
3c0e3f14
VS
170562011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17057
f7148863
VS
17058 * grub-core/normal/menu.c: Add missing include.
17059
170602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17061
17062 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 17063
6d1fa41f
MZ
170642011-04-08 Martin Zuther <mzuther@mzuther.de>
17065
17066 * util/grub-mkconfig.in: Ignore emacsen backup.
17067
478182a8
VS
170682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17069
17070 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
17071 on open.
17072 (grub_util_biosdisk_close): Likewise.
17073
72a89a54
VS
170742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17075
17076 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
17077 const attribute and use grub_isdigit.
17078
b5ebecfa
A
170792011-04-06 Andrey <dev_null@ukr.net>
17080
17081 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
17082 gcc warning.
17083
7755f66e
VS
170842011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17085
17086 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
17087 useful grub_dprintf's.
17088
461121ff
VS
170892011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17090
17091 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
17092
2a961775
VS
170932011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17094
17095 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
17096
adf594cc
VS
170972011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17098
17099 Output errors if theme loading failed.
17100
17101 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
17102 grub_gfxterm_fullscreen on error paths to ...
17103 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
17104 theme loading error.
17105
665900a3
VS
171062011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17107
17108 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
17109 space for older compilers.
17110 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17111
a562b479
VS
171122011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17113
17114 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
17115 and report them as not RAID members since they are useless for GRUB.
17116 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17117
850e9373
VS
171182011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17119
17120 Increase LVM implementation robustness in order not to crash on
17121 configurations like pvmove. Previously code assumed that in some places
17122 only lvs or only pvs are used whereas it seems that they are used
17123 interchangeably.
17124
17125 * grub-core/disk/lvm.c (read_node): New function.
17126 (read_lv): Use read_node.
17127 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
17128 Match volumes only at the end when all lvs are found. Take both
17129 pvs (first) and lvs (second) into account.
17130 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
17131 mirror_* into node_*. All users updated.
17132 (grub_lvm_stripe): Merge this ...
17133 (grub_lvm_mirror): ... and this ...
17134 (grub_lvm_node): ... into this. All users updated.
17135
6f332153
VS
171362011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17137
17138 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
17139 of function to allow further scanning for LVMs.
17140
829ea451
VS
171412011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17142
17143 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
17144 on failed seek as it breaks open fd reusage.
17145
09ceb9a5
VS
171462011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17147
17148 * util/grub-install.in: Add a recommendation to use --recheck before
17149 reporting bugs.
17150
67e11623
VS
171512011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17152
17153 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
17154 are obtained.
17155
caee5efd
VS
171562011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17157
17158 GRUB developper manual based on existing Internals section and
17159 contributions by the various authors with active copyright assignment.
17160
17161 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
17162 * docs/font_char_metrics.png: New file.
17163 * docs/font_char_metrics.txt: Likewise.
17164 * docs/grub-dev.texi: Likewise.
17165 * docs/grub.texi (Internals): Move from here ...
17166 * docs/grub-dev.texi: ... here.
17167
2cccc747
CW
171682011-04-01 Colin Watson <cjwatson@ubuntu.com>
17169
17170 Store the loopback device as data on loopback grub_disk structures,
17171 rather than the file it points to. This fixes use of freed memory
17172 if an existing loopback device is replaced.
17173
17174 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
17175 disk->data, not dev->file.
17176 (grub_loopback_read): Adjust file assignment to match.
17177 Fixes Ubuntu bug #742967.
17178
186ae367
CW
171792011-04-01 Colin Watson <cjwatson@ubuntu.com>
17180
17181 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
17182 when replacing an existing device.
17183
cfed2ad0
VS
171842011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
17185
17186 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
17187 memory corruptions.
17188
17189 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
17190 unsigned.
17191 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
17192 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
17193 (grub_jfs_read_inode): Likewise.
17194 (grub_jfs_opendir): Likewise. Remove now useless casts.
17195 (grub_jfs_getent): Likewise.
17196 Make ino a grub_uint32_t rather than int.
17197 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
17198 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
17199 division and module with bit operations.
17200 (grub_jfs_find_file): Make ino a grub_uint32_t.
17201 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
17202
05d2ed32
CW
172032011-04-01 Colin Watson <cjwatson@ubuntu.com>
17204
17205 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
17206 warning. (This was in fact always initialised before use, but GCC
17207 wasn't smart enough to prove that.)
17208 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
17209
91dc6073
VS
172102011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17211
17212 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
17213 stack alignment.
17214 (efi_wrap_1): Likewise.
17215 (efi_wrap_2): Likewise.
17216 (efi_wrap_3): Likewise.
17217 (efi_wrap_4): Likewise.
17218 (efi_wrap_5): Likewise.
17219 (efi_wrap_6): Likewise.
17220 (efi_wrap_10): Likewise.
17221 Based on information by: Red Hat/Peter Jones.
17222
a8afc1d1
CW
172232011-03-31 Colin Watson <cjwatson@ubuntu.com>
17224
17225 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
17226 set-but-not-used variable.
17227
a826cc7d
CW
172282011-03-31 Colin Watson <cjwatson@ubuntu.com>
17229
17230 * docs/grub.texi (Simple configuration): Be more explicit about
17231 GRUB_DEFAULT, and add an example.
17232 Reported by: Leslie Rhorer.
17233
875b67ba
CW
172342011-03-30 Colin Watson <cjwatson@ubuntu.com>
17235
17236 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
17237 shell".
17238
fd7cd914
AS
172392011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
17240
17241 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
17242 * util/grub.d/20_linux_xen.in: Likewise.
17243
090b1b6a
VS
172442011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17245
17246 * util/grub.d/10_linux.in: Try alternative config filenames where
17247 we parse config file.
17248 * util/grub.d/20_linux_xen.in: Likewise.
17249
baad885c
AS
172502011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
17251
17252 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
17253 * util/grub.d/20_linux_xen.in: Likewise.
17254
241e41f5
VS
172552011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17256
17257 * grub-core/disk/raid.c (insert_array): Add few potentially
17258 useful grub_util_info.
17259 (grub_raid_register): Likewise.
17260
56445fb2
VS
172612011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17262
17263 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
17264 Preserve partition number in mdadm code path.
17265
c871b1c6
VS
172662011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17267
17268 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
17269 few potentially useful grub_util_info.
17270
5e631b4f
CW
172712011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17272
17273 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
17274
2d5d0333
CW
172752011-03-30 Colin Watson <cjwatson@ubuntu.com>
17276
17277 * docs/grub.texi (default): Use @example rather than nested
17278 itemized lists to avoid breaking gendocs.
17279
3d7ed04e
CW
172802011-03-30 Colin Watson <cjwatson@ubuntu.com>
17281
17282 * docs/grub.texi (Future): Update.
17283
abf04200 172842011-03-30 Colin Watson <cjwatson@ubuntu.com>
17285
17286 * docs/grub.texi (Environment): New chapter.
17287 (Changes from GRUB Legacy): Link to "Environment block" section for
17288 details of limitations.
17289 (Simple configuration): Likewise. Link to documentation of gfxmode
17290 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
17291 respectively.
17292 (Shell-like scripting): Note that normal variables are stored in the
17293 environment.
17294 (gettext): Link to documentation of lang and locale_dir.
17295 (list_env): New section.
17296 (load_env): New section.
17297 (save_env): New section.
17298
17299 (Reporting bugs): Fix typo.
17300
e1ad0edd
VS
173012011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17302
17303 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
17304 the example.
17305
5d803174
VS
173062011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17307
17308 * grub-core/term/at_keyboard.c (set_scancodes)
17309 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
17310
2a2da1d0
CW
173112011-03-30 Colin Watson <cjwatson@ubuntu.com>
17312
17313 * docs/grub.texi (Menu-specific commands): Remove some semantics
17314 that were true in GRUB Legacy but not in GRUB 2.
17315 (submenu): New section.
17316 (false): New section.
17317 (read): New section.
17318 (true): New section.
17319
a7527639
CW
173202011-03-30 Colin Watson <cjwatson@ubuntu.com>
17321
17322 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
17323
173242011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
17325
17326 * docs/grub.texi (Simple configuration): Explain some of the
17327 current limitations of grub-mkconfig.
8a748df2 17328 Reported by: Leslie Rhorer.
e30af029 17329
fc858482
VS
173302011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17331
17332 Old macs search for boot.efi rather than for bootia32.efi.
17333
17334 * util/grub-install.in: Copy bootia32.efi to boot.efi.
17335 * util/grub-mkrescue.in: Likewise.
17336 Suggested by: Peter Jones.
17337
e1eb511d
VS
173382011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17339
17340 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
17341
70e75364
VS
173422011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17343
17344 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
17345 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
17346 (grub_lvm_mirror): New struct.
17347 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
17348 (grub_lvm_iterate): Iterate only visible volumes.
17349 (grub_lvm_read): Factor out to ..
17350 (read_lv): ... this. Support mirrors.
17351 (grub_lvm_read): New wrapper function.
17352 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
17353 stripped or mirrored.
17354
fc18f6a3
VS
173552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17356
17357 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
17358
5c650f4c
CW
173592011-03-29 Colin Watson <cjwatson@ubuntu.com>
17360
17361 * docs/grub.texi (loopback): New section.
17362
61d7156b
CW
173632011-03-29 Colin Watson <cjwatson@ubuntu.com>
17364
17365 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
17366 removed -p option.
17367
994b8264
CW
173682011-03-29 Colin Watson <cjwatson@ubuntu.com>
17369
17370 * docs/grub.texi (BIOS installation): New section, partly based on
17371 previous text in other sections.
17372 (Installing GRUB using grub-install): Replace BIOS discussion with a
17373 cross-reference.
17374 (Images): Likewise.
17375
9e4d19e0
VS
173762011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17377
17378 * grub-core/kern/emu/hostdisk.c (find_partition_start)
17379 [HAVE_DIOCGDINFO]: Add safety checks.
17380
a307c0b2
VS
173812011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17382
17383 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
17384 per default compiled in kernel and prior to 8.0 isn't shipped at all.
17385
b4db4f39
CW
173862011-03-29 Colin Watson <cjwatson@ubuntu.com>
17387
17388 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
17389 real_sb->size is zero (e.g. RAID-0), get the disk size from
17390 real_sb->data_size instead.
17391 Fixes Ubuntu bug #743136.
17392
35e5f84c
VS
173932011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17394
17395 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
17396 printf clauses for printing size and start.
17397
d2e29d81
VS
173982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17399
17400 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
17401 Reported and tested by: Timothy Nikkel.
17402
ed5587af
VS
174032011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17404
17405 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
17406 (dirty_region_add_real): ... this.
17407 (dirty_region_add): Don't discard margin refresh when performing
17408 scheduled repaint.
17409
a1dc717c
VS
174102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17411
17412 * grub-core/lib/relocator.c (allocate_regstart)
17413 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
17414 terminals are capabple of malloc-free operation.
17415 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
17416 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
17417
9f3677d3
VS
174182011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
17419
17420 * util/grub-setup.c: Copy the partition table zone if floppy support
17421 is disabled, even if no partition table is found.
17422
17423 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
17424 during POST if an invalid partition table is contained in the PBR
17425 of the active partition when GRUB is installed to a partition.
17426
24148725
CW
174272011-03-28 Colin Watson <cjwatson@debian.org>
17428
17429 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
17430 comment.
17431
f329eda7
CW
174322011-03-28 Colin Watson <cjwatson@debian.org>
17433
17434 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
17435 to be specific about what kind of RAID device we're scanning for.
17436
c482ad98
SG
174372011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
17438
17439 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
17440 return freed string.
17441
5ee04984
VS
174422011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17443
17444 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
17445
f4727da9
VS
174462011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17447
17448 Use libgeom on FreeBSD to detect partitions.
17449
17450 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
17451 (grub-mkrelpath): Likewise.
17452 (grub-script-check): Likewise.
17453 (grub-editenv): Likewise.
17454 (grub-mkpasswd-pbkdf2): Likewise.
17455 (grub-fstest): Likewise.
17456 (grub-mkfont): Likewise.
17457 (grub-mkdevicemap): Likewise.
17458 (grub-probe): Likewise.
17459 (grub-setup): Likewise.
17460 (grub-ofpathname): Likewise.
17461 (grub-mklayout): Likewise.
17462 (example_unit_test): Likewise.
17463 (grub-menulst2cfg): Likewise.
17464 * grub-core/Makefile.core.def (grub-emu): Likewise.
17465 (grub-emu-lite): Likewise.
17466 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
17467 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
17468 define HAVE_DIOCGDINFO.
17469 (follow_geom_up) [FreeBSD]: New function.
17470 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
17471 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
17472 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
17473 unconditionally of HAVE_DIOCGDINFO.
17474
82fe6c75
VS
174752011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17476
17477 Fix FreeBSD compilation problem.
17478
17479 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
17480 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
17481
4c6c9431
CW
174822011-03-24 Colin Watson <cjwatson@ubuntu.com>
17483
17484 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
17485 Switch back to page zero before loading a kernel, since some kernel
17486 drivers expect that.
17487 Thanks to: Felix Kuehling.
17488
c7064d94
VS
174892011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17490
17491 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
17492 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
17493 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
17494
3f71cded
VS
174952011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17496
17497 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
17498 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
17499
ef6de21a
VS
175002011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17501
17502 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
17503 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
17504 malloc is disabled.
17505
8bc66a2c
VS
175062011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17507
17508 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
17509 for modules headers when counting the needed allocation size.
17510
5657722c
VS
175112011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17512
17513 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
17514 if no ASCII character is found to prevent crash.
17515
41a85f55
AK
175162011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
17517
17518 * grub-core/video/bitmap.c (match_extension): Ignore case.
17519
59e1e5f1
VS
175202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17521
17522 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
17523
bd4d051a
VS
175242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17525
17526 * grub-core/script/parser.y: Declare "time" as valid argument.
17527
bae7fcc1
PJ
175282011-03-23 Peter Jones <pjones@redhat.com>
17529
17530 Fix incorrect assert failure reporting.
17531
17532 * grub-core/tests/example_functional_test.c (example_test): Add
17533 a failure comment.
17534 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
17535 (failure_start): ...this. Check that malloc succeeded.
17536 Don't call xvasprintf. Return failure struct.
17537 (failure_append_vtext): New function.
17538 (failure_append_text): Likewise.
17539 (add_failure): Likewise.
17540 (grub_test_assert_helper): Likewise.
17541 * include/grub/test.h (grub_test_assert_helper): New declaration.
17542 (grub_test_assert): Macro rewritten.
17543
537dc9be
VS
175442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17545
17546 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
17547
fa3e01bf
VS
175482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17549
17550 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
17551
b1d28404
VS
175522011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17553
17554 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
17555 into GRUB-style one.
17556
2e3e2e09
VS
175572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17558
17559 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
17560 error and not grub_errno.
17561 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
17562
ed57e557
VS
175632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17564
17565 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
17566 GRUB_USB_SPEED_NONE in case of failure and not the error code.
17567
d1611f01
VS
175682011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17569
17570 * grub-core/efiemu/i386/pc/cfgtables.c
17571 (grub_machine_efiemu_init_tables): Make declaration a prototype.
17572 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
17573 (grub_xnu_unlock): Likewise.
17574 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
17575
7d4e39d6
VS
175762011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17577
17578 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
17579 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
17580 * grub-core/commands/hashsum.c (aliases): Likewise.
17581 * grub-core/commands/setpci.c (pci_registers): Likewise.
17582 * grub-core/disk/usbms.c (attach_hook): Likewise.
17583 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
17584 (zio_checksum_table): Likewise.
17585 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
17586 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
17587 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
17588 * grub-core/lib/relocator.c (leftovers): Likewise.
17589 (extra_blocks): Likewise.
17590 * grub-core/loader/i386/bsd.c (relocator): Likewise.
17591 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
17592 (modules_last): Likewise.
17593 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
17594 (devices): Likewise.
17595 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
17596 (modules_last): Likewise.
17597 * grub-core/normal/auth.c (users): Likewise.
17598 * grub-core/normal/context.c (initial_menu): Likewise.
17599 (current_menu): Likewise.
17600 * grub-core/normal/crypto.c (crypto_specs): Likewise.
17601 * grub-core/term/serial.c (grub_serial_ports): Likewise.
17602 (grub_serial_terminfo_input_template): Likewise.
17603 (grub_serial_terminfo_output_template): Likewise.
17604 (grub_serial_terminfo_input): Likewise.
17605 (grub_serial_terminfo_output): Likewise.
17606 (registered): Likewise.
17607 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
17608
40fc4659
VS
176092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17610
17611 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
17612 grub_video_mode_type_t.
17613 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
17614 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
17615 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
17616
2da48d28
VS
176172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17618
17619 * util/grub-install.in: Correct the x86-64 name as x86_64.
17620
9b43bf39
CW
176212011-03-11 Colin Watson <cjwatson@ubuntu.com>
17622
17623 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
17624 initial chunk read from the kernel always includes GRUB's multiboot
17625 header, which is now outside the first sector.
17626
be1a7ce0
CW
176272011-03-09 Colin Watson <cjwatson@ubuntu.com>
17628
17629 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
17630 cached mmap_size, so that this works correctly when called multiple
17631 times.
17632 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
17633
83a3c48d
CW
176342011-03-09 Colin Watson <cjwatson@ubuntu.com>
17635
17636 * docs/grub.texi (Simple configuration): Tidy up formatting.
17637
57d75699
SJ
176382011-03-07 Szymon Janc <szymon@janc.net.pl>
17639
17640 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
17641 Set-but-not-used variable removed.
17642
028501a0
VS
176432011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17644
17645 Workaround yet another IEEE1275 bug.
17646
17647 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
17648 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
17649 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
17650 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
17651 is set.
17652 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17653 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
17654
d998657d
VS
176552011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17656
17657 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
17658 error.
17659
fee7cdd4
CW
176602011-02-11 Colin Watson <cjwatson@ubuntu.com>
17661
17662 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
17663 empty, since in that case we can only generate either nothing or a
17664 syntactically invalid configuration file.
17665 Reported by: Michal Suchanek. Fixes Debian bug #612898.
17666
97286eb5
CW
176672011-02-09 Colin Watson <cjwatson@ubuntu.com>
17668
17669 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
17670 (Making a GRUB bootable CD-ROM): Likewise.
17671 (Invoking grub-mkrescue): New section.
17672 Reported by: Yann Dirson. Fixes Debian bug #612585.
17673
22b28eb3
CW
176742011-02-09 Colin Watson <cjwatson@ubuntu.com>
17675
17676 * util/grub-install.in: Remove unnecessary brackets from tr
17677 arguments.
17678 * util/grub.d/10_hurd.in: Likewise.
17679 * util/grub.d/10_kfreebsd.in: Likewise.
17680 * util/grub.d/10_linux.in: Likewise.
17681 * util/grub.d/20_linux_xen.in: Likewise.
17682 Reported by: Jamie Heilman. Fixes Debian bug #612564.
17683
7e735e43
CW
176842011-02-08 Colin Watson <cjwatson@ubuntu.com>
17685
17686 * include/grub/file.h (not_easly_seekable): Rename to ...
17687 (not_easily_seekable): ... this. Update all users.
17688
800f1881
CW
176892011-01-28 Colin Watson <cjwatson@ubuntu.com>
17690
17691 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
17692 grub-mkrescue.
17693
3281d3d6
VS
176942011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
17695
17696 * util/grub-mkimage.c (generate_image): Refuse to create the images
17697 bigger than the actual flash (512K) in Loongson machines. 512K is also
17698 the biggest chip supported by them.
17699
3533413c
VS
177002011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17701
17702 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
17703
73ae4f4f
VS
177042011-01-22 Anthony DeRobertis <anthony@derobert.net>
17705
17706 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
17707 super_offset field.
17708
37f4f608
VS
177092011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17710
17711 * util/grub-install.in: Ignore install device on platforms
17712 where it doesn't make sense. Always use UUIDs except on pc, efi and
17713 sparc64.
17714 Reported by: Daniel Kahn Gillmor.
17715
03a4ccb5
VS
177162011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17717
17718 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
17719
ffc8f4d8
VS
177202011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17721
17722 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
17723 (iterate_real): Don't rely on partition being non-NULL.
17724
80f23be7
VS
177252011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17726
17727 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
17728 supported platforms. Put a compile time assert for this rather than
17729 generate a warning with 32-bit shift.
17730
5d4f4dd5
VS
177312011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17732
17733 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
17734 logical expression more readable.
17735
e489601a
VS
177362011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17737
17738 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
17739 even if some elements have a name.
17740 Reported by: Alexander GQ Gerasiov.
17741
96e0a6ea
CW
177422011-01-22 Colin Watson <cjwatson@ubuntu.com>
17743
17744 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
17745 path unreadable if `grub-probe -t abstraction' fails, for example if
17746 memberlist fails on an LVM volume group.
17747 Reported by: Darius Jahandarie.
17748
81431e2b
CW
177492011-01-22 Colin Watson <cjwatson@ubuntu.com>
17750
17751 * docs/grub.texi (Simple configuration): Document
17752 GRUB_PRELOAD_MODULES.
17753
5e79d66a
CW
177542011-01-17 Colin Watson <cjwatson@ubuntu.com>
17755
17756 * .bzrignore: Remove nonexistent grub-pbkdf2.
17757
646ada34
VS
177582011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
17759
17760 * configure.ac: Bump version to 1.99~rc1.
17761
04360337
VS
177622011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17763
17764 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
17765 for safety.
17766
46c9db88
VS
177672011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17768
17769 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
17770 module.
17771
177722011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
17773
17774 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
17775
4fbf1852
VS
177762011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17777
17778 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
17779 diskdevid.
17780
f1632d4d
VS
177812011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17782
17783 Fix compilation on cygwin.
17784
17785 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
17786 -R .drectve on cygwin.
17787 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
17788 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
17789 (COND_CYGWIN): New condition.
17790 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
17791 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
17792 not @TARGET_OBJ2ELF@.
17793 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
17794 type to determine whether aux is to be used.
17795
0b5e127b
VS
177962011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17797
17798 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
17799 realpath'ed device string.
17800 Handle floppy (somewhat).
17801 Issue error in unknown case rather than garbage.
17802 Reported by: Axel Beckert.
17803
173b71e9
VS
178042011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17805
17806 * util/grub.d/00_header.in (load_video): Handle the case when no video
17807 drivers available.
17808 Thanks to: Axel Beckert.
17809
f8f479db
VS
178102011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17811
17812 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
17813 variable. Fixes problem on big endian platforms.
17814
8fc0a245
VS
178152011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17816
17817 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
17818 It doesn't work well there.
17819
b8494fbe
VS
178202011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17821
17822 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
17823 warning.
17824 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
17825 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
17826 counter.
17827
b44a558c
VS
178282011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17829
17830 Use alias->path rather than buggy "canon".
17831
17832 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
17833 (ofdisk_hash_add): New argument curcan. All users updated.
17834
51fa856c
CW
178352011-01-11 Colin Watson <cjwatson@ubuntu.com>
17836
17837 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
17838
9da068a5
VS
178392011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17840
17841 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
17842 loadmask before doing any calculations. Use correct type for offset.
17843 (grub_linux_load64): Likewise.
17844
86205c94
CW
178452011-01-11 Colin Watson <cjwatson@ubuntu.com>
17846
17847 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
17848 with NULL.
17849 (console_grub_equivalences_unshift): Likewise.
17850 Reported by: Daniel Dehennin.
17851
4531a206
VS
178522011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17853
17854 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
17855 (set_env_limn_ro): Likewise.
17856 (GRUB_MOD_INIT): Likewise.
17857 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
17858 ARRAY_SIZE while on it.
17859 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
17860 * grub-core/normal/context.c (grub_env_export): Move from here ...
17861 * grub-core/kern/env.c (grub_env_export): ... here.
17862 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
17863 prefix.
17864 * grub-core/kern/main.c (grub_main): Export root and prefix.
17865 * include/grub/env.h (grub_env_export): Export.
17866 Reported by: Seth Goldberg.
17867
45146057
VS
178682011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17869
17870 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17871 Take into account space used by ELF sections and multiboot palette.
17872 Reported by: Grégoire Sutre.
17873
f093110b
VS
178742011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17875
17876 * BUGS: New file.
17877
3395fe52
VS
178782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17879
17880 Pass more appropriate video id to Linux.
17881
17882 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
17883 grub_video_get_driver_id and variable gfxpayloadforcelfb to
17884 fill have_vga.
17885 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
17886 shift params->lfb_size.
17887 * include/grub/i386/linux.h: Make an enume out of have_vga values.
17888
c2fa6cbb
VS
178892011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17890
17891 * util/grub-menulst2cfg.c: Add missing include of misc.h.
17892
b3ff6ff0
VS
178932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17894
17895 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
17896 separator and pass bootpath/devid even if only one of them is available.
17897 Reported by: Seth Goldberg.
17898
ae67942e
VS
178992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17900
17901 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
17902 implementations bug on them.
17903
17904 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
17905 memory.
17906 (filter_memory_map): Likewise.
17907
d570097a
VS
179082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17909
17910 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
17911 Reported by: nebuchadnezzar.
17912
a508e776
VS
179132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17914
17915 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
17916 Reported by: nebuchadnezzar.
17917
dcb883b1
VS
179182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17919
17920 Submenu default support.
17921
17922 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
17923 auto_boot. All users updated.
17924 Declared static.
17925 Handle chosen and default with submenus.
17926 (grub_menu_execute_with_fallback): Declared static.
17927 Don't notify failure if autobooted. Upper level does it.
17928 (menuentry_eq): New function.
17929 (get_entry_number): Use menuentry_eq.
17930 (show_menu): New parameter "autobooted". All users updated.
17931 (grub_show_menu): Likewise.
17932 * include/grub/normal.h (grub_show_menu): Likewise.
17933 * include/grub/menu.h (grub_menu_execute_entry): Removed.
17934 (grub_menu_execute_with_fallback): Likewise.
17935
6fef99b4
VS
179362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17937
17938 * util/grub-mklayout.c (usage): Update help text.
17939
47a77af5
VS
179402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17941
17942 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
17943
ce6bb3ee
VS
179442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17945
17946 * util/grub-menulst2cfg.c (main): Trim the line.
17947
db87be2a
VS
179482011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17949
17950 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
17951 (grub_machine_init): Don't check amount of low memory as reportedly
17952 INT 12h can be broken and if low memory is too low we wouldn't have
17953 gotten into grub_machine_init anyway.
17954
c49849cc
VS
179552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17956
17957 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
17958 (grub_machine_mmap_iterate): Take low memory into account
17959
b1969b30
VS
179602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17961
17962 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
17963 badfs.
17964 Reported by: TiCPU.
17965
cf0eaf13
VS
179662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17967
17968 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
17969 members errors.
17970
1f060f39
GS
179712011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17972
17973 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
17974 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
17975
a21e5672
GS
179762011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17977
17978 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
17979 openbsd and netbsd types being in part_bsd module.
17980
c88172fa
VS
179812011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17982
17983 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
17984 (_FILE_OFFSET_BITS): Likewise.
17985 Reported by: Seth Goldberg.
17986
53798c4b
GS
179872011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17988
17989 * configure.ac: Check for libdevmapper header.
17990
e7121b69
VS
179912011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
17994 avoid aliasing.
17995 (fzap_lookup): Likewise.
17996 (dnode_get): Likewise.
17997 (make_mdn): Likewise.
17998 (zfs_mount): Likewise.
17999 (fzap_iterate): Use temporary pointer to avoid aliasing.
18000 (grub_zfs_read): Likewise.
18001 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
18002 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
18003 pointers to avoid aliasing.
18004 (grub_cmd_xnu_kernel64): Likewise.
18005 (grub_xnu_load_driver): Likewise.
18006
fc836af9
VS
180072011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18008
18009 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
18010 aliasing warning.
18011 (grub_cmd_terminal_output): Likewise.
18012 Reported and tested by: Grégoire Sutre.
18013
f9f37648
VS
180142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18015
18016 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
18017 warning.
18018 Reported and tested by: Grégoire Sutre.
18019
ec1dfd63
VS
180202011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18021
18022 * configure.ac: Do CPU substitution even if it's specified explicitly.
18023 Reported and tested by: Alain Greppin.
18024
9462775a
VS
180252011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18026
18027 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
18028 Reported and tested by: Alain Greppin.
18029
0fd48e35
VS
180302011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18031
18032 Satisfy some bison versions need for inttypes.h.
18033
18034 * grub-core/lib/posix_wrap/inttypes.h: New file.
18035 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
18036 (int16_t): Likewise.
18037 (int32_t): Likewise.
18038 (int64_t): Likewise.
18039 Reported and tested by: Alain Greppin.
18040
43f1bc83
VS
180412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18042
18043 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
18044 Silence spurious warning.
18045 Reported and tested by: Alain Greppin.
18046
64d1f041
SJ
180472011-01-07 Szymon Janc <szymon@janc.net.pl>
18048
18049 * docs/grub.texi (Support automatic decompression): Update with xz
18050 decompression support.
18051
25953e10
SJ
180522011-01-07 Szymon Janc <szymon@janc.net.pl>
18053
18054 Improve loaders' kernel command line handling.
18055
18056 * grub-core/lib/cmdline.c: New file.
18057 * include/grub/lib/cmdline.h: Likewise.
18058 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
18059 grub_create_loader_cmdline to create kernel command line.
18060 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18061 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
18062 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
18063 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
18064 (linux): Add lib/cmdline.c on common.
18065
e72d259f
VS
180662011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18067
18068 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
18069 inopos might be unaligned.
18070
c0cf26da
VS
180712011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18072
18073 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
18074 endian transformations.
18075 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18076 Based on report by: Doug Nazar.
18077
0ca09e6c
DN
180782011-01-07 Doug Nazar <nazard.michi@gmail.com>
18079
18080 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
18081 array->members[i].start_sector.
18082 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
18083
014b6806
VS
180842011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18085
18086 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
18087 Reported and tested by: Grégoire Sutre.
18088
415502c2
CW
180892011-01-06 Colin Watson <cjwatson@ubuntu.com>
18090
18091 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
18092 avoid causing test failures by clearing the screen.
18093
71b6a2b7
CW
180942011-01-06 Colin Watson <cjwatson@ubuntu.com>
18095
18096 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18097 Fix prefix check to handle the case where dir ends with a slash
18098 (most significantly, "/" itself).
18099 Reported by: Michael Vogt.
18100
b3f8d28a
VS
181012011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18102
18103 Run terminfo_cls on initing terminfo output to clear the screen and
18104 move the cursor to (0,0).
18105
18106 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
18107 Call grub_terminfo_output_init.
18108 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
18109 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
18110 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
18111
4c3e4f37
VS
181122011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18113
18114 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
18115 only when needed.
18116
488f71f1
VS
181172011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18118
18119 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
18120 CTRL.
18121
18a38098
VS
181222011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18123
18124 The E820 type 5 is BADRAM, not EXEC_CODE.
18125
18126 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
18127 (GRUB_E820_BADRAM): New define.
18128 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
18129 into reserved. Propagate BADRAM.
18130 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
18131 (GRUB_E820_BADRAM): New define.
18132
9eae2084
VS
181332011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18134
18135 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
18136 Ignore the memory post-4G.
18137 (grub_relocator_firmware_alloc_region): Additional debug statement.
18138
ebc71d28
VS
181392011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18140
18141 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
18142 names.
18143 Reported by: David Pravec.
18144
446fa400
VS
181452011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18146
18147 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
18148 BIOSes.
18149
a0159f37
VS
181502011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18151
18152 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
18153 Prevent overflow.
18154 (grub_reed_solomon_recover): Likewise.
18155
e5146ca1
VS
181562011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18157
18158 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
18159
181602011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
18161
18162 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
18163 variable.
18164
5b1bdf12
CW
181652011-01-04 Colin Watson <cjwatson@ubuntu.com>
18166
18167 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
18168 descriptions of extract_legacy_entries_source and
18169 extract_legacy_entries_configfile.
18170 Reported by: Seung Soo, Ha.
18171
99d925aa
CW
181722011-01-03 Colin Watson <cjwatson@ubuntu.com>
18173
18174 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
18175 on devices that do not implement function 0.
18176
4af0504b
DV
181772011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
18178
18179 * grub-core/fs/hfsplus.c: Make parent unsigned.
18180 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
18181 overflows.
18182 (grub_hfsplus_cmp_extkey): Likewise
18183
469ee10a
VS
181842011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
18185
18186 * util/grub-install.in: Correctly use bootloader_id and not
18187 GRUB_DISTRIBUTOR on efibootmgr line.
18188
323a8e9c
VS
181892011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
18190
18191 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
18192
1b394975
IC
181932010-12-31 Ian Campbell <ijc@hellion.org.uk>
18194
18195 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
18196 Xen and reorder menu item wording to make it clearer that this entry
18197 will launch Xen. Print separate messages when loading Xen and
18198 Linux.
18199
275bff5f
VS
182002010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18201
18202 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
18203 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
18204 loop in case of incorrect amiga partmap.
18205
307806cb
VS
182062010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18207
18208 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
18209 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
18210 Reported by:EHeM.
18211
b12b923e
VS
182122010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18213
18214 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
18215 spurious warning.
18216 Reported by: crocket
18217
14b48a19
VS
182182010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18219
18220 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
18221 Preload EFIemu.
18222 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
18223
693db2df
VS
182242010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18225
18226 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
18227 is loaded
18228 (grub_cmd_xnu_kextdir): Likewise.
18229 (grub_cmd_xnu_splash): Likewise.
18230
c7638645
VS
182312010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 Avoid using Reed-Solomon with 0 redundancy.
18234
18235 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
18236 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
18237 or 0 redundancy.
18238 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
18239 (grub_reed_solomon_recover): Likewise.
18240
25dd4780
VS
182412010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18242
18243 Don't use disk subsystem in freebsd_boot.
18244
18245 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
18246 (freebsd_biosdev): Likewise.
18247 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
18248 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
18249
0b2db943
VS
182502010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
18251
18252 Handling of files of unknown size is currently limited. They can't be
18253 used e.g. for initrd or modules. Moreover gzip handling of not
18254 easily seekable files is buggy. Disable unknown file size for now. May
18255 be inefficient but works.
18256
18257 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
18258 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
18259
5c408d0f
MP
182602010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
18261
18262 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
18263 floppy probe.
18264
190a011a
JD
182652010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
18266
18267 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
18268
022d01b8
SL
182692010-12-25 Shea Levy <shlevy>
18270
18271 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
18272
c4855fdc
VS
182732010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18274
18275 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
18276 Windows Server 2008.
18277 Reported by: Devin Giddings.
18278
0354b867
VS
182792010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18280
18281 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
18282 writing an error message because of async power management.
18283 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
18284 (grub_reboot): Likewise.
18285
ab66c69f
JU
182862010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
18287
18288 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
18289 keep unit tests from failing when they shouldn't.
18290
1426ef35
CW
182912010-12-21 Colin Watson <cjwatson@ubuntu.com>
18292
18293 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
18294 previous patch increased the size of the RS code by 20 bytes (at
18295 least with gcc-4.4), so increase this by 20 bytes to match.
18296 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18297
20641b6b
CW
182982010-12-21 Colin Watson <cjwatson@ubuntu.com>
18299
18300 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
18301 scratch area. Make sure to initialise chosen in standalone mode as
18302 well as non-standalone.
18303 Reported by: Robert Hooker and Andy Whitcroft.
18304 Tested by: Andy Whitcroft.
18305
d060ad60
CW
183062010-12-21 Colin Watson <cjwatson@ubuntu.com>
18307
18308 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
18309 constructing a new unescaped string and passing it to grub_xputs in
18310 one go, rather than passing characters to grub_printf one at a time.
18311
b889cfad
CW
183122010-12-21 Colin Watson <cjwatson@ubuntu.com>
18313
18314 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
18315 initialising utf16.
18316
4e01b6c8
CW
183172010-12-21 Colin Watson <cjwatson@ubuntu.com>
18318
18319 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
18320 comment. Add an extra layer of quotation, requiring the output of
18321 this function to be used in a printf format string.
18322 (gettext_printf): New function.
18323 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
18324 Extract translatable strings from here-documents and use a temporary
18325 variable instead, so that xgettext can find them.
18326 * util/grub.d/10_kfreebsd.in: Likewise.
18327 * util/grub.d/10_linux.in: Likewise.
18328 * util/grub.d/20_linux_xen.in: Likewise.
18329
18330 * po/grub.d.sed: New file.
18331 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
18332 arguments. Set c-format flags on all strings extracted from
18333 util/grub.d/ (xgettext refuses to include these itself for strings
18334 it extracted from a shell file, but these really are c-format).
18335
5318fe98
VS
183362010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18337
18338 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
18339 Avoid next pointing to nowhere.
18340
6c85b743
VS
183412010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18342
18343 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
18344 rather than assuming than rootblock is exactly in the middle.
18345 (grub_affs_label): Likewise.
18346
a2a08a35
VS
183472010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18348
18349 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
18350 reserved_first_sector to 0.
18351 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
18352 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
18353 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
18354
7059d1ec
VS
183552010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18356
18357 Fix handling of UTF-16 UDF labels.
18358
18359 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
18360 (read_string): .. here.
18361 (grub_udf_label): Use read_string.
18362
30aff4cb
BC
183632010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
18364
18365 * grub-core/normal/menu_entry.c (run): Execute commands from menu
18366 editor under argument scope.
18367 Reported by: Jordan Uggla
18368
5cf86f4b
VS
183692010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18370
18371 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
18372
32570200
CW
183732010-12-18 Colin Watson <cjwatson@ubuntu.com>
18374
18375 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
18376 line, and other keys scroll an entire page (previous handling was
18377 for \r and \n to scroll a page and other keys to scroll two lines).
18378
e1dffcf2
VS
183792010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18380
18381 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18382 Set ptrdest to correct get_physical_target_address rather than
18383 incorrect get_virtual_current_address.
18384
b04298cf 183852010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
18386
18387 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
18388 correct cat to grub_uint8_t * rather than grub_uint32_t *.
18389
5367ecd3
CW
183902010-12-10 Colin Watson <cjwatson@ubuntu.com>
18391
18392 * .bzrignore: Ignore grub-core/rs_decoder.S.
18393
1fb430f8
CW
183942010-12-10 Colin Watson <cjwatson@ubuntu.com>
18395
18396 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
18397 .mo/.mo.gz opening sequence to ...
18398 (grub_mofile_open_lang): ... here.
18399 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
18400 * util/grub.d/00_header.in (grub_lang): Include country part of
18401 locale.
18402 Reported by: Mario Limonciello.
18403
a94a6671
RM
184042010-12-09 Robert Millan <rmh@gnu.org>
18405
18406 * NEWS: Document addition of ZFS support.
18407
24b7938b
CW
184082010-12-04 Colin Watson <cjwatson@ubuntu.com>
18409
18410 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
18411 rather than `/ 2', as the latter requires -Wa,--divide which would
18412 require bumping our minimum binutils version.
18413
bddc3ef6
BC
184142010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
18415
18416 * util/grub-script-check.c (main): Print script line number on
18417 error.
18418
bf78d5b2
RM
184192010-12-01 Robert Millan <rmh@gnu.org>
18420
18421 * grub-core/fs/zfs/zfs.c: New file.
18422 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
18423 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
18424 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
18425 * grub-core/fs/zfs/zfsinfo.c: Likewise.
18426
18427 * include/grub/zfs/dmu.h: Likewise.
18428 * include/grub/zfs/dmu_objset.h: Likewise.
18429 * include/grub/zfs/dnode.h: Likewise.
18430 * include/grub/zfs/dsl_dataset.h: Likewise.
18431 * include/grub/zfs/dsl_dir.h: Likewise.
18432 * include/grub/zfs/sa_impl.h: Likewise.
18433 * include/grub/zfs/spa.h: Likewise.
18434 * include/grub/zfs/uberblock_impl.h: Likewise.
18435 * include/grub/zfs/vdev_impl.h: Likewise.
18436 * include/grub/zfs/zap_impl.h: Likewise.
18437 * include/grub/zfs/zap_leaf.h: Likewise.
18438 * include/grub/zfs/zfs.h: Likewise.
18439 * include/grub/zfs/zfs_acl.h: Likewise.
18440 * include/grub/zfs/zfs_znode.h: Likewise.
18441 * include/grub/zfs/zil.h: Likewise.
18442 * include/grub/zfs/zio.h: Likewise.
18443 * include/grub/zfs/zio_checksum.h: Likewise.
18444
18445 * Makefile.util.def: Build ZFS into libgrubmods.
18446 * grub-core/Makefile.core.def: Build zfs.mod.
18447
3f0f3831
SJ
184482010-11-30 Szymon Janc <szymon@janc.net.pl>
18449
18450 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
18451 variable.
18452 * grub-core/commands/wildcard.c (match_files): Likewise.
18453
3a4253b2
RM
184542010-11-30 Robert Millan <rmh@gnu.org>
18455
18456 * grub-core/loader/i386/bsd.c
18457 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
18458 whether kernel is loaded using grub_loader_is_loaded(), rather
18459 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
18460 certain error conditions.
18461
8c317b27
RM
184622010-11-30 Robert Millan <rmh@gnu.org>
18463
c5c9cd3e
RM
18464 * grub-core/commands/echo.c: Include `<grub/term.h>'.
18465 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 18466
49d3ab46
VS
184672010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18468
18469 Avoid using tricks for initialising endian variables.
18470
18471 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
18472 Make const.
18473 (GRUB_MOD_INIT): Don't byte-swap.
18474 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18475 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
18476 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
18477 (grub_swap_bytes32_compile_time): Likewise.
18478 (grub_cpu_to_le32_compile_time): Likewise.
18479 (grub_cpu_to_le16_compile_time): Likewise.
18480
f420a804
VS
184812010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18482
18483 * util/grub-setup.c (setup): Stop recommending --force. People who
18484 understand the dangers of blocklists are able to find this option
18485 anyway and the ones who don't shouldn't use it anyway.
18486
4e7db17b
RM
184872010-11-26 Robert Millan <rmh@gnu.org>
18488
18489 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
18490 Update all users.
18491
9be57a0d
CW
184922010-11-26 Colin Watson <cjwatson@ubuntu.com>
18493
18494 Fix LVM-on-RAID probing.
18495
18496 * util/grub-probe.c (probe): Remember which disk was detected as
18497 RAID (perhaps an LVM physical volume). Use that disk's raidname
18498 rather than that of the top-level disk.
18499
2c7859b3 185002010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 18501
d7647bb6
BC
18502 Fix cmdline argument quotes for setparams command of menuentry
18503 definitions.
7e623b0d
BC
18504
18505 * grub-core/commands/menuentry.c (setparams_prefix): Use single
18506 quotes for arguments.
f866fe80 18507 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 18508 grub_strchrsub function instead.
f866fe80 18509
7955bea0 18510 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 18511
74f72a64
CW
185122010-11-24 Colin Watson <cjwatson@ubuntu.com>
18513
18514 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
18515 effort by skipping "." and ".." entries up-front.
18516 Suggested by: Michael Lazarev.
18517
5a407278
CW
185182010-11-24 Colin Watson <cjwatson@ubuntu.com>
18519
18520 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
18521 ldflags to ldadd, to fix link line ordering.
18522 (none_decompress): Likewise.
18523
3030d8ec
CW
185242010-11-24 Colin Watson <cjwatson@ubuntu.com>
18525
18526 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
18527 platforms.
18528 (grub-emu-lite): Remove kern/emu/cache.S.
18529
b7fbac12
CW
185302010-11-23 Colin Watson <cjwatson@ubuntu.com>
18531
18532 * util/deviceiter.c (compare_devices): If the by-id link for a
18533 device couldn't be resolved, fall back to sorting by the by-id link
18534 rather than segfaulting.
18535 Reported and tested by: Daniel Mierswa.
18536
5225f328
CW
185372010-11-23 Colin Watson <cjwatson@ubuntu.com>
18538
18539 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
18540 ldflags, to fix link line ordering.
18541
038b3ce8
CW
185422010-11-23 Colin Watson <cjwatson@ubuntu.com>
18543
18544 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
18545 linkers are picky about this.
18546
bf16e98e
CW
185472010-11-23 Colin Watson <cjwatson@ubuntu.com>
18548
18549 * grub-core/Makefile.am (command.lst): Adjust sed expression
18550 ordering so that extended and priority commands aren't treated as
18551 ordinary commands.
18552
7242bab6
CW
185532010-11-23 Colin Watson <cjwatson@ubuntu.com>
18554
18555 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18556 Remove byte-swapping function calls, which are not valid in
18557 structure initialisers.
18558 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
18559 non-const.
18560 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
18561 grub_gpt_partition_type_bios_boot.
18562
14e8b279
CW
185632010-11-22 Colin Watson <cjwatson@ubuntu.com>
18564
18565 Fix test program build on GNU/kFreeBSD.
18566
18567 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
18568 $(LIBNVPAIR)' library dependencies.
18569
e6f63338 185702010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
18571
18572 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
18573
cf8ffc38
CW
185742010-11-22 Colin Watson <cjwatson@ubuntu.com>
18575
18576 * util/grub-install.in: Remove excessive quoting that broke
18577 installations to RAID devices.
18578
7f8b0fd7
VS
185792010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18580
18581 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
18582 bootloader version instead of 0.
18583
dfd240b1
VS
185842010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18585
18586 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
18587 warning.
18588
7b61e609
VS
185892010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18590
18591 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
18592 retrieve the metadat sector if size isn't known.
18593 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18594
9dfe92d0
RM
185952010-11-18 Robert Millan <rmh@gnu.org>
18596
18597 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
18598 with grub_memcmp().
18599
41cc919e
VS
186002010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
18601
18602 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
18603 arrow.
18604 Reported by: Jordan Uggla.
18605
1afcc914
VS
186062010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18607
18608 Make better UTF compliant.
18609
18610 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
18611 sequences as incorrect.
18612 (grub_is_valid_utf8): Likewise.
18613 (grub_utf8_to_ucs4): Likewise.
18614 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
18615 (grub_ucs4_to_utf8_alloc): Likewise.
18616 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
18617
f1808884
VS
186182010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18619
18620 Make legacy_source behave like source.
18621
18622 * grub-core/commands/legacycfg.c (legacy_file): Don't call
18623 grub_show_menu.
18624 (grub_cmd_legacy_source): Call grub_show_menu if needed.
18625
24ec575b
CW
186262010-11-16 Colin Watson <cjwatson@debian.org>
18627
18628 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
18629 (-Wunused implies -Wunused-parameter, but not vice versa).
18630
72b7c7aa
CW
186312010-11-16 Colin Watson <cjwatson@ubuntu.com>
18632
18633 * configure.ac: Make error messages less confusing by testing for
18634 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
18635 accepted, but produces a diagnostic if something else is wrong).
18636
e98937aa
VS
186372010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18638
18639 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
18640 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
18641 (now unused).
18642 (grub_keyboard_controller_init)
18643 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
18644 read the initial state since controller isn't inited yet.
18645
f6bbabc3
VS
186462010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18647
18648 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
18649 allocate_regbeg may need to create new chunk header.
18650
22e7dbb2
VS
186512010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18652
18653 Fix quoting in legacy parser.
18654
18655 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
18656 single quotes.
18657 (grub_legacy_parse): Likewise.
18658 Reported by: Jordan Uggla.
18659 Tested by: Jordan Uggla.
18660
03f80960
VS
186612010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18662
18663 Don't add -lgcc on i386 and x86_64.
18664
18665 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
18666 * conf/Makefile.common (LDADD_KERNEL): Likewise.
18667 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
18668
779dc15b
VS
186692010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18670
18671 * configure.ac: Add -Wno-trampolines when supported.
18672
d20a3b37
MV
186732010-11-14 Modestas Vainius <modax@debian.org>
18674
18675 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
18676 fakeraid.
18677
e5360933
GC
186782010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18679
18680 Add generic logical block size support for UDF.
18681
18682 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
18683 (GRUB_UDF_BLKSZ): Removed.
18684 (struct grub_udf_data): New field "lbshift" to hold the logical block
18685 size of the file system in log2 format. All users updated.
18686 (sblocklist): Change type to unsigned.
18687 (grub_udf_mount): Change type of "sblklist" to unsigned.
18688 Move AVDP search before VRS recognition, because the latter requires
18689 knowledge of the logical block size, which is detected during the
18690 former.
18691 Detect and validate logical block size during AVDP search, adding
18692 support for block sizes 512, 1024 and 4096.
18693 Make VRS recognition independent of block size.
18694
cb0229c5
GC
186952010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18696
18697 Properly handle deleted files on UDF.
18698
18699 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
18700 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
18701 set.
18702
406858a8
GC
187032010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18704
18705 Support reading files larger than 2 GiB.
18706
18707 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
18708 "offset" to grub_off_t.
18709 (grub_udf_read_file): Likewise for parameter "pos".
18710
130da6a7
VS
187112010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18712
18713 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
18714 unavailable.
18715 (Simple configuration): Refer to Changes from GRUB Legacy about
18716 save_env availability.
18717
65e93f6b
VS
187182010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18719
18720 * util/grub-install.in: Ignore empty partition table detection
18721 instead of trying to include part_ module.
18722
1fd08bf1
VS
187232010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18724
18725 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
18726 LVM on RAID support.
18727
de1a024f
VS
187282010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18729
18730 Properly define WORDS_BIGENDIAN in wrapped environments.
18731
18732 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
18733 definition.
18734 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
18735
18736 Reported by: Manoel Rebelo Abranches.
18737 Tested by: Manoel Rebelo Abranches.
18738
bc5dd0b9
VS
187392010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18740
18741 * util/grub-mkconfig.in: Fix quoting.
18742
58c184be
VS
187432010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18744
18745 Support big ext2 files.
18746
18747 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
18748 (grub_ext2_read_block): Support triple indirect blocks.
18749 (grub_ext2_read_file): Use 64-bit types and read size_high.
18750 (grub_ext2_open): Read size_high.
18751 Reported by: Ximin Luo.
18752 Tested by: Manoel Rebelo Abranches.
18753
5f0c02b3
VS
187542010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18755
18756 * util/grub-install.in: Handle filenames containing spaces.
18757 Reported by: Jordan Uggla.
18758 Tested by: Jordan Uggla.
18759
4417aae6
VS
187602010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18761
18762 * util/grub-mkconfig.in (grub_script_check): New variable.
18763 Use grub_script_check instead of grub-script-check.
18764 Reported by: Barry Jackson.
18765
7625a68e
VS
187662010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18767
18768 * docs/grub.texi (menu): Correct the order.
18769 Reported by: D. Hugh Redelmeier.
18770
10001ac5
VS
187712010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
18772
18773 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
18774 jump.
18775
9c4cf53b
MRA
187762010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18777
10001ac5
VS
18778 * include/grub/elfload.h (grub_elf32_size): New parameter.
18779 All users updated.
9c4cf53b
MRA
18780 Return maximum segments alignment.
18781 (grub_elf64_size): Likewise.
18782 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
18783 Return maximum segments alignment.
18784 (grub_elf64_size): Likewise.
18785 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
18786 (grub_linux_claimmap_iterate): New function. Uses the
18787 "available" property in the "memory" node for memory allocation
18788 for kernel in the PowerPC loader.
9c4cf53b
MRA
18789 (grub_linux_load32): Correctly find linux entry point offset.
18790 (grub_linux_load64): Likewise.
18791
d2bf06bf
RM
187922010-11-07 Robert Millan <rmh@gnu.org>
18793
18794 On mips-yeeloong, build with -march=loongson2f when this flag is
18795 available (GCC >= 4.4).
18796 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
18797 `-march=mips3'.
18798 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
18799 or otherwise add -march=mips3.
18800
898c99a2
BC
188012010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
18802
87220a68
BC
18803 Suppress shell expansion on echo '*' and echo "*" like cases.
18804 Reported by: Jordan Uggla.
898c99a2
BC
18805
18806 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
18807 string arguments before shell expansion.
18808 * tests/grub_cmd_echo.in: New testcases.
18809
4f9b406a
RM
188102010-11-07 Robert Millan <rmh@gnu.org>
18811
18812 * conf/mips-qemu-mips.rmk: Remove stale file from previous
18813 transition.
18814
80c6d25e
VS
188152010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
18816
18817 * grub-core/kern/emu/hostdisk.c
18818 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
18819
4a1a0153
VS
188202010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18821
18822 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
18823 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
18824 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
18825
34706ddc
VS
188262010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18827
18828 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
18829
6972dea9
VS
188302010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18831
18832 * util/grub-install.in: Replace useless recomendation to pass
18833 --modules with a recomendation to report a bug.
18834
9c693bd6
VS
188352010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18836
18837 Properly register serial terminfo.
18838 Reported by: Jordan Uggla
18839
18840 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
18841 const.
18842 (grub_serial_terminfo_output_template): Likewise.
18843 (grub_cmd_serial): Register "serial" with terminfo.
18844 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
18845 grub_serial_terminfo_output.
18846
6c9e4c0c
RM
188472010-11-05 Robert Millan <rmh@gnu.org>
18848
18849 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
18850 needed).
18851
b9b3839f
RM
188522010-11-05 Robert Millan <rmh@gnu.org>
18853
18854 On Yeeloong, pass machine type information to Linux.
18855
18856 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
18857 (LOONGSON_MACHTYPE): New macro, set to
18858 "machtype=lemote-yeeloong-2f-8.9inches".
18859 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
18860 additional argument to Linux.
18861
1a3aaff4
RM
188622010-11-04 Robert Millan <rmh@gnu.org>
18863
18864 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
18865 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
18866 (its SATA disks are detected as slaveless IDE master drives on
18867 kFreeBSD).
18868 Reported by Carsten Aulbert.
18869
a75f4f62
CW
188702010-11-02 Colin Watson <cjwatson@ubuntu.com>
18871
18872 * util/bin2h.c (main): Fix spelling error in generated output.
18873
33b4b0c6
GS
188742010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
18875
18876 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
18877
2b36fbf4
VS
188782010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18879
18880 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
18881 vga= option is supplied.
18882
74aaf558
VS
188832010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18884
18885 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
18886 * util/grub.d/10_kfreebsd.in: Likewise.
18887 * util/grub.d/10_linux.in: Likewise.
18888 * util/grub.d/20_linux_xen.in: Likewise.
18889
6428dec3
VS
188902010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18891
18892 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
18893 argument as an argument to no-argument option.
18894
f8729d98
VS
188952010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18896
18897 * util/grub.d/10_linux.in: Add missing load_video with explicit
18898 GRUB_GFXPAYLOAD_LINUX.
18899
89d68fa6
VS
189002010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18901
18902 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
18903
3a1197cd
VS
189042010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18905
18906 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
18907 elements with invlid index.
18908 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18909 * grub-core/disk/raid.c (insert_array): Automatically reallocate
18910 members.
18911 * include/grub/raid.h (grub_raid_member): New struct.
18912 (grub_raid_array): Transform devices and start_sector into usage of
18913 grub_raid_member. All users updated
18914 (allocated_devs): New member.
18915
71574288
VS
189162010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18917
18918 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
18919 is modified
18920
8d40ec65
BC
189212010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
18922
18923 NetBSD build fix for getline function conflict from gnulib.
18924
18925 * Makefile.util.def (libgrubkern.a): New library for grub kernel
18926 components that depend on gnulib headers.
18927 (libgrubmods.a): Renamed from earlier libgrub.a.
18928 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
18929
95b9257e
VS
189302010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18931
18932 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
18933 install rather than creating a broken install.
18934
26c53dc6
VS
189352010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18936
18937 * util/grub-setup.c (argp): Remove misleading example of installing to
18938 a partition.
18939
4171b3c5
VS
189402010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18941
18942 * util/grub-setup.c (setup): Clarify the error message.
18943
18568d18
VS
189442010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18945
18946 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
18947
4f6a2e21
VS
189482010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
18949
18950 * grub-core/kern/emu/misc.c
18951 (grub_make_system_path_relative_to_its_root)
18952 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
18953
189542010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
18955
18956 * grub-core/kern/emu/misc.c
18957 (grub_make_system_path_relative_to_its_root): Revert r2882.
18958
e138c458
VS
189592010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
18960
18961 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
18962 useless field head. All users updated.
18963 (free_subchunk): Correct handling of IN_REGION subchunk.
18964
0cbcdf0e
CW
189652010-10-22 Colin Watson <cjwatson@ubuntu.com>
18966
18967 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
18968 (Supported kernels): Likewise.
18969
b65ea155
GS
189702010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18971
18972 Make mktemp invocations portable.
18973
18974 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
18975 exit if mktemp fails.
18976 * tests/grub_script_blockarg.in: Likewise.
18977 * tests/partmap_test.in: Likewise.
18978 * tests/util/grub-shell-tester.in: Likewise.
18979 * tests/util/grub-shell.in: Likewise.
18980 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18981 * Makefile.am: Likewise, and chain shell commands with `&&'
18982 instead of ';'.
18983 * util/grub-mkrescue.in: Use the same explicit template as above, and
18984 exit if mktemp fails.
18985
05f43cdd
BC
189862010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
18987
18988 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
18989 Linux kernel, reported by Dennis Schridde.
18990
800e6a9b
SJ
189912010-10-17 Szymon Janc <szymon@janc.net.pl>
18992
18993 * grub-core/normal/auth.c (grub_auth_check_authentication):
18994 Set-but-not-used variable removed.
18995
d82df574
VS
189962010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18997
18998 * docs/grub.texi (GNU/Linux): Document APM unavailability with
18999 32-bit linux protocol.
19000
7bced458
VS
190012010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19002
19003 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
19004 cursor shape for sanity.
19005
5b027690
VS
190062010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19007
19008 * docs/grub.texi (Installation): Document buggy BIOS install.
19009
ba5f65cf
VS
190102010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19011
19012 * docs/grub.texi (Installation): Indent.
19013
fdf2ec9c
VS
190142010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19015
19016 * util/grub-setup.c (setup): New parameter allow_floppy.
19017 (arguments): New member allow_floppy.
19018 (argp_parser): Handle --allow-floppy.
19019 (main): Pass allow_floppy.
19020 * util/grub-install.in: New option --allow-floppy passed though to
19021 grub-setup.
19022
861dfd4c
VS
190232010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19024
19025 * util/grub-install.in: Handle partitionless disks.
19026
f77a8c24
VS
190272010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19028
19029 * util/grub-setup.c (setup): Don't clean blocklists before readability
19030 verfification.
19031
27d9ee32
VS
190322010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19033
19034 * docs/grub.texi (Installation): Document embedding zone. Remove
19035 obsolete grub-install example.
19036
6bdda8f8
SJ
190372010-10-16 Szymon Janc <szymon@janc.net.pl>
19038
19039 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
19040 Set-but-not-used variable ifdef'ed.
19041 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
19042 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
19043 variable removed.
19044 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
19045 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
19046 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19047 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
19048 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
19049 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19050 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
19051 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
19052 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
19053 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
19054 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
19055 Likewise.
19056
e19b016b
VS
190572010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19058
19059 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
19060 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
19061 enum value.
19062
6c8d3002
VS
190632010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19064
19065 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
19066 synonym to _S5_. Needed for some DSDTs.
19067
c32b51c9
VS
190682010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19069
19070 Userspace ACPI parser debugging.
19071
19072 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
19073 headers and add relevant defines. Don't include standard headers.
19074 (main) [GRUB_DSDT_TEST]: New function.
19075 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
19076 Don't declare functions.
19077
fbfbeb39
VS
190782010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19079
19080 Remove dead grub_efi_mm_fini.
19081
19082 * grub-core/kern/efi/mm.c (allocated_page): Removed.
19083 (ALLOCATED_PAGES_SIZE): Likewise.
19084 (MAX_ALLOCATED_PAGES): Likewise.
19085 (allocated_pages): Likewise.
19086 (grub_efi_allocate_pages): Don't record allocated pages.
19087 (grub_efi_free_pages): Likewise.
19088 (grub_efi_mm_init): Likewise.
19089 (grub_efi_mm_fini): Removed.
19090
65f7ed7c
VS
190912010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19092
19093 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
19094 (grub_efi_mm_init): Take into account the memory map size increase.
19095
24977b44
VS
190962010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19097
19098 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
19099 (serial_hw_put): Wait based on real time rather than port reads. Don't
19100 roken ports.
19101 * include/grub/serial.h (grub_serial_port): New field broken.
19102
1eb01cd2
RM
191032010-10-16 Robert Millan <rmh@gnu.org>
19104
19105 * grub-core/kern/emu/misc.c
19106 (grub_make_system_path_relative_to_its_root): Fix premature return
19107 when processing non-root ZFS filesystems.
5f8b440b 19108 Reported by Sergio Talens-Oliag.
1eb01cd2 19109
2d5fed60
RM
191102010-10-15 Robert Millan <rmh@gnu.org>
19111
19112 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
19113 guarantee compressed ones are processed first.
19114
d0f4c1ea
VS
191152010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
19116
19117 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
19118 grub_efiemu_autocore.
19119
d87c681f
VS
191202010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
19121
19122 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
19123 rather than 0x1b.
19124 (grub_console_getkey): Use correct jae opcode rather than ja.
19125
219b3564
RM
191262010-10-12 Robert Millan <rmh@gnu.org>
19127
19128 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
19129 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
19130 variable. All references updated.
19131
19132 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
19133
20c6bb7e
VS
191342010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
19135
19136 Correctly distinguish mdraid flavours.
19137
19138 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
19139 (insert_array): New argument raid.
19140 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
19141 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
19142 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
19143
74baff84
VS
191442010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
19145
19146 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
19147 handling of special keys.
19148
3ef068df 191492010-10-02 Aleš Nesrsta <starous@volny.cz>
19150
c7980ad9
VS
19151 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
19152 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 19153
a9455194 191542010-10-02 Aleš Nesrsta <starous@volny.cz>
19155
c7980ad9
VS
19156 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
19157 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
19158 users updated.
a9455194 19159 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 19160 Use right endpoint when querying descriptor.
a9455194 19161
441cfe65
VS
191622010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
19163
19164 Clear out 0x80 color bit on EFI.
19165 Tested by: decoder
19166 Reported by: decoder and meta tech.
19167
19168 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
19169 (grub_console_setcolorstate): Clear out 0x80 bit.
19170 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
19171 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
19172 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
19173
bf26bcc4
VS
191742010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
19175
19176 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
19177 Set to "auto".
19178
6e3c515d
VS
191792010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19180
19181 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
19182 mo_file after freeing.
19183
e6d983ba
VS
191842010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19185
19186 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
19187
74ccb5b5
VS
191882010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19189
19190 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
19191 flags.
19192
17821956
VS
191932010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19194
19195 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
19196 usage.
19197
ee74fa48
VS
191982010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19199
19200 Put terminfo into core on ieee1275 and yeeloong (needed for console).
19201
19202 * gentpl.py: New groups terminfoinkernel and terminfomodule.
19203 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
19204 and terminfo.h when needed.
19205 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
19206 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
19207 (terminfo): Enable only on terminfokernel.
19208 (extcmd): Likewise.
19209 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
19210 * include/grub/lib/arg.h: Likewise.
19211 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
19212 incorrect usage of ->.
19213
aa438e68
VS
192142010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19215
19216 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
19217 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
19218
57994012
VS
192192010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19220
19221 Fix coreboot compilation.
19222
19223 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19224 Take VBE info into account even if only text is supported.
19225 (fill_vbe_info): Take into account the case when only VGA text
19226 is supported.
19227 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
19228 on coreboot, multiboot and qemu.
19229
2a406611
VS
192302010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19231
19232 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
19233 debug messages.
19234 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
19235
d33613fc
VS
192362010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19237
19238 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
19239 parameters.
19240
44a1b432
VS
192412010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19242
19243 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
19244 if they were BSD-style.
19245
edde54e6
VS
192462010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19247
19248 * grub-core/boot/i386/pc/lnxboot.S: Replace
19249 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
19250 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
19251
b65830fa
VS
192522010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19253
19254 Write embedding zone using Reed-Solomon.
19255
19256 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
19257 * grub-core/Makefile.am (rs_decoder.S): New target.
19258 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
19259 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
19260 (multiboot): Move to RS part.
19261 (post_reed_solomon): New label.
19262 (grub_boot_drive): Move to non-RS part since it's modified in memory
19263 on boot.
19264 Include rs_decoder.S.
19265 * grub-core/lib/reed_solomon.c: New file.
19266 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
19267 New definition.
19268 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
19269 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
19270 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
19271 * include/grub/partition.h (grub_partition_map): Change prototype of
19272 embed to allow returning additional sectors.
19273 * include/grub/reed_solomon.h: New file.
19274 * util/grub-setup.c (setup): Handle Reed-Solomon.
19275
0b4b227f
CW
192762010-09-28 Colin Watson <cjwatson@ubuntu.com>
19277
19278 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
19279 i386 and x86-64 definedness tests.
19280
f772623b
YB
192812010-09-27 Yves Blusseau <blusseau@zetam.org>
19282
19283 Fix generation of kernel_syms.lst
19284
19285 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
19286 ASM_PREFIX
19287
8e57a6ca
RM
192882010-09-26 Robert Millan <rmh@gnu.org>
19289
19290 Support degraded ZFS arrays in "grub-probe -t device" resolution.
19291
19292 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
19293 the pool is an array of devices, iterate through it and return the
19294 first device that passes a stat() test (instead of blindly returning
19295 the first one).
19296
f9130836
RM
192972010-09-26 Robert Millan <rmh@gnu.org>
19298
19299 Build fixes for GNU/kFreeBSD.
19300
19301 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
19302 to programs that require ZFS conversion.
19303 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
19304 kernels that don't have FLOPPY_MAJOR.
19305
96510faf
BC
193062010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
19307
19308 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
19309
449333eb
BC
193102010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
19311
19312 Fix grub-emu build.
19313
19314 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
19315 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
19316 mdraid09 and mdraid1x.
19317
e1fd1939
CW
193182010-09-24 Colin Watson <cjwatson@ubuntu.com>
19319
19320 Re-enable grub-extras.
19321
19322 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
19323 avoid confusing Automake. Run autogen only twice, once for the top
19324 level and once for grub-core. Add Makefile.util.def and
19325 Makefile.core.def from extra modules to the appropriate autogen
19326 invocations. If Makefile.common exists in an extra module, include
19327 it in both Makefile.util.am and grub-core/Makefile.core.am;
19328 similarly, include any Makefile.util.common file in Makefile.util.am
19329 and any Makefile.core.common file in grub-core/Makefile.core.am.
19330 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
19331 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
19332 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
19333 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
19334
19335 * gentpl.py (gvar_add): Turn GVARS into a set.
19336 (global_variable_initializers): Sort global variables on output.
19337 (vars_init): New function.
19338 (first_time): Likewise.
19339 (library): Ensure that non-global variable initialisations are
19340 emitted before the first time we emit code for a library block.
19341 Append to variables rather than setting them. Only emit
19342 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
19343 each conditional path.
19344 (program): installdir() emits an Autogen macro, so must be passed to
19345 var_add rather than gvar_add.
19346 (data): Likewise.
19347 (script): Likewise.
19348 (rules): New function, centralising handling for different target
19349 types. Set up Guile association lists for first_time and vars_init,
19350 and send most output to a diversion so that variable initialisations
19351 can be emitted first.
19352 (module_rules): Use new rules function.
19353 (kernel_rules): Likewise.
19354 (image_rules): Likewise.
19355 (library_rules): Likewise.
19356 (program_rules): Likewise.
19357 (script_rules): Likewise.
19358 (data_rules): Likewise.
19359
19360 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
19361
19362 * .bzrignore: Add contrib and grub-core/contrib. Remove
19363 grub-core/Makefile.gcry.am.
19364
1d12cf29
YB
193652010-09-24 Yves Blusseau <blusseau@zetam.org>
19366
19367 * grub-core/lib/LzFind.c: Add missing include.
19368 * grub-core/lib/LzmaEnc.c: Likewise.
19369 * grub-core/script/lexer.c: Likewise.
19370 * grub-core/script/yylex.l: Likewise.
19371 * util/grub-macho2img.c: Likewise.
19372 * util/grub-menulst2cfg.c: Likewise.
19373 * util/grub-mklayout.c: Likewise.
19374 * util/grub-mkpasswd-pbkdf2.c
19375 * util/grub-mkrelpath.c: Likewise.
19376 * util/resolve.c: Likewise.
19377
dd363028
BC
193782010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
19379
19380 * Makefile.util.def (example_unit_test): Add
19381 grub-core/gnulib/libgnu.a.
19382
f5a109e2
GS
193832010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
19384
19385 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
19386
6d0fa83c
VS
193872010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
19388
19389 Support xz compression on yeeloong.
19390
19391 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
19392 * configure.ac: Check for LZMA.
19393 * grub-core/Makefile.core.def (xz_decompress): New target.
19394 (none_decompress): Likewise.
19395 * grub-core/boot/decompressor/minilib.c: New file.
19396 * grub-core/boot/decompressor/none.c: Likewise.
19397 * grub-core/boot/decompressor/xz.c: Likewise.
19398 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
19399 * grub-core/kern/mips/cache_flush.S: Likewise.
19400 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
19401 * grub-core/kern/mips/startup.S: Move first stage to ...
19402 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
19403 nomacro.
19404 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
19405 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
19406 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
19407 Allocate statically.
19408 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
19409 Allocate statically or use scratch. Don't check CRC32.
19410 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
19411 Allocate statically. Don't check CRC32.
19412 * include/grub/decompressor.h: New file.
19413 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
19414 Removed.
19415 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
19416 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
19417 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
19418 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
19419 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
19420 * util/grub-mkimage.c (grub_compression_t): New type.
19421 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
19422 (image_target_desc): New field default_compression.
19423 (image_targets): Adjust yeeloong targets.
19424 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
19425 (compress_kernel): New parameter comp.
19426 (generate_image): Likewise. Handle new compression case.
19427 (options): New option --compression
19428 (help): Likewise.
19429 (main): Handle new option.
19430
1b655af6
GS
194312010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
19432
19433 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
19434
8f03f0b5
CW
194352010-09-22 Colin Watson <cjwatson@ubuntu.com>
19436
19437 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
19438 typo in __i386__ conditional.
19439
7835dfd3
VS
194402010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19441
19442 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
19443 include.
19444
e255597e
VS
194452010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19446
6d0fa83c 19447 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
19448
19449 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
19450 new tags as supported.
19451 (acpiv2_size): New function.
19452 (grub_multiboot_get_mbi_size): Take new tags into account.
19453 (grub_multiboot_make_mbi): Add new tags.
19454 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 19455
6cc14051 194562010-09-21 Aleš Nesrsta <starous@volny.cz>
19457
19458 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
19459 Added missing configuration of USB device.
19460
df7769d8
CW
194612010-09-21 Colin Watson <cjwatson@ubuntu.com>
19462
19463 * grub-core/normal/menu_entry.c (run): Make sure we always return
19464 a value.
19465
b031012d
CW
194662010-09-21 Colin Watson <cjwatson@ubuntu.com>
19467
19468 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
19469 NumberOfPages is UINT64 according to the UEFI specification, not
19470 UINTN. Fix printf format.
19471
174de8f3
CW
194722010-09-21 Colin Watson <cjwatson@ubuntu.com>
19473
19474 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
19475 `err' to grub_usb_err_t.
19476 Reported and tested by: KESHAV P.R.
19477
d7dbe923
CW
194782010-09-21 Colin Watson <cjwatson@ubuntu.com>
19479
19480 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
19481 tpart non-const, so that we can assign to it. (Since this is a
19482 typedef, the constness refers to the pointer rather than what it
19483 points to.)
19484
8d5e2af3
CW
194852010-09-21 Colin Watson <cjwatson@ubuntu.com>
19486
19487 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
19488 $(top_srcdir)/grub-core/gnulib as well as
19489 $(top_builddir)/grub-core/gnulib.
19490 Reported by: KESHAV P.R.
19491
5c527783
CW
194922010-09-21 Colin Watson <cjwatson@ubuntu.com>
19493
19494 * util/grub-install.in: Fix the bootloader ID option to be
19495 consistently --bootloader-id, not --bootloader_id.
19496 Reported by: KESHAV P.R.
19497
d309a16e
CW
194982010-09-21 Colin Watson <cjwatson@ubuntu.com>
19499
19500 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
19501 check hash checksum." consistently translatable.
19502
b830cd16
YB
195032010-09-21 Yves Blusseau <blusseau@zetam.org>
19504
19505 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
19506 $(top_builddir).
19507
c4fe27a8
CW
195082010-09-21 Colin Watson <cjwatson@ubuntu.com>
19509
19510 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
19511 (GRUB_MOD_INIT): Register sha1sum command.
19512 (GRUB_MOD_FINI): Unregister sha1sum command.
19513
a4c1d277
YB
195142010-09-21 Yves Blusseau <blusseau@zetam.org>
19515
19516 Keep boot and grub directory names in sync with utils scripts
19517
19518 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
19519 * config.h.in: Add previous macros.
19520 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
19521 * util/grub-install.in: Use $bootdir and $grubdir variables.
19522
4eff79d2
CW
195232010-09-21 Colin Watson <cjwatson@ubuntu.com>
19524
19525 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
19526 convert partition names to disk names if the new `convert' parameter
19527 is set.
19528 (grub_util_biosdisk_get_grub_dev): If opening the disk device
19529 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
19530 disk in its own right. This can happen with Xen disk images.
19531
934d7e44
YB
195322010-09-21 Yves Blusseau <blusseau@zetam.org>
19533
19534 * util/grub-editenv.c: Update strings to avoid warnings when generating
19535 grub.pot file.
19536 * util/grub-setup.c: Likewise.
934d7e44 19537
df3367cc
VS
195382010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19539
19540 * configure.ac: Change version to 1.99~beta0.
19541
77a94e98
VS
195422010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19543
19544 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
19545 Add BADRAM.
19546 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
19547 Likewise.
19548 * include/multiboot.h: Resynced with specification.
19549 * include/multiboot2.h: Likewise.
19550
269004c1
CW
195512010-09-21 Colin Watson <cjwatson@ubuntu.com>
19552
19553 Fix po directory handling.
19554
19555 * configure.ac: Create po/Makefile.in rather than po/Makefile.
19556 * grub-core/gnulib/Makefile.am: Import gettext module.
19557 * m4/gnulib-cache.m4: Likewise.
19558 * m4/gnulib-comp.m4: Likewise.
19559 * m4/gettext.m4: New file, from gnulib.
19560 * m4/glibc2.m4: Likewise.
19561 * m4/iconv.m4: Likewise.
19562 * m4/intdiv0.m4: Likewise.
19563 * m4/intl.m4: Likewise.
19564 * m4/intldir.m4: Likewise.
19565 * m4/intlmacosx.m4: Likewise.
19566 * m4/intmax.m4: Likewise.
19567 * m4/inttypes-pri.m4: Likewise.
19568 * m4/lcmessage.m4: Likewise.
19569 * m4/lib-ld.m4: Likewise.
19570 * m4/lib-link.m4: Likewise.
19571 * m4/lib-prefix.m4: Likewise.
19572 * m4/lock.m4: Likewise.
19573 * m4/nls.m4: Likewise.
19574 * m4/po.m4: Likewise.
19575 * m4/printf-posix.m4: Likewise.
19576 * m4/progtest.m4: Likewise.
19577 * m4/threadlib.m4: Likewise.
19578 * m4/uintmax_t.m4: Likewise.
19579 * m4/visibility.m4: Likewise.
19580 * po/Makefile.am: Remove.
19581 * po/Makefile.in.in: New file, from gettext.
19582 ($(DOMAIN).pot-update): Support POTFILES-shell.
19583 * po/Makevars: New file.
19584 * po/POTFILES-shell: Rename to ...
19585 * po/POTFILES-shell.in: ... this. Update.
19586 * po/POTFILES: Rename to ...
19587 * po/POTFILES.in: ... this. Update.
19588 * po/Rules-quot: New file, from gettext.
19589 * po/boldquot.sed: Likewise.
19590 * po/en@boldquot.header: Likewise.
19591 * po/en@quot.header: Likewise.
19592 * po/insert-header.sin: Likewise.
19593 * po/quot.sed: Likewise.
19594 * po/remove-potcdate.sin: Likewise.
19595
3e0fa5d0
VS
195962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19597
19598 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
19599
ade9bd66
VS
196002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19601
19602 * util/grub.d/20_linux_xen.in: Use submenus.
19603
fc55cc4c
VS
196042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19605
19606 Support submenus.
19607
19608 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
19609 parameter submenu. All users updated.
19610 * grub-core/normal/main.c (free_menu): Rename to ...
19611 (grub_normal_free_menu): ... this. Made global.
19612 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
19613 if requested.
19614 * grub-core/normal/menu_entry.c (screen): New field submenu.
19615 (make_screen): Set submenu.
19616 (run): Open new context if requested.
19617 * include/grub/menu.h (grub_menu_entry): New field submenu.
19618 * include/grub/normal.h (grub_normal_free_menu): New proto.
19619
600cedf7
VS
196202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19621
19622 Menu entries extractor.
19623
19624 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
19625 variants.
19626 (GRUB_MOD_INIT): Register new variants.
19627 (GRUB_MOD_FINI): Unregister new variants.
19628 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
19629 into grub_cmd_legacy_source.
19630 (grub_cmd_legacy_source): Implement extractor variants.
19631 (GRUB_MOD_INIT): Register new variants.
19632 (GRUB_MOD_FINI): Unregister new variants.
19633 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
19634 as an extractor.
19635 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
19636 search as an extractor.
19637 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
19638 test as an extractor.
19639 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
19640 as an extractor.
19641 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
19642 (grub_env_new_context): New function.
19643 (grub_env_context_open): Likewise.
19644 (grub_env_extractor_open): Likewise.
19645 (grub_env_extractor_close): Likewise.
19646 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19647 grub_extractor_level.
19648 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
19649 * include/grub/env.h (grub_env_extractor_open): New proto.
19650 (grub_env_extractor_close): Likewise.
19651 * include/grub/normal.h (grub_extractor_level): New external variable.
19652
7bda3a87
VS
196532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19654
19655 Make cutmem accept a region specification.
19656 Suggested by: Samuel Thibault
19657
19658 * grub-core/mmap/mmap.c (parsemem): New function.
19659 (grub_cmd_cutmem): Handle new arguments.
19660
2ea57f88
VS
196612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19662
19663 New command cutmem.
19664
19665 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
19666 (GRUB_MOD_INIT): Register new command.
19667 (GRUB_MOD_FINI): Unregister new command.
19668
74342e31
VS
196692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19670
19671 Support some annoying BSD and Minix subpartitions.
19672
19673 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
19674 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
19675 Properly handle concatenation.
19676 * grub-core/kern/device.c (grub_device_iterate): Likewise.
19677 * grub-core/normal/completion.c (iterate_partition): Likewise.
19678 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
19679 contain partition. All users updated.
19680 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
19681 struct.
19682 (grub_openbsdlabel_partition_map): Likewise.
19683 (bsdlabel_partition_map_iterate): Rename to ..
19684 (iterate_real): ... this. New arguments sector, freebsd and pmap.
19685 (bsdlabel_partition_map_iterate): New function.
19686 (netopenbsdlabel_partition_map_iterate): Likewise.
19687 (netbsdlabel_partition_map_iterate): Likewise.
19688 (openbsdlabel_partition_map_iterate): Likewise.
19689 (GRUB_MOD_INIT): Register new partmaps.
19690 (GRUB_MOD_FINI): Unregister new partmaps.
19691 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
19692 (grub_partition_msdos_iterate): ... this. All users updated.
19693 Don't support embedding other than in a minix partition.
19694 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
19695 proto.
19696 * include/grub/partition.h (grub_partition): New field msdostype.
19697 * util/grub-install.in: Handle openbsd and netbsd types being in
19698 part_bsd module.
19699
1e8d555b
VS
197002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19701
19702 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
19703
19704 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
19705 * grub-core/Makefile.core.def (mdraid): Renamed to ...
19706 (mdraid09): ... this.
19707 (mdraid1x): New module.
19708 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
19709 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
19710
899d8af4
VS
197112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19712
19713 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
19714 vsprintf.
19715
40901acd
CW
197162010-09-20 Colin Watson <cjwatson@ubuntu.com>
19717
19718 * grub-core/commands/efi/lsefimmap.c: Correct header.
19719 * NEWS: Update.
19720
dfe3b247
CW
197212010-09-20 Colin Watson <cjwatson@ubuntu.com>
19722
19723 * util/grub-editenv.c (argp_parser): Don't pass translated strings
19724 as printf format strings; the translations might contain '%' which
19725 could cause a crash.
19726 (main): Likewise.
19727 * util/grub-fstest.c (argp_parser): Likewise.
19728 * util/grub-setup.c (argp_parser): Likewise.
19729 (main): Likewise.
19730
3286a4b4
VS
197312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19732
19733 Use argp in grub-fstest.
19734
19735 * util/grub-fstest.c: Don't include getopt.h.
19736 Include argp.h.
19737 (root): New variable.
19738 (args_count): Likewise.
19739 (nparm): Likewise.
19740 (num_disks): Likewise.
19741 (images): Likewise.
19742 (cmd): Likewise.
19743 (debug_str): Likewise.
19744 (args): Likewise.
19745 (options): Transformed to argp.
19746 (usage): Removed.
19747 (main): Split argument parsing into ...
19748 (argp_parser): ... this. Changed to argp format.
19749 (argp): New variable.
19750 (main): Use argp_parse.
19751
3dccbe4b
TG
197522010-09-20 Tristan Gingold <gingold@free.fr>
197532010-09-20 Robert Millan <rmh.grub@aybabtu.com>
197542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19755
19756 * grub-core/commands/efi/lsefimmap.c: New file.
19757 * grub-core/Makefile.core.def (lsefimmap): New module.
19758 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
19759
38c259a7
VS
197602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19761
19762 Pause the execution (10s max) if any errors are displayed so the user
19763 has a chance to see them.
19764
19765 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
19766 (grub_print_error): Increment grub_err_printed_errors.
19767 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
19768 execution if any errors were displayed.
19769 (show_menu): Remove old code for pause.
19770 * grub-core/normal/menu_entry.c (run): Likewise.
19771 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
19772 users updated.
19773 (grub_normal_get_char_counter): Likewise.
19774 * include/grub/err.h (grub_err_printed_errors): New external variable.
19775 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
19776
f218b09c
VS
197772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19778
19779 Support multiboot VBE info.
19780
19781 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19782 Take VBE info into account.
19783 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
19784 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19785 Call fill_vbe_info when appropriate.
19786 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
19787 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
19788 as supported.
19789 (grub_multiboot_get_mbi_size): Take new tags into account.
19790 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
19791 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19792 Call fill_vbe_tag when appropriate.
19793 (grub_multiboot_make_mbi): Properly align tags.
19794 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
19795 function.
19796 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
19797 proto.
19798 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
19799
a9cc5438
VS
198002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19801
19802 Suport manual terminal geometry specification.
19803
19804 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
19805 Save state in grub_ofconsole_terminfo_output.
19806 (grub_ofconsole_term): Use grub_terminfo_getwh.
19807 (grub_ofconsole_getwh): Removed.
19808 * grub-core/term/serial.c (grub_serial_getwh): Removed.
19809 (grub_serial_term): Use grub_terminfo_getwh.
19810 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
19811 (options): New struct.
19812 (OPTION_*): New enum.
19813 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
19814 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
19815 width and height.
19816 (grub_terminfo_getwh): New proto.
19817 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
19818
1a8fed20
VS
198192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19820
19821 Handle legacy "terminal" command.
19822
19823 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
19824 and FLAG_TERMINAL.
19825 (legacy_commands): Add terminal and title.
19826 (grub_legacy_parse): Handle terminal. Simplify title handling.
19827
41e9c57d
VS
198282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19829
19830 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
19831 parameters overflow.
19832
61c874c5
CW
198332010-09-20 Colin Watson <cjwatson@ubuntu.com>
19834
19835 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
19836 widthspec.h.
19837
19838 * docs/grub.texi (Shell-like scripting): Document `!'.
19839 (Network): Simplify using new i386-pc-pxe format. Mention
19840 grub-mknetdir.
19841
19842 * NEWS: Update.
19843
943682b4
CW
198442010-09-20 Colin Watson <cjwatson@ubuntu.com>
19845
19846 * Makefile.am (SUBDIRS): Restore "."; it's important to force
19847 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
19848 when needed.
19849
6d3d698d
CW
198502010-09-20 Colin Watson <cjwatson@ubuntu.com>
19851
19852 * grub-core/commands/efi/lsefisystab.c: Correct header.
19853 * grub-core/commands/efi/lssal.c: Likewise.
19854 * grub-core/commands/testload.c: Likewise.
19855
c982589f
CW
198562010-09-20 Colin Watson <cjwatson@ubuntu.com>
19857
19858 * util/grub-mkrescue.in: Add explicit root argument to --set to
19859 prevent the UUID being interpreted as an argument to --set (matches
19860 previous change to prepare_grub_to_access_device).
19861
a63c31b6
CW
198622010-09-20 Colin Watson <cjwatson@ubuntu.com>
19863
19864 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
19865 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
19866 the verbosity of later #ifs.
19867 (find_partition_start): Define this function on FreeBSD too.
19868 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
19869 function.
19870 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
19871 on FreeBSD.
19872
6439b8ee
YB
198732010-09-20 Yves Blusseau <blusseau@zetam.org>
19874
19875 * util/grub-editenv.c: Use argp instead of getopt.
19876
c5930ec8
YB
198772010-09-20 Yves Blusseau <blusseau@zetam.org>
19878
19879 * util/grub-setup.c: Use argp instead of getopt.
19880
15c69261
YB
198812010-09-20 Yves Blusseau <blusseau@zetam.org>
19882
19883 Use gnulib-tool to create gnulib source files.
19884
19885 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
19886 grub-core/gnulib directories
19887 * .bzignore: Add **/.deps and autogenerated gnulib files
19888 * configure.ac: Assign auxiliary directory to build-aux, add invocation
19889 of gnulib macros, add grub-core/gnulib/Makefile
19890 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
19891 include m4 directory to aclocal.
19892 * Makefile.util.def: Remove direct compilation of gnulib source files
19893 and use the new grub-core/gnulib/libgnu.a.
19894 * build-aux/config.rpath: move config.rpath from top directory to
19895 build-aux
19896 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
19897 in gnulib headers
19898 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
19899 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
19900 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
19901 header.
19902 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
19903 string.
19904
e511c9f5
YB
199052010-09-20 Yves Blusseau <blusseau@zetam.org>
19906
19907 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
19908 grub-core/genmod.sh and grub-core/gensyminfo.sh
19909
c2dede05
BC
199102010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
19911
19912 Add a test for echo command options.
19913
19914 * tests/grub_cmd_echo.in: New test.
19915 * Makefile.util.def: Rules for new test.
19916
c55f5018
SJ
199172010-09-20 Szymon Janc <szymon@janc.net.pl>
19918
19919 Remove crc.mod and move crc command to hashsum.mod.
19920 Remove lib/crc.c - users updated to use gcrypt implementation.
19921
19922 * grub-core/commands/crc.c: Removed.
19923 * grub-core/Makefile.core.def (crc): Module removed.
19924 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
19925 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
19926 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
19927 * grub-core/lib/crc.c: Removed.
19928 * include/grub/lib/crc.h: Removed.
19929 * Makefile.util.def (crc): Remove lib/crc.c
19930 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
19931 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
19932 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
19933 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
19934 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
19935 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
19936
e0337366
VS
199372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19938
19939 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
19940
742f9232
VS
199412010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19942
19943 Split config.h for util and core.
19944
19945 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
19946 (ADDR32): Likewise.
19947 (DATA32): Likewise.
19948 (BSS_START_SYMBOL): Likewise.
19949 (END_SYMBOL): Likewise.
19950 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
19951 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
19952 * config.h.in: New file.
19953 * configure.ac: Use config-util.h as config define file.
19954 Rename MACHINE into GRUB_MACHINE. All users updated.
19955 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
19956 updated.
19957 (NESTED_FUNC_ATTR): Likewise.
19958 Substitue new variables.
19959 (COND_HAVE_ASM_USCORE): New conditional.
19960 * grub-core/Makefile.am (ASM_PREFIX): New variable.
19961 (kernel_syms.lst): Use ASM_PREFIX.
19962 * grub-core/kern/emu/console.c: Include config-util.h.
19963 * grub-core/kern/emu/misc.c: Likewise.
19964 * grub-core/kern/emu/mm.c: Likewise.
19965 * include/grub/emu/misc.h: Likewise.
19966 * include/grub/libgcc.h: Likewise.
19967
39feb0e8
VS
199682010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19969
19970 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
19971 constants usage.
19972 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
19973 Fix GRUB_TERM_KEY_* constants usage.
19974 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
19975
9af6dac3
VS
199762010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19977
19978 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
19979 print pointer.
19980 * grub-core/bus/usb/uhci.c: Remove empty define.
19981 (grub_uhci_check_transfer): Add missing cast.
19982 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
19983 print pointer.
19984 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
19985 PRIuGRUB_SIZE.
19986 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
19987
d6d94820
VS
199882010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19989
19990 * grub-core/Makefile.core.def (legacycfg): Add
19991 lib/i386/pc/vesa_modes_table.c on emu.
19992
3572f2b6
BC
199932010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19994
19995 Reduce number of temporary files generated by build system.
19996
19997 * grub-core/gencmdlist.sh: Removed.
19998 * grub-core/genfslist.sh: Removed.
19999 * grub-core/genhandlerlist.sh: Removed.
20000 * grub-core/genmodsrc.sh: Removed.
20001 * grub-core/genpartmaplist.sh: Removed.
20002 * grub-core/genparttoollist.sh: Removed.
20003 * grub-core/gentermiinallist.sh: Removed.
20004 * grub-core/genvideolist.sh: Removed.
20005
20006 * grub-core/genmod.sh.in: New file.
20007 * grub-core/gensyminfo.sh.in: New file.
20008
20009 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
20010 * conf/Makefile.extra-dist: Update with new files.
20011 * gentpl.py: Remove rules related to unnecessary temporary files.
20012 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
20013 and und-* files.
20014 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
20015 genmod.sh scripts.
20016 * grub-core/bus/usb/uhci.c: Remove empty #define.
20017 * grub-core/genmoddep.awk: Updated with new syminfo format.
20018 * util/bash-completion.d/Makefile.am: Add config.log to
20019 CLEANFILES.
20020
c836b030
YB
200212010-09-19 Yves Blusseau <blusseau@zetam.org>
20022
20023 * Makefile.util.def: Add forgotten $(LIBINTL) library.
20024
2f4e8053
BC
200252010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
20026
20027 * util/grub-mkconfig.in: Check the config script for syntax errors
20028 before saving.
20029
75831c34
CW
200302010-09-19 Colin Watson <cjwatson@ubuntu.com>
200312010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20032
20033 * Makefile.util.def (grub-install): Use util/grub-install.in on all
20034 platforms.
20035 * util/grub-install.in: Add EFI and IEEE1275 support.
20036 * util/i386/efi/grub-install.in: Removed.
20037 * util/ieee1275/grub-install.in: Likewise.
20038
eaf41b25
VS
200392010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20040
20041 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
20042 (grub_cmd_cmosclean): Likewise.
20043 (GRUB_MOD_INIT): Register command cmosclean.
20044 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
20045 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
20046
1a9130dd
CPE
200472010-09-18 Carles Pina i Estany <carles@pina.cat>
200482010-09-18 Aleš Nesrsta <starous@volny.cz>
200492010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20050
20051 Add keyboard layouts support.
20052
20053 * Makefile.util.def (grub-mklayout): New file.
20054 (grub-kbdcomp): New script.
20055 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
20056 Add keyboard_layouts.h.
20057 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
20058 commands/boot.c on yeeloong.
20059 (keylayouts): New module.
20060 * grub-core/bus/usb/ohci.c
20061 * grub-core/bus/usb/uhci.c
20062 * grub-core/bus/usb/usbhub.c (rescan): New variable.
20063 (grub_usb_add_hub): Poll interrupt pipe for device handling.
20064 (attach_root_port): Likewise.
20065 (poll_nonroot_hub): Likewise.
20066 (grub_usb_poll_devices): Likewise.
20067 (detach_device): Close transfer.
20068 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
20069 function.
20070 (grub_usb_bulk_setup_readwrite): Likewise.
20071 (grub_usb_bulk_finish_readwrite): Likewise.
20072 * grub-core/commands/keylayouts.c: New file.
20073 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
20074 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
20075 aliases.
20076 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
20077 support scancode 2.
20078 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
20079 * include/grub/keyboard_layouts.h: New file.
20080 * util/grub-mklayout.c: New file.
20081 * util/grub-kbdcomp.in: Likewise.
20082
a1d84a5e
VS
200832010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20084
20085 Unify memory types.
20086
20087 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
20088 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
20089 types.
20090 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
20091 (grub_upper_mem): Likewise.
20092 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
20093 * include/grub/memory.h (grub_memory_type_t): New enum.
20094 All users updated.
20095
9696382e
VS
200962010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20097
20098 * grub-core/Makefile.core.def (lsapm): New module.
20099 * grub-core/commands/i386/pc/lsapm.c: New file.
20100 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
20101 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
20102 Likewise.
20103 * include/grub/i386/pc/apm.h: New file.
20104 * include/multiboot.h (multiboot_apm_info): New struct.
20105
201062010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20107
20108 GRUB-legacy configuration file support.
20109
20110 * Makefile.util.def (grub-menulst2cfg): New util.
20111 * docs/man/grub-menulst2cfg.h2m: New file.
20112 * grub-core/Makefile.core.def (legacycfg): New module.
20113 * grub-core/commands/legacycfg.c: New file.
20114 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
20115 (grub_normal_add_menu_entry): ... this.
20116 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
20117 (grub_normal_set_password): ...this.
20118 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
20119 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
20120 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
20121 * grub-core/lib/legacy_parse.c: New file.
20122 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
20123 * include/grub/i386/pc/vesa_modes_table.h: New file.
20124 * include/grub/legacy_parse.h: Likewise.
20125 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
20126 * util/grub-menulst2cfg.c: New file.
20127
bf8d1338
CW
201282010-09-17 Colin Watson <cjwatson@ubuntu.com>
20129
20130 * grub-core/kern/emu/hostdisk.c
20131 (convert_system_partition_to_system_disk): Initialise node.
20132
9c0bad2e
CW
201332010-09-17 Colin Watson <cjwatson@ubuntu.com>
20134
20135 * grub-core/kern/emu/hostdisk.c
20136 (convert_system_partition_to_system_disk): Fix devmapper memory pool
20137 leak.
20138 Reported and based on patch by: Modestas Vainius.
20139
a939d135
CW
201402010-09-17 Colin Watson <cjwatson@ubuntu.com>
20141
20142 Fix DM-RAID probing with recent versions of device-mapper udev
20143 rules.
20144
20145 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
20146 canonicalise device paths under /dev/mapper/.
20147 (convert_system_partition_to_system_disk): Compare the
20148 uncanonicalised path to /dev/mapper/ rather than the canonicalised
20149 path, since device nodes under /dev/mapper/ are often symlinks.
20150
0f7ee3c9
YB
201512010-09-17 Yves Blusseau <blusseau@zetam.org>
20152
20153 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
20154
10854d0d
YB
201552010-09-16 Yves Blusseau <blusseau@zetam.org>
20156
20157 * configure.ac: Avoid some annoying error messages if freetype-config
20158 program is not found.
20159
108538d8
CW
201602010-09-16 Colin Watson <cjwatson@ubuntu.com>
20161
20162 Support RAID on virtio devices, and others.
20163
20164 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
20165 Rename to ...
20166 [__MINGW32__] (grub_find_device): ... this.
20167 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
20168 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
20169 reasonable default if dir is NULL.
20170 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
20171 ...
20172 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
20173 (grub_guess_root_device): Update callers.
20174 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
20175
20176 * util/raid.c (grub_util_getdiskname): Remove.
20177 (grub_util_raid_getmembers): Use grub_find_device rather than
20178 grub_util_getdiskname.
20179
e5bfc130
CW
201802010-09-16 Colin Watson <cjwatson@ubuntu.com>
20181
20182 * docs/grub.texi (serial): Remove obsolete comment about GRUB
20183 needing to be compiled with serial support.
20184 (ls): Indicate that multiple files are accepted.
20185 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
20186 indicate that multiple files are accepted.
20187
be458ae2
CW
201882010-09-16 Colin Watson <cjwatson@ubuntu.com>
20189
20190 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
20191 libgrub_a_init.c, and util/bash-completion.d/grub.
20192
cb731b5e
VS
201932010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20194
20195 * util/grub-setup.c (setup): Fix incorrect container semantics.
20196
35139e8a
VS
201972010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20198
20199 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
20200 misusage.
20201 Reported by: J. Nick Terry
20202
e50fca4a
VS
202032010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20204
20205 Move embedding routines to partmap sources files.
20206
20207 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
20208 [GRUB_UTIL]: New variable.
20209 (gpt_partition_map_iterate): Set part.parent.
20210 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
20211 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
20212 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
20213 New function.
20214 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
20215 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
20216 (grub_partition_map) [GRUB_UTIL]: New field embed.
20217 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
20218 (setup): Use ->embed.
20219
f00478b7
VS
202202010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20221
20222 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
20223 function.
20224 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
20225 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
20226
2b94e3ff
YB
202272010-09-15 Yves Blusseau <blusseau@zetam.org>
20228
20229 Add function to get completions from usage.
20230
20231 * util/bash-completion.d/grub-completion.bash.in: Add function to get
20232 completions from usage. Use LC_ALL=C to get options properly.
20233
2e04a006
VS
202342010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20235
20236 * grub-core/gnulib/basename-lgpl.c: Imported.
20237 * grub-core/gnulib/basename.c: Likewise.
20238 * grub-core/gnulib/dirname-lgpl.c: Likewise.
20239 * grub-core/gnulib/dirname.c: Likewise.
20240 * grub-core/gnulib/dirname.h: Likewise.
20241 * grub-core/gnulib/stripslash.c: Likewise.
20242
5dcdf93a
VS
202432010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20244
20245 * grub-core/gnulib/error.c: Resynced.
20246 * grub-core/gnulib/getopt.c: Likewise.
20247 * grub-core/gnulib/getopt_int.h: Likewise.
20248 * grub-core/gnulib/regex.h: Likewise.
20249 * grub-core/gnulib/regex_internal.c: Likewise.
20250 * grub-core/gnulib/regex_internal.h: Likewise.
20251
014f47b7
SJ
202522010-09-15 Szymon Janc <szymon@janc.net.pl>
20253
20254 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
20255 CRC calculations and validity checks.
20256 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
20257 calculations.
20258
dd521a4a
SJ
202592010-09-15 Szymon Janc <szymon@janc.net.pl>
20260
20261 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
20262
79c4eeb9
VS
202632010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20264
20265 Fix incorrect echo options handling.
20266 Reported by: Yves Blusseau.
20267
20268 * include/grub/command.h (grub_command_flags_t): New flags
20269 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
20270 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
20271 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
20272
ed80f7d5
VS
202732010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20274
20275 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
20276 users updated.
20277 (GRUB_COMMAND_FLAG_MENU): Likewise.
20278 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20279 (GRUB_COMMAND_FLAG_TITLE): Removed.
20280 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20281 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
20282 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
20283 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
20284 (grub_command_flags_t): New enum. All users updated.
20285
5fe7620a
SG
202862010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
20287
20288 Fix solaris compilation.
20289
20290 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
20291 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
20292 (grub-emu-list): Likewise.
20293
545b752f
VS
202942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20295
20296 Remove deprecated root command.
20297
20298 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
20299 updated.
20300
6c1a338c
VS
203012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20302
20303 * util/i386/pc/grub-setup.c: Merge this ...
20304 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
20305 * util/grub-setup.c: ... into this.
20306 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
20307 New struct.
20308
203092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20310
20311 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
20312 possible.
20313
d2ea4551
VS
203142010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20315
20316 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
20317 allocate p.
20318
3c3b5040
VS
203192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20320
20321 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
20322 explicit root argument to set to prevent UUID to be interpreted as
20323 argument to set.
20324
b71c3fae
VS
203252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20326
20327 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
20328
275433e6
VS
203292010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20330
20331 Don't export grub_gate_a20.
20332
20333 * grub-core/kern/i386/pc/init.c: Remove leftovers.
20334 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
20335 to ...
20336 (grub_gate_a20): ... this. All users updated.
20337 * include/grub/i386/pc/init.h: Removed. All users updated.
20338
a5dbb1f1
VS
203392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20340
20341 Create euro.pf2 which supports most European languages.
20342
20343 * Makefile.am (grubdata_DATA): Add euro.pf2.
20344 (euro.pf2): New target.
20345 (CLEANFILES): Add euro.pf2.
20346
62a747cb
VS
203472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20348
20349 * configure.ac: Disable emu-usb by default to prevent inadvertent
20350 device takeover.
20351
608e43b1
VS
203522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20353
20354 Disable usbserial on grub-emu since our libusb code isn't good enough
20355 yet.
20356
20357 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
20358 (usbserial_pl2303): Likewise.
20359 (usbserial_ftdi): Likewise.
20360
94564f81
VS
203612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20362
20363 * include/grub/disk.h (grub_disk): Remove has_partitions.
20364 All users updated.
20365 * disk/loopback.c (grub_loopback): Remove has_partitions.
20366 All users updated.
20367 (options): Remove partitions. All users updated.
20368 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
20369 * util/i386/pc/grub-setup.c (setup): copy partition table only when
20370 actual partition table is found.
20371
3352800b
VS
203722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20373
20374 Remove readability checks (too many false negatives).
20375
20376 * util/grub-install.in: Remove readability checks.
20377 * util/grub-mkconfig.in: Likewise.
20378 * util/grub.d/10_hurd.in: Likewise.
20379 * util/grub.d/10_kfreebsd.in: Likewise.
20380 * util/grub.d/10_linux.in: Likewise.
20381 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
20382 way.
20383
2419f17a
VS
203842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20385
20386 Enable acpi shutdown on all ACPI platforms.
20387
20388 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
20389 on coreboo, multiboot and EFI.
20390 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
20391 (grub_acpi_halt): Likewise.
20392 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
20393 (grub_cmd_halt): Don't call grub_acpi_halt directly.
20394 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
20395 * grub-core/lib/i386/halt.c (grub_halt)
20396 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
20397
0575c7c3
VS
203982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20399
20400 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
20401 context.
20402
54ac3cd1
VS
204032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20404
20405 * grub-core/video/efi_gop.c: Fix over-80-chars line.
20406 * grub-core/video/efi_uga.c: Likewise.
20407
b2a30ac5
VS
204082010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20409
20410 Filter devaliases and never open same device twice.
20411
20412 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
20413 (last_ihandle): Likewise.
20414 (ofdisk_hash_ent): New member shortest.
20415 (ofdisk_hash_add): Add canonical path too.
20416 (scan): New function.
20417 (grub_ofdisk_iterate): Iterate over hashed entries.
20418 (compute_dev_path): Don't add :0.
20419 (grub_ofdisk_open): Don't really open the disk.
20420 (grub_ofdisk_close): Avoid closing unrelated disk.
20421 (grub_ofdisk_read): Implement reopen logic.
20422 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
20423 New function.
20424 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
20425 New proto.
20426
fb53b340
VS
204272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20428
20429 Fix sparc64.
20430
20431 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
20432 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
20433 right address. Add sparc64_ieee1275_ldflags.
20434 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
20435 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
20436 to grub_host_to_target_addr
20437 (load_image): Likewise.
20438
f452b040
VS
204392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20440
20441 * grub-core/normal/completion.c (complete_file): Handle device
20442 containing slash.
20443 Fix based on patch by Doug Nazar.
20444
9b5b2541
VS
204452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20446
20447 grub-mknetdir script.
20448
20449 * Makefile.util.def (grub-mknetdir): New module.
20450 * tests/util/grub-shell.in: Support boot=net
20451 * util/grub-mknetdir.in: New file.
20452
9d2be652
VS
204532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20454
20455 videoinfo on non-vbe.
20456
20457 * grub-core/Makefile.core.def (vbeinfo): Removed.
20458 (vbetest): Removed.
20459 (videoinfo): New module.
20460 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
20461 * grub-core/commands/i386/pc/vbetest.c: Removed.
20462 * grub-core/commands/videoinfo.c: New file.
20463 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
20464 specification.
20465 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
20466 as vbetest.
20467 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
20468 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
20469 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
20470 mode_number. New parameter mode. All users updated.
20471 (grub_video_gop_iterate): New function.
20472 (grub_video_efi_gop): New member iterate.
20473 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
20474 (grub_vbe_set_video_mode): Remove setting useless fields.
20475 (vbe2videoinfo): New function.
20476 (grub_video_vbe_iterate): Likewise.
20477 (grub_video_vbe_setup): Use vbe2videoinfo.
20478 (grub_video_vbe_print_adapter_specific_info): New function.
20479 (grub_video_vbe_adapter): New fields iterate and
20480 print_adapter_specific_info.
20481 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
20482 All users updated.
20483 (grub_video_mode_info): New field mode_number.
20484 (grub_video_adapter): New fields iterate and
20485 print_adapter_specific_info.
20486
179503f5
TG
204872010-09-13 Tristan Gingold <gingold@free.fr>
204882010-09-13 Robert Millan <rmh.grub@aybabtu.com>
204892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20490
20491 * grub-core/commands/efi/lsefisystab.c: New file.
20492 * grub-core/commands/efi/lssal.c: Likewise.
20493 * grub-core/Makefile.core.def (lsacpi): New module.
20494 (lsefisystab): Likewise.
20495 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
20496 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
20497 (grub_efi_sal_system_table): New struct.
20498 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
20499 (grub_efi_sal_system_table_memory_descriptor): Likewise.
20500 (grub_efi_sal_system_table_platform_features): Likewise.
20501 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
20502 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
20503 (grub_efi_sal_system_table_ap_wakeup): Likewise.
20504 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
20505
cf9827de
VS
205062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20507
20508 Support explicit user claim that a device is BIOS-visible.
20509
20510 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
20511 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
20512 * grub-core/kern/emu/hostdisk.c
20513 (convert_system_partition_to_system_disk): Support mdX.
20514 (find_system_device): New parameter add. All users updated.
20515 (grub_util_biosdisk_is_present): New function.
20516 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
20517 proto.
20518
53f0eb1f
VS
205192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20520
20521 Search hints support.
20522
20523 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
20524 All users updated.
20525
b23ffd70
YB
205262010-09-13 Yves Blusseau <blusseau@zetam.org>
20527
20528 Bash completion script for util commands
20529
20530 * Makefile.am: Add util/bash-completion.d directory
20531 * configure.ac: Likewise.
20532 * util/bash-completion.d/Makefile.am: New file.
20533 * util/bash-completion.d/grub-completion.bash.in: Likewise.
20534
d547dc28
VS
205352010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20536
20537 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
20538 (print_backlog): set backlog_ucs4 and backlog_glyphs.
20539 Reported by: Yves Blusseau.
20540
2fc8ccb9
VS
205412010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20542
20543 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
20544 partition size and offset.
20545
d8a84076
VS
205462010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20547
20548 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
20549
84fb3b3d
VS
205502010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20551
20552 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
20553
768ec2e2
VS
205542010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20555
20556 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
20557 (grub_xvasprintf): Likewise.
20558
4870900f
VS
205592010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20560
20561 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
20562
faca6bec
VS
205632010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20564
20565 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
20566 args ending with NULL.
20567
205682010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
20569
20570 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
20571 pointer.
20572
3c70f225
SJ
205732010-09-11 Szymon Janc <szymon@janc.net.pl>
20574
20575 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
20576
4df7996d
VS
205772010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20578
20579 Shutdown using ACPI.
20580
20581 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
20582 * grub-core/commands/acpihalt.c: New file.
20583 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
20584 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
20585 (grub_acpi_halt): New proto.
20586 (GRUB_ACPI_SLP_EN): New const.
20587 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
20588 (GRUB_ACPI_OPCODE_*): New enum.
20589 (GRUB_ACPI_EXTOPCODE_*): Likewise.
20590
126b4c32
TG
205912010-09-11 Tristan Gingold <gingold@free.fr>
205922010-09-11 Robert Millan <rmh.grub@aybabtu.com>
205932010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20594
20595 * commands/lsacpi.c: New file.
20596 * grub-core/Makefile.core.def (lsacpi): New module.
20597 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
20598 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
20599 (grub_acpi_madt_entry_header): New struct.
20600 (grub_acpi_madt): Likewise.
20601 (grub_acpi_madt_entry_interrupt_override): Likewise.
20602 (grub_acpi_madt_entry_sapic): Likewise.
20603 (grub_acpi_madt_entry_lsapic): Likewise.
20604 (grub_acpi_madt_entry_platform_int_source): Likewise.
20605 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
20606 (PRIuGRUB_UINT32_T): Likewise.
20607 (PRIxGRUB_UINT64_T): Likewise.
20608
1aa4fe88
VS
206092010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20610
20611 Implement loading palette on ieee1275_fb.
20612
20613 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
20614 (have_setcolors): Likewise.
20615 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
20616 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
20617 (grub_video_ieee1275_set_palette): Implement.
20618
25761e13
VS
206192010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
206202010-09-11 Colin Watson <cjwatson@ubuntu.com>
20621
20622 * util/grub-install.in (grub_partition): New variable.
20623 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
20624 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
20625 Fixes a bug reported by Yves Blusseau.
20626
050abaea
VS
206272010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20628
20629 Fix emu on mipsel.
20630
20631 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
20632 =grub_cpu_flush_cache on all mips and not only yeeloong.
20633 * configure.ac (COND_mips): New conditional.
20634 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
20635 platforms.
20636 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
20637 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
20638 [GRUB_LINKER_HAVE_INIT]: New function.
20639 (grub_emu_post_init): Likewise.
20640 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
20641 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
20642 * include/grub/cache.h (_mips): Include mips/cache.h.
20643 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
20644 LVM and RAID prototypes.
20645 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
20646 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
20647 function.
20648
5ed7d816
CW
206492010-09-10 Colin Watson <cjwatson@ubuntu.com>
20650
20651 * util/grub-install.in: Don't try to verify core.img until after
20652 running grub-mkimage to create it.
20653
90367e04
RM
206542010-09-10 Robert Millan <rmh@gnu.org>
20655
20656 * util/grub.d/10_hurd.in: Add misc readability checks.
20657 * util/grub.d/10_kfreebsd.in: Likewise.
20658 * util/grub.d/10_linux.in: Likewise.
20659
c452fa66
CW
206602010-09-10 Colin Watson <cjwatson@ubuntu.com>
20661
20662 * util/grub-install.in: ${imgext} won't be defined here until the
20663 install branch is merged. For the meantime, only verify core.img on
20664 i386-pc and sparc64-ieee1275 platforms.
20665
c38fe9f4
RM
206662010-09-10 Robert Millan <rmh@gnu.org>
20667
20668 Solaris support in grub_find_zpool_from_dir(). Thanks
20669 Seth Goldberg for referring to getextmntent() facility.
20670
20671 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
20672 `sys/mkdev.h'.
20673 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
20674 `<sys/mnttab.h>'.
20675 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
20676 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
20677 method for finding zpool name.
20678
905f7773
CW
206792010-09-10 Colin Watson <cjwatson@ubuntu.com>
20680
20681 grub-fstest needs the host and hostfs modules while other utilities
20682 actively require those modules to be absent, so grub-fstest needs
20683 its own initialisation and finalisation code.
20684
20685 * Makefile.am (grub_fstest.pp): New target.
20686 (grub_fstest_init.lst): Likewise.
20687 (grub_fstest_init.c): Likewise.
20688 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
20689
fb90b546
RM
206902010-09-10 Robert Millan <rmh@gnu.org>
20691
20692 * configure.ac: Check for `struct statfs.f_fstypename' and
20693 `struct statfs.f_mntfromname'.
20694
20695 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
20696 kFreeBSD-specific code.
20697
66d4bea5
RM
206982010-09-10 Robert Millan <rmh@gnu.org>
20699
20700 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
20701 on ZFS. Now non-main filesystems are supported as / too.
20702
b6a690ee
CW
207032010-09-09 Colin Watson <cjwatson@ubuntu.com>
20704
20705 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
20706 and grub-core/disk/host.c to ...
20707 (grub-fstest): ... here. Having the host disk implementation
20708 present confuses grub-probe and other utility programs.
20709
20710 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
20711 when writing to a file, not when writing to stdout.
20712
8901b00c 207132010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
20714
20715 * tests/partmap_test.in: New test for partitions.
20716 * Makefile.util.def: Rules for new test.
20717
7bf45fdd
RM
207182010-09-09 Robert Millan <rmh@gnu.org>
20719
20720 * util/grub-probe.c (probe): Fix a pair of unhandled error
20721 conditions.
20722
4dfbc574
RM
207232010-09-09 Robert Millan <rmh@gnu.org>
20724
20725 Basic Btrfs support (detection and UUID).
20726
20727 * grub-core/fs/btrfs.c: New file.
20728 * Makefile.util.def (library): Register btrfs.c.
20729 * grub-core/Makefile.core.def: Likewise.
20730
6b8e78ae
RM
207312010-09-08 Robert Millan <rmh@gnu.org>
20732
20733 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
20734 with (optional) parameters to specify device and relative path.
20735 * util/grub-install.in: Use is_path_readable_by_grub() to
20736 verify readability of a few critical files.
20737 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
20738 verify readability of grub.cfg.new.
20739
27f21a8b
VS
207402010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20741
20742 Split minix.mod into minix.mod and minix2.mod.
20743
20744 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
20745 * grub-core/Makefile.core.def (minix2): New module.
20746 * grub-core/fs/minix.c: Use definitions instead of runtime version
20747 checking.
20748 * grub-core/fs/minix2.c: New file.
20749
c0e53ea5
YB
207502010-09-08 Yves Blusseau <blusseau@zetam.org>
20751
20752 Add new --boot-directory option to replace --root-directory
20753
20754 * util/grub-install.in: Add new --boot-directory option
20755 * util/grub-reboot.in: Likewise.
20756 * util/grub-set-default.in: Likewise.
20757
b9fe6ea2
YB
207582010-09-08 Yves Blusseau <blusseau@zetam.org>
20759
20760 * util/grub-mkconfig.in: Use new variable.
20761
d87aedff
YB
207622010-09-08 Yves Blusseau <blusseau@zetam.org>
20763
20764 * configure.ac: Define some useful variables.
20765
e55e8495
VS
207662010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20767
20768 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20769 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
20770 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
20771 Use terminfo and don't use cursor-on/cursor-off unless it's known
20772 to work.
20773 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
20774 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
20775
6fa6d675
CW
207762010-09-08 Colin Watson <cjwatson@ubuntu.com>
20777
20778 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
20779 starts with "(,", fill the drive containing the loaded image in
20780 between those two characters, but expect that a full partition
20781 specification including partition map names will follow.
20782
92f2aef0
RM
207832010-09-08 Robert Millan <rmh@gnu.org>
20784
20785 * configure.ac: Remove `--enable-grub-fstest' option.
20786 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
20787
20788 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
20789 `grub-fstest' instead of `grub-probe' for readability verification.
20790 * util/grub-probe.c (probe): Remove readability verification kludge.
20791
99fd620d
RM
207922010-09-08 Robert Millan <rmh@gnu.org>
20793
20794 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
20795 initializing `GRUB_FS'.
20796
058e30ac 207972010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
20798
20799 Not command (!) support to GRUB script.
20800
20801 * tests/grub_script_not.in: New test.
20802 * Makefile.util.def: Rules for new test.
20803
20804 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20805 ! command as a special case.
20806 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
20807
b61d05ed 208082010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20809
058e30ac 20810 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
20811 grub_free.
b61d05ed 20812
4d69c786 208132010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20814
20815 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
20816
aa3119c4 208172010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20818
20819 * docs/grub.texi (Shell-like scripting): Documentation for break,
20820 continue, shift and return commands.
20821
db0f7e3d
VS
208222010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
20823
20824 Rename CD-ROM to cd on BIOS.
20825
20826 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
20827 "cd".
20828 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
20829
88b87c93
VS
208302010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20831
20832 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
20833 * util/grub-probe.c (main): Likewise.
20834 * util/i386/pc/grub-setup.c (main): Likewise.
20835 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20836 Reported and debugged by: alexxy
20837
294f324d
VS
208382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20839
20840 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
20841 diagnostic info.
20842
d7ee3441
JS
208432010-09-05 Jo Shields <directhex@apebox.org>
20844
20845 * util/grub.d/30_os-prober.in: Add missing classes.
20846
d7e06c1f
VS
208472010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20848
20849 * docs/grub.texi (Theme file format): Document new position format.
20850
fc157e53
VS
208512010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20852
20853 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
20854 a table. Use @code instead of @verbatim.
20855
506e9a1c
CB
208562010-09-05 Colin D Bennett <colin@gibibit.com>
20857
20858 Gfxmenu documentation.
20859
20860 * docs/grub.texi (Theme file format): New chapter.
20861
f0aff67c
SJ
208622010-09-05 Szymon Janc <szymon@janc.net.pl>
20863
20864 * grub-core/Makefile.core.def (xzio): New module.
20865 * grub-core/io/xzio.c: New file.
20866 * grub-core/lib/xzembed/xz.h: New file (from xembed).
20867 * grub-core/lib/xzembed/xz_config.h: Likewise.
20868 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
20869 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
20870 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
20871 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
20872 * grub-core/lib/xzembed/xz_private.h: Likewise.
20873 * grub-core/lib/xzembed/xz_stream.h: Likewise.
20874 * include/grub/file.h (grub_file_filter_id): New compression filter
20875 GRUB_FILE_FILTER_XZIO.
20876
82a85062
VS
208772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20878
20879 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
20880 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
20881 size.
20882
3579415d
VS
208832010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20884
20885 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
20886 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
20887
5124ae6d
VS
208882010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20889
20890 Uncompressed checksum support.
20891
20892 * grub-core/commands/hashsum.c (options): Add option --uncompress.
20893 (check_list): New parameter uncompress.
20894 (grub_cmd_hashsum): Handle --uncompress.
20895
9aadb3d1
VS
208962010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20897
20898 Reintroduce testload.
20899
20900 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
20901 from here ...
20902 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
20903 (GRUB_MOD_INIT): New function.
20904 (GRUB_MOD_FINI): Likewise.
20905 * grub-core/Makefile.core.def (testload): New module.
20906
a17792c3
SJ
209072010-09-05 Szymon Janc <szymon@janc.net.pl>
20908
20909 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
20910 (uint8_t): New type.
20911 (uint16_t): Likewise.
20912 (uint32_t): Likewise.
20913 (uint64_t): Likewise.
20914
b81e40a3
SJ
209152010-09-05 Szymon Janc <szymon@janc.net.pl>
20916
20917 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
20918
fc2ef117
VS
209192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20920
20921 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
20922 Made static.
20923 (grub_gzfile_open): Removed. All users updated.
20924 (GRUB_MOD_INIT): New function.
20925 (GRUB_MOD_FINI): Likewise.
20926 * grub-core/kern/file.c (grub_file_filters_all): New variable.
20927 (grub_file_filters_enabled): Likewise.
20928 (grub_file_open): Handle filters.
20929 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
20930 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
20931 * include/grub/file.h (grub_file_filter_id_t): New type.
20932 (grub_file_filter_t): Likewise.
20933 (grub_file_filters_all): New extern variable.
20934 (grub_file_filters_enabled): Likewise.
20935 (grub_file_filter_register): New inline function.
20936 (grub_file_filter_unregister): Likewise.
20937 (grub_file_filter_disable): Likewise.
20938 (grub_file_filter_disable_compression): Likewise.
20939 * include/grub/gzio.h: Removed.
20940
35ee15e0
BC
209412010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20942
20943 Filename expansion support for wildcards in GRUB script.
20944
20945 * tests/grub_script_expansion.in: New test.
20946 * Makefile.util.def: Rule for new test.
20947
20948 * grub-core/commands/wildcard.c: New file, implements filename
20949 expansion support for GRUB script.
20950 * grub-core/Makefile.core.def: Rule update for regexp.mod.
20951 * grub-core/script/argv.c: Cosmetic changes.
20952 * grub-core/script/execute.c (grub_script_arglist_to_argv):
20953 Refactored to perform wildcard expansion on arguments.
20954 * include/grub/script_sh.h (grub_script_wildcard_translator): New
20955 struct.
20956
20957 * tests/util/grub-shell.in: Fix quoting for read input.
20958
5f0c4aca
BC
209592010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20960
20961 Support for updating environment variables with matched substrings
20962 of regexp.
20963
20964 * tests/grub_cmd_regexp.in: New test.
20965 * Makefile.util.def: Rule for new test.
20966
20967 * grub-core/commands/regexp.c: New option -s to update environment
20968 variables with regexp matches.
20969
3759a35f
SJ
209702010-09-04 Szymon Janc <szymon@janc.net.pl>
20971
20972 * include/grub/file.h (grub_file): New member not_easly_seekable.
20973 (grub_file_seekable): New inline function.
20974 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
20975 easily seekable.
20976 (grub_gzio_open): Set not_easly_seekable.
20977 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
20978 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
20979
ed8c6dec
BC
209802010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20981
20982 Support for options to appear multiple times on cmdline.
20983
20984 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
20985 * grub-core/commands/extcmd.c: Support for repeatable option.
20986 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
20987 repeatable option support.
20988
20989 Refactor menuentry into a regular command.
20990
20991 * grub-core/commands/menuentry.c: New file, menuentry command
20992 implementation.
20993 * grub-core/Makefile.core.def: Rule update for normal.mod.
20994 * grub-core/normal/main.c: Moved menuentry creation to
20995 grub-core/commands/menuentry.c.
20996 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
20997 (grub_menu_execute_entry_real): Removed.
20998 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
20999 function.
21000 (grub_script_execute_menuentry): Removed.
21001 * grub-core/script/parser.y (menuentry): Removed.
21002 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
21003 * grub-core/script/yylex.l (menuentry): Removed.
21004 * include/grub/menu.h (grub_menu_init): New prototype.
21005 (grub_menu_fini): New prototype.
21006 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
21007 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
21008 (grub_script_execute_sourcecode): New prototype.
21009
dacd0cf0
BC
210102010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21011
21012 "return" command for GRUB script functions.
21013
21014 * tests/grub_script_return.in: New test.
21015 * Makefile.util.def: Rules for new test.
21016
21017 * grub-core/script/execute.c (grub_script_return): New function.
21018 * grub-core/script/main.c: Register/unregister return commaond.
21019 * include/grub/script_sh.h (grub_script_return): New prototype.
21020
52e72f9d
BC
210212010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21022
21023 "setparams" command to update positional parameters.
21024
21025 * tests/grub_script_setparams.in: New test.
21026 * Makefile.util.def: Rules for new test.
21027
21028 * grub-core/script/argv.c (grub_script_argv_make): New function.
21029 * grub-core/script/execute.c (replace_scope): New function.
21030 (grub_script_setparams): New function.
21031 * grub-core/script/lexer.c: Remove unused variables.
21032 * grub-core/script/main.c: Register/unregister setparams command.
21033 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
21034 (grub_script_setparams): New prototype.
21035
25b60c91
BC
210362010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21037
21038 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
21039 grub_free order.
21040
37e7bf68
BC
210412010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21042
21043 Support for passing block of commands as an argument to extcmds.
21044
21045 * Makefile.util.def: Rules for new test.
21046 * tests/grub_script_blockarg.in: New test.
21047 * grub-core/tests/test_blockarg.c: New file, block argument
21048 command used in the test.
21049
21050 * include/grub/extcmd.h (grub_extcmd_context): New struct.
21051 (grub_register_extcmd_prio): New function prototype.
21052 (grub_extcmd_dispatcher): New function prototype.
21053 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
21054 type.
21055 * include/grub/script_sh.h (struct grub_script): New members
21056 `children', `next_siblings' and `refcnt' for block arguments and
21057 reference counting.
21058 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
21059 (grub_script_arg): New member `script' for block argument.
21060 (grub_script_argv): New member `script' for block argument.
21061 (grub_parser_param): New member `scripts' for block argument.
21062 (grub_script_mem_free): New extern function prototype.
21063 (grub_script_ref): New function prototype.
21064 (grub_script_unref): New function prototype.
21065
21066 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
21067 extcmd form to support block arguments.
21068 * grub-core/script/argv.c: Block arguments support.
21069 * grub-core/script/execute.c: Likewise.
21070 * grub-core/script/lexer.c: Likewise.
21071 * grub-core/script/main.c: Likewise.
21072 * grub-core/script/script.c: Likewise.
21073 * grub-core/script/parser.y: Likewise. New `block' and `block0'
21074 non-terminals.
21075
21076 * grub-core/commands/acpi.c: Update extcmd implementations with
21077 grub_extcmd_context_t.
21078 * grub-core/commands/cat.c: Likewise.
21079 * grub-core/commands/echo.c: Likewise.
21080 * grub-core/commands/extcmd.c: Likewise.
21081 * grub-core/commands/hashsum.c: Likewise.
21082 * grub-core/commands/hdparm.c: Likewise.
21083 * grub-core/commands/help.c: Likewise.
21084 * grub-core/commands/hexdump.c: Likewise.
21085 * grub-core/commands/i386/cpuid.c: Likewise.
21086 * grub-core/commands/i386/pc/drivemap.c: Likewise.
21087 * grub-core/commands/i386/pc/halt.c: Likewise.
21088 * grub-core/commands/i386/pc/sendkey.c: Likewise.
21089 * grub-core/commands/iorw.c: Likewise.
21090 * grub-core/commands/keystatus.c: Likewise.
21091 * grub-core/commands/loadenv.c: Likewise.
21092 * grub-core/commands/ls.c: Likewise.
21093 * grub-core/commands/lspci.c: Likewise.
21094 * grub-core/commands/memrw.c: Likewise.
21095 * grub-core/commands/probe.c: Likewise.
21096 * grub-core/commands/search_wrap.c: Likewise.
21097 * grub-core/commands/setpci.c: Likewise.
21098 * grub-core/commands/sleep.c: Likewise.
21099 * grub-core/disk/loopback.c: Likewise.
21100 * grub-core/hello/hello.c: Likewise.
21101 * grub-core/loader/i386/bsd.c: Likewise.
21102 * grub-core/loader/xnu.c: Likewise.
21103 * grub-core/term/gfxterm.c: Likewise.
21104 * grub-core/term/serial.c: Likewise.
21105 * grub-core/tests/lib/functional_test.c: Likewise.
21106
888d1500
BC
211072010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21108
21109 Multi-line quoted strings support.
21110
21111 * grub-core/script/lexer.c (append_newline): Removed.
21112 (grub_script_lexer_yywrap): Refactored.
21113 (grub_script_lexer_init): Refactored.
21114 * grub-core/script/yylex.l (yywrap): New function.
21115 (grub_lexer_resplit): New function.
21116 (grub_lexer_unput): New function.
21117 * include/grub/script_sh.h (grub_lexer_param): New members, unput
21118 and resplit.
21119 * tests/grub_script_echo1.in: Added few more testcases.
21120
dda060dd
VS
211212010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
21122
21123 * grub-core/kern/misc.c: Don't add abort alias in utils.
21124 Reported by: echoline.
21125
6556eba9
BC
211262010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
21127
21128 Add missing files into "make dist" tarball for other platforms.
21129
21130 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
21131 * conf/Makefile.common (dist_noinst_DATA): New variable.
21132 * conf/Makefile.extra-dist: Added missing make dist files.
21133 * grub-core/Makefile.core.def: Likewise.
21134
c8e7bf5f
VS
211352010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
21136
21137 Compress grub_prefix.
21138
21139 * grub-core/boot/i386/pc/lnxboot.S: Use
21140 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
21141 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
21142 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
21143 GRUB_MACHINE_PREFIX_END. All users updated.
21144 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
21145 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
21146 + 0x40.
21147 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
21148 * util/grub-mkimage.c (image_target_desc): Change data_end to
21149 prefix_end. All users updated.
21150
a7c00cdb
VS
211512010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
21152
21153 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
21154 value.
21155 (grub_openbsd_boot): Likewise.
21156 (grub_netbsd_boot): Likewise.
21157 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
21158 (grub_xnu_boot): Likewise.
21159
9f915872
VS
211602010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21161
21162 * configure.ac: Clean LIBS variable after tests.
21163
efa1bee7
CW
211642010-09-02 Colin Watson <cjwatson@ubuntu.com>
21165
21166 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
21167
61d720e5
VS
211682010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21169
21170 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
21171 echo if libdevmapper will be used.
21172
ef8e0ec8
IT
211732010-09-02 Ian Turner <Ian.Turner@deshaw.com>
21174
21175 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
21176 constant for the same file.
21177
03e261d8
VS
211782010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21179
21180 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
21181
c2a4eba6
CW
211822010-09-02 Colin Watson <cjwatson@ubuntu.com>
21183
21184 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
21185 grub-core/*.pp.
21186
9056cbf3
CW
211872010-09-02 Colin Watson <cjwatson@ubuntu.com>
21188
21189 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
21190 required by the boot protocol.
21191
21192 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
21193 ebp and edi members.
21194 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
21195 state.ebp and state.edi.
21196 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
21197 %ebp and %edi according to grub_relocator32_ebp and
21198 grub_relocator32_edi respectively.
21199 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
21200 and state.edi.
21201
529cc99a
VS
212022010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21203
21204 Add i386-pc-pxe image target.
21205
21206 * util/grub-mkimage.c (image_target_desc): New enum value
21207 IMAGE_I386_PC_PXE.
21208 (image_targets): New target i386-pc-pxe.
21209 (generate_image): Handle i386-pc-pxe image.
21210
9a093920
VS
212112010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21212
21213 Fix grub_pxe_scan.
21214
21215 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
21216 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
21217 All users updated.
21218 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
21219 (grub_pxe_pxenv): Correct type.
21220
f9cefc4e
CW
212212010-09-01 Colin Watson <cjwatson@ubuntu.com>
21222
21223 * NEWS: Document most of the important changes since 1.98.
21224
4066f57f
CW
212252010-09-01 Colin Watson <cjwatson@ubuntu.com>
21226
21227 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
21228 generated manual page) a little.
21229
da2891f9
CW
212302010-09-01 Colin Watson <cjwatson@ubuntu.com>
21231
21232 * docs/grub.texi: Add myself as an author.
21233
ad717fae
VS
212342010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21235
21236 * Makefile.util.def (libgrub.a): Add missing sunpc.
21237 Reported by: Seth Goldberg.
21238
eefe8abd
VS
212392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21240
21241 Interrupt wrapping and code simplifications.
21242
9494ef9a
VS
21243 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
21244 x86_noieee1275 which are functionaly equivalent in this case.
21245 (grub-install): Make source on each platform explicit. Enable on
21246 all noemu.
21247 * gentpl.py (x86_efi_pc): Removed group.
21248 (x86_noefi): Likewise.
21249 (i386_noefi): Likewise.
21250 (x86_noieee1275): Likewise.
21251 (i386_noieee1275): Likewise.
21252 (i386_noefi_noieee1275): Likewise.
21253 (i386_pc_qemu_coreboot): Likewise.
21254 (i386_coreboot_multiboot): Likewise.
21255 (i386_pc_coreboot_multiboot_qemu): Likewise.
21256 (x86_noefi_mips): Likewise.
21257 (noieee1275): Likewise.
21258 (ieee1275_mips): Likewise.
21259 (noemu_noieee1275): Likewise.
21260 (cmos): New group.
21261 (usb): Likewise.
21262 (videoinkernel): Likewise.
21263 (videomodules): Likewise.
eefe8abd 21264 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
21265 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
21266 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
21267 include/grub/loader.h, include/grub/msdos_partition.h,
21268 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
21269 include/grub/machine/console.h, include/grub/machine/vga.h,
21270 include/grub/machine/vbe.h, include/grub/machine/init.h,
21271 include/grub/machine/kernel.h, include/grub/cpu/time.h,
21272 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 21273 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
21274 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
21275 * grub-core/Makefile.core.def (kernel): Explicit the source for
21276 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
21277 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
21278 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
21279 Use videoinkernel tag.
21280 (usb): Enable on all usb.
21281 (usbserial_common): Likewise.
21282 (usbserial_pl2303): Likewise.
21283 (usbserial_ftdi): Likewise.
21284 (uhci): Enable on all x86.
21285 (ohci): Enable on all pci.
21286 (cmostest): Enable on all CMOS.
21287 (acpi): Include commands/acpi.c on all platforms.
21288 (halt): Add relevant lib/*/halt.c.
21289 (hdparm): Enable on all pci.
21290 (lspci): Likewise.
21291 (usbtest): Enable on all usb.
21292 (ata): Enable on all pci.
21293 (ata_pthru): Likewise.
21294 (usbms): Enable on all usb.
21295 (usb_keyboard): Likewise.
21296 (font): Use tag videomodules.
21297 (bufio): Likewise.
21298 (datetime): Use tag cmos. Enable on all noemu.
21299 (mmap): Use tags common and x86.
21300 (gfxterm): Use tag videomodules.
21301 (bitmap): Likewise.
21302 (bitmap_scale): Likewise.
21303 (video_fb): Likewise.
21304 (video): Likewise.
21305 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
21306 adjust padding accordingly. All users updated.
21307 (grub_ohci_transaction): Fix bad format specification.
21308 (GRUB_MOD_INIT): Add asserts for struct size.
21309 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
21310 (grub_alloc_td): Likewise.
21311 (grub_free_queue): Likewise.
21312 (grub_uhci_transfer): Likewise.
21313 (grub_uhci_transaction): Fix bad format specification.
21314 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
21315 (grub_usb_bulk_readwrite): Likewise.
21316 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
21317 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
21318 Made static.
21319 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
21320 Made static.
21321 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
21322 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
21323 Transformed into C.
21324 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
21325 Moved from here ...
21326 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
21327 ... here. Transformed into C. Made static.
21328 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
21329 Moved from here ...
21330 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
21331 ... here. Transformed into C. Made static.
21332 * grub-core/kern/i386/pc/startup.S
21333 (grub_biosdisk_check_int13_extensions): Moved from here ...
21334 * grub-core/disk/i386/pc/biosdisk.c
21335 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
21336 Made static.
21337 * grub-core/kern/i386/pc/startup.S
21338 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
21339 * grub-core/disk/i386/pc/biosdisk.c
21340 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
21341 Transformed into C. Made static.
21342 * grub-core/kern/i386/pc/startup.S
21343 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
21344 * grub-core/disk/i386/pc/biosdisk.c
21345 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
21346 Transformed into C. Made static.
21347 * grub-core/kern/i386/pc/startup.S
21348 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
21349 * grub-core/disk/i386/pc/biosdisk.c
21350 (grub_biosdisk_get_diskinfo_standard): ... here.
21351 Transformed into C. Made static.
21352 * grub-core/kern/i386/pc/startup.S
21353 (grub_biosdisk_get_num_floppies): Moved from here ...
21354 * grub-core/disk/i386/pc/biosdisk.c
21355 (grub_biosdisk_get_num_floppies): ... here.
21356 Transformed into C. Made static.
21357 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
21358 New function.
21359 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
21360 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
21361 Transformed into C. Made static.
21362 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
21363 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
21364 Transformed into C. Made static.
21365 * grub-core/kern/i386/ieee1275/init.c: Removed.
21366 * grub-core/kern/i386/misc.S: Likewise.
21367 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
21368 Splitted from here ...
21369 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
21370 Transformed into C. Made static. All users updated.
21371 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
21372 Transformed into C. Made static. All users updated.
21373 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
21374 Moved from here...
21375 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
21376 Transformed into C. Made static. All users updated.
21377 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
21378 Moved from here...
21379 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
21380 Transformed into C. Made static. All users updated.
21381 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
21382 Removed (replaced by C version).
21383 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
21384 Moved from here...
21385 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
21386 Transformed into C. Made static.
21387 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
21388 Moved from here...
21389 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
21390 ... here. Transformed into C.
21391 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
21392 Moved from here...
21393 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
21394 ... here. Transformed into C.
21395 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
21396 Moved from here...
21397 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
21398 ... here. Transformed into C. Made static.
21399 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
21400 Moved from here...
21401 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
21402 ... here. Transformed into C.
21ed554b
VS
21403 * grub-core/kern/i386/pc/startup.S
21404 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
21405 * grub-core/video/i386/pc/vbe.c
21406 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
21407 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
21408 Moved from here...
21409 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
21410 ... here. Transformed into C.
21411 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
21412 Moved from here...
21413 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
21414 ... here. Transformed into C.
21415 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
21416 Moved from here...
21417 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
21418 ... here. Transformed into C.
21419 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
21420 Moved from here...
21421 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
21422 ... here. Transformed into C.
21423 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
21424 Moved from here...
21425 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
21426 ... here. Transformed into C. Made static.
21427 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
21428 Moved from here...
21429 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
21430 ... here. Transformed into C. Made static.
21431 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
21432 Moved from here...
21433 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
21434 ... here. Transformed into C. Made static.
21435 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
21436 pxe_rm_entry as third argument.
21437 (grub_bios_interrupt): New function.
21438 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
21439 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
21440 of calling grub_stop.
21441 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
21442 * grub-core/lib/efi/halt.c (grub_halt): ...here.
21443 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
21444 * grub-core/lib/emu/halt.c (grub_halt): ... here.
21445 * grub-core/lib/i386/halt.c: Moved from here ...
21446 * grub-core/lib/i386/halt.c: ... here.
21447 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
21448 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
21449 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
21450 grub_stop_floppy.
21451 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
21452 * include/grub/i386/coreboot/init.h: Removed.
21453 * include/grub/i386/multiboot/init.h: Likewise.
21454 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
21455 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
21456 * include/grub/i386/pc/int.h: New file.
21457 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
21458 (grub_pxe_scan): Removed.
21459 (grub_pxe_call): Update prototype.
21460 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
21461 prototypes.
21462 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
21463 * include/grub/i386/qemu/init.h: Removed.
21464 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
21465 noreturn.
21466 (grub_halt): Likewise.
21467 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
21468 (grub_reboot): Likewise.
21469 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
21470 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
21471 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
21472
215dd471
RM
214732010-08-30 Robert Millan <rmh@gnu.org>
21474
21475 * NEWS: Document addition of ZFS support in `grub-install' and
21476 `grub-mkconfig'.
21477
ebd65b82
BC
214782010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
21479
21480 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
21481 dprintf output.
21482
11721d19
VS
214832010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21484
21485 Remove leftover embedding of font objects.
21486
21487 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
21488 * util/grub-install.in (font): Removed.
21489 * util/grub-mkimage.c (generate_image): Remove font support. All users
21490 updated.
21491
37837d4e
VS
214922010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21493
21494 Remove leftover embedding of font objects.
21495
21496 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
21497 * util/grub-install.in (font): Removed.
21498 * util/grub-mkimage.c (generate_image): Remove font support. All users
21499 updated.
21500
b4c1aae0
VS
215012010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21502
21503 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 21504 Reported by: Ian Turner
b4c1aae0 21505
8920a08d
VS
215062010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21507
21508 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
21509 timeout to avoid indefinite boot stalling.
21510
f21db033
VS
215112010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21512
21513 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
21514 (grub_env_write_color_highlight): Likewise.
21515
9a9de209
VS
215162010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21517
21518 * grub-core/normal/term.c (print_more): Return to normal and not
21519 to standard state after printing "---MORE---".
21520
3dca01d7
VS
215212010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21522
21523 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
21524 Mask out the bit 0x80 since it has other meaning that specifiing color.
21525
0b986c40
VS
215262010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21527
21528 New relocator. Allows for more kernel support and more straightforward
21529 loader writing.
21530
21531 * Makefile.am (BOOTTARGET): New variable.
21532 (QEMU32): Likewise.
21533 (linux.init.x86_64): New target.
21534 (linux.init.i386): Likewise.
21535 (multiboot.elf): Likewise.
21536 (kfreebsd.elf): Likewise.
21537 (kfreebsd.aout): Likewise.
21538 (pc-chainloader.elf): Likewise.
21539 (pc-chainloader.bin): Likewise.
21540 (ntldr.elf): Likewise.
21541 (ntldr.bin): Likewise.
21542 (multiboot2.elf): Likewise.
21543 (kfreebsd.init.x86_64): Likewise.
21544 (kfreebsd.init.i386): Likewise.
21545 (knetbsd.init.i386): Likewise.
21546 (kopenbsd.init.i386): Likewise.
21547 (knetbsd.init.x86_64): Likewise.
21548 (kopenbsd.init.x86_64): Likewise.
21549 (linux-initramfs.i386): Likewise.
21550 (linux-initramfs.x86_64): Likewise.
21551 (kfreebsd-mfsroot.i386.img): Likewise.
21552 (knetbsd.image.i386): Likewise.
21553 (kopenbsd.image.i386): Likewise.
21554 (kopenbsd.image.x86_64): Likewise.
21555 (knetbsd.miniroot-image.i386.img): Likewise.
21556 (kfreebsd-mfsroot.x86_64.img): Likewise.
21557 (knetbsd.image.x86_64): Likewise.
21558 (knetbsd.miniroot-image.x86_64.img): Likewise.
21559 (kfreebsd-mfsroot.i386.gz): Likewise.
21560 (bootcheck-kfreebsd-i386): Likewise.
21561 (kfreebsd-mfsroot.x86_64.gz): Likewise.
21562 (bootcheck-kfreebsd-x86_64): Likewise.
21563 (knetbsd.miniroot-image.i386.gz): Likewise.
21564 (bootcheck-knetbsd-i386): Likewise.
21565 (bootcheck-kopenbsd-i386): Likewise.
21566 (bootcheck-kopenbsd-x86_64): Likewise.
21567 (knetbsd.miniroot-image.x86_64.gz): Likewise.
21568 (bootcheck-knetbsd-x86_64): Likewise.
21569 (bootcheck-linux-i386): Likewise.
21570 (bootcheck-linux-x86_64): Likewise.
21571 (bootcheck-linux16-i386): Likewise.
21572 (bootcheck-linux16-x86_64): Likewise.
21573 (bootcheck-multiboot): Likewise.
21574 (bootcheck-multiboot2): Likewise.
21575 (bootcheck-kfreebsd-aout): Likewise.
21576 (bootcheck-pc-chainloader): Likewise.
21577 (bootcheck-ntldr): Likewise.
21578 (CLEANFILES): Add new targets.
21579 (BOOTCHECKS): New variable.
21580 (.PHONY): Add bootchecks.
21581 (SUCCESSFUL_BOOT_STRING): New variable.
21582 (BOOTCHECK_TIMEOUT): Likewise.
21583 (bootcheck): New target
21584 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
21585 * configure.ac: Correct efiemu excuse.
21586 * docs/grub.texi (Supported kernels): New chapter.
21587 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
21588 include/grub/mm_private.h. Simplify inclusion of
21589 include/grub/boot.h, include/grub/loader.h
21590 and include/grub/msdos_partition.h
21591 (KERNEL_HEADER_FILES) [i386_coreboot]:
21592 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
21593 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
21594 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
21595 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
21596 include/grub/machine/loader.h.
21597 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
21598 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
21599 extra_dist.
21600 (pci.mod): Enable on i386-multiboot.
21601 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
21602 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
21603 i386-qemu.
21604 (relocator.mod): Rewritten.
21605 (aout.mod): Enable on all x86.
21606 (bsd.mod): Likewise.
21607 (ntldr.mod): New module.
21608 (linux.mod): Use loader/i386/linux.c on all x86.
21609 (xnu.mod): Enable on all x86.
21610 (vga_text.mod): disable on EFI and QEMU.
21611 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
21612 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
21613 * grub-core/efiemu/loadcore.c: Likewise.
21614 * grub-core/efiemu/main.c: Likewise.
21615 (grub_efiemu_exit_boot_services): Removed.
21616 (grub_efiemu_finish_boot_services): Likewise.
21617 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
21618 function.
21619 * grub-core/efiemu/i386/nocfgtables.c: New file.
21620 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
21621 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
21622 (grub_efi_finish_boot_services): Moved from here ...
21623 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
21624 Fille finish memory map and related data.
21625 (finish_mmap_buf): New variable.
21626 (grub_efi_uintn_t finish_mmap_size): Likewise.
21627 (grub_efi_uintn_t finish_key): Likewise.
21628 (grub_efi_uintn_t finish_desc_size): Likewise.
21629 (grub_efi_uint32_t finish_desc_version): Likewise.
21630 (grub_efi_is_finished): Likewise.
21631 (grub_efi_get_memory_map): Use saved memory map if EFI is already
21632 finished.
21633 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
21634 (grub_elf64_phdr_iterate): Likewise.
21635 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
21636 (grub_os_area_size): Likewise.
21637 (grub_machine_init): Don't reserve os area.
21638 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
21639 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
21640 * grub-core/kern/i386/loader.S: Removed.
21641 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
21642 (grub_os_area_size): Likewise.
21643 (grub_machine_init): Don't reserve os area.
21644 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
21645 Don't call grub_dl_unload_all.
21646 Don't include loader.S.
21647 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
21648 Declare the memory after _end as available.
21649 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 21650 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 21651 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
21652 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
21653 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
21654 * include/grub/mm_private.h (grub_mm_header): ... here.
21655 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
21656 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
21657 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
21658 (grub_mm_region): ..here. Removed addr. Added pre_size.
21659 All users updated.
21660 * grub-core/kern/mm.c (base): Renamed to ...
21661 (grub_mm_base): ... this. Made global.
21662 (grub_real_malloc): Alloc from end of region.
21663 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
21664 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
21665 * grub-core/kern/powerpc/cache_flush.S: ... here.
21666 * grub-core/lib/efi/relocator.c: New file.
21667 * grub-core/lib/i386/relocator.c: Rewritten.
21668 * grub-core/lib/i386/relocator16.S: New file.
21669 * grub-core/lib/i386/relocator32.S: Likewise.
21670 * grub-core/lib/i386/relocator64.S: Likewise.
21671 * grub-core/lib/i386/relocator_asm.S: Rewritten.
21672 * grub-core/lib/i386/relocator_common.S: New file.
21673 * grub-core/lib/ieee1275/relocator.c: Likewise.
21674 * grub-core/lib/mips/relocator.c: Rewritten.
21675 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
21676 stylistic adjustments.
21677 * grub-core/lib/powerpc/relocator.c: New file.
21678 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
21679 * grub-core/lib/relocator.c: Rewritten.
21680 * grub-core/lib/x86_64/relocator_asm.S: New file.
21681 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
21682 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
21683 (bsd_tag): New struct.
21684 (tags): New variable.
21685 (tags_last): Likewise.
21686 (netbsd_module): New struct.
21687 (netbsd_mods): New variable.
21688 (netbsd_mods_last): Likewise.
21689 (openbsd_opts): New parameter "serial".
21690 (OPENBSD_SERIAL_ARG): New definition.
21691 (netbsd_opts): New parameter "serial".
21692 (NETBSD_SERIAL_ARG): New definition.
21693 (grub_freebsd_add_meta): Reorganised into ...
21694 (grub_bsd_add_meta): ...this. All users updated.
21695 (grub_freebsd_add_mmap): Reorganised into ...
21696 (generate_e820_mmap): ...this...
21697 (grub_bsd_add_mmap): ...and this. All users updated.
21698 (grub_freebsd_list_modules): Use tags.
21699 (grub_netbsd_add_meta_module): New function.
21700 (grub_netbsd_list_modules): Likewise.
21701 (grub_freebsd_boot): Use relocator and finish EFI.
21702 (grub_openbsd_boot): Likewise.
21703 (grub_netbsd_setup_video): New function.
21704 (grub_netbsd_add_modules): Likewise.
21705 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
21706 and finish EFI.
21707 (grub_bsd_unload): Unload tags.
21708 (grub_bsd_load_aout): Use relocator.
21709 (grub_bsd_elf32_size_hook): New function.
21710 (grub_bsd_elf32_hook): Use relocator.
21711 (grub_bsd_elf64_size_hook): New function.
21712 (grub_bsd_elf64_hook): Use relocator.
21713 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
21714 (grub_bsd_load): Zero-out openbsd_ramdisk.
21715 (grub_bsd_load): Use relocator.
21716 (grub_cmd_openbsd): Support serial.
21717 (grub_cmd_netbsd): Support modules.
21718 (grub_cmd_freebsd_module): Use relocator.
21719 (grub_netbsd_module_load): New function.
21720 (grub_cmd_netbsd_module): Likewise.
21721 (grub_cmd_openbsd_ramdisk): Likewise.
21722 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
21723 kopenbsd_ramdisk.
21724 (GRUB_MOD_FINI): Unregister new commands.
21725 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
21726 (grub_freebsd_load_elfmodule_obj): Use relocator.
21727 (grub_freebsd_load_elfmodule): Likewise.
21728 (grub_freebsd_load_elf_meta): Likewise.
21729 (grub_netbsd_load_elf_meta): New function.
21730 (grub_openbsd_find_ramdisk): Likewise.
21731 * grub-core/loader/i386/bsd_helper.S: Removed.
21732 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
21733 * grub-core/loader/i386/bsd_trampoline.S: Removed.
21734 * grub-core/loader/i386/efi/linux.c: Likewise.
21735 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
21736 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
21737 (DEFAULT_VIDEO_MODE): Likewise.
21738 (real_mode_target): New variable.
21739 (prot_mode_target): Likewise.
21740 (initrd_mem_target): Likewise.
21741 (relocator): Likewise.
21742 (efi_mmap_buf): Likewise.
21743 (efi_mmap_size): Likewise.
21744 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
21745 (free_pages): Use relocator.
21746 (allocate_pages): Account for efi_mmap and use relocator. Return error.
21747 (grub_linux_setup_video): Return error.
21748 (grub_linux_trampoline_start): Removed.
21749 (grub_linux_trampoline_end): Likewise.
21750 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
21751 andd video parameters depending on firmware.
21752 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
21753 [GRUB_MACHINE_EFI]: Pass EFI parameters.
21754 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
21755 (grub_cmd_initrd): Use relocator.
21756 * grub-core/loader/i386/linux_trampoline.S: Removed.
21757 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
21758 (elf_sec_entsize): Likewise.
21759 (elf_sec_shstrndx): Likewise.
21760 (elf_sections): Likewise.
21761 (grub_multiboot_load): Use relocator.
21762 (grub_multiboot_get_mbi_size): Account for sections.
21763 (grub_multiboot_make_mbi): Use relocator and support sections.
21764 (grub_multiboot_add_elfsyms): New function.
21765 (grub_multiboot_free_mbi): Free sections.
21766 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
21767 (grub_linux_real_target): Likewise.
21768 (grub_linux_real_chunk): Likewise.
21769 (grub_linux16_prot_size): Likewise.
21770 (grub_linux16_boot): Use relocator.
21771 (grub_linux_unload): Unload relocator.
21772 (grub_cmd_linux): Use relocator.
21773 (grub_cmd_initrd): Likewise.
21774 * grub-core/loader/i386/pc/ntldr.c: New file.
21775 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
21776 Don't try to guess CPU frequency.
21777 (grub_xnu_set_video): Stretch bitmap.
21778 (grub_xnu_boot): Use relocator.
21779 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
21780 (grub_linux_unload): Free relocator.
21781 (grub_linux_load32): Use relocator.
21782 (grub_linux_load64): Likewise.
21783 (grub_cmd_initrd): Likewise.
21784 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
21785 (grub_multiboot_unload): Unload relocator.
21786 (grub_cmd_multiboot): Use relocator.
21787 (grub_cmd_module): Likewise.
21788 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
21789 Use relocator and support sections.
21790 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
21791 (elf_sec_entsize): Likewise.
21792 (elf_sec_shstrndx): Likewise.
21793 (elf_sections): Likewise.
21794 (grub_multiboot_load): Use relocator.
21795 (grub_multiboot_get_mbi_size): Account for sections.
21796 (grub_multiboot_make_mbi): Use relocator and support sections.
21797 (grub_multiboot_add_elfsyms): New function.
21798 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
21799 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
21800 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
21801 Prototype changed. All users updated.
21802 (grub_xnu_align_heap): Simplified.
21803 (grub_xnu_writetree_toheap): Likewise.
21804 (grub_xnu_unload): Unload relocator.
21805 (grub_cmd_xnu_kernel): Use relocator.
21806 (grub_cmd_xnu_kernel64): Likewise.
21807 (grub_xnu_register_memory): Simplified.
21808 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
21809 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
21810 EFI is finished.
21811 (grub_console_checkkey): Likewise.
21812 (grub_console_getkey): Likewise.
21813 (grub_console_getwh): Likewise.
21814 (grub_console_getxy): Likewise.
21815 (grub_console_gotoxy): Likewise.
21816 (grub_console_cls): Likewise.
21817 (grub_console_setcolorstate): Likewise.
21818 (grub_console_setcursor): Likewise.
21819 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
21820 * grub-core/tests/boot/kbsd.init-i386.S: New file.
21821 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
21822 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
21823 * grub-core/tests/boot/kernel-8086.S: Likewise.
21824 * grub-core/tests/boot/kernel-i386.S: Likewise.
21825 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
21826 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
21827 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
21828 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
21829 * grub-core/tests/boot/knetbsd.cfg: Likewise.
21830 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
21831 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
21832 * grub-core/tests/boot/linux.cfg: Likewise.
21833 * grub-core/tests/boot/linux.init-i386.S: Likewise.
21834 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
21835 * grub-core/tests/boot/linux16.cfg: Likewise.
21836 * grub-core/tests/boot/multiboot.cfg: Likewise.
21837 * grub-core/tests/boot/multiboot2.cfg: Likewise.
21838 * grub-core/tests/boot/ntldr.cfg: Likewise.
21839 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
21840 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
21841 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
21842 New definition.
21843 * include/grub/dl.h (grub_dl_unload_all): Removed.
21844 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
21845 (grub_efi_finish_boot_services): Change prototype.
21846 (grub_efi_is_finished): New variable.
21847 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
21848 Changed prototype.
21849 (grub_efiemu_finish_boot_services): Removed.
21850 (grub_machine_efiemu_init_tables): New prototype.
21851 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
21852 (grub_elf64_phdr_iterate): Likewise.
21853 * include/grub/i386/bsd.h: Include relocator.h.
21854 (freebsd_tag_header): New struct.
21855 (grub_openbsd_bios_mmap): Removed.
21856 (grub_unix_real_boot): Removed.
21857 (grub_freebsd_load_elfmodule32): Changed prototype.
21858 (grub_freebsd_load_elfmodule_obj64): Likewise.
21859 (grub_freebsd_load_elf_meta32): Likewise.
21860 (grub_freebsd_load_elf_meta64): Likewise.
21861 (grub_freebsd_add_meta): Removed.
21862 (grub_netbsd_load_elf_meta32): New prototype.
21863 (grub_netbsd_load_elf_meta64): Likewise.
21864 (grub_bsd_add_meta): Likewise.
21865 (grub_openbsd_ramdisk_descriptor): New struct.
21866 (grub_openbsd_find_ramdisk32): New prototype.
21867 (grub_openbsd_find_ramdisk64): Likewise.
21868 * include/grub/i386/coreboot/loader.h: Removed.
21869 * include/grub/i386/efi/loader.h: Likewise.
21870 * include/grub/i386/ieee1275/loader.h: Likewise.
21871 * include/grub/i386/linux.h (linux_kernel_header): Change void *
21872 to grub_uint32_t.
21873 * include/grub/i386/loader.h: Removed.
21874 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
21875 value.
21876 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
21877 (grub_phys_addr_t): New type.
21878 (grub_vtop): New inline function.
21879 (grub_map_memory): Likewise.
21880 (grub_unmap_memory): Likewise.
21881 * include/grub/i386/multiboot/loader.h: Removed.
21882 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
21883 (NETBSD_BTINFO_CONSOLE): New definition.
21884 (NETBSD_BTINFO_SYMTAB): Likewise.
21885 (NETBSD_BTINFO_MODULES): Likewise.
21886 (NETBSD_BTINFO_FRAMEBUF): Likewise.
21887 (grub_netbsd_bootinfo): New struct.
21888 (grub_netbsd_btinfo_common): Use explicit bitsize.
21889 (grub_netbsd_btinfo_mmap_entry): Removed.
21890 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
21891 (grub_netbsd_btinfo_bootdisk): New struct.
21892 (grub_netbsd_btinfo_symtab): Likewise.
21893 (grub_netbsd_btinfo_serial): Likewise.
21894 (grub_netbsd_btinfo_modules): Likewise.
21895 (grub_netbsd_btinfo_framebuf): Likewise.
21896 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
21897 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
21898 Likewise.
21899 (grub_openbsd_bootargs): Use explicit bitsize.
21900 (grub_openbsd_bootarg_console): New struct.
21901 (GRUB_OPENBSD_COM_MAJOR): New definition.
21902 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
21903 * include/grub/i386/pc/efiemu.h: Removed.
21904 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
21905 * include/grub/i386/qemu/loader.h: Removed.
21906 * include/grub/i386/relocator.h: Rewritten.
21907 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
21908 * include/grub/mips/memory.h: New file.
21909 * include/grub/mips/multiboot.h: Rewritten.
21910 * include/grub/mips/relocator.h: Rewritten.
21911 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
21912 (grub_vtop): New function.
21913 (grub_map_memory): Likewise.
21914 (grub_unmap_memory): Likewise.
21915 * include/grub/misc.h (ALIGN_DOWN): New definition.
21916 * include/grub/mm.h (grub_mm_check_real): New proto.
21917 (GRUB_MM_CHECK): New definition.
21918 * include/grub/mm_private.h: New file.
21919 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
21920 (grub_multiboot_get_mbi_size): Removed.
21921 (grub_multiboot_make_mbi): Change prottype.
21922 (grub_multiboot_set_accepts_video): New proto.
21923 (grub_multiboot_add_elfsyms): Likewise.
21924 (grub_multiboot_payload_eip): New variable.
21925 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
21926 New prototype.
21927 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
21928 New definition.
21929 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
21930 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
21931 * include/grub/powerpc/ieee1275/loader.h: Removed.
21932 * include/grub/powerpc/memory.h: New file.
21933 * include/grub/powerpc/relocator.h: Likewise.
21934 * include/grub/relocator.h: Likewise.
21935 * include/grub/relocator_private.h: Likewise.
21936 * include/grub/sparc64/ieee1275/loader.h: Removed.
21937 * include/grub/x86_64/memory.h: New file.
21938 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
21939 (grub_xnu_heap_malloc): Likewise.
21940 (grub_xnu_heap_real_start): Removed.
21941 (grub_xnu_heap_start): Likewise.
21942 (grub_xnu_relocator): New variable.
21943 (grub_xnu_heap_target_start): Likewise.
21944 * tests/util/grub-shell.in: Support non-pc.
21945 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 21946
5303b85d
VS
219472010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21948
21949 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
21950 on malloc error.
21951 (grub_bidi_logical_to_visual): Check that malloc succeded.
21952 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
21953 puts.
21954 (grub_xputs_normal): Likewise.
21955
d768d159
VS
219562010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21957
21958 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
21959 extra_dist.
21960
219612010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21962
21963 * grub-core/efiemu/runtime/efiemu.sh: Removed.
21964
5bf84df4
VS
219652010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21966
21967 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
21968
3626810e
VS
219692010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21970
21971 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
21972 dprintf.
21973
a7363f53
BC
219742010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
21975
21976 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
21977
902f75f6
VS
219782010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21979
21980 * grub-core/normal/term.c (print_more): Fix a memory leak.
21981 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
21982 (grub_xputs_normal): Likewise.
21983
3c707967
VS
219842010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21985
21986 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
21987 the begining of the string
21988
2053cc07
VS
219892010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21990
21991 * grub-core/script/script.c (grub_script_parse): Free parsed on
21992 failure.
21993
46422ebf
VS
219942010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21995
21996 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
21997 on failure.
21998
9e0fa3f6
VS
219992010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22000
22001 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
22002 return.
22003
3393cf16
VS
220042010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22005
22006 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
22007 (scroll_up): Fix a memory leak.
22008
b17540cb
VS
220092010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22010
22011 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
22012 errors.
22013
67140446
VS
220142010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
22015
22016 Handle USB pendrives exposed as floppies.
22017
22018 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
22019 floppy.
22020 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22021 Check for partitions on all devices.
22022
e35e46fc
VS
220232010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22024
22025 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
22026 (readkey): Likewise.
22027
d24c6190
BC
220282010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
22029
22030 Multiple variable names support to "export" command.
22031
22032 * normal/context.c (grub_cmd_export): "export" command supports
22033 multiple variable names.
22034
04ddcc6a
ST
220352010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
22036
22037 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
22038 --target=drive output to Mach device name.
22039
0c8b61d8
BC
220402010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
22041
22042 New Automake based build system for GRUB.
22043
22044 * ABOUT-NLS: New file.
22045 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
22046 in Makefile.util.def file.
22047 * Makefile.util.def: New file. Autogen build definitions file for
22048 GRUB host utils.
22049 * conf/Makefile.common: New file. Common variables for GRUB host
22050 utils and target modules.
22051 * conf/Makefile.extra-dist: New file. Extra files for make dist.
22052 * docs/Makefile.am: New file. Automake file for docs.
22053 * gentpl.py: New file. Python script to generate Autogen
22054 template.
22055 * grub-core/Makefile.am: New file. GRUB target modules' rules
22056 that doesn't fit in Makefile.core.def file.
22057 * grub-core/Makefile.core.def: New file. Autogen build
22058 definitions file for GRUB target modules.
22059 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
22060 specific setjmp.S file.
22061 * po/Makefile.am: New file.
22062
22063 * .bzrignore: New ignores.
22064 * INSTALL: New requirements, without Ruby.
22065 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
22066 * autogen.sh: Updated to invoke autogen as necessary.
22067 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
22068 and defines for Automake conditionals.
22069 * geninit.sh: Refactoring.
22070
22071 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
22072 necessary.
22073 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
22074 New prototype.
22075
22076 * include/grub/test.h: Fix functional test modules' naming.
22077 * grub-core/tests/example_functional_test.c: Fix test module name.
22078
22079 * util/misc.c: Hosted versions' of grub functions for libgrub.a
22080 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
22081 * util/grub-editenv.c: Likewise.
22082 * util/grub-fstest.c: Likewise.
22083 * util/grub-mkdevicemap.c: Likewise.
22084 * util/grub-mkfont.c: Likewise.
22085 * util/grub-mkimage.c: Likewise.
22086 * util/grub-mkpasswd-pbkdf2.c: Likewise.
22087 * util/grub-probe.c: Likewise.
22088 * util/grub-script-check.c: Likewise.
22089 * util/i386/pc/grub-setup.c: Likewise.
22090 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22091
22092 * tests/util/grub-shell.in: Fix override directory path.
22093 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
22094 * util/import_gcry.py: Create Makefile.gcry.def file instead.
22095
22096 * util/lvm.c: Update #includes.
22097 * util/raid.c: Likewise.
22098 * util/resolve.c: Likewise.
22099 * grub-core/bus/emu/pci.c: Likewise.
22100 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
22101 * grub-core/lib/posix_wrap/string.h: Likewise.
22102 * grub-core/kern/emu/main.c: Likewise.
22103
22104 * grub-core/gensymlist.sh: New file. Script for generating kernel
22105 symbols file.
22106 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
22107
22108 * grub-core/gentrigtables.c: Fix unused variable warnings.
22109
22110 * Makefile.in: Removed.
22111 * conf/any-emu.rmk: Removed.
22112 * conf/common.rmk: Removed.
22113 * conf/i386-coreboot.rmk: Removed.
22114 * conf/i386-efi.rmk: Removed.
22115 * conf/i386-ieee1275.rmk: Removed.
22116 * conf/i386-multiboot.rmk: Removed.
22117 * conf/i386-pc.rmk: Removed.
22118 * conf/i386-qemu.rmk: Removed.
22119 * conf/i386.rmk: Removed.
22120 * conf/mips-yeeloong.rmk: Removed.
22121 * conf/mips.rmk: Removed.
22122 * conf/powerpc-ieee1275.rmk: Removed.
22123 * conf/sparc64-ieee1275.rmk: Removed.
22124 * conf/tests.rmk: Removed.
22125 * conf/x86-efi.rmk: Removed.
22126 * conf/x86_64-efi.rmk: Removed.
22127 * gendistlist.sh: Removed.
22128 * geninitheader.sh: Removed.
22129 * genkernsyms.sh.in: Removed.
22130 * genmk.rb: Removed.
22131 * gensymlist.sh.in: Removed.
22132 * mkinstalldirs: Removed.
22133 * boot: Moved ...
22134 * grub-core/boot: ... to here.
22135 * bus: Moved ...
22136 * grub-core/bus: ... to here.
22137 * commands: Moved ...
22138 * grub-core/commands: ... to here.
22139 * disk: Moved ...
22140 * grub-core/disk: ... to here.
22141 * efiemu: Moved ...
22142 * grub-core/efiemu: ... to here.
22143 * font: Moved ...
22144 * grub-core/font: ... to here.
22145 * fs: Moved ...
22146 * grub-core/fs: ... to here.
22147 * gencmdlist.sh: Moved ...
22148 * grub-core/gencmdlist.sh: ... to here.
22149 * genemuinit.sh: Moved ...
22150 * grub-core/genemuinit.sh: ... to here.
22151 * genemuinitheader.sh: Moved ...
22152 * grub-core/genemuinitheader.sh: ... to here.
22153 * genfslist.sh: Moved ...
22154 * grub-core/genfslist.sh: ... to here.
22155 * genhandlerlist.sh: Moved ...
22156 * grub-core/genhandlerlist.sh: ... to here.
22157 * genmoddep.awk: Moved ...
22158 * grub-core/genmoddep.awk: ... to here.
22159 * genmodsrc.sh: Moved ...
22160 * grub-core/genmodsrc.sh: ... to here.
22161 * genpartmaplist.sh: Moved ...
22162 * grub-core/genpartmaplist.sh: ... to here.
22163 * genparttoollist.sh: Moved ...
22164 * grub-core/genparttoollist.sh: ... to here.
22165 * genterminallist.sh: Moved ...
22166 * grub-core/genterminallist.sh: ... to here.
22167 * gentrigtables.c: Moved ...
22168 * grub-core/gentrigtables.c: ... to here.
22169 * genvideolist.sh: Moved ...
22170 * grub-core/genvideolist.sh: ... to here.
22171 * gettext: Moved ...
22172 * grub-core/gettext: ... to here.
22173 * gfxmenu: Moved ...
22174 * grub-core/gfxmenu: ... to here.
22175 * gnulib: Moved ...
22176 * grub-core/gnulib: ... to here.
22177 * hello: Moved ...
22178 * grub-core/hello: ... to here.
22179 * hook: Moved ...
22180 * grub-core/hook: ... to here.
22181 * io: Moved ...
22182 * grub-core/io: ... to here.
22183 * kern: Moved ...
22184 * grub-core/kern: ... to here.
22185 * lib: Moved ...
22186 * grub-core/lib: ... to here.
22187 * loader: Moved ...
22188 * grub-core/loader: ... to here.
22189 * mmap: Moved ...
22190 * grub-core/mmap: ... to here.
22191 * normal: Moved ...
22192 * grub-core/normal: ... to here.
22193 * partmap: Moved ...
22194 * grub-core/partmap: ... to here.
22195 * parttool: Moved ...
22196 * grub-core/parttool: ... to here.
22197 * script: Moved ...
22198 * grub-core/script: ... to here.
22199 * term: Moved ...
22200 * grub-core/term: ... to here
22201 * tests/example_functional_test.c: Moved ...
22202 * grub-core/tests/example_functional_test.c: ... to here.
22203 * tests/lib/functional_test.c: Moved ...
22204 * grub-core/tests/lib/functional_test.c: ... to here.
22205 * tests/lib/test.c: Moved ...
22206 * grub-core/tests/lib/test.c: ... to here.
22207 * video: Moved ...
22208 * grub-core/video: ... to here.
22209
645586e6
BC
222102010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
22211
22212 Replace --enable-grub-emu-modules with grub-emu-lite.
22213
22214 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
22215 cache.S.
22216
22217 * include/grub/emu/misc.h (grub_emu_init): New prototype.
22218 * kern/emu/full.c: New file. For grub-emu specific initialization.
22219 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
22220 * kern/emu/main.c: Call initialization function grub_emu_init.
22221
22222 * Makefile.in: Include grub-emu-lite in install.
22223 * commands/parttool.c: Use grub_no_autoload to differentiate
22224 between grub-emu and grub-emu-lite.
22225 * include/grub/misc.h: New variable grub_no_autoload.
22226
22227 * conf/any-emu.rmk: New rules for grub-emu-lite.
22228 * configure.ac: Remove --enable-grub-emu-modules.
22229 * genmk.rb: Cleanup unnecessary rules.
22230 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
22231
22232 * normal/main.c: Don't load list files on grub-emu-lite.
22233 * util/misc.c (grub_arch_sync_caches): Removed.
22234
f86a4030
CW
222352010-08-23 Colin Watson <cjwatson@ubuntu.com>
22236
22237 * kern/mips/startup.S (grub_prefix): Update comment to refer to
22238 grub-mkimage rather than grub-mkelfimage.
22239 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
22240
06776944
VS
222412010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
22242
22243 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
22244 a key after CapsLock or NumLock. It's just a qemu bug.
22245
df262419
VS
222462010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
22247
22248 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
22249 needed by libusb wrapper.
22250
b40ea81b
ST
222512010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
22252
22253 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
22254
dee50575
VS
222552010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
22256
22257 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
22258 --nounzip is passed.
22259
fb1d7b79
VS
222602010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
22261
22262 USB hotunplugging and USB serial support.
22263
22264 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
22265 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
22266 (grub_uhci_transfer): Respect timeout and set *actual.
22267 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
22268 non-standard length.
22269 (grub_usb_device_attach): Autoload modules.
22270 (GRUB_MOD_INIT): Set grub_term_poll_usb.
22271 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
22272 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
22273 users updated.
22274 (grub_usb_add_hub): Fill nports and children.
22275 (attach_root_port): Receive hub instead of controller.
22276 All users updated. Fill hub->devices.
22277 (grub_usb_root_hub): Allocate hub->devices.
22278 (detach_device): New function.
22279 (poll_nonroot_hub): Fill children and detach devices.
22280 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
22281 actual arguments. All users updated.
22282 (grub_usb_bulk_read_extended): New function.
22283 * bus/usb/serial/common.c: New file.
22284 * bus/usb/serial/ftdi.c: Likewise.
22285 * bus/usb/serial/pl2303.c: Likewise.
22286 * commands/terminal.c (handle_command): Support wildcard.
22287 * commands/usbtest.c: Output "Unknown" instead of empty string.
22288 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
22289 (usbserial_common_mod_SOURCES): New variable.
22290 (usbserial_common_mod_CFLAGS): Likewise.
22291 (usbserial_common_mod_LDFLAGS): Likewise.
22292 (pkglib_MODULES): Add usbserial_pl2303.mod.
22293 (usbserial_pl2303_mod_SOURCES): New variable.
22294 (usbserial_pl2303_mod_CFLAGS): Likewise.
22295 (usbserial_pl2303_mod_LDFLAGS): Likewise.
22296 (pkglib_MODULES): Add usbserial_ftdi.mod.
22297 (usbserial_ftdi_mod_SOURCES): New variable.
22298 (usbserial_ftdi_mod_CFLAGS): Likewise.
22299 (usbserial_ftdi_mod_LDFLAGS): Likewise.
22300 (pkglib_MODULES): Add serial.mod.
22301 (serial_mod_SOURCES): New variable.
22302 (serial_mod_CFLAGS): Likewise.
22303 (serial_mod_LDFLAGS): Likewise.
22304 * conf/i386-pc.rmk: Likewise.
22305 * conf/mips-yeeloong.rmk: Likewise.
22306 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
22307 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
22308 * disk/usbms.c (first_available_slot): New variable.
22309 (grub_usbms_attach): Don't reuse free slots due to potential cache
22310 problems.
22311 * include/grub/serial.h: Moved to ..
22312 * include/grub/ns8250.h: ...this.
22313 * include/grub/serial.h: New file.
22314 * include/grub/term.h (grub_term_poll_usb): New variable.
22315 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
22316 readkey. All users updated.
22317 (grub_terminfo_output_state): Pass term to put.
22318 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
22319 (grub_usb_controller_dev): Add timeout and actual arguments to
22320 transfer. All users updated.
22321 (grub_usb_interface): New field detach_data.
22322 (grub_usb_device): New fields children and nports.
22323 (grub_usb_ep_type_t): New type.
22324 (grub_usb_get_ep_type): New function.
22325 (grub_usb_bulk_read_extended): Likewise.
22326 * include/grub/usbdesc.h (grub_usb_desc): New type.
22327 * include/grub/usbserial.h: New file.
22328 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
22329 * kern/term.c (grub_term_poll_usb): New variable.
22330 (grub_getkey): Call grub_term_poll_usb if set.
22331 (grub_checkkey): Likewise.
22332 (grub_getkeystatus): Likewise.
22333 * term/serial.c: Moved controller-specific parts to ...
22334 * term/ns8250.c: ... here.
22335 * term/serial.c: Mostly rewritten.
22336 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
22337 according to spec.
22338
21a313de
RM
223392010-08-20 Robert Millan <rmh@gnu.org>
22340
22341 Make kFreeBSD code more generic to support ext2fs as root, ufs as
22342 a separate module and maybe other interesting combinations.
22343
22344 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
22345 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
22346 (kfreebsd_entry): Add generic filesystem module load routine.
22347 Map GRUB `ext2' to kFreeBSD `ext2fs'.
22348
63c734a6
CW
223492010-08-20 Colin Watson <cjwatson@ubuntu.com>
22350
22351 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
22352 "numcenter" (I misunderstood the purpose of this entry).
22353 * docs/grub.texi (sendkey): Likewise.
22354
c4d16542
CW
223552010-08-20 Colin Watson <cjwatson@ubuntu.com>
22356
22357 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
22358 status flag options; simply omitting the option is equivalent and
22359 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
22360 (keysym_table): Rename "num5numlock" to "numlock".
22361 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
22362 can uniformly say that only the last of multiple `sendkey'
22363 invocations has any effect.
22364 * docs/grub.texi (sendkey): New section.
22365
93541d66
CW
223662010-08-19 Colin Watson <cjwatson@ubuntu.com>
22367
22368 * commands/i386/pc/sendkey.c (options): Fix three typos.
22369
b4ece5e1
VS
223702010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
22371
22372 Implement sendkey support.
22373
22374 * commands/i386/pc/sendkey.c: New file.
22375 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
22376 (sendkey_mod_SOURCES): New variable.
22377 (sendkey_mod_CFLAGS): Likewise.
22378 (sendkey_mod_LDFLAGS): Likewise.
22379
51f1f5af
CW
223802010-08-18 Colin Watson <cjwatson@ubuntu.com>
22381
22382 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
22383 fix warnings from Autoconf.
22384
9da94e05
CW
223852010-08-18 Colin Watson <cjwatson@ubuntu.com>
22386
22387 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
22388 to avoid false positives with some assemblers that output things
22389 like "someprefix_func" as part of their output.
22390
729a0f2e
RM
223912010-08-15 Robert Millan <rmh@gnu.org>
22392
22393 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
22394 errors.
22395 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
22396 grub_get_libzfs_handle() errors.
22397
f3710e08
RM
223982010-08-14 Robert Millan <rmh@gnu.org>
22399
22400 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
22401 filesystem is not ZFS.
22402
7a3c13de
BC
224032010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22404
22405 Fix for misspelled color names defaulting to black/black (bug
22406 reported by Doug Nazar)
22407
22408 * include/grub/normal.h (grub_parse_color_name_pair): Add return
22409 status to prototype.
22410 * normal/color.c (grub_parse_color_name_pair): Return failure
22411 status.
22412 (grub_env_write_color_normal): Ignore bad color names.
22413 (grub_env_write_color_highlight): Likewise.
22414 * normal/main.c (GRUB_MOD_INIT): Set default color names.
22415
ab8ba50d
BC
224162010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22417
22418 "shift" command support to GRUB script.
22419
22420 * include/grub/script_sh.h (grub_script_shift): New prototype.
22421 * script/execute.c (grub_script_shift): New function.
22422 * script/main.c (grub_script_init): Register shift command.
22423 (grub_script_fini): Unregister shift command.
22424 * util/grub-script-check.c (grub_script_cmd_shift): New function.
22425
22426 * tests/grub_script_shift.in: New testcase.
22427 * conf/tests.rmk: Rules for new testcase.
22428
4d61999e
BC
224292010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22430
22431 "continue" command support to GRUB script.
22432
22433 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
22434 (grub_script_break): Continue support.
22435 * script/main.c (grub_script_init): Register continue command.
22436 (grub_script_fini): Unregister continue command.
22437
22438 * tests/grub_script_continue.in: New testcase.
22439 * conf/tests.rmk: Rules for new testcase.
22440
4df51e00
BC
224412010-08-12 BVK Chaitanya <bvk@dbook>
22442
22443 "break" command support to GRUB script.
22444
22445 * conf/common.rmk: Rule updates to grub-script-check.
22446 * include/grub/misc.h (grub_min): New function.
22447 * include/grub/script_sh.h (grub_script_init): New prototype.
22448 (grub_script_fini): New prototype.
22449 (grub_script_break): New prototype.
22450 * script/main.c (grub_script_init): New function.
22451 (grub_script_fini): New function.
22452 * script/execute.c (grub_script_break): New function.
22453 * normal/main.c: Calls to grub_script_{init,fini}.
22454 * util/grub-script-check.c (grub_script_break): New function.
22455
22456 * tests/grub_script_break.in: New testcase.
22457 * conf/tests.rmk: Rules for new test case.
22458
f12c8420
BC
224592010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22460
22461 Function parameters support to GRUB script.
22462
22463 * script/yylex.l (VARIABLE): Regular expression update.
22464 * script/function.c (grub_script_function_call): Moved ...
22465 * script/execute.c (grub_script_function_call): ... to here.
22466 (grub_script_execute_arglist_to_argv): Removed.
22467 (grub_script_arglist_to_argv): New function.
22468 * script/argv.c: New file.
22469 (grub_script_argv_free): New function.
22470 (grub_script_argv_next): Likewise.
22471 (grub_script_argv_append): Likewise.
22472 (grub_script_argv_split_append): Likewise.
22473 * include/grub/script_sh.h (grub_script_argv): New struct.
22474 (grub_script_argv_free): New function.
22475 (grub_script_argv_next): Likewise.
22476 (grub_script_argv_append): Likewise.
22477 (grub_script_argv_split_append): Likewise.
22478
22479 * conf/common.rmk (normal.mod): New source script/argv.c.
22480
22481 * tests/grub_script_echo1.in: More tests.
22482 * tests/grub_script_vars1.in: Likewise.
22483 * tests/grub_script_functions.in: New test case.
22484 * conf/tests.rmk: Rules for new testcase.
22485
8022b748
BC
224862010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22487
22488 Remove grub_script_cmdblock struct.
22489
22490 * include/grub/script_sh.h: Remove grub_script_cmdblock.
22491 * script/parser.y: Likewise.
22492 * script/execute.c: Rename cmdblock suffix to cmdlist.
22493 * script/script.c: Likewise.
22494 * util/grub-script-check.c: Likewise.
22495
79a6ba61
YB
224962010-08-11 Yves Blusseau <blusseau@zetam.org>
22497
22498 * .bzrignore: add grub-macho2img
22499
d04b9414
VS
225002010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22501
22502 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
22503
f947ab49
VS
225042010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22505
22506 Remove the dump of sm712 initialisation sequence.
22507
22508 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
22509 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
22510 (GRUB_VGA_IO_MISC_WRITE): Likewise.
22511 (GRUB_VGA_CR_*): Added many registers.
22512 (GRUB_VGA_SR_*): Likewise.
22513 (GRUB_VGA_GR_*): Likewise.
22514 (grub_vga_write_arx): New function.
22515 (grub_video_hw_config): New struct.
22516 (grub_vga_set_geometry): New function.
22517 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
22518 GRUB_PCI_CLASS_SUBCLASS_VGA.
22519 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
22520 * video/sm712.c (grub_sm712_write_reg): New function
22521 (grub_sm712_read_reg): Likewise.
22522 (grub_sm712_sr_write): Likewise.
22523 (grub_sm712_gr_write): Likewise.
22524 (grub_sm712_cr_write): Likewise.
22525 (grub_sm712_write_arx): Likewise.
22526 (grub_sm712_cr_shadow_write): Likewise.
22527 (grub_sm712_write_dda_lookup): Likewise.
22528 (grub_video_sm712_setup): Initialise the video rather then
22529 blindly replay the dump.
22530 (main) [TEST]: Add a routine to be able to compile as standalone for
22531 tests.
22532 * video/sm712_init.c (sm712_init): Removed.
22533 (sm712_sr_seq1): New array.
22534 (sm712_sr_seq2): Likewise.
22535
f0206638
VS
225362010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22537
22538 * include/grub/vga.h: Add missing grub/pci.h include.
22539
2764da3b
YB
225402010-08-10 Yves Blusseau <blusseau@zetam.org>
22541
22542 * util/grub-macho2img.c (main): fix typo
22543
cf0c775e
VS
225442010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22545
22546 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
22547 (grub_vga_gr_read): Likewise.
22548 (grub_vga_cr_write): Likewise.
22549 (grub_vga_cr_read): Likewise.
22550 (grub_vga_sr_write): Likewise.
22551 (grub_vga_sr_read): Likewise.
22552 (grub_vga_palette_read): Likewise.
22553 (grub_vga_palette_write): Likewise.
22554 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
22555 (grub_sm712_sr_read): New function.
22556 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
22557 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
22558
07f360e9
RM
225592010-08-09 Robert Millan <rmh@gnu.org>
22560
22561 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
22562 out unused variables on non-ZFS build.
22563
346c2072
RM
225642010-08-08 Robert Millan <rmh@gnu.org>
22565
22566 Fix path generation for sub-filesystems in ZFS.
22567
22568 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
22569 missing slash.
22570
71175420
RM
225712010-08-08 Robert Millan <rmh@gnu.org>
22572
22573 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
22574
0d8286f3
RM
225752010-08-08 Robert Millan <rmh@gnu.org>
22576
22577 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
22578 exist, issue a proper error message (rely on `ls' for translated
22579 strings).
22580
55dd2924
RM
225812010-08-08 Robert Millan <rmh@gnu.org>
22582
22583 Fix grub-probe invocation.
22584
22585 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
22586
d3dd9e80
RM
225872010-08-04 Robert Millan <rmh@gnu.org>
22588
22589 * configure.ac: Remove checks for getfsstat() and getmntany().
22590 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
22591 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
22592 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
22593 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
22594 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
22595 function.
22596 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
22597 via find_mount_point_from_dir() and getfsstat() / getmntany().
22598
0de22aa9
RM
225992010-08-04 Robert Millan <rmh@gnu.org>
22600
22601 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22602 (grub_find_zpool_from_mount_point): Merge into ...
22603 (grub_find_zpool_from_dir): ... this.
22604 * kern/emu/misc.c: Likewise.
22605
22606 * kern/emu/misc.c
22607 (grub_make_system_path_relative_to_its_root): Replace
22608 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
22609 with grub_find_zpool_from_dir().
22610 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
22611
62858144
RM
226122010-08-04 Robert Millan <rmh@gnu.org>
22613
22614 Support OpenSolaris in ZFS device resolution.
22615
22616 * configure.ac: Check for getmntany().
22617 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
22618 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
22619 support.
22620
9dd6fd50
RM
226212010-08-03 Robert Millan <rmh@gnu.org>
22622
22623 Fix grub-emu build.
22624
22625 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
22626 * include/grub/emu/misc.h: ... here.
22627
22628 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
22629 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
22630
22631 * util/misc.c: Remove `<grub/util/libzfs.h>'.
22632 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
22633 (grub_get_libzfs_handle): Move to ...
22634 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
22635 (grub_get_libzfs_handle): ... here.
22636
c9f7ff97
BC
226372010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
22638
22639 * script/execute.c (grub_script_execute_cmdline): Check for NULL
22640 as command name case.
22641
a870a783
CW
226422010-08-02 Colin Watson <cjwatson@ubuntu.com>
22643
22644 * disk/raid.c (insert_array): Select unique numbers for named arrays
22645 as well, for use as keys in the disk cache.
22646
c7db243b
RM
226472010-08-01 Robert Millan <rmh@gnu.org>
22648
22649 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
22650 kFreeBSD device name, except on ZFS where the filesystem label is
22651 used.
22652 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
22653 `/boot/zfs/zpool.cache'.
22654 Set mountfrom kernel variable using ${kfreebsd_device}.
22655
f7abdefb
RM
226562010-08-01 Robert Millan <rmh@gnu.org>
22657
22658 Make it even harder to use uninitialized `libzfs_handle' (and
22659 make the interface a bit simpler).
22660
22661 * include/grub/util/misc.h (grub_util_init_libzfs)
22662 (libzfs_handle): Remove.
22663 (grub_get_libzfs_handle): New prototype.
22664
22665 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
22666 attribute.
22667 (grub_util_init_libzfs): Remove.
22668 (grub_get_libzfs_handle): New function.
22669
22670 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
22671 grub_get_libzfs_handle() to obtain a libzfs handle instead of
22672 accessing `libzfs_handle' directly.
22673
c882acc0
RM
226742010-08-01 Robert Millan <rmh@gnu.org>
22675
22676 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22677 (grub_find_zpool_from_mount_point): New function prototypes.
22678
22679 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22680 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22681
22682 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22683 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22684 `static' attribute.
22685
22686 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22687 finding zpool from mount point into ...
22688 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22689
22690 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22691 requested path is part of a ZFS pool, use
22692 grub_find_zpool_from_mount_point() to detect its filesystem name,
22693 and generate a path with `/fsname@path' syntax.
22694
8bfe31d8
CW
226952010-08-01 Colin Watson <cjwatson@ubuntu.com>
22696
22697 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
22698 (void) rather than () so that this is a proper prototype.
22699
553df63d
VS
227002010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22701
22702 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
22703
8687cf07
VS
227042010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22705
22706 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
22707 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
22708
ea9be8ea
CW
227092010-08-01 Colin Watson <cjwatson@ubuntu.com>
22710
22711 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
22712
6eea041a
CW
227132010-08-01 Colin Watson <cjwatson@ubuntu.com>
22714
22715 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
22716
2cfb45df
CW
227172010-08-01 Colin Watson <cjwatson@ubuntu.com>
22718
22719 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
22720 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
22721 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
22722 disable gfxpayload.
22723 (Shell-like scripting): Add real content.
22724 (Serial terminal): Suggest `terminal_input serial; terminal_output
22725 serial' rather than putting the two commands on separate lines,
22726 since console input will be inoperative after the first command.
22727 (menuentry): Document --class, --users, and --hotkey options.
22728 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
22729 Vladimir Serbinenko).
22730
7decd202
VS
227312010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
227322010-08-01 Colin Watson <cjwatson@ubuntu.com>
22733
22734 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
22735
c882acc0
RM
227362010-08-01 Robert Millan <rmh@gnu.org>
22737
22738 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22739 (grub_find_zpool_from_mount_point): New function prototypes.
22740
22741 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22742 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22743
22744 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22745 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22746 `static' attribute.
22747
22748 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22749 finding zpool from mount point into ...
22750 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22751
22752 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22753 requested path is part of a ZFS pool, use
22754 grub_find_zpool_from_mount_point() to detect its filesystem name,
22755 and generate a path with `/fsname@path' syntax.
22756
deb0caa3
RM
227572010-08-01 Robert Millan <rmh@gnu.org>
22758
22759 Prevent accidental use of uninitialized libzfs_handle.
22760
22761 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
22762 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
22763 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
22764
ce04ef47
CW
227652010-08-01 Colin Watson <cjwatson@ubuntu.com>
22766
22767 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
22768 util/grub.d/10_linux.in). Fixes Debian bug #591093.
22769
ebf53056
RM
227702010-08-01 Robert Millan <rmh@gnu.org>
22771
22772 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 22773
3710bb6b
RM
227742010-07-31 Robert Millan <rmh@gnu.org>
22775
22776 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
22777
8072efeb
RM
227782010-07-31 Robert Millan <rmh@gnu.org>
22779
22780 * kern/emu/misc.c: Add missing license header.
22781
3169f4c7
RM
227822010-07-31 Robert Millan <rmh@gnu.org>
22783
22784 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
22785
22786 * include/grub/util/libnvpair.h: Include `<config.h>'.
22787 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
22788 declaring libnvpair prototypes ourselves.
22789 * include/grub/util/libzfs.h: Include `<config.h>'.
22790 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
22791 declaring libzfs prototypes ourselves.
22792
22793 (libzfs_handle): Moved to ...
22794 * include/grub/util/misc.h (libzfs_handle): ... here.
22795 Include `<grub/util/libzfs.h>'.
22796
c9a00aee
RM
227972010-07-30 Robert Millan <rmh@gnu.org>
22798
22799 * include/grub/emu/misc.h: Add missing license header.
22800
a184f9c8
RM
228012010-07-30 Robert Millan <rmh@gnu.org>
22802
22803 Enable `grub-probe -t device' resolution on ZFS.
22804
22805 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
22806 * include/grub/util/libnvpair.h: New file.
22807 * include/grub/util/libzfs.h: New file.
22808
22809 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
22810 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
22811 `<grub/util/libnvpair.h>'.
22812 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
22813
22814 (find_mount_point_from_dir): New static function.
22815 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
22816 function.
22817 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
22818 find_root_device_from_libzfs() before ressorting to find_root_device().
22819
22820 * include/grub/util/misc.h (grub_util_init_libzfs): New function
22821 prototype.
22822 * util/misc.c: Include `<grub/util/libzfs.h>'.
22823 (grub_util_init_libzfs): New function.
22824 [HAVE_LIBZFS] (libzfs_handle): New global variable.
22825 [HAVE_LIBZFS] (fini_libzfs): New static function.
22826 (grub_util_init_libzfs): New function.
22827 * util/grub-probe.c (main): Call grub_util_init_libzfs().
22828
f7790cdd
RM
228292010-07-30 Robert Millan <rmh@gnu.org>
22830
22831 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
22832 (xmalloc, xrealloc, xstrdup, xasprintf): Add
22833 `warn_unused_result' attribute.
22834 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
22835 (grub_xasprintf, grub_xvasprintf): Likewise.
22836 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
22837
0806b63c
RM
228382010-07-29 Robert Millan <rmh@gnu.org>
22839
22840 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
22841 (probe): Handle `PRINT_FS_LABEL'.
22842 (main): Handle `-t fs_label'.
22843
9f841f5c
RM
228442010-07-29 Robert Millan <rmh@gnu.org>
22845
22846 * configure.ac: Remove grub-mkisofs checks.
22847
46371121
VS
228482010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22849
22850 * util/ieee1275/grub-install.in: Don't use empty grub_device.
22851 Reported by: Lennart Sorensen.
22852
228532010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22854
22855 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
22856 prior to terminal_input/terminal_output separation. It's been over 1.5
22857 years and those versions weren't widely deployed.
22858
a9600892
CW
228592010-07-22 Colin Watson <cjwatson@ubuntu.com>
22860
22861 * disk/raid.c (insert_array): Don't count named arrays when looking
22862 for unused array numbers.
697e053c 22863 Reported and tested by: Michael Guntsche.
a9600892 22864
c03507df
CW
228652010-07-20 Colin Watson <cjwatson@ubuntu.com>
22866
22867 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
22868 implementation of this so that grub-emu links again, with a note
22869 that this should support hotplugging in the future.
22870
b26f1c11
CW
228712010-07-20 Colin Watson <cjwatson@ubuntu.com>
22872
22873 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22874
efc9d7f1
CW
228752010-07-20 Colin Watson <cjwatson@ubuntu.com>
22876
22877 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
22878 handle on failure.
22879 (grub_loopback_close): Remove empty function.
22880 (grub_loopback_dev): Remove close method.
22881
dd8ff5c9
CW
228822010-07-20 Colin Watson <cjwatson@ubuntu.com>
22883
22884 Disable EFI cursor when the EFI console becomes inactive.
22885
22886 * term/efi/console.c (grub_efi_console_init): New function.
22887 (grub_efi_console_fini): New function.
22888 (grub_console_term_output): Register init and fini methods.
22889
5e3bec67
VS
228902010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22891
22892 * tests/util/grub-shell-tester.in: Remove bashism and declare as
22893 sh script.
22894
afaec079
VS
228952010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22896
22897 * disk/loopback.c (grub_loopback): Replace filename with file.
22898 (delete_loopback): Handle new semantics.
22899 (grub_cmd_loopback): Likewise.
22900 (grub_loopback_iterate): Likewise.
22901 (grub_loopback_close): Likewise.
22902
a6a11f3c
VS
229032010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22904
22905 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
22906 with -p "".
22907 Reported by: Tito Keitel.
22908
64a638b0
VS
229092010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22910
22911 * docs/grub.texi (Naming convention): Document new naming convention.
22912
ab8ba957
VS
229132010-07-20 Vadim Solomin <vadic052@gmail.com>
229142010-07-20 Colin Watson <cjwatson@ubuntu.com>
22915
22916 Generate device.map in something closer to the old ordering.
22917
22918 * util/deviceiter.c (struct device): New declaration.
22919 (compare_file_names): Rename to ...
22920 (compare_devices): ... this. Sort by kernel name in preference to
22921 the stable by-id name, but keep the latter as a fallback comparison.
22922 Update header comment.
22923 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
22924 of `struct device' rather than of plain file names.
22925
a29d6a4b
TF
229262010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
22927
22928 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
22929 on i386.
22930
39d824e8
VS
229312010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22932
22933 * commands/acpi.c (setup_common_tables): Use sizeof instead of
22934 hardcoding size.
22935 (setv1table): Likewise.
22936
f058276b
FZ
229372010-07-20 Colin Watson <cjwatson@ubuntu.com>
22938
22939 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
22940 removing the homehost if present.
22941 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
22942 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
22943 removing the homehost if present.
22944 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
22945 if possible.
22946 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
22947
22948 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
22949 parameter. Set its pointer target to 0.
22950 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
22951 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
22952 `data_offset' value from the superblock for 1.x metadata.
22953 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
22954 data on the device.
22955 (insert_array): Record the start sector of data on the device.
22956 (grub_raid_register): Pass start_sector parameters to
22957 grub_raid_list->detect and insert_array.
22958 * include/grub/raid.h (struct grub_raid_array): Add start_sector
22959 member.
22960 (struct grub_raid): Add start_sector parameter to `detect'.
22961
22962 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
22963 __attribute__ ((packed)), leaving a comment.
22964 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
22965 (grub_mdraid_detect_09): ... here and ...
22966 (grub_mdraid_detect_1x): ... here.
22967
229682010-07-20 Peter Henn <peter.henn@web.de>
22969
22970 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
22971 chunk size and disk size, which are already given as sector counts
22972 as distinct from the 0.90 units. Fetch the correct device number
22973 from the role table instead of using the table index.
22974
229752010-07-20 Felix Zielcke <fzielcke@z-51.de>
22976
22977 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
22978 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
22979 (WriteMostly1): New macro.
22980 Set array->name to NULL for metadata format 0.90. Add support for
22981 metadata 1.x. Fix some comments.
22982 * disk/raid.c (): Add support for name based RAID arrays. Fix a
22983 few comments.
22984 * util/getroot.c (grub_util_get_grub_dev): Add support for
22985 /dev/md/name style devices.
22986
4b761da9
CW
229872010-07-20 Colin Watson <cjwatson@ubuntu.com>
22988
22989 * .bzrignore: Ignore 20_linux_xen.
22990
5771289a
CW
229912010-07-17 Colin Watson <cjwatson@ubuntu.com>
22992
22993 * util/import_unicode.py: Remove unnecessary imports.
22994
5dab68df
AN
229952010-07-17 Aleš Nesrsta <starous@volny.cz>
22996
22997 Hotplugging and USB hub support.
22998
22999 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
23000 (grub_ohci): Likewise.
23001 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
23002 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
23003 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
23004 (GRUB_OHCI_CTRL_EDS): Likewise.
23005 (GRUB_OHCI_BULK_EDS): Likewise.
23006 (GRUB_OHCI_TDS): Likewise.
23007 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
23008 (grub_ohci_ed_phys2virt): New function.
23009 (grub_ohci_virt_to_phys): Likewise.
23010 (grub_ohci_td_phys2virt): Likewise.
23011 (grub_ohci_td_virt2phys): Likewise.
23012 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
23013 attachment.
23014 (grub_ohci_find_ed): New function.
23015 (grub_ohci_alloc_td): Likewise.
23016 (grub_ohci_free_td): Likewise.
23017 (grub_ohci_free_tds): Likewise.
23018 (grub_ohci_transfer): Use previously allocated memory.
23019 (grub_ohci_portstatus): Reset status changed bit.
23020 (grub_ohci_detect_dev): Supply status changed.
23021 (grub_ohci_fini_hw): Free memory.
23022 (grub_ohci_restore_hw): Reallocate memory.
23023 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
23024 Reset status change.
23025 (grub_uhci_detect_dev): Supply status_change.
23026 * bus/usb/usb.c (attach_hooks): New var.
23027 (grub_usb_device_attach): New function.
23028 (grub_usb_register_attach_hook_class): Likewise.
23029 (grub_usb_unregister_attach_hook_class): Likewise.
23030 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
23031 (grub_usb_add_hub): Reset connection changed bit.
23032 (attach_root_port): New function.
23033 (grub_usb_root_hub): Likewise.
23034 (poll_nonroot_hub): Likewise.
23035 (grub_usb_poll_devices): Likewise.
23036 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
23037 * disk/usbms.c (grub_usbms_open): Use device hooks.
23038 (grub_usbms_iterate) :Poll devices.
23039 (grub_usbms_finddevs): Split into ...
23040 (grub_usbms_attach): ... this ...
23041 (grub_usbms_attach): ... and this.
23042 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
23043 in detect_dev.
23044 (grub_usb_interface): New fields attached and detach_hook.
23045 (grub_usb_attach_hook_class): New type.
23046 (grub_usb_attach_desc): New struct.
23047 (grub_usb_register_attach_hook_class): New function.
23048 (grub_usb_unregister_attach_hook_class): Likewise.
23049 (grub_usb_poll_devices): Likewise.
23050 (grub_usb_device_attach): Likewise.
23051 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
23052 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
23053
3222efaf
VS
230542010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23055
23056 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
23057 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
23058 delta determination style. Works with most NetBSD partitions too.
23059
139b714a
VS
230602010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23061
23062 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
23063 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
23064
986aad56
VS
230652010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23066
23067 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
23068
99be513c
AB
230692010-07-14 Anton Blanchard <anton@samba.org>
23070
23071 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
23072 ET_DYN files.
23073
18075f62
GS
230742010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23075
23076 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
23077
8d9a5b15
GS
230782010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23079
23080 * kern/partition.c (grub_partition_check_containment): New function to
23081 check that a partition is physically contained in a parent. Since
23082 offsets are relative (and non-negative), this reduces to checking that
23083 the partition ends before its parent.
23084 (grub_partition_map_probe): Discard out-of-range sub-partitions.
23085 (grub_partition_iterate): Likewise.
23086 * include/grub/partition.h (grub_partition_map): Slightly more detailed
23087 comments.
23088 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
23089 partitions that start before their parent, and add debug printfs.
23090
19563c25
CW
230912010-07-13 Colin Watson <cjwatson@ubuntu.com>
23092
23093 * Makefile.in (.SUFFIX): Spell correctly, as ...
23094 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
23095 bare module name without `.mod', e.g. `test') tried to invoke a
23096 Modula-2 compiler.
23097
1a1f1e67
CW
230982010-07-13 Colin Watson <cjwatson@ubuntu.com>
23099
23100 * README: Point to the Info manual.
23101
811b0dca
JS
231022010-07-13 Jiro SEKIBA <jir@unicus.jp>
23103
23104 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
23105 2nd superblock position from partition size.
23106
e4f4eafc
CW
231072010-07-10 Colin Watson <cjwatson@ubuntu.com>
23108
23109 * Makefile.in (MAINTAINER_CLEANFILES): Remove
23110 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
23111 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
23112 outputs.
23113
4274c30f
VS
231142010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23115
23116 Restructure SCSI .id handling.
23117 Reported and tested by: Aleš Nesrsta.
23118
23119 * disk/ata.c (grub_atapi_close): Removed. All users updated.
23120 (grub_atapi_dev): Changed .name to "ata". New field .id.
23121 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
23122 (grub_usbms_dev): New field .id.
23123 * disk/scsi.c (grub_scsi_iterate): Generate name.
23124 (grub_scsi_open): Parse name.
23125 * include/grub/scsi.h (grub_make_scsi_id): New function.
23126 (grub_scsi_dev): Change iterate and open to number instead of naming
23127 busses. All users updated.
23128 (grub_scsi): Remove name. Add .bus.
23129
5bc24388
VS
231302010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23131
23132 * commands/help.c (grub_cmd_help): Fix a typo.
23133
249975ba
VS
231342010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23135
23136 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
23137 Reported and tested by: Colin Watson.
23138
3eaac1a1
VS
231392010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23140
23141 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
23142 in this context.
23143
becce1b1
VS
231442010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
23145
23146 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
23147
f7bf0918
CW
231482010-07-07 Colin Watson <cjwatson@ubuntu.com>
23149
23150 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
23151 indentation.
23152
0b0f9620
CW
231532010-07-06 Colin Watson <cjwatson@ubuntu.com>
23154
23155 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
23156 and disk/raid6_recover.c.
23157 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23158 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
23159
1e545469
CW
231602010-07-06 Colin Watson <cjwatson@ubuntu.com>
23161
23162 * term/gfxterm.c (repaint_schedulded): Rename to ...
23163 (repaint_scheduled): ... this. Update all callers.
23164 (repaint_was_schedulded): Rename to ...
23165 (repaint_was_scheduled): ... this. Update all callers.
23166
5357687a
CW
231672010-07-06 Colin Watson <cjwatson@ubuntu.com>
23168
23169 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
23170 which we expect to be handled by upper layers.
23171
29d7e783
BC
231722010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
23173
23174 * bus/usb/usbhub.c: #include time.h header.
23175
37582066
CW
231762010-07-06 Colin Watson <cjwatson@ubuntu.com>
23177
23178 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
23179 entry_name also for entries without stat blocks (e.g. ".."); fixes
23180 corruption of the first entry in a directory.
23181
c8c06953
CW
231822010-07-06 Colin Watson <cjwatson@ubuntu.com>
23183
23184 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
23185 after setting gfxterm as the active terminal. GRUB_BACKGROUND
23186 doesn't work otherwise.
23187
e75056f1
CW
231882010-07-05 Colin Watson <cjwatson@ubuntu.com>
23189
23190 * docs/grub.texi (Features): Update list of supported file systems.
23191 (GNU/Linux): Update for GRUB 2.
23192 (Serial terminal): Remove mention of --disable-serial, which was a
23193 GRUB Legacy configure option. Update instructions to use
23194 `terminal_input' and `terminal_output' rather than `terminal'.
23195 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
23196 configuration' and `Installing GRUB using grub-install'.
23197 (Menu entry editor): Update for GRUB 2.
23198 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
23199 Document new -a, -u, and -v options.
23200 (initrd): New section.
23201 (initrd16): New section.
23202 (linux): New section.
23203 (linux16): New section.
23204 (search): The `var' argument to `--set' is optional.
23205 (GRUB only offers a rescue shell): Go into a little more detail on
23206 drive ordering.
23207
5cf69151
CW
232082010-07-05 Colin Watson <cjwatson@ubuntu.com>
23209
23210 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
23211
e3f90044
CW
232122010-07-05 Colin Watson <cjwatson@ubuntu.com>
23213
23214 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
23215 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
23216
38d8f4f3
CW
232172010-07-05 Colin Watson <cjwatson@ubuntu.com>
23218
23219 * util/i386/pc/grub-setup.c (setup): Rename prefix to
23220 install_prefix, in line with install_dos_part and install_bsd_part.
23221 Add new prefix variable, which is copied to install_prefix after
23222 comparing core.img in memory with the one read from disk in the
23223 no-embedding case, and use that rather than overwriting
23224 install_prefix immediately when installing to a partition.
23225 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
23226 Bicakci.
23227
57ebd41e
GS
232282010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
23229
23230 * configure.ac: Avoid == in test command, it's not portable.
23231 * util/grub.d/30_os-prober.in: Likewise.
23232
cb7f64b2
CW
232332010-07-04 Colin Watson <cjwatson@ubuntu.com>
23234
23235 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
23236
6b654bb0
GS
232372010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
23238
23239 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
23240 multiple (top-level) partmaps.
23241
72a2026d
VS
232422010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23243
23244 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 23245 Reported by: Tino Keitel.
72a2026d 23246
df3eb88f
VS
232472010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23248
23249 Bidi and diacritics support.
23250
23251 * Makefile.in (widthspec.bin): New target.
23252 (widthspec.h): Likewise.
23253 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
23254 * autogen.sh: Generate unidata.c.
23255 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
23256 * commands/ls.c (grub_ls_list_devices): Likewise.
23257 (grub_ls_list_files): Likewise.
23258 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
23259 (grub_mini_cmd_lsmod): Likewise.
23260 * commands/read.c: Likewise.
23261 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
23262 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
23263 * lib/arg.c (grub_arg_show_help): Likewise.
23264 * lib/crypto.c (grub_password_get): Likewise.
23265 * normal/auth.c (grub_username_get): Likewise.
23266 * normal/misc.c (grub_normal_print_device_info): Likewise.
23267 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
23268 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
23269 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
23270 (normal/charset.c_DEPENDENCIES): New variable.
23271 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
23272 (pkglib_MODULES): Remove charset.mod.
23273 (charset_mod_SOURCES): Removed.
23274 (charset_mod_CFLAGS): Likewise.
23275 (charset_mod_LDFLAGS): Likewise.
23276 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
23277 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
23278 and term/tparm.c.
23279 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23280 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23281 (kernel_img_HEADERS): Add terminfo.h.
23282 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
23283 Fill ->font. Reverse ascii bitmaps.
23284 (grub_font_get_xheight): New function.
23285 * font/font.c (grub_font_get_string_width): Moved from here ...
23286 * gfxmenu/font.c (grub_font_get_string_width): ... here.
23287 * font/font.c (grub_font_draw_string): Moved from here ...
23288 * gfxmenu/font.c (grub_font_draw_string): ... here.
23289 * font/font.c (grub_font_dup_glyph): New function.
23290 (grub_font_blit_glyph): Likewise.
23291 (grub_font_blit_glyph_mirror): Likewise.
23292 (blit_comb): Likewise.
23293 (grub_font_construct_dry_run): Likewise.
23294 (grub_font_get_constructed_device_width): Likewise.
23295 (grub_font_construct_glyph): Likewise.
23296 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
23297 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
23298 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
23299 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
23300 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
23301 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
23302 (grub_font_get_xheight): New proto.
23303 (grub_font_get_constructed_device_width): Likewise.
23304 (grub_font_construct_glyph): Likewise.
23305 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
23306 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
23307 * include/grub/font.h (grub_font_draw_string): Moved from here ...
23308 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
23309 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
23310 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
23311 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
23312 (grub_console_getcharwidth): Likewise.
23313 * include/grub/misc.h (grub_xputs): New proto.
23314 (grub_puts): Inlined.
23315 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
23316 (grub_normal_get_line_counter): Removed.
23317 (grub_install_newline_hook): Likewise.
23318 (grub_normal_get_char_counter): New proto.
23319 (grub_normal_reset_more): Likewise.
23320 (grub_xputs_normal): Likewise.
23321 * include/grub/powerpc/ieee1275/console.h: Removed.
23322 * include/grub/sparc64/ieee1275/console.h: Likewise.
23323 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
23324 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
23325 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
23326 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
23327 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
23328 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
23329 (grub_term_input): Pass reference to self. All users updated.
23330 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
23331 Pass reference to self. New fields normal_color, highlight_color and
23332 data. All users updated.
23333 (grub_putchar): Removed.
23334 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
23335 (grub_unicode_estimate_width): New function.
23336 (grub_term_getcharwidth): Add defaults.
23337 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
23338 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
23339 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
23340 (grub_cls): Remove EXPORT_FUNC.
23341 (grub_setcolorstate): Inline.
23342 (grub_newline_hook): Removed.
23343 * include/grub/terminfo.h: Rewritten. All users updated.
23344 * include/grub/unicode.h: New file.
23345 * include/grub/video.h (grub_video_signed_rect): New type.
23346 * kern/emu/console.c (grub_console_highlight_color): Removed.
23347 (grub_console_normal_color): Likewise.
23348 (grub_console_standard_color): Made static.
23349 (grub_ncurses_putchar): Remove mapping.
23350 (grub_ncurses_getcharwidth): Removed.
23351 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
23352 (grub_ncurses_setcolor): Removed.
23353 (grub_ncurses_getcolor): Likewise.
23354 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
23355 (grub_console_putchar): ... this.
23356 (grub_console_putchar): Handle argument difference.
23357 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
23358 console_init_early and console_init_lately.
23359 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
23360 * kern/misc.c (grub_puts): Removed.
23361 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
23362 (grub_vsnprintf_real): Remove str = NULL support.
23363 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
23364 * normal/charset.c (grub_utf8_to_ucs4): ... here.
23365 * kern/term.c (grub_putcode): Renamed to ...
23366 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
23367 (grub_putchar): Removed.
23368 (grub_xputs_dumb): New function.
23369 (grub_xputs): New variable.
23370 * lib/charset.c: Move from here ...
23371 * normal/charset.c: ... to here.
23372 (grub_ucs4_to_utf8): New function.
23373 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
23374 (join_types): New variable.
23375 (unpack_join): New function.
23376 (bidi_types): New variable.
23377 (unpack_bidi): New function.
23378 (get_bidi_type): Likewise.
23379 (get_join_type): Likewise.
23380 (is_mirrored): Likewise.
23381 (grub_unicode_get_comb_type): Likewise.
23382 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
23383 (is_type_after): Likewise.
23384 (grub_unicode_aglomerate_comb): Likewise.
23385 (bidi_line_wrap): Likewise.
23386 (grub_bidi_line_logical_to_visual): Likewise.
23387 (grub_bidi_logical_to_visual): Likewise.
23388 (grub_unicode_mirror_code): Likewise.
23389 (grub_unicode_shape_code): Likewise.
23390 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
23391 Don't use grub_putchar.
23392 * normal/main.c (grub_normal_init_page): Use grub_putcode.
23393 (grub_normal_reader_init): Likewise.
23394 (grub_xputs_saved): New variable.
23395 (GRUB_MOD_INIT): Set grub_xputs.
23396 (GRUB_MOD_FINI): Restore grub_xputs.
23397 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
23398 (menu_init): Avoid printing gfxmenu error.
23399 (show_menu): Use grub_normal_get_char_counter.
23400 * normal/menu_entry.c (update_screen): Fix out-of-array.
23401 (complete): Avoid NULL dereferencing.
23402 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
23403 * normal/menu_text.c (print_spaces): Removed.
23404 (grub_print_ucs4): Likewise.
23405 (grub_print_message_indented): Use grub_print_ucs4.
23406 (print_message): Use grub_putcode.
23407 (print_entry): Hanlde diacritics.
23408 * normal/term.c (term_state): New type.
23409 (grub_more_lines): Removed.
23410 (term_states): New variable.
23411 (grub_normal_line_counter): Renamed to ..
23412 (grub_normal_char_counter): ...this. All users updated.
23413 (grub_normal_get_line_counter): Renamed to ...
23414 (grub_normal_get_char_counter): ... this.
23415 (grub_normal_reset_more): New function.
23416 (process_newline): Removed.
23417 (print_more): New function.
23418 (grub_install_newline_hook): Removed.
23419 (map_code): New function.
23420 (grub_puts_terminal): Use grub_print_ucs4.
23421 (putglyph): New function.
23422 (putcode_real): Likewise.
23423 (grub_putcode): Use putcode_real.
23424 (get_maxwidth): New function.
23425 (get_startwidth): Likewise.
23426 (print_ucs4_terminal): Likewise.
23427 (find_term_state): Likewise.
23428 (put_glyphs_terminal): Likewise.
23429 (print_backlog): Likewise.
23430 (print_ucs4_real): Likewise.
23431 (grub_print_ucs4): Likewise.
23432 (grub_xputs_normal): Likewise.
23433 * term/efi/console.c (grub_console_putchar): Output diacritics.
23434 (grub_console_getcharwidth): Removed.
23435 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23436 * term/gfxterm.c (clear_char): Free chars.
23437 (scroll_up): Avoid leaking memory.
23438 (grub_gfxterm_putchar): Support diacritics.
23439 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23440 * term/i386/pc/console.c (grub_console_term_output): Declare as
23441 GRUB_TERM_CODE_TYPE_VGA.
23442 * term/i386/pc/vga.c (grub_vga_term): Declare as
23443 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
23444 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
23445 GRUB_TERM_CODE_TYPE_VGA.
23446 * term/i386/vga_common.c (map_char): Removed.
23447 (grub_console_putchar): Likewise.
23448 (grub_console_getcharwidth): Likewise.
23449 * term/ieee1275/ofconsole.c: Simplify using terminfo.
23450 (colors): Reordered to match terminfo.
23451 (grub_ofconsole_normal_color): Removed.
23452 (grub_ofconsole_writeesc): Likewise.
23453 (grub_ofconsole_highlight_color): Likewise.
23454 (grub_ofconsole_getcharwidth): Likewise.
23455 (grub_ofconsole_setcolorstate): Likewise.
23456 (grub_ofconsole_setcolor): Likewise.
23457 (grub_ofconsole_getcolor): Likewise.
23458 (grub_ofconsole_readkey): Renamed to ...
23459 (readkey): ... this. Remove escape sequence handling. Return -1 on no
23460 key.
23461 (grub_ofconsole_checkkey): Removed.
23462 (grub_ofconsole_getkey): Likewise.
23463 (grub_ofconsole_getxy): Likewise.
23464 (grub_ofconsole_gotoxy): Likewise.
23465 (grub_ofconsole_cls): Likewise.
23466 (grub_ofconsole_refresh): Likewise.
23467 (grub_ofconsole_terminfo_input): New struct.
23468 (grub_ofconsole_terminfo_output): Likewise.
23469 (grub_ofconsole_term_input): Use terminfo.
23470 (grub_ofconsole_term_output): Likewise.
23471 (grub_console_init): Split into ...
23472 (grub_console_init_early): ...this and ...
23473 (grub_console_init_lately): ...this. Use terminfo.
23474 (grub_ofconsole_putchar): Renamed to ...
23475 (put): ... this. Remove mapping.
23476 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
23477 * term/serial.c: Simplify using terminfo.
23478 (xpos): Removed.
23479 (ypos): Likewise.
23480 (keep_track): Likewise.
23481 (registered): Likewise.
23482 (input_buf): Likewise.
23483 (npending): Likewise.
23484 (serial_translate_key_sequence): Likewise.
23485 (fill_input_buf): Likewise.
23486 (grub_serial_checkkey): Likewise.
23487 (grub_serial_getkey): Likewise.
23488 (grub_serial_getxy): Likewise.
23489 (grub_serial_gotoxy): Likewise.
23490 (grub_serial_putchar): Likewise.
23491 (grub_serial_cls): Likewise.
23492 (grub_serial_setcolorstate): Likewise.
23493 (grub_serial_setcursor): Likewise.
23494 (serial_hw_init): Use serial_hw_fetch.
23495 (grub_serial_terminfo_input): New variable.
23496 (grub_serial_terminfo_output): Likewise.
23497 (grub_serial_term_input): Use terminfo.
23498 (grub_serial_term_output): Likewise.
23499 * term/terminfo.c (putstr): Use put.
23500 (grub_terminfo_all_free): New function
23501 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
23502 (grub_terminfo_output_register): New function.
23503 (grub_terminfo_output_unregister): Likewise.
23504 (grub_terminfo_getxy): Likewise.
23505 (grub_terminfo_readkey): Likewise.
23506 (grub_terminfo_checkkey): Likewise.
23507 (grub_terminfo_getkey): Likewise.
23508 (grub_terminfo_input_init): Likewise.
23509 (print_terminfo): Likewise.
23510 (grub_cmd_terminfo): Handle encoding.
23511 (grub_terminfo_gotoxy): Track position.
23512 (grub_terminfo_cls): Likewise.
23513 (grub_terminfo_putchar): Likewise.
23514 (grub_terminfo_setcolorstate): Handle colors
23515 (grub_terminfo_cursor_on): This ...
23516 (grub_terminfo_cursor_off): ... and this merged into ...
23517 (grub_terminfo_setcursor): ... this.
23518 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
23519 * unicode/ArabicShaping.txt: New file (imported from Unicode).
23520 * unicode/BidiMirroring.txt: Likewise.
23521 * unicode/UnicodeData.txt: Likewise.
23522 * unicode/COPYING: Likewise.
23523 * util/grub-editenv.c (grub_putchar): Removed.
23524 (grub_xputs_real): New function.
23525 (grub_xputs): New variable.
23526 * util/grub-fstest.c (grub_putchar): Removed.
23527 (grub_xputs_real): New function.
23528 (grub_xputs): New variable.
23529 * util/grub-mkdevicemap.c (grub_putchar): Removed.
23530 (grub_xputs_real): New function.
23531 (grub_xputs): New variable.
23532 * util/grub-probe.c (grub_putchar): Removed.
23533 (grub_xputs_real): New function.
23534 (grub_xputs): New variable.
23535 * util/grub-script-check.c (grub_putchar): Removed.
23536 (grub_xputs_real): New function.
23537 (grub_xputs): New variable.
23538 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
23539 (grub_xputs_real): New function.
23540 (grub_xputs): New variable.
23541 * util/import_unicode.py: New file.
23542 * util/grub-mkfont.c (ft_errmsgs): New array.
23543 (grub_glyph_info): Make bitmap a pointer.
23544 (file_formats): New type WIDTH_SPEC.
23545 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
23546 (options): Add width-spec.
23547 (help): Likewise.
23548 (add_char): Renamed to ...
23549 (add_glyph): ... this.
23550 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
23551 (glyph_replace): New type.
23552 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
23553 (add_char): New function.
23554 (add_subst): Likewise.
23555 (process_cursive): Likewise.
23556 (add_font): Handle GSUB.
23557 (write_font_width_spec): New function.
23558 (main): Sort glyphs.
23559 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
23560 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
23561 * kern/term.c (grub_cls): Moved from here...
23562 * normal/term.c (grub_cls): ... here.
23563
50f0bcda
CW
235642010-07-02 Colin Watson <cjwatson@ubuntu.com>
23565
23566 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
23567 suitable for using within the format argument of printf when
23568 converting grub_size_t.
23569 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
23570 "x" to convert grub_size_t arguments.
23571
40372103
VS
235722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23573
23574 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
23575 too long captions.
23576 (list_get_minimal_size): Take selection box into account.
23577
942a10c7
VS
235782010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23579
23580 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
23581 NULL font.
23582
2bdb2892
CW
235832010-07-02 Colin Watson <cjwatson@ubuntu.com>
23584
23585 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
23586 devices when iterating over /dev/disk/by-id; they will be handled
23587 later if appropriate, which they aren't always (e.g. LVM).
23588
e03ed6c1
CW
235892010-07-02 Colin Watson <cjwatson@ubuntu.com>
23590
23591 * include/grub/misc.h (grub_reboot): Declare as noreturn.
23592 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
23593 fails.
23594 (grub_halt): Likewise.
23595 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
23596 reset-all fails.
23597 (grub_halt): Don't return, even if all of shut-down, power-off, and
23598 poweroff fail.
23599
47695765
CW
236002010-07-02 Colin Watson <cjwatson@ubuntu.com>
23601
23602 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
23603 arguments, not three.
23604
507736c8
CW
236052010-07-02 Colin Watson <cjwatson@ubuntu.com>
23606
23607 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
23608 * util/grub.d/10_linux.in: Use it to check for LVM, so that
23609 LVM-on-RAID is handled correctly.
23610
e3c8cd37
CW
236112010-07-02 Colin Watson <cjwatson@ubuntu.com>
23612
23613 * docs/grub.texi (Changes from GRUB Legacy): New section.
23614 (Future): Fix typo.
23615
8d4a2fec
CW
236162010-07-02 Colin Watson <cjwatson@ubuntu.com>
23617
23618 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
23619 grub.d/README accidentally ends up executable for one reason or
23620 another. Ignore it.
23621
1c4827be
VS
236222010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23623
23624 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
23625 (gpt_partition_map_iterate): Support non-512B sectors.
23626
d9a0c941
VS
236272010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23628
23629 * kern/efi/init.c (grub_efi_init): Disable watchdog.
23630 Tested by: Seth Goldberg.
23631
48f27e87
VS
236322010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23633
23634 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
23635 Properly align mbi.
23636 Reported by: Seth Goldberg.
23637
b0c4f956
VS
236382010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23639
23640 * util/grub-mkrescue.in: Avoid module duplication.
23641
105a2e8c
SF
236422010-07-01 Sean Finney <seanius@seanius.net>
23643
23644 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
23645
5944958c
SF
236462010-07-01 Sean Finney <seanius@seanius.net>
23647
23648 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
23649
236502010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23651
23652 * disk/lvm.c (grub_lvm_checkvalue): New function.
23653 (grub_lvm_check_flag): Likewise.
23654
b79889ba
RM
236552010-07-01 Robert Millan <rmh@gnu.org>
23656
23657 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
23658 Support 'p' as partition separator on kernel of FreeBSD (used
23659 with GPT labels).
23660 (grub_util_biosdisk_get_grub_dev): Likewise.
23661
ec1d04f1
VS
236622010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23663
23664 Yeeloong firmware port.
23665
23666 * boot/mips/yeeloong/fwstart.S: New file.
23667 * bus/cs5536.c (gpiodump): New const.
23668 (set_io_space): New function.
23669 (set_iod): Likewise.
23670 (set_p2d): Likewise.
23671 (grub_cs5536_init_geode): Likewise.
23672 * commands/mips/yeeloong/lsspd.c: New file.
23673 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
23674 (serial_mod_SOURCES): New variable.
23675 (serial_mod_CFLAGS): Likewise.
23676 (serial_mod_LDFLAGS): Likewise.
23677 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
23678 term/terminfo.c and term/tparm.c.
23679 (pkglib_IMAGES): Add fwstart.img.
23680 (fwstart_img_SOURCES): New variable.
23681 (fwstart_img_CFLAGS): Likewise.
23682 (fwstart_img_ASFLAGS): Likewise.
23683 (fwstart_img_LDFLAGS): Likewise.
23684 (fwstart_img_FORMAT): Likewise.
23685 (pkglib_MODULES): Add lsspd.mod.
23686 (lsspd_mod_SOURCES): New variable.
23687 (lsspd_mod_CFLAGS): Likewise.
23688 (lsspd_mod_LDFLAGS): Likewise.
23689 (pkglib_MODULES): Add halt.mod.
23690 (halt_mod_SOURCES): New variable.
23691 (halt_mod_CFLAGS): Likewise.
23692 (halt_mod_LDFLAGS): Likewise.
23693 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
23694 (serial_mod_SOURCES): Removed.
23695 (serial_mod_CFLAGS): Likewise.
23696 (serial_mod_LDFLAGS): Likewise.
23697 * disk/ata.c (check_device): New function.
23698 (grub_ata_device_initialize): Use check_device.
23699 (grub_ata_iterate): Recheck devices.
23700 (grub_ata_open): Likewise.
23701 (grub_atapi_iterate): Likewise.
23702 (grub_atapi_open): Likewise.
23703 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
23704 (GRUB_ATA_CH1_PORT1): Likewise.
23705 (GRUB_ATA_CH0_PORT2): Likewise.
23706 (GRUB_ATA_CH1_PORT2): Likewise.
23707 * include/grub/mips/loongson.h: New file.
23708 * include/grub/mips/yeeloong/ec.h: Likewise.
23709 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
23710 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
23711 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
23712 * include/grub/misc.h (grub_halt): Declare as noreturn.
23713 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
23714 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
23715 (UART_ENABLE_FIFO_TRIGGER1): New definition.
23716 (UART_ENABLE_DTRRTS): Likewise.
23717 (UART_ENABLE_MODEM): Removed.
23718 (UART_ENABLE_OUT2): New const.
23719 * include/grub/term.h (grub_term_register_input_active): New function.
23720 (grub_term_register_output_active): Likewise.
23721 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
23722 argument.
23723 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
23724 (init_pci): New function.
23725 (grub_machine_init): Execute platform init when firmware. Init serial.
23726 (grub_halt): Implement.
23727 (grub_exit): Likewise.
23728 (grub_reboot): Likewise.
23729 * term/serial.c (serial_hw_init): Update macros.
23730 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
23731 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
23732 (image_targets): New target mipsel-yeeloong-flash.
23733 (generate_image): Support IMAGE_YEELOONG_FLASH.
23734 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
23735 (grub_video_sm712_setup): Init card.
23736 (grub_video_sm712_set_palette): Removed.
23737 * video/sm712_init.c: New file.
23738
ff4a70d2
CW
237392010-06-30 Colin Watson <cjwatson@ubuntu.com>
23740
23741 * Makefile.in (install-local): Temporarily prepend $(builddir) to
23742 PATH when running help2man and then run it on the unadorned
23743 executable names, rather than passing $(builddir)/* paths to
23744 help2man. This avoids the build directory ending up in generated
23745 manual pages.
23746
1246efeb
CW
237472010-06-29 Colin Watson <cjwatson@ubuntu.com>
23748
23749 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
23750 to avoid accidents when debugging with 'sh -x'.
23751 * util/grub-mkrescue.in: Likewise.
23752 * util/grub.d/00_header.in: Likewise.
23753 * util/grub.d/10_hurd.in: Likewise.
23754 * util/grub.d/10_kfreebsd.in: Likewise.
23755 * util/grub.d/10_linux.in: Likewise.
23756 * util/grub.d/10_netbsd.in: Likewise.
23757 * util/grub.d/10_windows.in: Likewise.
23758 * util/grub.d/20_linux_xen.in: Likewise.
23759 * util/grub.d/30_os-prober.in: Likewise.
23760 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23761
1ba9b889
CW
237622010-06-29 Colin Watson <cjwatson@ubuntu.com>
23763
23764 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
23765 last character in the buffer.
23766 Reported by: Vladimir Serbinenko.
23767
dccaf99d
RM
237682010-06-29 Robert Millan <rmh@gnu.org>
23769
23770 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
23771 (Command-line and menu entry commands): Document `badram' command.
23772
d500ed12
RM
237732010-06-28 Robert Millan <rmh@gnu.org>
23774
23775 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
23776 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
23777 command using ${GRUB_BADRAM} as parameter.
23778
20bc84a6
CW
237792010-06-28 Colin Watson <cjwatson@ubuntu.com>
23780
23781 * docs/grub.texi (Device map): New section.
23782 (Themes): New section (stub).
23783 * Makefile.in (docs/grub.info): The info documentation now builds
23784 without errors. Make sure it stays that way.
23785
4045dee1
VS
237862010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23787
23788 Use normal parser for menu entries.
23789 Reported by: Thomas Frauendorfer
23790
23791 * include/grub/parser.h (grub_parser_execute): Don't export.
23792 * normal/menu.c (grub_menu_execute_entry_real): New function.
23793 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
23794
bca58c7b
CW
237952010-06-28 Colin Watson <cjwatson@ubuntu.com>
23796
23797 * docs/grub.texi (Embedded configuration): New section (replacing
23798 old "Preset Menu" stub).
23799 (Images): New section.
23800 (configfile): Note that any menu entries defined in `file' are shown
23801 immediately.
23802
dec53e63
JT
238032010-06-28 Josh Triplett <josh@joshtriplett.org>
23804
23805 * mmap/i386/pc/mmap_helper.S: Set CF on return.
23806
c06e40f7
CW
238072010-06-28 Colin Watson <cjwatson@ubuntu.com>
23808
23809 * util/grub-install.in: Add --debug-image= option.
23810
cb88052b
CW
238112010-06-28 Colin Watson <cjwatson@ubuntu.com>
23812
23813 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
23814 possible on Linux.
23815
23816 * util/deviceiter.c (check_device): Rename to ...
23817 (check_device_readable_unique): ... this. Update all callers.
23818 Maintain and check a list of which devices (by canonicalized name)
23819 have already been seen.
23820 (clear_seen_devices): New function.
23821 (compare_file_names) [__linux__]: New function.
23822 (grub_util_iterate_devices): Clear the list of seen devices on exit
23823 and (just in case) on entry.
23824 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
23825 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
23826 seen-devices list, superseded by general code in check_device.
23827
bbe34652
CW
238282010-06-28 Colin Watson <cjwatson@ubuntu.com>
23829
23830 * commands/cat.c (options): New variable.
23831 (grub_cmd_cat): Parse options. If the --dos option is given, print
23832 DOS-style "\r\n" line endings as simple newlines (Debian bug
23833 #586358).
23834 (GRUB_MOD_INIT): Use extcmd.
23835 (GRUB_MOD_FINI): Likewise.
23836 * docs/grub.texi (cat): Document --dos.
23837
412e09f3
VS
238382010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23839
23840 XEN with Linux grub-mkconfig support.
23841
23842 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
23843 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
23844 GRUB_CMDLINE_XEN_DEFAULT.
23845 * util/grub.d/20_linux_xen.in: New file.
23846
53f3ef38 238472010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
23848
23849 Initialise VGA video on qemu ourselves.
23850
23851 * boot/i386/qemu/boot.S: Don't call 0xc000.
23852 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
23853 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
23854 (kernel_img_HEADERS): Add pci.h.
23855 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
23856 * configure.ac: Force unifont on qemu and yeeloong.
23857 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
23858 (grub_vga_palette_write): Use correct register.
23859 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
23860 Call grub_qemu_init_cirrus.
23861 * kern/i386/qemu/init.c: New file.
23862 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
23863
23864 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
23865
c75be4fb
PR
238662010-06-26 Pavel Roskin <proski@gnu.org>
23867
23868 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
23869 13.
23870
d8034603
CW
238712010-06-26 Colin Watson <cjwatson@ubuntu.com>
23872
23873 * docs/grub.texi (Simple configuration): Explain that
23874 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
23875 set to `true' to disable their respective recovery entries, not
23876 merely set.
23877
3fa06487
CW
238782010-06-26 Colin Watson <cjwatson@ubuntu.com>
23879
23880 Make the `source' command slightly faster.
23881
23882 * normal/main.c (grub_normal_execute): Don't re-read list files when
23883 nested.
23884
e9b29642
CW
238852010-06-23 Colin Watson <cjwatson@ubuntu.com>
23886
23887 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
23888 field position and mask size to red fields from mode_info, not
23889 green.
23890 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
23891 Remove redundant tag->common.framebuffer_type assignment.
23892 Reported by: Seth Goldberg.
23893
e726542f
CW
238942010-06-23 Colin Watson <cjwatson@ubuntu.com>
23895
23896 Sync up other versions of the Linux loader with Robert Millan's
23897 change of 2010-01-09, "Make loader output a bit more user-friendly".
23898
23899 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
23900 grub_dprintf().
23901 (grub_cmd_linux): Likewise.
23902 (grub_cmd_initrd): Likewise.
23903 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
23904 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23905
d6e98a17
CW
239062010-06-21 Colin Watson <cjwatson@ubuntu.com>
23907
23908 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
23909 larger than MEMORY_MAP_SIZE.
23910
14d3f08e
BC
239112010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
23912
23913 Fix parallel build.
23914
23915 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
23916 dependency.
23917 * script/parser.y: #include grub_script.tab.h header.
23918
4f9613a3
VS
239192010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23920
23921 Support >3GiB and <16MiB RAM in i386-qemu.
23922
23923 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
23924 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
23925 (grub_lower_mem): Removed.
23926 (grub_upper_mem): Likewise.
23927 (mem_size): Made static.
23928 (above_4g): New variable.
23929 (grub_machine_mmap_init): Detect small mem_size and above_4g.
23930 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
23931 support.
23932
05e51879
VS
239332010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23934
23935 Cirrus 5446 and Bochs video cards support.
23936
23937 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
23938 video_bochs.mod
23939 (video_cirrus_mod_SOURCES): New variable.
23940 (video_cirrus_mod_CFLAGS): Likewise.
23941 (video_cirrus_mod_LDFLAGS): Likewise.
23942 (video_bochs_mod_SOURCES): Likewise.
23943 (video_bochs_mod_CFLAGS): Likewise.
23944 (video_bochs_mod_LDFLAGS): Likewise.
23945 * include/grub/vga.h: New file.
23946 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
23947 (grub_video_fb_set_page_t): New type.
23948 (grub_video_fb_setup): New prototype.
23949 (grub_video_fb_swap_buffers): Likewise.
23950 (grub_video_fb_get_info_and_fini): Likewise.
23951 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
23952 (CRTC_DATA_PORT): Likewise.
23953 (CRTC_CURSOR): Likewise.
23954 (CRTC_CURSOR_ADDR_HIGH): Likewise.
23955 (CRTC_CURSOR_ADDR_LOW): Likewise.
23956 (CRTC_CURSOR_DISABLE): Likewise.
23957 (update_cursor): Use grub_vga_cr_write.
23958 (grub_vga_text_setcursor): Likewise.
23959 * video/bochs.c: New file.
23960 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
23961 (palette): Likewise.
23962 (palette_size): Likewise.
23963 (framebuffer): New variable.
23964 (grub_video_fb_init): Use 'framebuffer'.
23965 (grub_video_fb_fini): Likewise.
23966 (grub_video_fb_get_info): Likewise.
23967 (grub_video_fb_get_palette): Likewise.
23968 (grub_video_fb_set_palette): Likewise.
23969 (grub_video_fb_set_viewport): Likewise.
23970 (grub_video_fb_get_viewport): Likewise.
23971 (grub_video_fb_map_color): Likewise.
23972 (grub_video_fb_map_rgb): Likewise.
23973 (grub_video_fb_map_rgba): Likewise.
23974 (grub_video_fb_unmap_color): Likewise.
23975 (grub_video_fb_unmap_color_int): Likewise.
23976 (grub_video_fb_fill_rect): Likewise.
23977 (grub_video_fb_blit_bitmap): Likewise.
23978 (grub_video_fb_blit_render_target): Likewise.
23979 (grub_video_fb_scroll): Likewise.
23980 (grub_video_fb_create_render_target): Likewise.
23981 (grub_video_fb_doublebuf_blit_init): Likewise.
23982 (grub_video_fb_set_active_render_target): Handle doublebuffering.
23983 (doublebuf_pageflipping_update_screen): New function.
23984 (doublebuf_pageflipping_init): Likewise.
23985 (grub_video_fb_setup): Likewise.
23986 (grub_video_fb_swap_buffers): Likewise.
23987 (grub_video_fb_get_info_and_fini): Likewise.
23988 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
23989 All users updated.
23990 (doublebuf_pageflipping_commit): Restructured into ...
23991 (doublebuf_pageflipping_set_page): ... this.
23992 (doublebuf_pageflipping_update_screen): Removed.
23993 (doublebuf_pageflipping_init): Likewise.
23994 (double_buffering_init): Likewise.
23995 (grub_video_vbe_setup): Use grub_video_fb_setup.
23996 (grub_video_vbe_swap_buffers): Removed.
23997 (grub_video_vbe_set_active_render_target): Likewise.
23998 (grub_video_vbe_get_active_render_target): Likewise.
23999 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
24000 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
24001 grub_video_fb_set_active_render_target and
24002 grub_video_fb_get_active_render_target.
24003 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
24004 (SEQUENCER_DATA_PORT): Likewise.
24005 (MAP_MASK_REGISTER): Likewise.
24006 (CRTC_ADDR_PORT): Likewise.
24007 (CRTC_DATA_PORT): Likewise.
24008 (START_ADDR_HIGH_REGISTER): Likewise.
24009 (START_ADDR_LOW_REGISTER): Likewise.
24010 (GRAPHICS_ADDR_PORT): Likewise.
24011 (GRAPHICS_DATA_PORT): Likewise.
24012 (READ_MAP_REGISTER): Likewise.
24013 (INPUT_STATUS1_REGISTER): Likewise.
24014 (INPUT_STATUS1_VERTR_BIT): Likewise.
24015 (get_map_mask): Use grub_vga_sr_read.
24016 (set_map_mask): Use grub_vga_sr_write.
24017 (set_read_map): Use grub_vga_gr_write.
24018 (set_start_address): Use grub_vga_cr_write.
24019 * video/sm712.c (framebuffer): Remove leftover fields.
24020
4321c64a
CW
240212010-06-20 Colin Watson <cjwatson@ubuntu.com>
24022
24023 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
24024 setting GRUB_VIDEO_BACKEND. Make it available as a user override
24025 instead. Replace the gfxterm backend check with a check that
24026 ${GRUB_PREFIX}/video.lst is non-empty.
24027 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
24028 again.
24029 (load_video): New generated function. Call it before loading
24030 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
24031 * util/grub.d/10_linux.in (linux_entry): Call load_video.
24032 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
24033 * docs/grub.texi (Simple configuration): Document
24034 GRUB_VIDEO_BACKEND.
24035
240362010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24037
24038 Use video functions in linux and xnu loaders.
24039
24040 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
24041 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
24042 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
24043 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
24044 loader/i386/pc/linux.c.
24045 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
24046 (find_line_len): Removed.
24047 (find_framebuf): Likewise.
24048 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
24049 * loader/i386/efi/xnu.c: Removed.
24050 * loader/i386/pc/xnu.c: Moved from here...
24051 * loader/i386/xnu.c: ...here.
24052
24053 Enable priorities in video drivers.
24054
24055 * include/grub/video.h (grub_video_adapter_prio_t): New type.
24056 (grub_video_adapter): New field prio.
24057 (grub_video_register): Respect prio when inserting.
24058 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
24059 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
24060 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
24061 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
24062 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
24063 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
24064 * video/sm712.c (grub_video_sm712_adapter): Likewise.
24065
24066 Fix SDL driver ID.
24067
24068 * include/grub/video.h (grub_video_driver_id_t): New value
24069 GRUB_VIDEO_DRIVER_SDL.
24070 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
24071
7d24e434
CW
240722010-06-17 Colin Watson <cjwatson@ubuntu.com>
24073
24074 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
24075 argument to printf.
24076 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24077
c88a83f6
CW
240782010-06-17 Colin Watson <cjwatson@ubuntu.com>
24079
24080 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
24081 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24082
094dfb69
CW
240832010-06-17 Colin Watson <cjwatson@ubuntu.com>
24084
24085 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
24086 directly, and recommend grub-install instead.
24087 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24088
2164da6b
CW
240892010-06-17 Colin Watson <cjwatson@ubuntu.com>
24090
24091 Fix i386-pc prefix handling with nested partitions (Debian bug
24092 #585068). Note that the case where the core image is booted using
24093 multiboot and relocated from its original location still requires
24094 more work.
24095
24096 * kern/i386/pc/init.c (make_install_device): If the prefix starts
24097 with "(,", fill the boot drive in between those two characters, but
24098 expect that a full partition specification including partition map
24099 names will follow.
24100 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
24101 specified, write a prefix without the drive name but including a
24102 full partition specification.
24103
044e2e60
CW
241042010-06-16 Colin Watson <cjwatson@ubuntu.com>
24105
24106 * util/grub-mkconfig.in: Ignore non-option arguments, for
24107 compatibility with older versions (before 2010-06-12) which did the
24108 same. In particular, this makes it easier to ship an update-grub
24109 wrapper which is compatible with that used with GRUB Legacy (Debian
24110 bug #586056).
24111
5591324f
GS
241122010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24113
24114 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
24115 for manual page generation.
24116
662e24d5
GS
241172010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24118
24119 * po/POTFILES: Remove leftover commands/handler.c.
24120
8d70754e
CW
241212010-06-14 Colin Watson <cjwatson@ubuntu.com>
24122
24123 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
24124 left this script non-functional.
24125
41160e2e
CW
241262010-06-14 Colin Watson <cjwatson@ubuntu.com>
24127
24128 * docs/man/grub-emu.h2m: New file.
24129
b5309cc1
CW
241302010-06-13 Colin Watson <cjwatson@ubuntu.com>
24131
24132 * docs/grub.texi (Commands): Document reduced command set in rescue
24133 mode.
24134 (cpuid): New section.
24135
fcb2d090
GS
241362010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
24137
24138 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
24139 new partition naming style.
24140 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
24141
96e5c556
BC
241422010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
24143
24144 Add "-o grub.iso" like cmdline options support.
24145
24146 * util/grub-install.in: Improve cmdline option parsing.
24147 * util/grub-mkconfig.in: Likewise.
24148 * util/grub-mkrescue.in: Likewise.
24149 * util/grub-reboot.in: Likewise.
24150 * util/grub-set-default.in: Likewise.
24151 * util/i386/efi/grub-install.in: Likewise.
24152 * util/ieee1275/grub-install.in: Likewise.
24153 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24154
c16be99b
CW
241552010-06-12 Colin Watson <cjwatson@ubuntu.com>
24156
24157 * .bzrignore: Ignore 41_custom.
24158
ce08a9fb
TS
241592010-06-12 Thomas Schmitt <scdbackup@gmx.net>
24160
24161 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
24162
7beac90c
CW
241632010-06-12 Colin Watson <cjwatson@ubuntu.com>
24164
24165 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
24166 prototype declarations.
24167
24168 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
24169 generating fs, partmap, and video lists.
24170 * include/grub/fs.h (grub_fs_register): Omit prototype if
24171 GRUB_LST_GENERATOR is defined.
24172 * include/grub/partition.h (grub_partition_map_register): Likewise.
24173 * include/grub/video.h (grub_video_register): Likewise.
24174
1c8f0f8d
JM
241752010-06-12 Javier Martín <lordhabbit@gmail.com>
24176
24177 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
24178
a6085973
TS
241792010-06-12 Thomas Schmitt <scdbackup@gmx.net>
24180
24181 * util/grub-mkrescue.in: Support --xorriso argument.
24182
25c56d29
VS
241832010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24184
24185 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
24186 Suggested by: Thomas Schmitt.
24187
e03e4b24
VS
241882010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24189
24190 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
24191 Suggested by: Thomas Schmitt.
24192
57711df6
VS
241932010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24194
24195 custom.cfg support.
24196
24197 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
24198 * util/grub.d/41_custom.in: New file.
24199
ee62c427
CW
242002010-06-12 Colin Watson <cjwatson@ubuntu.com>
24201
24202 * util/grub-mkrescue.in (make_image): Remove sh module, which has
24203 been merged back into normal.
24204
283af07a
CW
242052010-06-11 Colin Watson <cjwatson@ubuntu.com>
24206
24207 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
24208 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
24209
56a0d956
CW
242102010-06-11 Colin Watson <cjwatson@ubuntu.com>
24211
24212 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
24213 when generating manual pages.
24214 * docs/man/grub-bin2h.h2m: New file.
24215 * docs/man/grub-editenv.h2m: New file.
24216 * docs/man/grub-fstest.h2m: New file.
24217 * docs/man/grub-install.h2m: New file.
24218 * docs/man/grub-macho2img.h2m: New file.
24219 * docs/man/grub-mkconfig.h2m: New file.
24220 * docs/man/grub-mkdevicemap.h2m: New file.
24221 * docs/man/grub-mkfont.h2m: New file.
24222 * docs/man/grub-mkimage.h2m: New file.
24223 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
24224 * docs/man/grub-mkrelpath.h2m: New file.
24225 * docs/man/grub-mkrescue.h2m: New file.
24226 * docs/man/grub-ofpathname.h2m: New file.
24227 * docs/man/grub-pe2elf.h2m: New file.
24228 * docs/man/grub-probe.h2m: New file.
24229 * docs/man/grub-reboot.h2m: New file.
24230 * docs/man/grub-script-check.h2m: New file.
24231 * docs/man/grub-set-default.h2m: New file.
24232 * docs/man/grub-setup.h2m: New file.
24233
3a37e322
VS
242342010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
24235
24236 Use FOR_* macros instead of *_iterate whenever possible.
24237
24238 * commands/handler.c: Removed.
24239 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
24240 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
24241 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24242 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
24243 (grub_probe_SOURCES): Remove kern/parser.c.
24244 (util/grub-script-check.c_DEPENDENCIES): Removed.
24245 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
24246 and grub_script_check_init.c.
24247 (grub_script_check_init.lst): Removed.
24248 (grub_script_check_init.h): Likewise.
24249 (grub_script_check_init.c): Likewise.
24250 (pkglib_MODULES): Remove handler.mod and sh.mod.
24251 (handler_mod_SOURCES): Removed.
24252 (handler_mod_CFLAGS): Likewise.
24253 (handler_mod_LDFLAGS): Likewise.
24254 (normal_mod_SOURCES): Remove normal/handler.c.
24255 Add script/main.c, script/script.c, script/execute.c,
24256 script/function.c, script/lexer.c, grub_script.tab.c
24257 and grub_script.yy.c.
24258 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24259 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24260 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
24261 (grub_setup_SOURCES): Remove kern/parser.c.
24262 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24263 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
24264 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
24265 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24266 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24267 (grub_setup_SOURCES): Remove kern/parser.c.
24268 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24269 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
24270 * include/grub/command.h (grub_command_iterate): Removed.
24271 (FOR_COMMANDS): New macro.
24272 * include/grub/dl.h (grub_dl): New member next.
24273 (grub_dl_iterate): Removed.
24274 (grub_dl_head): New variable declaration.
24275 (FOR_DL_MODULES): New macro.
24276 * include/grub/fs.h: Include list.h.
24277 (grub_fs): Make next first element.
24278 (grub_fs_list): New variable declaration.
24279 (grub_fs_register): Make inline.
24280 (grub_fs_unregister): Likewise.
24281 (grub_fs_iterate): Removed.
24282 (FOR_FILESYSTEMS): New macro.
24283 * include/grub/handler.h: Removed.
24284 * include/grub/list.h (grub_list_hook_t): Removed.
24285 (grub_list_test_t): Likewise.
24286 (grub_list_pop): Likewise.
24287 (grub_list_iterate): Likewise.
24288 (grub_list_insert): Likewise.
24289 (FOR_LIST_ELEMENTS): New macro.
24290 * include/grub/parser.h (grub_parser_class): Removed.
24291 (grub_parser_register): Likewise.
24292 (grub_parser_unregister): Likewise.
24293 (grub_parser_get_current): Likewise.
24294 (grub_parser_set_current): Likewise.
24295 (grub_register_rescue_parser): Likewise.
24296 (grub_rescue_parse_line): New function.
24297 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
24298 * include/grub/script_sh.h (grub_script_function_list): New variable
24299 declaration.
24300 (FOR_SCRIPT_FUNCTIONS): New macro.
24301 (grub_script_function_iterate): Removed.
24302 (grub_normal_parse_line): New prototype.
24303 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
24304 (FOR_DISABLED_TERM_INPUTS): Likewise.
24305 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
24306 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
24307 * include/grub/video.h (grub_video_adapter): Move 'next' to first
24308 element.
24309 (grub_video_register): Inline.
24310 (grub_video_unregister): Likewise.
24311 (grub_video_adapter_list): New variable declaration.
24312 (grub_video_iterate): Removed.
24313 (FOR_VIDEO_ADAPTERS): New macro.
24314 * kern/dl.c (grub_dl_list): Removed. All users updated.
24315 (grub_dl_iterate): Removed.
24316 * kern/fs.c (grub_fs_list): Make global.
24317 (grub_fs_register): Removed.
24318 (grub_fs_unregister): Likewise.
24319 (grub_fs_iterate): Likewise.
24320 * kern/handler.c: Removed.
24321 * kern/list.c (grub_list_pop): Removed.
24322 (grub_list_iterate): Likewise.
24323 (grub_list_insert): Likewise.
24324 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
24325 (grub_prio_list_insert): Don't use grub_list_insert.
24326 * kern/main.c (grub_register_rescue_parser): Don't call
24327 grub_register_rescue_parser.
24328 * kern/parser.c (grub_parser_class): Removed.
24329 (grub_parser_execute): Use grub_rescue_parse_line.
24330 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
24331 (grub_rescue_parser): Removed.
24332 (grub_register_rescue_parser): Likewise.
24333 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
24334 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
24335 (grub_auth_check_authentication): Likewise.
24336 * normal/completion.c (iterate_command): Removed.
24337 (grub_normal_do_completion): Use FOR_COMMANDS.
24338 * normal/handler.c: Removed.
24339 * normal/main.c (read_config_file): Remove parser changing.
24340 (grub_normal_execute): Don't call read_handler_list.
24341 (grub_normal_read_line_real): Statically allocate prompt.
24342 (grub_cmdline_run): Use grub_normal_parse_line.
24343 (GRUB_MOD_FINI): Don't call free_handler_list.
24344 * normal/menu_entry.c (run): Likewise.
24345 * script/function.c (grub_script_function_list): Make global.
24346 (grub_script_function_iterate): Removed.
24347 * script/main.c (grub_normal_parse_line): Make global.
24348 (grub_sh_parser): Removed.
24349 (GRUB_MOD_INIT): Likewise.
24350 (GRUB_MOD_FINI): Likewise.
24351 * tests/lib/functional_test.c (grub_functional_test): Use
24352 FOR_LIST_ELEMENTS.
24353 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
24354 (grub_test_run): Use FOR_LIST_ELEMENTS.
24355 * tests/lib/unit_test.c (main): Likewise.
24356 * util/deviceiter.c (grub_util_iterate_devices): Don't use
24357 grub_list_pop.
24358 * util/grub-fstest.c (grub_term_input_class): Removed.
24359 (grub_term_output_class): Likewise.
24360 * util/grub-probe.c: Likewise.
24361 * util/i386/pc/grub-setup.c: Likewise.
24362 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24363 * util/grub-script-check.c (main): Don't call grub_init_all and
24364 grub_fini_all.
24365 * video/video.c (grub_video_adapter_list): Make global.
24366 (grub_video_register): Removed.
24367 (grub_video_unregister): Likewise.
24368 (grub_video_iterate): Likewise.
24369
6289c3a7
VS
243702010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
24371
24372 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
24373 reported by Henrique Ferreiro.
24374
91460247
RM
243752010-06-09 Robert Millan <rmh@gnu.org>
24376
24377 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
24378 ones, when both are available.
24379
0ea7c4f9
GS
243802010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24381
24382 Make --version uniform and avoid hard-coded program name.
24383
24384 * util/grub-mkimage.c (main): Use `program_name' instead of
24385 hard-coded string.
24386 * util/i386/pc/grub-setup.c (main): Likewise.
24387 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
24388 * util/grub-install.in: Save the basename of $0 in $self, and use the
24389 latter in informational messages. Use the same format for --version
24390 as the binary programs.
24391 * util/grub-mkconfig.in: Likewise.
24392 * util/grub-mkrescue.in: Likewise.
24393 * util/grub-reboot.in: Likewise.
24394 * util/grub-set-default.in: Likewise.
24395 * util/i386/efi/grub-install.in: Likewise.
24396 * util/ieee1275/grub-install.in: Likewise.
24397 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24398
e8a6f3b6
GS
243992010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24400
24401 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
24402 embedding area. Use <= instead of == when checking for non-emptiness.
24403
f4d095d7
GS
244042010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24405
24406 * configure.ac: Add `.' to the directories searched for unifont.
24407
50e532ca
CW
244082010-06-08 Colin Watson <cjwatson@ubuntu.com>
24409
24410 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
24411 grub_script.yy.h.
24412
d39f3dec
CW
244132010-06-08 Colin Watson <cjwatson@ubuntu.com>
24414
24415 * docs/grub.texi (History): Expand to cover GRUB 2.
24416 (Serial terminal): Refer to `terminal_input' and `terminal_output'
24417 commands, not `terminal'.
24418 (serial): Likewise.
24419 (terminal_input): New section.
24420 (terminal_output): New section.
24421 (uppermem): New section (stub).
24422 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
24423
6ef0ddb4
CW
244242010-06-08 Colin Watson <cjwatson@ubuntu.com>
24425
24426 * docs/grub.texi (Security): Menu entries are unrestricted by
24427 default, not restricted to superusers as I had previously thought.
24428 Reword to account for this.
24429
e0f4c438
CW
244302010-06-07 Colin Watson <cjwatson@ubuntu.com>
24431
24432 * kern/emu/misc.c (device_mapper_null_log): New function.
24433 (grub_device_mapper_supported): New function.
24434 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
24435 prototype.
24436 * kern/emu/hostdisk.c (find_partition_start): Check whether
24437 device-mapper is supported before trying to use it.
24438 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
24439
da908200
CW
244402010-06-07 Colin Watson <cjwatson@ubuntu.com>
24441
24442 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
24443 (File name syntax): Likewise.
24444 (help): --all is no longer supported in GRUB 2. Be more precise
24445 about pattern matching.
24446
fb55c3ac
CW
244472010-06-07 Colin Watson <cjwatson@ubuntu.com>
24448
24449 * normal/completion.c (grub_normal_do_completion): When completing
24450 arguments to "set" and the current word contains an equals sign,
24451 skip to after the equals sign before starting completion.
24452
258c2573
CW
244532010-06-07 Colin Watson <cjwatson@ubuntu.com>
24454
24455 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
24456
ee75515e
CW
244572010-06-07 Colin Watson <cjwatson@ubuntu.com>
24458
24459 * docs/grub.texi (Network): New section.
24460 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
24461 `(nd)' as in GRUB Legacy.
24462 (pxe_unload): New section.
24463
a6a700aa
CW
244642010-06-07 Colin Watson <cjwatson@ubuntu.com>
24465
24466 * docs/grub.texi (Troubleshooting): `echo' is not usually available
24467 in the rescue shell, so recommend using `set' instead. Thanks,
24468 Jordan Uggla.
24469
4003dd38
CW
244702010-06-07 Colin Watson <cjwatson@ubuntu.com>
24471
24472 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
24473 (password): New section.
24474 (password_pbkdf2): New section.
24475 (search): New section.
24476 (Security): New section.
24477 (Troubleshooting): New section, currently very incomplete.
24478 (Invoking grub-mkpasswd-pbkdf2): New section.
24479 (Internals): New section, currently very incomplete.
24480
e1cbcc40
CW
244812010-06-07 Colin Watson <cjwatson@ubuntu.com>
24482
24483 * util/grub.d/00_header.in: Add some more quoting (of
24484 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
24485 work again.
24486 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
24487
db8fa1ad
CW
244882010-06-07 Colin Watson <cjwatson@ubuntu.com>
24489
24490 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
24491 to `count', fixing variable shadowing that broke the -c option.
24492
244932010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
24494
24495 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
24496 in case they contain spaces.
24497
f28a9212
CW
244982010-06-04 Colin Watson <cjwatson@ubuntu.com>
24499
24500 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
24501 "part_" to partmap module names, in line with grub-install.
24502 Reported by: Jindřich Makovička (Debian bug #584426).
24503
9cdfe32f
CW
245042010-06-04 Colin Watson <cjwatson@ubuntu.com>
24505
24506 * util/grub-mkimage.c: Make target-related error messages slightly
24507 more helpful; -O talks about "format". Explicitly point to the use
24508 of -O if no target is specified.
24509 Reported by: Didier Raboud (Debian bug #584415).
24510
795b593a
CW
245112010-06-03 Colin Watson <cjwatson@ubuntu.com>
24512
24513 * INSTALL: Document several build requirements for optional features
24514 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
24515
9d9b5833
GS
245162010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
24517
24518 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
24519 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
24520 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
24521
0819fec8
CW
245222010-06-02 Colin Watson <cjwatson@ubuntu.com>
24523
24524 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
24525 Thanks to Jordan Uggla for spotting this.
24526
49396b4f
VS
245272010-06-02 Aleš Nesrsta <starous@volny.cz>
24528
24529 Finally make USB usable.
24530
24531 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
24532 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
24533 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
24534 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
24535 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
24536 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
24537 (GRUB_OHCI_FSMPS): Likewise.
24538 (GRUB_OHCI_PERIODIC_START): Likewise.
24539 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
24540 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
24541 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
24542 (GRUB_OHCI_SET_PORT_RESET): Likewise.
24543 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
24544 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
24545 (grub_ohci_transaction): Likewise.
24546 (grub_ohci_transfer): Improve condition detection algorithms.
24547 Handle toggle property. Program the transactions correctly.
24548 Improve error handling. Various important fixups.
24549 (grub_ohci_portstatus): Put register writes in right order.
24550 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
24551 (grub_uhci_transfer): Don't show "failed" message on success.
24552 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
24553 array.
24554 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
24555 determine its size.
24556 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
24557 before initialization is completed. Use IN direction for empty
24558 transfers. Use last_trans and compute toggle.
24559 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
24560 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
24561 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
24562 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
24563 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
24564 (grub_usb_device): Increase toggle to 256.
24565 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
24566 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
24567 GRUB_USBMS_SUBCLASS_SFF8070.
24568 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
24569 (grub_scsi_inquiry): New member page and alloc_length.
24570 (grub_scsi_request_sense): New structure.
24571 (grub_scsi_request_sense_data): Likewise.
24572 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
24573 control.
24574 * disk/scsi.c (grub_scsi_request_sense): New function.
24575 (grub_scsi_test_unit_ready): Likewise.
24576 (grub_scsi_inquiry): Fill new fields.
24577 (grub_scsi_read_capacity): Likewise.
24578 (grub_scsi_read10): Add request sense at the end.
24579 (grub_scsi_read12): Likewise.
24580 (grub_scsi_write10): Likewise.
24581 (grub_scsi_write12): Likewise.
24582 (grub_scsi_open): Add Test Unit Ready.
24583 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
24584 Support additional subclasses. Con't clear halt yet. Activate the
24585 proper config. Calculate LUNs correctly.
24586 (grub_usbms_transfer): Various important fixups.
24587
245882010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24589
24590 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
24591 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
24592 (grub_ohci_fini_hw): New function.
24593 (grub_ohci_restore_hw): Likewise.
24594 (GRUB_MOD_INIT(ohci)): Register preboot hook.
24595 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
24596 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
24597
245982010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24599
24600 Dedicated DMA allocations.
24601
24602 * bus/pci.c (grub_memalign_dma32): New function
24603 (grub_dma_free): Likewise.
24604 (grub_dma_get_virt): Likewise.
24605 (grub_dma_get_phys): Likewise.
24606 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
24607 (grub_ohci_pci_iter): Use dma32_alloc.
24608 (grub_ohci_transfer): Likewise.
24609 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24610 (grub_usb_bulk_readwrite): Likewise.
24611 * include/grub/pci.h: Add declarations.
24612
246132010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24614
24615 CS5536 support.
24616
24617 * bus/cs5536.c: New file.
24618 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
24619 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
24620 (cs5536_mod_SOURCES): New variable.
24621 (cs5536_mod_CFLAGS): Likewise.
24622 (cs5536_mod_LDFLAGS): Likewise.
24623 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
24624 machine/pci.h.
24625 (kernel_img_SOURCES): Add bus/cs5536.c.
24626 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
24627 usb_keyboard.mod.
24628 (usb_mod_SOURCES): New variable.
24629 (usb_mod_CFLAGS): New variable.
24630 (usb_mod_LDFLAGS): New variable.
24631 (usbtest_mod_SOURCES): New variable.
24632 (usbtest_mod_CFLAGS): New variable.
24633 (usbtest_mod_LDFLAGS): New variable.
24634 (ohci_mod_SOURCES): New variable.
24635 (ohci_mod_CFLAGS): New variable.
24636 (ohci_mod_LDFLAGS): New variable.
24637 (usbms_mod_SOURCES): New variable.
24638 (usbms_mod_CFLAGS): New variable.
24639 (usbms_mod_LDFLAGS): New variable.
24640 (usb_keyboard_mod_SOURCES): New variable.
24641 (usb_keyboard_mod_CFLAGS): New variable.
24642 (usb_keyboard_mod_LDFLAGS): New variable.
24643 * include/grub/smbus.h: New file.
24644 * include/grub/cs5536.h: New file.
24645
0b35b2a9
CW
246462010-06-02 Colin Watson <cjwatson@ubuntu.com>
24647
24648 * util/grub.d/00_header.in: Add safety check to make sure that
24649 ${locale_dir} exists before trying to probe it.
24650
ca0afd5b
CW
246512010-06-02 Colin Watson <cjwatson@ubuntu.com>
24652
24653 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
24654 per the GNU Coding Standards; this is now too obscure to be worth
24655 documenting.
24656 (QNX): Likewise.
24657 (chainloader): Remove cross-reference to `SCO UnixWare'.
24658
1c41aa78
CW
246592010-06-02 Colin Watson <cjwatson@ubuntu.com>
24660
24661 * docs/grub.texi (Chain-loading): New section.
24662 (DOS/Windows): New section, borrowed from GRUB Legacy with details
24663 adjusted for GRUB 2.
24664 (SCO UnixWare): Likewise.
24665 (QNX): Likewise.
24666 (chainloader): Add reference to `Block list syntax'.
24667 (drivemap): New section.
24668 (parttool): New section.
24669
bb8ea0f5
CW
246702010-06-02 Colin Watson <cjwatson@ubuntu.com>
24671
24672 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
24673 the grub shell'.
24674 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
24675 (Installing GRUB using grub-install): Remove reference to the grub
24676 shell; mention `grub-mkimage' and `grub-setup' instead.
24677 (Invoking grub-install): Likewise.
24678 (Interface): Add reference to `Menu entry editor'.
24679 (serial): Remove `--device' option.
24680
288dd6ed
CW
246812010-06-02 Colin Watson <cjwatson@ubuntu.com>
24682
24683 * docs/grub.texi (Configuration): New section, documenting
24684 configuration file generation using grub-mkconfig. I've left a slot
24685 for documenting the full shell scripting format but have not yet
24686 started on writing that up.
24687 (Invoking grub-mkconfig): New section.
24688
34c9f0e9
CW
246892010-06-02 Colin Watson <cjwatson@ubuntu.com>
24690
24691 * docs/grub.texi (direntry): Remove grub-terminfo reference.
24692 (GNU GRUB manual): Likewise.
24693 (General commands): Update description of `terminfo' for GRUB 2.
24694
9121567e
CW
246952010-06-02 Colin Watson <cjwatson@ubuntu.com>
24696
24697 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
24698 (GRUB_MOD_INIT): Fix capitalisation.
24699 * docs/grub.texi (Command-line and menu entry commands): Document
24700 gettext and gptsync commands.
24701
ab631611
CW
247022010-06-02 Colin Watson <cjwatson@ubuntu.com>
24703
24704 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
24705 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
24706
bde4a9ac
CW
247072010-06-01 Colin Watson <cjwatson@ubuntu.com>
24708
24709 Add btrfs probing support, currently only in the single-device case.
24710
24711 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
24712 function.
24713 (grub_guess_root_device): Call find_root_device_from_mountinfo
24714 before looking in /dev.
24715
b1d17e10
VS
247162010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24717
24718 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
24719 GRUB_DISK_SIZE_UNKNOWN.
24720 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
24721
dfbfe004
JS
247222010-05-31 Jiro SEKIBA <jir@unicus.jp>
24723
24724 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
24725 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
24726 corrupted or not synced properly.
24727
c2ffc8e9
VS
247282010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24729
24730 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
24731 Reported by: Seth Goldberg.
24732
56293166
VS
247332010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24734
24735 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
24736 addition of dest.
24737 Reported by: Seth Goldberg.
24738
7620e7de
VS
247392010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24740
24741 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
24742 Reported by: Seth Goldberg.
24743
c837af3f
VS
247442010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24745
24746 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
24747 64-bit address as signed on MIPS.
24748
c7c75cf4
CW
247492010-05-28 Colin Watson <cjwatson@ubuntu.com>
24750
24751 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
24752 to the empty string.
24753
fa4b8490
BC
247542010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
24755
24756 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
24757
24758 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
24759 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
24760 * kern/misc.c (__enable_execute_stack): Disable on
24761 GRUB_MACHINE_EMU.
24762
a33075b9
CW
247632010-05-28 Colin Watson <cjwatson@ubuntu.com>
24764
24765 Make grub-probe work with symbolic links under /dev/mapper as well
24766 as with real block devices. The Linux world seems to be (at best)
24767 in transition here, and GRUB shouldn't get caught in the middle.
24768
24769 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
24770 /dev/mapper.
24771
d8708134
CW
247722010-05-27 Colin Watson <cjwatson@ubuntu.com>
24773
24774 * util/grub-script-check.c (main): Ensure defined behaviour on empty
24775 input files (in which case exit zero).
24776
db2102a0
CW
247772010-05-27 Colin Watson <cjwatson@ubuntu.com>
24778
24779 * kern/emu/misc.c (canonicalize_file_name): realpath can still
24780 return NULL for various reasons even if it has a maximum-length
24781 buffer: for example, there might be a symlink loop, or the path
24782 might exceed PATH_MAX. If this happens, return NULL.
24783
5fdba519
RM
247842010-05-27 Robert Millan <rmh@gnu.org>
24785
24786 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
24787 partmap module to handle cross-partmap setups.
24788 Reported by Orestes Mas. Gràcies!
24789
d1d368e4
CW
247902010-05-27 Colin Watson <cjwatson@ubuntu.com>
24791
24792 * util/grub-mkrescue.in: Initialise override_dir rather than
24793 assuming that it's unset or empty in the environment.
24794
95ac3c73
GS
247952010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
24796
24797 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
24798 variable index into p_index to suppress a warning with -Wshadow.
24799
7d8c0213
BC
248002010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
24801
24802 * INSTALL: Added flex >= 2.5.35 requirement.
24803
db4d5813
VS
248042010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24805
24806 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
24807
f24f4300
VS
248082010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24809
24810 cmostest support.
24811
24812 * commands/i386/cmostest.c: New file.
24813 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
24814 (cmostest_mod_SOURCES): New variable.
24815 (cmostest_mod_CFLAGS): Likewise.
24816 (cmostest_mod_LDFLAGS): Likewise.
24817 * conf/i386-pc.rmk: Likewise.
24818 * docs/grub.texi (Vendor power-on keys): New section.
24819 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
24820 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
24821 and GRUB_BUTTON_CMOS_ADDRESS.
24822 * util/grub.d/00_header.in: Handle powering-on by separate button.
24823
ad603f61
VS
248242010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24825
24826 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
24827 Removed drawing_scrollbar argument. All users updated
24828 Fixes #29792.
24829 Reported by Jo Shields
24830
3ecb080a
VS
248312010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24832
24833 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
24834 buffer since gfxterm handles double repaint.
24835
5f2316c1
VS
248362010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24837
24838 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
24839 * term/gfxterm.c (real_scroll): Likewise.
24840
9a25f885
VS
248412010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24842
24843 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
24844 before calling BIOS.
24845
39fbb79a
VS
248462010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24847
24848 * include/grub/i18n.h: Always enable grub_gettext.
24849
228cfa97
VS
248502010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24851
24852 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
24853 partition naming style.
24854
21717c8f
CW
248552010-05-21 Colin Watson <cjwatson@ubuntu.com>
24856
24857 * util/grub-mkconfig.in: Fix handling of -o so that it works when
24858 not the first option.
24859
c0f48e65
CW
248602010-05-20 Colin Watson <cjwatson@ubuntu.com>
24861
24862 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
24863
96779aec
CW
248642010-05-20 Colin Watson <cjwatson@ubuntu.com>
24865
24866 * util/misc.c: Move inclusion of <limits.h> to ...
24867 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
24868
fa9d256e
GS
248692010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
24870
24871 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
24872 Fix merge error in NetBSD code.
24873 (find_partition_start) [__NetBSD__]: Likewise.
24874
123b7a85
BC
248752010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
24876
24877 Fix grub-mkrescue usage unit testing.
24878
24879 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
24880
74276c0d
CF
248812010-05-18 Christian Franke <franke@computer.org>
24882
24883 * util/grub.d/10_windows.in: Use path names instead of
24884 drive letters to prevent warning from Cygwin 1.7.
24885 Add drivemap command to menuentry if needed.
24886
c4f7b523
ST
248872010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
24888
24889 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
24890 gnumach and gnumach.gz.
24891
95b97950
VS
248922010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24893
24894 * include/grub/i18n.h (gettext): Inline instead of using #define.
24895 (grub_gettext): Likewise.
24896 (_): Likewise.
24897
01b8d2d7
VS
248982010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24899
24900 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
24901 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
24902 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
24903 (main): Add a slash after pkglibdirroot.
24904
654e1d1e
VS
249052010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24906
24907 * util/grub-install.in: Add missing "in" keyword.
24908
26966aeb
VS
249092010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24910
24911 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
24912 Reported by: Seth Goldberg.
24913
75006747
VS
249142010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24915
24916 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
24917
74cbf5bd
CW
249182010-05-18 Colin Watson <cjwatson@ubuntu.com>
24919
24920 * configure.ac: Check for Linux device-mapper support.
24921
24922 * util/hostdisk.c (device_is_mapped): New function.
24923 (find_partition_start): New function, partly broken out from
24924 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
24925 device-mapper support added.
24926 (linux_find_partition): Use find_partition_start.
24927 (convert_system_partition_to_system_disk): Add `st' argument.
24928 Support Linux /dev/mapper/* devices if device-mapper support is
24929 available; only DM-RAID devices are understood at present.
24930 (find_system_device): Add `st' argument. Pass it to
24931 convert_system_partition_to_system_disk.
24932 (grub_util_biosdisk_get_grub_dev): Pass stat result to
24933 find_system_device and convert_system_partition_to_system_disk. Use
24934 find_partition_start.
24935
24936 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
24937 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
24938 * util/deviceiter.c [__linux__]: Define MINOR.
24939 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
24940 * util/mkdevicemap.c (grub_putchar): New function.
24941 (grub_getkey): New function.
24942 (grub_refresh): New function.
24943 (main): Set debug=all if -v -v is used.
24944
355b51e9
CW
249452010-05-18 Colin Watson <cjwatson@ubuntu.com>
24946
24947 Fix build with non-GNU libcs.
24948
24949 * util/misc.c (canonicalize_file_name): Move to ...
24950 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
24951 grub_make_system_path_relative_to_its_root.
24952
7fb5c25f
CW
249532010-05-18 Colin Watson <cjwatson@ubuntu.com>
24954
24955 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
24956 we handle finding grub-mkimage. Default to finding grub-mkimage in
24957 ${bindir} with program_transform_name applied, and provide a
24958 --grub-mkimage option to override this.
24959
1d3293d6
VS
249602010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24961
24962 Remove grub-mkisofs.
24963
24964 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
24965 (grub_mkisofs_SOURCES): Removed.
24966 (grub_mkisofs_CFLAGS): Removed.
24967 * util/mkisofs/defaults.h: Removed.
24968 * util/mkisofs/eltorito.c: Likewise.
24969 * util/mkisofs/exclude.h: Likewise.
24970 * util/mkisofs/hash.c: Likewise.
24971 * util/mkisofs/include/: Likewise.
24972 * util/mkisofs/include/fctldefs.h: Likewise.
24973 * util/mkisofs/include/mconfig.h: Likewise.
24974 * util/mkisofs/include/prototyp.h: Likewise.
24975 * util/mkisofs/include/statdefs.h: Likewise.
24976 * util/mkisofs/iso9660.h: Likewise.
24977 * util/mkisofs/joliet.c: Likewise.
24978 * util/mkisofs/match.c: Likewise.
24979 * util/mkisofs/match.h: Likewise.
24980 * util/mkisofs/mkisofs.c: Likewise.
24981 * util/mkisofs/mkisofs.h: Likewise.
24982 * util/mkisofs/msdos_partition.h: Likewise.
24983 * util/mkisofs/multi.c: Likewise.
24984 * util/mkisofs/name.c: Likewise.
24985 * util/mkisofs/rock.c: Likewise.
24986 * util/mkisofs/tree.c: Likewise.
24987 * util/mkisofs/write.c: Likewise.
24988
5dde9afe
VS
249892010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24990
24991 Unify grub-mkimage accross platforms.
24992
24993 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
24994 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
24995 (grub_mkelfimage_SOURCES): Removed.
24996 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
24997 (util/grub-mkimage.c_DEPENDENCIES): .. this.
24998 (bin_UTILITIES): Add grub-mkimage.
24999 (grub_mkimage_SOURCES): New variable.
25000 (kernel_img_HEADERS): Remove machine/kernel.h.
25001 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
25002 (pkglib_PROGRAMS): Add kernel.img.
25003 (kernel_img_HEADERS): Add machine/kernel.h.
25004 (kernel_img_FORMAT): Removed.
25005 (bin_UTILITIES): Remove grub-mkimage.
25006 (grub_mkimage_SOURCES): Removed.
25007 (grub_mkimage_CFLAGS): Likewise.
25008 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25009 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
25010 (pkglib_PROGRAMS): Add kernel.img.
25011 (bin_UTILITIES): Remove grub-mkimage.
25012 (grub_mkimage_SOURCES): Removed.
25013 (grub_mkimage_CFLAGS): Likewise.
25014 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25015 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
25016 (pkglib_PROGRAMS): Add kernel.img.
25017 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
25018 (pkglib_PROGRAMS): Add kernel.img.
25019 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
25020 (grub_mkimage_SOURCES): Removed.
25021 (grub_mkimage_CFLAGS): Likewise.
25022 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25023 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
25024 (pkglib_PROGRAMS): Add kernel.img.
25025 (bin_UTILITIES): Remove grub-mkimage.
25026 (grub_mkimage_SOURCES): Removed.
25027 (grub_mkimage_CFLAGS): Likewise.
25028 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25029 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
25030 (grub_mkimage_SOURCES): Removed.
25031 (grub_mkimage_CFLAGS): Likewise.
25032 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25033 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
25034 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
25035 (grub_pe32_optional_header): ... this.
25036 (grub_pe64_optional_header): ... and this. All users updated.
25037 (GRUB_PE32_PE32_MAGIC): Split into ..
25038 (GRUB_PE32_PE32_MAGIC): .. this.
25039 (GRUB_PE32_PE64_MAGIC): .. and this.
25040 (GRUB_PE32_SIGNATURE_SIZE): New definition.
25041 * include/grub/elf.h (PT_GNU_STACK): New definition.
25042 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
25043 * include/grub/i386/efi/kernel.h: Likewise.
25044 * include/grub/i386/kernel.h: Likewise.
25045 * include/grub/i386/pc/kernel.h: Likewise.
25046 * include/grub/i386/qemu/boot.h: Likewise.
25047 * include/grub/mips/kernel.h: Likewise.
25048 * include/grub/mips/qemu-mips/kernel.h: Likewise.
25049 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25050 * include/grub/powerpc/kernel.h: Likewise.
25051 * include/grub/sparc64/ieee1275/boot.h: Likewise.
25052 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25053 * include/grub/sparc64/kernel.h: Likewise.
25054 * include/grub/x86_64/efi/kernel.h: Likewise.
25055 * include/grub/x86_64/kernel.h: Likewise.
25056 * include/grub/offsets.h: New file.
25057 * include/grub/kernel.h (grub_module_info): Split into ...
25058 (grub_module_info32): ... this.
25059 (grub_module_info64): ... and this.
25060 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
25061 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
25062 (grub_boot_blocklist): Moved from here ...
25063 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
25064 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
25065 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
25066 * include/grub/types.h (grub_target_to_host16): Removed.
25067 (grub_target_to_host32): Likewise.
25068 (grub_target_to_host64): Likewise.
25069 (grub_host_to_target16): Likewise.
25070 (grub_host_to_target32): Likewise.
25071 (grub_host_to_target64): Likewise.
25072 (grub_host_to_target_addr): Likewise.
25073
25074 Support grub-mkrescue for efi, coreboot and qemu.
25075
25076 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
25077 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
25078 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
25079 * util/grub-mkrawimage.c: Moved from here ...
25080 * util/grub-mkimage.c: ... here. All users updated.
25081 (ALIGN_ADDR): Use image_target.
25082 (TARGET_NO_FIELD): New const.
25083 (image_target_desc): New type.
25084 (image_targets): New array.
25085 (grub_target_to_host64): Use image_target.
25086 (grub_target_to_host32): Likewise.
25087 (grub_target_to_host16): Likewise.
25088 (grub_host_to_target64): Likewise.
25089 (grub_host_to_target32): Likewise.
25090 (grub_host_to_target16): Likewise.
25091 (grub_host_to_target_addr): Likewise.
25092 (generate_image): Handle multiimage.
25093 (main): Require -O parameter. All users updated.
25094 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
25095 util/efi/grub-mkimage.c
25096 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
25097 New option --rom-directory.
25098 Use xorriso.
25099 * util/i386/efi/grub-mkimage.c: Removed.
25100 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
25101 (grub_target_to_host32): Likewise.
25102 (grub_target_to_host64): Likewise.
25103 (grub_host_to_target16): Likewise.
25104 (grub_host_to_target32): Likewise.
25105 (grub_host_to_target64): Likewise.
25106 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
25107 (grub_target_to_host32): Likewise.
25108 (grub_target_to_host64): Likewise.
25109 (grub_host_to_target16): Likewise.
25110 (grub_host_to_target32): Likewise.
25111 (grub_host_to_target64): Likewise.
25112
f4fc97d0
BC
251132010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
25114
25115 Source tree is reorganized for emu build.
25116
25117 * include/grub/util/console.h: Move from here...
25118 * include/grub/emu/console.h: ...to here.
25119 * include/grub/util/getroot.h: Move from here...
25120 * include/grub/emu/getroot.h: ...to here.
25121 * include/grub/util/hostdisk.h: Move from here...
25122 * include/grub/emu/hostdisk.h: ...to here.
25123 * util/console.c: Move from here...
25124 * kern/emu/console.c: ...to here.
25125 * util/getroot.c: Move from here...
25126 * kern/emu/getroot.c: ...to here.
25127 * util/grub-emu.c: Move from here...
25128 * kern/emu/main.c: ...to here.
25129 * util/hostdisk.c: Move from here...
25130 * kern/emu/hostdisk.c: ...to here.
25131 * util/hostfs.c: Move from here...
25132 * kern/emu/hostfs.c: ...to here.
25133 * util/mm.c: Move from here...
25134 * kern/emu/mm.c: ...to here.
25135 * util/pci.c: Move from here...
25136 * bus/emu/pci.c: ...to here.
25137 * util/sdl.c: Move from here...
25138 * video/emu/sdl.c: ...to here.
25139 * util/time.c: Move from here...
25140 * kern/emu/time.c: ...to here.
25141 * util/usb.c: Move from here...
25142 * bus/usb/emu/usb.c: ...to here.
25143
25144 * include/grub/emu/misc.h: New header for grub-emu functions.
25145 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
25146
25147 * conf/any-emu.rmk: Rule updates for above renames.
25148 * conf/common.rmk: Likewise.
25149 * conf/i386-pc.rmk: Likewise.
25150 * conf/i386-qemu.rmk: Likewise.
25151 * conf/mips.rmk: Likewise.
25152 * conf/sparc64-ieee1275.rmk: Likewise.
25153 * conf/x86-efi.rmk: Likewise.
25154
25155 * disk/lvm.h: #include updates for above renames.
25156 * util/grub-mkrelpath.c: Likewise.
25157 * util/grub-probe.c: Likewise.
25158 * util/i386/pc/grub-setup.c: Likewise.
25159 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25160 * kern/emu/console.c: Likewise.
25161 * kern/emu/getroot.c: Likewise.
25162 * kern/emu/hostdisk.c: Likewise.
25163 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
25164
25165 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
25166 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
25167 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
25168 * util/misc.c: Remove grub-emu functions.
25169
cced9145
VS
251702010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
25171
25172 Fix gfxmenu crash.
25173 Reported by: Thorsten Grützmacher.
25174
25175 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
25176 timeout hook.
25177 (circprog_set_property): Register and unregister timeout hook.
25178 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
25179 (label_destroy): Free template. and unregister hook.
25180 (label_set_state): New function.
25181 (label_set_property): Handle templates and hooks.
25182 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
25183 timeout hook.
25184 (progress_bar_set_property): Register and unregister timeout hook.
25185 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
25186 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
25187 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
25188 (update_timeout_visit): Removed.
25189 (update_timeouts): New function.
25190 (redraw_timeouts): Likewise.
25191 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
25192 (grub_gfxmenu_clear_timeout): Likewise.
25193 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
25194 (grub_gfxmenu_timeout_notify): Likewise.
25195 (grub_gfxmenu_timeout_notifications): New external variable.
25196 (grub_gfxmenu_timeout_register): New function.
25197 (grub_gfxmenu_timeout_unregister): Likewise.
25198
c6e5caab
VS
251992010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25200
25201 Transform (broken) vga terminal into (working) vga video driver.
25202
25203 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
25204 video/i386/pc/vga.c.
25205 * include/grub/video.h (grub_video_driver_id):
25206 Add GRUB_VIDEO_DRIVER_VGA.
25207 * term/i386/pc/vga.c: Renamed to ...
25208 * video/i386/pc/vga.c: ...this
25209 (DEBUG_VGA): Removed.
25210 (CHAR_WIDTH): Likewise.
25211 (CHAR_HEIGHT): Likewise.
25212 (TEXT_WIDTH): Likewise.
25213 (TEXT_HEIGHT): Likewise.
25214 (DEFAULT_FG_COLOR): Likewise.
25215 (DEFAULT_BG_COLOR): Likewise.
25216 (colored_char): Likewise.
25217 (xpos): Likewise.
25218 (ypos): Likewise.
25219 (cursor_state): Likewise.
25220 (fg_color): Likewise.
25221 (bg_color): Likewise.
25222 (text_buf): Likewise.
25223 (page): Likewise.
25224 (font): Likewise.
25225 (framebuffer): New variable.
25226 (set_read_map): Disabled.
25227 (setup): New variable.
25228 (is_target): Likewise.
25229 (grub_vga_mod_init): Likewise.
25230 (grub_vga_mod_fini): Likewise.
25231 (check_vga_mem): Likewise.
25232 (write_char): Likewise.
25233 (write_cursor): Likewise.
25234 (scroll_up): Likewise.
25235 (grub_vga_putchar): Likewise.
25236 (grub_vga_getcharwidth): Likewise.
25237 (grub_vga_getwh): Likewise.
25238 (grub_vga_getxy): Likewise.
25239 (grub_vga_gotoxy): Likewise.
25240 (grub_vga_cls): Likewise.
25241 (grub_vga_setcolorstate): Likewise.
25242 (grub_vga_setcursor): Likewise.
25243 (grub_video_vga_init): New function.
25244 (grub_video_vga_setup): Likewise.
25245 (grub_video_vga_fini): Likewise.
25246 (update_target): Likewise.
25247 (grub_video_vga_blit_bitmap): Likewise.
25248 (grub_video_vga_blit_render_target): Likewise.
25249 (grub_video_vga_set_active_render_target): Likewise.
25250 (grub_video_vga_get_active_render_target): Likewise.
25251 (grub_video_vga_swap_buffers): Likewise.
25252 (grub_video_vga_set_palette): Likewise.
25253 (grub_video_vga_get_info_and_fini): Likewise.
25254 (grub_vga_term): Removed.
25255 (grub_video_vga_adapter): New variable.
25256 (GRUB_MOD_INIT): Register a video driver instead of terminal.
25257 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
25258
2bf61a98
VS
252592010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25260
25261 * video/readers/jpeg.c: Indented.
25262
09ddcd11
VS
252632010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25264
25265 Various jpeg cleanups.
25266
25267 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
25268 (grub_jpeg_decode_quan_table): Use sizeof.
25269 (grub_jpeg_decode_du): Use ARRAY_SIZE.
25270
e5507505
PH
252712010-05-05 Peter Hurley <No e-mail available> (tiny change)
25272
25273 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
25274 tables. Ignore non-last ac bit.
25275 (grub_jpeg_decode_quan_table): Likewise.
25276
7e720a9b
VS
252772010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25278
25279 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
25280 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
25281 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
25282 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
25283 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
25284 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
25285
a7fc080b
VS
252862010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25287
25288 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
25289 error.
25290
2bf6012d
VS
252912010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25292
25293 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
25294
265d68cd
VS
252952010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25296
25297 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
25298 condition.
25299
253002010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
25301
25302 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
25303 part.
25304
265d68cd 253052010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
25306
25307 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
25308 pointers.
25309
265d68cd 253102010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
25311
25312 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
25313
d1b61374
CF
253142010-05-01 Christian Franke <franke@computer.org>
25315
25316 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
25317 Remove broken Cygwin path conversion.
25318 * util/misc.c: [__CYGWIN__] Add include and define.
25319 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
25320 for Cygwin 1.7.
25321 (make_system_path_relative_to_its_root): Simplify loop, replace early
25322 return by break.
25323 [__CYGWIN__] Add conversion to win32 path.
25324 Include "/" case in trailing slash removal.
25325
3558c6e9
VS
253262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25327
25328 * kern/main.c (grub_load_config): Fix copy-pasted comment.
25329 Reported by: Seth Goldberg
25330
f5f3ff93
VS
253312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25332
25333 * commands/help.c (grub_cmd_help): Fix a typo.
25334 Reported by: Seth Goldberg
25335
d8b5cd40
VS
253362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25337
25338 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
25339 name and add N_.
25340 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
25341 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
25342 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
25343 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
25344 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
25345 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
25346 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
25347 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
25348 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
25349 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
25350 * normal/context.c (GRUB_MOD_INIT): Likewise.
25351 * normal/main.c (GRUB_MOD_INIT): Likewise.
25352 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
25353 * term/serial.c (GRUB_MOD_INIT): Likewise.
25354 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
25355
88c14915
VS
253562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25357
25358 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
25359 extra == 0.
25360
165134bc
VS
253612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25362
25363 * commands/iorw.c: New file.
25364 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
25365 (iorw_mod_SOURCES): New variable.
25366 (iorw_mod_CFLAGS): Likewise.
25367 (iorw_mod_LDFLAGS): Likewise.
25368
c5ac9b32
VS
253692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25370
25371 Hotkey support
25372
25373 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
25374 * normal/main.c (hotkey_aliases): New variable.
25375 (grub_normal_add_menu_entry): Parse "--hotkey".
25376 * normal/menu_text.c (run_menu): Handle hotkeys.
25377
ce60689c
VS
253782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25379
25380 * kern/i386/coreboot/init.c (grub_machine_init): Call
25381 grub_machine_mmap_init on qemu.
25382
0359d006
VS
253832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25384
25385 * boot/i386/qemu/boot.S: Add a missing .code16.
25386
7819a456
VS
253872010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25388
25389 Use LBIO on coreboot.
25390
25391 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
25392 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
25393 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
25394 New declaration.
25395 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
25396 grub_machine_mmap_init on coreboot.
25397 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
25398 GRUB_LINUXBIOS_MEMBER_LINK.
25399 (grub_machine_mmap_iterate): Fix declaration.
25400 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
25401
7210dca9
VS
254022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25403
25404 Split coreboot and multiboot ports.
25405
25406 * conf/i386-multiboot.rmk: New file.
25407 * configure.ac: Add multiboot port.
25408 * include/grub/i386/multiboot/boot.h: New file.
25409 * include/grub/i386/multiboot/console.h: Likewise.
25410 * include/grub/i386/multiboot/init.h: Likewise.
25411 * include/grub/i386/multiboot/kernel.h: Likewise.
25412 * include/grub/i386/multiboot/loader.h: Likewise.
25413 * include/grub/i386/multiboot/memory.h: Likewise.
25414 * include/grub/i386/multiboot/serial.h: Likewise.
25415 * include/grub/i386/multiboot/time.h: Likewise.
25416 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
25417 * loader/multiboot.c: Likewise.
25418 * loader/multiboot_mbi2.c: Likewise.
25419 * util/grub-mkrescue.in: Generate multiboot rescue.
25420
6f8aaf68
VS
254212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25422
3080f7a7
VS
25423 * kern/parser.c (grub_parser_execute): Cope with read-only config.
25424
254252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25426
25427 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
25428
25429 * commands/terminal.c (abstract_terminal): New struct.
25430 (handle_command): New function. Based on grub_cmd_terminal_input.
25431 (grub_cmd_terminal_input): Use handle_command.
25432 (grub_cmd_terminal_output): Use handle_command.
25433
a8ebb841
BC
254342010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
25435
25436 Fix comment handling.
25437
25438 * tests/grub_script_comments.in: New testcase.
25439 * conf/tests.rmk: Rules for new testcase.
25440 * script/yylex.l: Updated flex rules.
25441
bb06ba08
ST
254422010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
25443
25444 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
25445 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
25446 if argc is 1.
bb06ba08 25447
cc9d2425
VS
254482010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25449
25450 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
25451 autogen issues.
25452
460d8402
CF
254532010-04-26 Christian Franke <franke@computer.org>
25454
25455 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
25456 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
25457 (grub_get_prefix): Remove function.
25458 * util/grub-emu.c (main): Replace grub_get_prefix () call by
25459 make_system_path_relative_to_its_root ().
25460 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
25461
553c01f9
CF
254622010-04-24 Christian Franke <franke@computer.org>
25463
25464 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
25465 (kernel_img_LDFLAGS): Remove -static-libgcc.
25466
2aec1692
CF
254672010-04-24 Christian Franke <franke@computer.org>
25468
25469 * configure.ac: Do not CHECK_BSS_START_SYMBOL
25470 and CHECK_END_SYMBOL if grub-emu is built.
25471 Unset TARGET_OBJ2ELF if grub-emu is built
25472 without module support.
25473
f67dc308
JS
254742010-04-24 Jiro SEKIBA <jir@unicus.jp>
25475
25476 Nilfs2 support.
25477
25478 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
25479 (grub_fstest_SOURCES): Likewise.
25480 (pkglib_MODULES): Add nilfs2.mod.
25481 (nilfs2_mod_SOURCES): New variable.
25482 (nilfs2_mod_CFLAGS): Likewise.
25483 (nilfs2_mod_LDFLAGS): Likewise.
25484 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25485 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25486 * fs/nilfs2.c: New file.
25487
4ba8d354
VS
254882010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
25489
25490 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
25491 is not supported.
25492
0d2c20c6
GS
254932010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
25494
25495 Add grub-mkconfig support for NetBSD.
25496
25497 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
25498 * util/grub-mkconfig.in: export new NetBSD specific variables.
25499 * po/POTFILES-shell: added 10_netbsd.in.
25500 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
25501
bc4a2d83
BC
255022010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
25503
25504 Fix emu build with grub-emu-pci and grub-emu-modules.
25505
25506 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
25507 functions.
25508 * include/grub/libpciaccess.h: New file.
25509 * conf/any-emu.rmk: Update kernel headers for emu build.
25510
f48c87aa
VS
255112010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25512
25513 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
25514
18959385
VS
255152010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25516
25517 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
25518
0037de3f
VS
255192010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25520
25521 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
25522 Retrieve chosen/bootpath if bootpath isn't hardcoded.
25523 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
25524 util/ieee1275/ofpath.c.
25525 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
25526 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
25527 * include/grub/sparc64/ieee1275/boot.h
25528 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
25529 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
25530 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
25531 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
25532 const char *.
25533 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
25534 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
25535 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
25536 install.
25537
38e55e90
GS
255382010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
25539
25540 * util/grub-mkconfig.in: Corrected two == equality tests.
25541 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
25542 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
25543 expect a number appended to it.
25544 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
25545 expects a number appended to it.
25546
a9e6ff28
VS
255472010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25548
25549 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
25550
0b830b8f
VS
255512010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25552
25553 * util/hostdisk.c (make_device_name): Change to new partition naming.
25554
0973daeb
VS
255552010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
25556
25557 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
25558
460d8402 255592010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
25560
25561 * Makefile.in: Add missing localedir setting.
25562
0b456309
CW
255632010-04-14 Colin Watson <cjwatson@ubuntu.com>
25564
25565 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
25566 mistake in r2156. Noticed by Anthony Fok.
25567
25568 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
25569 @localedir@.
25570 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25571
08f46d62
BC
255722010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
25573
25574 Fix a spurious, uninitialized variable warning.
25575
25576 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
25577 Initialize variable, shdr.
25578 (grub_freebsd_load_elfmodule): Likewise.
25579 (grub_freebsd_load_elf_meta): Likewise.
25580
8c4a72d4
BC
255812010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
25582
25583 Fix for escaped dollar in double quoted strings.
25584
25585 * script/yylex.l: Updated flex rules.
25586 * conf/tests.rmk: Rule for new testcase.
25587 * tests/grub_script_dollar.in: New testcase.
25588
ce44826e
CPE
255892010-04-13 Carles Pina i Estany <carles@pina.cat>
255902010-04-13 Colin Watson <cjwatson@ubuntu.com>
25591
25592 Enclose all translated strings in grub.cfg in single quotes, and
25593 escape them appropriately (Ubuntu bug #552921).
25594
25595 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
25596 * util/grub.d/10_hurd.in: Use it.
25597 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25598 * util/grub.d/10_linux.in (linux_entry): Likewise.
25599
4b0cd8f8
VS
256002010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25601
25602 Fix cygwin compilation.
25603
25604 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
25605 * include/grub/misc.h (__register_frame_info)
25606 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
25607 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25608 * kern/misc.c (__register_frame_info)
25609 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
25610 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25611
01fcf061
VS
256122010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25613
25614 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
25615
5d04b11e
VS
256162010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25617
25618 Unify libgcc processing.
25619
25620 * Makefile.in (kernel_img_LDFLAGS): New variable.
25621 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
25622 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
25623 overwriting.
25624 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
25625 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
25626 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
25627 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
25628 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
25629 overwriting. Remove -lgcc and -static-libgcc
25630 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
25631 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25632 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25633 (kernel_img_LDFLAGS): Append instead of overwriting.
25634 Remove -lgcc and -static-libgcc
25635 * conf/sparc64-ieee1275.rmk: Likewise.
25636 * include/grub/powerpc/libgcc.h: Move to ...
25637 * include/grub/libgcc.h: .. this.
25638 * include/grub/libgcc.h: Don't export most of the function on x86.
25639 (__bswapsi2): New export.
25640 (__bswapdi2): Likewise.
25641 * include/grub/mips/libgcc.h: Removed.
25642 * include/grub/sparc64/libgcc.h: Likewise.
25643
b7f3ac29
VS
256442010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25645
25646 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
25647 disk_info_msg (conflicts with gettexting into languages with cases).
25648
2c7031b1
GS
256492010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
25650
25651 Add grub-probe support for NetBSD.
25652
25653 * util/getroot.c (find_root_device): Convert block device to
25654 character device on NetBSD.
25655 * util/probe.c (probe): Require character device on NetBSD.
25656 * util/hostdisk.c: NetBSD specific headers.
25657 (configure_device_driver): new function to tune device driver
25658 parameters (currently only for NetBSD floppy driver).
25659 (grub_util_biosdisk_open): NetBSD specific code (get disk size
25660 via disklabel ioctl).
25661 (open_device): call configure_device_driver on NetBSD.
25662 (convert_system_partition_to_system_disk): NetBSD specific code.
25663 (device_is_wholedisk): Likewise.
25664 (grub_util_biosdisk_get_grub_dev): Likewise.
25665 (make_device_name): Fixed a typo in bsd_part_str.
25666 * configure.ac: check for opendisk() and getrawpartition() on
25667 NetBSD and set LIBUTIL.
25668 * Makefile.in: add LIBUTIL to LIBS.
25669
f516290c
BC
256702010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25671
25672 Documentation fix.
25673
25674 * util/grub-script-check.c: Better help message.
25675
d8dcc0df
BC
256762010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25677
25678 Fix FreeBSD build.
25679
25680 * configure.ac: Flex version check.
25681 * conf/common.rmk: Add -Wno-error to sh.mod.
25682 * script/yylex.l: Remove all #pragma.
25683
6734334a
VS
256842010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25685
25686 * include/grub/util/misc.h (canonicalise_file_name): Add missing
25687 prototype.
25688 Reported by: Seth Goldberg.
25689
daea6abd
VS
256902010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25691
25692 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
25693 Rename "module" to "module2".
25694 Reported by: Seth Goldberg.
25695
f2fd9d2b
VS
256962010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25697
25698 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
25699 EXPORT_FUNC.
25700 Reported by: Seth Goldberg.
25701
be124579
VS
257022010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25703
25704 * lib/posix_wrap/locale.h: Add missing file.
25705 Reported by: Seth Goldberg.
25706
ef5da797
VS
257072010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25708
25709 grub-emu module load support.
25710
25711 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
25712 NO_DYNAMIC_MODULES switched to this.
25713 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
25714 (CFLAGS): Likewise.
25715 * conf/any-emu.rmk: Generate symlist.
25716 (kernel_img_HEADERS): Add util/datetime.h.
25717 (kernel_img_HEADERS) [sdl]: Add sdl.h.
25718 (kernel_img_HEADERS) [libusb]: Add libusb.h.
25719 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
25720 kern/$(target_cpu)/cache.S.
25721 * configure.ac (grub-emu-modules): New option.
25722 * genmk.rb: Handle multiple source lists.
25723 * include/grub/sdl.h: New file.
25724 * include/grub/libusb.h: Likewise.
25725 * util/grub-emu.c (main): Hanle (host) root.
25726 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
25727 GRUB_ERR_UNKNOWN_DEVICE.
25728 * util/misc.c: Move mm functions to ...
25729 * util/mm.c: ... here. All users updated.
25730
47822096
VS
257312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25732
25733 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
25734 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
25735 missing files.
25736 (maintainer-clean): Remove libgcrypt-grub.
25737
5d7e7445
VS
257382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25739
25740 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
25741
25f4e252
EC
257422010-04-09 EFI Coder <eficoder@hotmail.com>
25743
25744 * normal/menu_text.c (print_message): Clean up the message and show
25745 the Fn information when on EFI
25746 * term/efi/console.c (grub_console_checkkey): Add F4 support.
25747
027de555
VS
257482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25749
25750 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
25751 All users updated.
25752 * normal/crypto.c (read_crypto_list): Likewise.
25753 * normal/dyncmd.c (read_command_list): Likewise.
25754 * normal/term.c (read_terminal_list): Likewise.
25755 * normal/main.c (read_lists): Use explicit prefix.
25756 (read_lists_hook): Use read_lists.
25757 (grub_normal_execute): Likewise.
25758
47779711
VS
257592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25760
25761 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
25762 Reported by: Thomas Schmitt.
25763 Add -no-emul-boot to grub-mkisofs parameters.
25764
1118c32e
VS
257652010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25766
25767 * font/font.c: Indented.
25768
7d652447
BC
257692010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25770
25771 Elif support to GRUB script (by Deepak Vankadaru).
25772
25773 * tests/grub_script_if.in: New testcase.
25774 * conf/tests.rmk: Rule for new testcase.
25775 * script/parser.y: Grammar rules for elif.
25776
34bb22df
BC
257772010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25778
25779 While and until loops support to GRUB script.
25780
25781 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
25782 (grub_script_create_cmdwhile): New function prototype.
25783 (grub_script_execute_cmdwhile): New function prototype.
25784 * script/execute.c (grub_script_execute_cmdwhile): New function.
25785 * script/parser.y (command): New commands.
25786 (whilecmd): New grammar rule.
25787 (untilcmd): New grammar rule.
25788 * script/script.c (grub_script_create_cmdwhile): New function.
25789 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
25790 function.
25791
25792 * tests/grub_script_while1.in: New testcase.
25793 * conf/tests.rmk: Rule for new testcase.
25794
e215d8e0
VS
257952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25796
25797 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
25798 as *.jpg.
25799
d7c43ba1
MV
258002010-04-09 Mario Vazquez <mariovazq@gmail.com>
25801
25802 GRUB_BACKGROUND support.
25803
25804 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
25805 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
25806
d64795c0
VS
258072010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25808
25809 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 25810 Idea by: Mario Vazquez
d64795c0
VS
25811
25812 * util/grub.d/00_header.in: Load pf2 and image modules.
25813
f267f83a
VS
258142010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25815
25816 grub-mkconfig multiple terminal support.
25817
25818 * util/grub-mkconfig.in: Handle multiple terminals correctly.
25819 * util/grub.d/00_header.in: Likewise.
25820
b7841ceb
VS
258212010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25822
25823 * Makefile.in: Specify files explicitly instead of using $< and $@ since
25824 we use cd $(srcdir).
25825
df60998c
CW
258262010-04-08 Colin Watson <cjwatson@ubuntu.com>
25827
25828 * util/grub.d/10_linux.in: Only use the first word of
25829 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
25830 spaces in GRUB_DISTRIBUTOR.
25831 * util/grub.d/10_kfreebsd.in: Likewise.
25832 * util/grub.d/10_hurd.in: Likewise.
25833
fa09c82e
BC
258342010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
25835
14e18ae3 25836 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
25837
25838 * tests/util/grub-shell.in: Remove -serial stdio option.
25839
daf892b3
BC
258402010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25841
25842 POSIX header file wrappers.
25843
25844 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
25845 equivalents.
25846 * lib/posix_wrap/ctype.h: Likewise.
25847 * lib/posix_wrap/errno.h: Likewise.
25848 * lib/posix_wrap/langinfo.h: Likewise.
25849 * lib/posix_wrap/limits.h: Likewise.
25850 * lib/posix_wrap/localcharset.h: Likewise.
25851 * lib/posix_wrap/stdint.h: Likewise.
25852 * lib/posix_wrap/stdio.h: Likewise.
25853 * lib/posix_wrap/stdlib.h: Likewise.
25854 * lib/posix_wrap/string.h: Likewise.
25855 * lib/posix_wrap/sys/types.h: Likewise.
25856 * lib/posix_wrap/unistd.h: Likewise.
25857 * lib/posix_wrap/wchar.h: Likewise.
25858 * lib/posix_wrap/wctype.h: Likewise.
25859 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
25860 (grub_script.yy.h): Likewise.
25861 * script/yylex.l: Remove POSIX emulation #defines.
25862 * Makefile.in (POSIX_CFLAGS): New variable.
25863 (GNULIB_UTIL_CFLAGS): Likewise.
25864
25865 Regexp support.
25866
25867 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
25868 (regexp_mod_SOURCES): New variable.
25869 (regexp_mod_CFLAGS): Likewise.
25870 (regexp_mod_LDFLAGS): Likewise.
25871 * commands/regexp.c: New file.
25872 * gnulib/regcomp.c: New file. Imported from gnulib.
25873 * gnulib/regex.c: Likewise.
25874 * gnulib/regex_internal.c: Likewise.
25875 * gnulib/regex_internal.h: Likewise.
25876 * gnulib/regexec.c: Likewise.
25877 * gnulib/regex.h: Likewise.
25878
974ac4f7
VS
258792010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25880
25881 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
25882 unsupported video mode types.
25883
2622c3ff
VS
258842010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25885
25886 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
25887
064cb524
VS
258882010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25889
25890 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
25891 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
25892
a8c3b552
VS
258932010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25894
25895 Remove unused grub_vga_get_font.
25896
25897 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
25898 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
25899
187bbe3d
GS
259002010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25901
25902 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
25903 * include/grub/misc.h: Likewise.
25904
b9396631
GS
259052010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25906
25907 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
25908 for which failure is fatal.
25909
50479feb
GS
259102010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25911
25912 * util/grub-install.in: Use mkdir -p to create grub directory.
25913 * util/i386/efi/grub-install.in: Likewise.
25914 * util/ieee1275/grub-install.in: Likewise.
25915
b1654fdf
GS
259162010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25917
25918 * Makefile.in (LEX): new variable.
25919
bd5a6415
GS
259202010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25921
25922 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
25923 `=' and added double quotes on operands of this equality test.
25924
3db3a82b
VS
259252010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25926
25927 * Makefile.in (uninstall): Remove a leftover debug echo.
25928 Reported by: Grégoire Sutre
25929
38023412
VS
259302010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25931
25932 MIPS multiboot2 support.
25933
25934 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
25935 (multiboot2_mod_SOURCES): New variable.
25936 (multiboot2_mod_CFLAGS): Likewise.
25937 (multiboot2_mod_LDFLAGS): Likewise.
25938 (multiboot2_mod_ASFLAGS): Likewise.
25939 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
25940 definition.
25941 (MULTIBOOT_ENTRY_REGISTER): Likewise.
25942 (MULTIBOOT_MBI_REGISTER): Likewise.
25943 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
25944 (MULTIBOOT_ELF32_MACHINE): Likewise.
25945 (MULTIBOOT_ELF64_MACHINE): Likewise.
25946 * include/grub/mips/multiboot.h: New file.
25947 * include/grub/video.h (grub_video_driver_id): New type
25948 GRUB_VIDEO_DRIVER_SM712.
25949 (grub_video_get_info_and_fini): Export.
25950 (grub_video_get_palette): Likewise.
25951 (grub_video_get_driver_id): Likewise.
25952 * include/multiboot2.h: Resynced with spec.
25953 * loader/i386/multiboot.c: Moved from here ...
25954 * loader/multiboot.c: ... here. All users updated.
25955 (grub_multiboot_boot): Use platform-specific macros.
25956 * loader/i386/multiboot_elfxx.c: Moved from here ...
25957 * loader/multiboot_elfxx.c: ... here. All users updated.
25958 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
25959 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
25960 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
25961
47674667
VS
259622010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
25963
25964 Import gnulib argp module.
25965
25966 * gnulib/argp-ba.c: New file.
25967 * gnulib/argp-eexst.c: Likewise.
25968 * gnulib/argp-fmtstream.c: Likewise.
25969 * gnulib/argp-fmtstream.h: Likewise.
25970 * gnulib/argp-fs-xinl.c: Likewise.
25971 * gnulib/argp-help.c: Likewise.
25972 * gnulib/argp-namefrob.h: Likewise.
25973 * gnulib/argp-parse.c: Likewise.
25974 * gnulib/argp-pin.c: Likewise.
25975 * gnulib/argp-pv.c: Likewise.
25976 * gnulib/argp-pvh.c: Likewise.
25977 * gnulib/argp-version-etc.c: Likewise.
25978 * gnulib/argp-version-etc.h: Likewise.
25979 * gnulib/argp-xinl.c: Likewise.
25980 * gnulib/argp.h: Likewise.
25981
495442ed
VS
259822010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25983
25984 * kern/device.c (grub_device_iterate): Clear errors after failed
25985 opening device.
25986
f9fd65df
VS
259872010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25988
25989 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
25990 returned by firmware.
25991
af09641e
VS
259922010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
25993
25994 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
25995 compilation on coreboot and qemu
25996
016883a5
VS
259972010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25998
25999 * include/multiboot2.h: Resync with spec.
26000
f97e1f7d
VS
260012010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
26002
26003 Multiboot2 tag support
26004
26005 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
26006 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
26007 Remove loader/multiboot_loader.c.
26008 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
26009 (grub_multiboot2_real_boot): Likewise.
26010 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
26011 (grub_get_multiboot_mmap_count): New proto.
26012 (grub_fill_multiboot_mmap): Likewise.
26013 (grub_multiboot_set_video_mode): Likewise.
26014 (grub_multiboot_set_console): Likewise.
26015 (grub_multiboot_load): Likewise.
26016 (grub_multiboot_load_elf): Likewise.
26017 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
26018 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
26019 * include/multiboot.h: Resynced with specification.
26020 * include/multiboot2.h: Resynced with specification.
26021 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
26022 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
26023 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
26024 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
26025 users updated.
26026 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
26027 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
26028 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
26029 Removed.
26030 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
26031 Moved from here...
26032 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
26033 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
26034 Moved from here...
26035 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
26036 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
26037 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
26038 All users updated.
26039 * loader/i386/multiboot_mbi2.c: New file.
26040
3506b90b
VS
260412010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
26042
26043 Resync with gnulib.
26044
26045 * Makefile.in (GNULIB_CFLAGS): New variable.
26046 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
26047 (grub_script_check_CFLAGS): New variable.
26048 * gnulib/alloca.h: Resync with gnulib.
26049 * gnulib/error.c: Likewise.
26050 * gnulib/error.h: Likewise.
26051 * gnulib/fnmatch.c: Likewise.
26052 * gnulib/fnmatch_loop.c: Likewise.
26053 * gnulib/getdelim.c: Likewise.
26054 * gnulib/getline.c: Likewise.
26055 * gnulib/getopt.c: Likewise.
26056 * gnulib/getopt1.c: Likewise.
26057 * gnulib/getopt_int.h: Likewise.
26058 * gnulib/gettext.h: Likewise.
26059 * gnulib/progname.c: Likewise.
26060 * gnulib/progname.h: Likewise.
26061
394a3120
GS
260622010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
26063
26064 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
26065 which is the case with --disabled-nls.
26066
26067 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
26068 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
26069 * util/misc.c: Likewise.
26070 * util/mkisofs/mkisofs.c: Likewise.
26071 * util/mkisofs/mkisofs.h: Likewise.
26072
969d1c78
VS
260732010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
26074
26075 Simplify Apple CC support.
26076
26077 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
26078 Add 0 byte at the end not to have a symbol with empty target.
26079 * mmap/i386/pc/mmap_helper.S: Likewise.
26080 * genmk.rb: Ignore errors 2030 and 2050.
26081 * kern/i386/pc/startup.S: Use LOCAL when possible.
26082
8d2977bb
BC
260832010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
26084
26085 Testcase and the fix for final semicolon on cmdline.
26086
26087 * tests/grub_script_final_semicolon.in: New testcase.
26088 * conf/tests.rmk: Rules for the new testcase.
26089 * script/parser.y: Grammar fix.
26090
a7bd6915
BC
260912010-03-26 BVK Chaitanya <bvk@localhost>
26092
26093 Blank lines testcase for GRUB script.
26094
26095 * tests/grub_script_blanklines.in: New testcase.
26096 * conf/tests.rmk: Rules for the new testcase.
26097
e4ff6628
VS
260982010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26099
26100 Don't use __FILE__.
26101
26102 * genmk.rb: Add -DGRUB_FILE to all C targets.
26103 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
26104 * include/grub/list.h: Likewise.
26105 * include/grub/misc.h: Likewise.
26106 * include/grub/mm.h: Likewise.
26107 * include/grub/test.h: Likewise.
26108 * kern/mm.c: Likewise.
26109 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
26110
6a5cf6b6
VS
261112010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26112
26113 Sunpc partitions support.
26114
26115 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
26116 (grub_fstest_SOURCES): Likewise.
26117 (pkglib_MODULES): Add part_sunpc.mod.
26118 (part_sunpc_mod_SOURCES): New variable.
26119 (part_sunpc_mod_CFLAGS): Likewise.
26120 (part_sunpc_mod_LDFLAGS): Likewise.
26121 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
26122 * partmap/sunpc.c: New file.
26123
746d9045
BC
261242010-03-26 BVK Chaitanya <bvk@localhost>
26125
26126 For loop support to GRUB script.
26127
26128 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
26129 (grub_script_create_cmdfor): New function prototype.
26130 (grub_script_execute_cmdfor): New function prototype.
26131 * script/execute.c (grub_script_execute_cmdfor): New function.
26132 * script/parser.y (command): New for command.
26133 (forcmd): New grammar rule.
26134 * script/script.c (grub_script_create_cmdfor): New function.
26135 * util/grub-script-check.c (grub_script_execute_cmdfor): New
26136 function.
26137 * tests/grub_script_for1.in: New testcase.
26138 * conf/tests.rmk: Rules for new testcase.
26139
18486b18
VS
261402010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26141
26142 Nested partitions
26143
26144 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
26145 'partition' is NULL, grub_partition_get_start already does that.
26146 * commands/loadenv.c (check_blocklists): Likewise.
26147 (write_blocklists): Likewise.
26148 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
26149 (grub_fstest_SOURCES): Likewise.
26150 (pkglib_MODULES): Add part_bsd.mod.
26151 (part_bsd_mod_SOURCES): New variable.
26152 (part_bsd_mod_CFLAGS): Likewise.
26153 (part_bsd_mod_LDFLAGS): Likewise.
26154 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
26155 (grub_emu_SOURCES): Likewise.
26156 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26157 * include/grub/bsdlabel.h: New file.
26158 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
26159 'get_name'.
26160 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
26161 (grub_partition_map_list): New variable.
26162 (grub_partition_map_register): Inline.
26163 (grub_partition_map_unregister): Likewise.
26164 (FOR_PARTITION_MAPS): New macro.
26165 (grub_partition_map_iterate): Removed.
26166 (grub_partition_get_start): Handle nested partitions.
26167 * include/grub/msdos_partition.h: Remove bsd-related entries.
26168 (grub_pc_partition): Remove.
26169 * kern/disk.c (grub_disk_close): Free partition data.
26170 (grub_disk_adjust_range): Handle nested partitions.
26171 * kern/partition.c (grub_partition_map_probe): New function.
26172 (grub_partition_probe): Parse name to number, handle subpartitions.
26173 (get_partmap): New function.
26174 (grub_partition_iterate): Handle subpartitions.
26175 (grub_partition_get_name): Likewise.
26176 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
26177 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
26178 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
26179 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
26180 Set 'number'.
26181 (acorn_partition_map_probe): Remove.
26182 (acorn_partition_map_get_name): Likewise.
26183 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
26184 Set 'number'.
26185 Set 'index' to 0 since there can be only one partition entry per sector.
26186 (amiga_partition_map_probe): Remove.
26187 (amiga_partition_map_get_name): Likewise.
26188 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
26189 Set 'number'.
26190 Set 'offset' and 'index' to real positions of partitions.
26191 (apple_partition_map_probe): Remove.
26192 (apple_partition_map_get_name): Likewise.
26193 * partmap/bsdlabel.c: New file.
26194 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
26195 Set 'number'.
26196 Allocate 'data' so it can be correctly freed.
26197 Set 'index' to offset inside sector.
26198 (gpt_partition_map_probe): Remove.
26199 (gpt_partition_map_get_name): Likewise.
26200 * partmap/msdos.c (grub_partition_parse): Remove.
26201 (pc_partition_map_iterate): Don't force raw access.
26202 Set 'number'.
26203 Make 'ext_offset' a local variable.
26204 (pc_partition_map_probe): Remove.
26205 (pc_partition_map_get_name): Remove.
26206 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
26207 Set 'number'.
26208 (sun_partition_map_probe): Remove.
26209 (sun_partition_map_get_name): Likewise.
26210 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
26211 (grub_pcpart_type): Likewise.
26212 * util/hostdisk.c (open_device): Handle new numbering scheme.
26213 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
26214 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
26215 * util/grub-probe.c (probe_partmap): Handle nested paritions.
26216 * util/grub-install.in: Insert all subpartition modules.
26217 * util/ieee1275/grub-install.in: Likewise.
26218
a3940f88
AG
262192010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
26220
26221 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
26222 grammar.
26223
21b99926 262242010-03-24 Colin Watson <cjwatson@ubuntu.com>
26225
26226 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
26227
bed1d352
CW
262282010-03-21 Colin Watson <cjwatson@ubuntu.com>
26229
26230 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
26231 match where 'make install' puts them.
26232 * util/i386/efi/grub-install.in: Likewise.
26233
c9f58427
CW
262342010-03-19 Colin Watson <cjwatson@ubuntu.com>
26235
26236 * .bzrignore: Add gentrigtables, grub-script-check,
26237 grub_script_check_init.c, grub_script_check_init.h, and
26238 trigtables.c.
26239
f84afb27
VS
262402010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
26241
26242 * kern/parser.c: Indented.
26243
ed0e3d30
VS
262442010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
26245
26246 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
26247
0ea81d98
VS
262482010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
26249
26250 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
26251 alpha_mask_size == 0 case.
26252
0cdc2a09
BC
262532010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
26254
26255 GRUB shell lexer and parser improvements.
26256
26257 * conf/any-emu.rmk: Build rule updates.
26258 * conf/common.rmk: Likewise.
26259 * conf/i386-coreboot.rmk: Likewise.
26260 * conf/i386-efi.rmk: Likewise.
26261 * conf/i386-ieee1275.rmk: Likewise.
26262 * conf/i386-pc.rmk: Likewise.
26263 * conf/powerpc-ieee1275.rmk: Likewise.
26264 * conf/x86_64-efi.rmk: Likewise.
26265
26266 * configure.ac: Configure check for flex.
26267
26268 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
26269 types.
26270 (grub_lexer_param): Struct member updates.
26271 (grub_parser_param): Likewise.
26272 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
26273 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
26274 (grub_script_lexer_init): Prototype update.
26275 (grub_script_lexer_record_start): Likewise.
26276 (grub_script_lexer_record_stop): Likewise.
26277 (grub_script_lexer_yywrap): New function prototype.
26278 (grub_script_lexer_fini): Likewise.
26279 (grub_script_execute_argument_to_string): Removed by...
26280 (grub_script_execute_argument_to_argv): ...better version.
26281
26282 * script/execute.c (ROUND_UPTO): New macro.
26283 (grub_script_execute_cmdline): Out of memory fixes.
26284 (grub_script_execute_menuentry): Likewise.
26285 (grub_script_execute_argument_to_string): Removed. Update all
26286 users by...
26287 (grub_script_execute_argument_to_argv): ...better version.
26288 * script/function.c (grub_script_function_create): Use
26289 grub_script_execute_argument_to_argv instead of
26290 grub_script_execute_argument_to_string.
26291
26292 * script/lexer.c (check_varstate): Removed.
26293 (check_textstate): Removed.
26294 (grub_script_lexer_record_start): Likewise.
26295 (grub_script_lexer_record_stop): Likewise.
26296 (recordchar): Replaced with...
26297 (grub_script_lexer_record): ...new function.
26298 (nextchar): Removed.
26299 (grub_script_lexer_init): Rewritten.
26300 (grub_script_yylex): Rewritten.
26301 (append_newline): New function.
26302 (grub_script_lexer_yywrap): New function.
26303 (grub_script_lexer_fini): New function.
26304 (grub_script_yyerror): Sets error flag.
26305
26306 * script/yylex.l: New file.
26307 (grub_lexer_yyfree): Wrapper for flex yyffre.
26308 (grub_lexer_yyalloc): Likewise.
26309 (grub_lexer_yyrealloc): Likewise.
26310 * script/parser.y: Refactored.
26311
26312 * script/script.c (grub_script_arg_add): Out of memory fixes.
26313 (grub_script_add_arglist): Likewise.
26314 (grub_script_create_cmdline): Likewise.
26315 (grub_script_create_cmdmenu): Likewise.
26316 (grub_script_add_cmd): Likewise.
26317 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
26318 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
26319 unnecessary code.
26320
26321 * tests/grub_script_echo1.in: New testcase.
26322 * tests/grub_script_vars1.in: New testcase.
26323 * tests/grub_script_echo_keywords.in: New testcase.
26324
1d63a066
VS
263252010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26326
26327 Remove some redundancy in build system.
26328
26329 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
26330 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
26331 (TARGET_LDFLAGS): Add -nostdlib.
26332 (TARGET_IMG_LDFLAGS): Likewise.
26333 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
26334 anything since mmap isn't available.
26335 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
26336 Add util/time.c.
26337 (pkglib_MODULES): Remove reboot.mod.
26338 (reboot_mod_SOURCES): Removed.
26339 (reboot_mod_CFLAGS): Likewise.
26340 (reboot_mod_LDFLAGS): Likewise.
26341 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
26342 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
26343 (DEFSYMFILES): Add kernel_syms.lst.
26344 (kernel_img_HEADERS): Add common headers.
26345 (symlist.c): New target.
26346 (kernel_syms.lst): Likewise.
26347 (pkglib_MODULES): Add memdisk.mod.
26348 (memdisk_mod_SOURCES): New variable.
26349 (memdisk_mod_CFLAGS): Likewise.
26350 (memdisk_mod_LDFLAGS): Likewise.
26351 (pkglib_MODULES): Add reboot.mod.
26352 (reboot_mod_SOURCES): New variable.
26353 (reboot_mod_CFLAGS): Likewise.
26354 (reboot_mod_LDFLAGS): Likewise.
26355 (pkglib_MODULES): Add date.mod.
26356 (date_mod_SOURCES): New variable.
26357 (date_mod_CFLAGS): Likewise.
26358 (date_mod_LDFLAGS): Likewise.
26359 (pkglib_MODULES): Add datehook.mod.
26360 (datehook_mod_SOURCES): New variable.
26361 (datehook_mod_CFLAGS): Likewise.
26362 (datehook_mod_LDFLAGS): Likewise.
26363 (pkglib_MODULES): Add lsmmap.mod.
26364 (lsmmap_mod_SOURCES): New variable.
26365 (lsmmap_mod_CFLAGS): Likewise.
26366 (lsmmap_mod_LDFLAGS): Likewise.
26367 (pkglib_MODULES): Add boot.mod.
26368 (boot_mod_SOURCES): New variable.
26369 (boot_mod_CFLAGS): Likewise.
26370 (boot_mod_LDFLAGS): Likewise.
26371 * conf/i386-coreboot.rmk: Removed redundant parts.
26372 * conf/i386-ieee1275.rmk: Likewise.
26373 * conf/i386-pc.rmk: Likewise.
26374 * conf/mips-yeeloong.rmk: Likewise.
26375 * conf/mips.rmk: Likewise.
26376 * conf/powerpc-ieee1275.rmk: Likewise.
26377 * conf/sparc64-ieee1275.rmk: Likewise.
26378 * conf/x86_64-efi.rmk: Likewise.
26379 * conf/i386-coreboot.rmk: Moved qemu parts ..
26380 * conf/i386-qemu.rmk: ... here
26381 * conf/i386-efi.rmk: Moved common parts to...
26382 * conf/x86-efi.rmk: ... here.
26383 * conf/i386.rmk: Added modules common to all x86 variants.
26384 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
26385 * disk/memdisk.c: Remove grub/machine/kernel.h.
26386 * gensymlist.sh.in: Include symbol.h.
26387 * hook/datehook.c: Correct module name.
26388 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
26389 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
26390 * include/grub/i386/efi/serial.h: New file.
26391 * include/grub/x86_64/efi/serial.h: Likewise.
26392 * util/time.c: Likewise.
26393 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
26394
463ac55f
CK
263952010-03-14 Colin King <colin.king@ubuntu.com>
263962010-03-14 Colin Watson <cjwatson@ubuntu.com>
26397
26398 Shrink the pre-partition-table part of boot.img by eight bytes.
26399
26400 * boot/i386/pc/boot.S (ERR): New macro.
26401 (chs_mode): Use ERR.
26402 (geometry_error): Likewise.
26403 (hd_probe_error): Remove. This is only used once, so we wrwite
26404 it inline instead.
26405 (read_error): Instead of printing read_error_string, just set up
26406 %si and fall through to ...
26407 (error_message): ... this new function, also used by ERR.
26408
08e46ede
CW
264092010-03-14 Colin Watson <cjwatson@ubuntu.com>
26410
26411 Speed up consecutive hostdisk operations on the same device.
26412
26413 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
26414 (grub_util_biosdisk_open): Initialise disk->data.
26415 (struct linux_partition_cache): New structure.
26416 (linux_find_partition): Cache partition start positions; these are
26417 expensive to compute on every read and write.
26418 (open_device): Cache open file descriptor in disk->data, so that we
26419 don't have to reopen it and flush the buffer cache for consecutive
26420 operations on the same device.
26421 (grub_util_biosdisk_close): New function.
26422 (grub_util_biosdisk_dev): Set `close' member.
26423
26424 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
26425 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
26426 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26427 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26428 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
26429
4a6d2d06
VS
264302010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26431
26432 Compile parts of grub-emu as modules.
26433
26434 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
26435 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
26436 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
26437 (all-local): Add $(GRUB_EMU).
26438 (install-local): Install $(GRUB_EMU).
26439 (uninstall): Uninstall $(GRUB_EMU).
26440 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
26441 * kern/dl.c: Likewise.
26442 * commands/sleep.c: Not include machine/time.h.
26443 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
26444 (COMMON_CFLAGS): Likewise.
26445 (sbin_UTILITIES): Remove grub-emu.
26446 (grub_emu_SOURCES): Removed.
26447 (kernel_img_RELOCATABLE): New variable.
26448 (pkglib_PROGRAMS): Add kernel.img.
26449 (kernel_img_SOURCES): New variable
26450 (kernel_img_CFLAGS): Likewise.
26451 (kernel_img_LDFLAGS): Likewise.
26452 (TARGET_NO_STRIP): Likewise.
26453 (TARGET_NO_DYNAMIC_MODULES): Likewise.
26454 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
26455 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
26456 (grub-emu): New target.
26457 (GRUB_EMU): New variable.
26458 * configure.ac: Whitelist -emu as possible x86_64 architecture.
26459 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
26460 * loader/xnu.c: Likewise.
26461 * include/grub/pci.h: Likewise.
26462 * genemuinit.sh: New file.
26463 * genemuinitheader.sh: Likewise.
26464 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
26465 Support TARGET_NO_DYNAMIC_MODULES.
26466 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
26467 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
26468 * disk/loopback.c: Likewise.
26469 * font/font_cmd.c: Likewise.
26470 * partmap/acorn.c: Likewise.
26471 * partmap/amiga.c: Likewise.
26472 * partmap/apple.c: Likewise.
26473 * partmap/gpt.c: Likewise.
26474 * partmap/msdos.c: Likewise.
26475 * partmap/sun.c: Likewise.
26476 * parttool/msdospart.c: Likewise.
26477 * term/gfxterm.c: Likewise.
26478 * video/bitmap.c: Likewise.
26479 * video/readers/jpeg.c: Likewise.
26480 * video/readers/png.c: Likewise.
26481 * video/readers/tga.c: Likewise.
26482 * video/video.c: Likewise.
26483 * util/grub-emu.c (read_command_list): Removed.
26484 (main): Don't call util_init_nls.
26485 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
26486 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
26487
91fdd2ed
VS
264882010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26489
26490 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
26491 date.mod, datehook.mod.
26492 (datetime_mod_SOURCES): New variable.
26493 (datetime_mod_CFLAGS): Likewise.
26494 (datetime_mod_LDFLAGS): Likewise.
26495 (date_mod_SOURCES): Likewise.
26496 (date_mod_CFLAGS): Likewise.
26497 (date_mod_LDFLAGS): Likewise.
26498 (datehook_mod_SOURCES): Likewise.
26499 (datehook_mod_CFLAGS): Likewise.
26500 (datehook_mod_LDFLAGS): Likewise.
26501 * conf/sparc64-ieee1275.rmk: Likewise.
26502 * lib/ieee1275/datetime.c: New file.
26503
873ccae6
VS
265042010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26505
26506 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
26507 (ieee1275_fb_mod_SOURCES): New variable.
26508 (ieee1275_fb_mod_CFLAGS): Likewise.
26509 (ieee1275_fb_mod_LDFLAGS): Likewise.
26510 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
26511 New proto.
26512 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
26513 (HEAP_MAX_ADDR): Likewise.
26514 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
26515 type.
26516 Correct stop condition.
26517 (grub_ieee1275_devices_iterate): New function.
26518 * video/ieee1275.c: New file.
26519
601c97c0
VS
265202010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26521
26522 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
26523
26524 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
26525 as scratch.
26526 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
26527 SCRATCH_PAD_DISKBOOT as scratch.
26528 (bootit): Pass Openfirmware pointer in %o4.
26529 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
26530 of 0x200000.
26531 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
26532 with util/grub-mkrawimage.c.
26533 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
26534 * include/grub/aout.h (AOUT_MID_SUN): New definition.
26535 (grub_aout_get_type) [GRUB_UTIL]: Removed.
26536 (grub_aout_load) [GRUB_UTIL]: Likewise.
26537 * include/grub/kernel.h (grub_modules_get_end): New proto.
26538 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
26539 (SCRATCH_PAD_BOOT): New definition.
26540 (SCRATCH_PAD_DISKBOOT): Likewise.
26541 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
26542 * include/grub/sparc64/ieee1275/ieee1275.h
26543 (grub_ieee1275_original_stack): New variable
26544 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26545 New definition
26546 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
26547 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
26548 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
26549 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
26550 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
26551 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
26552 (grub_platform_image_format_t): New type.
26553 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
26554 * kern/main.c (grub_modules_get_end)
26555 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
26556 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
26557 (codestart): Switch stacks.
26558 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
26559 variable.
26560 (grub_heap_init): Use grub_modules_get_end.
26561 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
26562 stack.
26563 * util/grub-mkrawimage.c (generate_image): Support sparc64.
26564 (main): Likewise.
26565 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
26566
d68b491e
TG
265672010-03-14 Thorsten Glaser <tg@mirbsd.org>
26568
26569 * util/grub-mkrescue.in: Base ISO UUID on UTC.
26570
4e02ed50
MK
265712010-03-08 Matt Kraai <kraai@ftbfs.org>
26572
26573 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
26574 bug #559005).
26575
1f15fc1e
VS
265762010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
26577
26578 * genmoddep.awk: Output all missing symbols and not only first.
26579
fce5d8ff
VS
265802010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26581
26582 * NEWS: Put the date of 1.98 release.
26583
d1e8a02f
VS
265842010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26585
26586 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
26587 ft2build.h.
26588
696fd607
VS
265892010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26590
26591 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
26592 completition in the middle of string.
26593
33e2e6f3
VS
265942010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26595
26596 * util/grub-mkrescue.in: Use mktemp with explicit template.
26597
b1f6d291
VS
265982010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26599
26600 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
26601
2ac227c7
VS
266022010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26603
26604 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
26605 right pointer.
26606
8f9a632b
VS
266072010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26608
26609 Fix FreeBSD compilation.
26610
26611 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
26612 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
26613
60b03859
VS
266142010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26615
26616 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
26617
48a5a769
VS
266182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26619
26620 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
26621
3ab4bd77
VS
266222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26623
26624 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
26625
d116e0d8
RM
266262010-03-04 Robert Millan <rmh.grub@aybabtu.com>
26627
26628 Support relative image path in theme file.
26629
26630 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
26631 (image_set_property): Handle theme_dir and relative path.
26632
c7ef54aa
VS
266332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26634
26635 * configure.ac: Alias amd64 to x86_64.
26636
fcee14ed
VS
266372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26638
26639 * NEWS: mention multiboot on EFI.
26640
d0780363
VS
266412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26642
26643 * kern/main.c (grub_load_modules): Handle errors from init functions of
26644 embeded modules.
26645
41168ea4
VS
266462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26647
26648 * normal/autofs.c (autoload_fs_module): Handle errors.
26649
b54d93ac
VS
266502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26651
26652 Disable linux.mod on qemu-mips since it's not functional and leads
26653 to compilation failure.
26654
26655 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
26656 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
26657 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
26658 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
26659 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
26660 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
26661 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
26662 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
26663 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
26664 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
26665 Reported by: BVK Chaitanya
26666
fc8345da
JU
266672010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
26668
26669 * INSTALL: Add gettext as a dependency and add qemu to a new section
26670 "Prerequisites for make-check".
26671
4760f979
CF
266722010-03-04 Christian Franke <franke@computer.org>
26673
26674 * util/grub-pe2elf.c: Add missing include "progname.h".
26675
f209b5b2
VS
266762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26677
26678 * normal/crypto.c (read_crypto_list): Fix a typo.
26679 Reported by: Seth Goldberg.
26680
b4b7be98
VS
266812010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26682
26683 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 26684 Reported by: Seth Goldberg.
b4b7be98 26685
c0ee0385
VS
266862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26687
26688 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
26689 ascii.bitmaps.
26690
a8efbf64
VS
266912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26692
26693 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 26694 Reported by: Seth Goldberg.
a8efbf64 26695
08dcd913
VS
266962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26697
26698 * util/i386/efi/grub-install.in: Copy gettext files.
26699
c4d0b332
VS
267002010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26701
26702 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
26703
c6f2fe52
VS
267042010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26705
26706 Wait for user entry basing on presence of output rather than on errors.
26707
26708 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
26709 (grub_install_newline_hook): Likewise.
26710 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
26711 * normal/menu.c (show_menu): Check line_counter to determine presence
26712 of output.
26713 * normal/term.c (grub_normal_line_counter): New variable.
26714 (grub_normal_get_line_counter): New function.
26715 (grub_install_newline_hook): Likewise.
26716
5382b1e4
VS
267172010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26718
26719 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
26720
5519963b
VS
267212010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26722
26723 * configure.ac: Update version to 1.98.
26724
72b28631
VS
267252010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
26726
26727 * util/grub.d/10_linux.in (linux_entry): Don't default to
26728 gfxpayload=keep if Linux doesn't support video handover.
26729
c140a180
VS
267302010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
26731
26732 Don't compile video modules on yeeloong since video subsystem is part
26733 of kernel.
26734
26735 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
26736 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
26737 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
26738 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
26739 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
26740 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
26741 * include/grub/bitmap_scale.h: Likewise.
26742 * include/grub/bufio.h: Likewise.
26743 * include/grub/font.h: Likewise.
26744 * include/grub/gfxterm.h: Likewise.
26745 * include/grub/video.h: Likewise.
26746 * include/grub/vbe.h: Don't include video_fb.h.
26747 * video/i386/pc/vbe.c: Include video_fb.h.
26748 * commands/i386/pc/vbetest.c: Include video.h.
26749
a0ca21c2
CW
267502010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
26751
26752 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
26753 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
26754 default entry if GRUB_SAVEDEFAULT=true. This allows using
26755 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
26756 saving a new default on every boot.
26757
4a8a763c
VS
267582010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26759
26760 * normal/crypto.c (read_crypto_list): Fix a memory leak.
26761 * normal/term.c (read_terminal_list): Likewise.
26762 * normal/main.c (grub_normal_init_page): Likewise.
26763 (grub_normal_read_line_real): Likewise.
26764
607ffde2
VS
267652010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26766
26767 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
26768 memory leak.
26769 Reported by: Seth Goldberg.
26770
2b8fa975
CW
267712010-02-24 Joey Korkames <joey+lists@kidfixit.com>
26772
26773 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
26774 duplicate declaration of `start'.
26775
618307dd
VS
267762010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26777
26778 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
26779 filename.
26780 Reported by: Georgy Buranov
26781
7dd05b96 267822010-02-20 Carles Pina i Estany <carles@pina.cat>
26783
26784 * util/grub-mkrawimage.c (usage): Change string formatting to
26785 improve gettext.
26786
d1484a42
MRA
267872010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
26788
26789 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
26790 backspace keys.
26791
42b1d186
VS
267922010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26793
26794 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
26795 Reported by: Michael Suchanek.
26796
267972010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
26798
26799 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
26800 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
26801
d9f31a41
VS
268022010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
26803
26804 Remove any reference to non-free fonts.
26805
26806 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
26807 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
26808 uses non-free components.
26809 * font/font.c (grub_font_get_name): Remove example name.
26810 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
26811 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
26812 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
26813 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
26814
2793c71e
GB
268152010-02-16 Georgy Buranov <gburanov@gmail.com>
26816
26817 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
26818
402e3779
VS
268192010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26820
26821 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
26822 Double divisor.
26823 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
26824 features.
26825 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
26826
0dd1e0dd
VS
268272010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26828
26829 * gensymlist.sh.in: Use TARGET_CC instead of CC.
26830
6fa7cfce
ST
268312010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26832
26833 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
26834 * docs/grub.texi (Command-line and menu entry commands): Document play
26835 command.
26836
37c8483b
ST
268372010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26838
26839 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
26840 parse arguments as inline tempo and notes. Move code for playing notes
26841 to...
26842 (play): ... new function.
26843
14da0fb7
ST
268442010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26845
26846 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
26847 grub_uint16_t instead of short.
26848 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
26849 disk from little endian to cpu endianness.
26850
04459e70
ST
268512010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
26852
26853 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
26854 GRUB_TICKS_PER_SECOND instead of 120.
26855
a0876943
VS
268562010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26857
26858 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
26859 escape sequence after \e.
26860
e29f95dc
VS
268612010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26862
26863 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
26864 non-ASCII characters.
26865
d27859b2
VS
268662010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26867
26868 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
26869 set root in single quotes to prevent \, from being unescaped.
26870
bc028f2f
VS
268712010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26872
26873 Prevent unknown commands from stopping menuentry execution.
26874
26875 * script/execute.c (grub_script_execute_cmdline): Print error after
26876 unknown command.
26877
095f5f82
VS
268782010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26879
26880 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
26881 Reported by: Pavel Pisa.
26882
8c717950
VS
268832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26884
26885 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
26886
904935c3
VS
268872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26888
26889 Merge grub_ieee1275_map_physical into grub_map and rename to
26890 grub_ieee1275_map
26891
26892 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
26893 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
26894 Remove.
26895 * kern/ieee1275/openfw.c (grub_map): Rename to ...
26896 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
26897 necessary.
26898 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
26899
5b59a4e3
VS
269002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26901
26902 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
26903 opening and not after.
26904
69e137e8
VS
269052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26906
26907 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
26908 constants.
26909
2c0fcc36
VS
269102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26911
26912 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
26913 (alloc_phys): Use ALIGN_UP instead of align_addr.
26914
8c6052ce
VS
269152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26916
26917 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
26918
17cec782
VS
269192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26920
26921 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
26922
e0128bbd
VS
269232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26924
26925 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
26926 verbose dprintf.
26927
ca62070b
VS
269282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26929
26930 Fix over-4GiB seek on sparc64.
26931
26932 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
26933 Replace pos_i and pos_lo with pos. All users updated.
26934 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26935 New constant.
26936 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26937 Likewise.
26938 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
26939 and pos_lo.
26940
bdca2607
VS
269412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26942
26943 * util/grub-mkrawimage.c (main): Call set_program_name.
26944
da278c4d
VS
269452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26946
26947 Properly align 64-bit targets.
26948
26949 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
26950 (generate_image): Use ALIGN_ADDR.
26951
b274d734
VS
269522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26953
26954 Properly create cross-endian images.
26955
26956 * include/grub/types.h (grub_host_to_target_addr): New macro
26957 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
26958
82da2062
VS
269592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26960
26961 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
26962
7cae4377
VS
269632010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26964
26965 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
26966
26967 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
26968 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
26969 (grub_linux_boot): Divide by 64K when on VESA.
26970
65a533e7
VS
269712010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26972
26973 Support GRUB_GFXPAYLOAD_LINUX.
26974
26975 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
26976 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
26977
dd01d397
VS
269782010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26979
26980 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
26981 to show messages instead of discarding them.
26982 Process errors after executing command and not before. Keep old method
26983 too as precaution.
26984
660960d6
VS
269852010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
26986
26987 * configure.ac: Check for ft2build.h.
26988
62509f04
VS
269892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26990
26991 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
26992
473df63d
VS
269932010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26994
26995 * genkernsyms.sh.in: Use TARGET_CC.
26996
c98d2a13
CW
269972010-02-07 Colin Watson <cjwatson@ubuntu.com>
26998
26999 * NEWS: Update.
27000
6e14234c
VS
270012010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27002
27003 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
27004 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
27005 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 27006
b255e9cf
YB
270072010-02-07 Yves Blusseau <blusseau@zetam.org>
27008
6e14234c 27009 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 27010
98e6959d
VS
270112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27012
27013 Fix warnings in grub-emu when compiling with maximum warning options.
27014
27015 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
27016 (grub_arch_modules_addr): Return 0 and not NULL.
27017 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 27018 (xstrdup): Use newstr instead of dup.
f88d801b
VS
27019 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
27020 of disk to dsk to avoid shadowing.
74e4934e
VS
27021 (find_free_slot): Fix prototype.
27022 * util/getroot.c (grub_util_is_dmraid): Make static.
27023 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
27024 Add missing prototype.
27025 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 27026
74e31b5c
VS
270272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27028
27029 * loader/i386/linux.c (grub_linux_setup_video): Handle error
27030 appropriately.
27031
6b2ad14b
VS
270322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27033
27034 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
27035 code out.
27036
8f891adc
VS
270372010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27038
27039 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
27040 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
27041 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
27042 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
27043 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
27044 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
27045
74b45184
VS
270462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27047
27048 * include/grub/err.h (grub_err_printf): Don't export.
27049
a4bced77
VS
270502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27051
27052 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
27053
007d0695
VS
270542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27055
27056 * include/grub/i18n.h (grub_gettext_dummy): Removed.
27057 * kern/misc.c (grub_gettext_dummy): Make static.
27058
b6c0d9c2
VS
270592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27060
27061 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
27062 by non-valid ones.
27063 * kern/term.c (grub_putchar): Likewise.
27064
f51a90d0
VS
270652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27066
27067 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
27068 buggy hook call and memory leak.
27069
6846cec5
VS
270702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27071
27072 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
27073
468d69fe
VS
270742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27075
27076 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
27077
51906b8c
VS
270782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27079
27080 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
27081 modevar.
27082 Return grub_errno on allocation error.
27083
09706ce5
VS
270842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27085
27086 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
27087
911df80c
YB
270882010-02-06 Yves Blusseau <blusseau@zetam.org>
27089
27090 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
27091 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
27092
3746a6bc
VS
270932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27094
27095 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
27096 non-pxe disk.
27097 (grub_pxefs_open): Likewise.
27098
09706ce5
VS
270992010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27100
27101 * util/grub.d/10_hurd.in: Add --class information to menuentries.
27102 * util/grub.d/10_kfreebsd.in: Likewise.
27103 * util/grub.d/10_linux.in: Likewise.
27104
7cc192d9
VS
271052010-02-06 Colin D Bennett <colin@gibibit.com>
27106
27107 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
27108 (gfxmenu_mod_SOURCES): New variable.
27109 (gfxmenu_mod_CFLAGS): Likewise.
27110 (gfxmenu_mod_LDFLAGS): Likewise.
27111 * include/grub/term.h (grub_term_set_current_output): Declare
27112 argument as const.
27113 * docs/gfxmenu-theme-example.txt: New file.
27114 * gfxmenu/gfxmenu.c: Likewise.
27115 * gfxmenu/gui_box.c: Likewise.
27116 * gfxmenu/gui_canvas.c: Likewise.
27117 * gfxmenu/gui_circular_progress.c: Likewise.
27118 * gfxmenu/gui_image.c: Likewise.
27119 * gfxmenu/gui_label.c: Likewise.
27120 * gfxmenu/gui_list.c: Likewise.
27121 * gfxmenu/gui_progress_bar.c: Likewise.
27122 * gfxmenu/gui_string_util.c: Likewise.
27123 * gfxmenu/gui_util.c: Likewise.
27124 * gfxmenu/icon_manager.c: Likewise.
27125 * gfxmenu/model.c: Likewise.
27126 * gfxmenu/named_colors.c: Likewise.
27127 * gfxmenu/theme_loader.c: Likewise.
27128 * gfxmenu/view.c: Likewise.
27129 * gfxmenu/widget-box.c: Likewise.
27130 * include/grub/gfxmenu_model.h: Likewise.
27131 * include/grub/gfxmenu_view.h: Likewise.
27132 * include/grub/gfxwidgets.h: Likewise.
27133 * include/grub/gui.h: Likewise.
27134 * include/grub/gui_string_util.h: Likewise.
27135 * include/grub/icon_manager.h: Likewise.
27136
271372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27138
27139 Agglomerate scrolling in gfxterm.
27140
27141 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
27142 (grub_virtual_screen_setup): Initialise 'total_screen'.
27143 (write_char): Split to ...
27144 (paint_char): ... this ...
27145 (write_char): ... and this.
27146 (paint_char): Handle delayed scrolling.
27147 (draw_cursor): Likewise.
27148 (scroll_up): Split to ...
27149 (real_scroll): ... this ...
27150 (scroll_up): ... and this.
27151 (real_scroll): Handle multi-line scroll and draw below-the-bottom
27152 characters.
27153 (grub_gfxterm_refresh): Call real_scroll.
27154
271552010-02-06 Colin D Bennett <colin@gibibit.com>
27156
27157 * include/grub/misc.h (grub_iscntrl): New inline function.
27158 (grub_isalnum): Likewise.
27159 (grub_strtol): Likewise.
27160
271612010-02-06 Colin D Bennett <colin@gibibit.com>
27162
27163 * normal/menu_text.c (get_entry_number): Move from here ...
27164 * normal/menu.c (get_entry_number): ... moved here.
27165 * include/grub/menu.h (grub_menu_get_default_entry_index):
27166 New prototype.
27167 * normal/menu.c (grub_menu_get_default_entry_index): New function.
27168 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
27169 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
27170 (grub_menu_viewer_should_return): Likewise.
27171 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
27172 * normal/menu_text.c (run_menu): Enable menu switching.
27173 * normal/menu_viewer.c (should_return): New variable.
27174 (menu_viewer_changed): Likewise.
27175 (grub_menu_viewer_show_menu): Handle menu viewer changes.
27176 (grub_menu_viewer_should_return): New function.
27177 (menuviewer_write_hook): Likewise.
27178 (grub_menu_viewer_init): Likewise.
27179
271802010-02-06 Colin D Bennet <colin@gibibit.com>
271812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27182
27183 Support for gfxterm in a window.
27184
27185 * include/grub/gfxterm.h: New file.
27186 * include/grub/video.h (struct grub_video_rect): New declaration.
27187 (grub_video_rect_t): Likewise.
27188 * term/gfxterm.c (struct grub_gfxterm_window): New type.
27189 (refcount): New variable.
27190 (render_target): Likewise.
27191 (window): Likewise.
27192 (repaint_callback): Likewise.
27193 (grub_virtual_screen_setup): Use 'render_target'.
27194 (init_window): New function.
27195 (grub_gfxterm_init_window): Likewise.
27196 (grub_gfxterm_init): Check reference counter.
27197 Use init_window.
27198 (destroy_window): New function.
27199 (grub_gfxterm_destroy_window): Likewise.
27200 (grub_gfxterm_fini): Check reference counter.
27201 Use destroy_window.
27202 (redraw_screen_rect): Restore viewport.
27203 Use 'render_target' and 'window'.
27204 Call 'repaint_callback'.
27205 (write_char): Use 'render_target'.
27206 (draw_cursor): Likewise.
27207 (scroll_up): Restore viewport.
27208 Use 'render_target' and 'window'.
27209 Call 'repaint_callback'.
27210 (grub_gfxterm_cls): Likewise.
27211 (grub_gfxterm_refresh): Use 'window'.
27212 (grub_gfxterm_set_repaint_callback): New function.
27213 (grub_gfxterm_background_image_cmd): Use 'window'.
27214 (grub_gfxterm_get_term): New function.
27215 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
27216
272172010-02-06 Colin D Bennett <colin@gibibit.com>
27218
27219 Bitmap scaling support.
27220
27221 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
27222 (bitmap_scale_mod_SOURCES): New variable.
27223 (bitmap_scale_mod_CFLAGS): Likewise.
27224 (bitmap_scale_mod_LDFLAGS): Likewise.
27225 * include/grub/bitmap_scale.h: New file.
27226 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
27227 (background_image_cmd_options): New variable.
27228 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
27229 (cmd): Rename and change type to ...
27230 (background_image_cmd_handle): ... this. All users updated.
27231 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
27232 * video/bitmap_scale.c: New file.
27233
272342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27235
27236 SDL support.
27237
27238 * Makefile.in (LIBSDL): New variable.
27239 (enable_grub_emu_sdl): Likewise.
27240 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
27241 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
27242 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
27243 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
27244 * util/sdl.c: New file.
27245
272462010-02-06 Colin D Bennett <colin@gibibit.com>
272472010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27248
27249 Double buffering support.
27250
27251 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
27252 * include/grub/video.h: Update comment.
27253 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
27254 New type.
27255 (grub_video_fb_doublebuf_blit_init): New prototype.
27256 * term/gfxterm.c (scroll_up): Support double buffering.
27257 (grub_gfxterm_refresh): Likewise.
27258 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
27259 (grub_video_fb_doublebuf_blit_init): Likewise.
27260 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
27261 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
27262 'displayed_page', 'render_page' and 'update_screen'.
27263 (grub_video_vbe_fini): Free offscreen buffer.
27264 (doublebuf_pageflipping_commit): New function.
27265 (doublebuf_pageflipping_update_screen): Likewise.
27266 (doublebuf_pageflipping_init): Likewise.
27267 (double_buffering_init): Likewise.
27268 (grub_video_vbe_setup): Enable doublebuffering.
27269 (grub_video_vbe_swap_buffers): Implement.
27270 (grub_video_vbe_set_active_render_target): Handle double buffering.
27271 (grub_video_vbe_get_active_render_target): Likewise.
27272 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
27273 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
27274 (grub_video_vbe_enable_double_buffering): Likewise.
27275 (grub_video_vbe_swap_buffers): Use update_screen.
27276 (grub_video_set_mode): Use double buffering.
27277
272782010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27279
27280 * maintainance/gentrigtables.py: Remove.
27281 * lib/trig.c: Likewise.
27282
27283 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
27284
27285 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
27286 `trigtables.c'.
27287 (trigtables.c): New rule.
27288 (gentrigtables): Likewise.
27289 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
27290
272912010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27292
27293 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
27294 integer constants.
27295
272962010-02-06 Colin D Bennet <colin@gibibit.com>
27297
27298 Trigonometry support.
27299
27300 * include/grub/trig.h: New file.
27301 * lib/trig.c: Likewise.
27302 * maintainance/gentrigtables.py: Likewise.
27303 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
27304 (trig_mod_SOURCES): New variable.
27305 (trig_mod_CFLAGS): Likewise.
27306 (trig_mod_LDFLAGS): Likewise.
27307
5562834e
VS
273082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27309
27310 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
27311 disk devices.
27312
4f8528fc
VS
273132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27314
27315 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
27316 error.
27317
2b4068e9
VS
273182010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
27319
27320 * util/hostdisk.c (open_device): Don't use partition device when reading
27321 before the partition.
27322 (grub_util_biosdisk_read): Don't read from partition and before the
27323 partition in single operation.
27324 (grub_util_biosdisk_write): Don't write to partition and before the
27325 partition in single operation.
27326
399f6e4d
TL
273272010-02-03 Torsten Landschoff <torsten@debian.org>
27328
27329 * kern/disk.c (grub_disk_read): Fix offset computation when reading
27330 last sectors.
27331
996649b0
VS
273322010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
27333
27334 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
27335 CDROM reads.
27336 (grub_biosdisk_write): Refuse to write to CDROM.
27337
3b205d4d
VS
273382010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
27339
27340 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
27341
61e89d9d
VS
273422010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
27343
27344 * font/font.c (find_glyph): Check that bmp_idx is available before
27345 using it.
27346 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
27347 with (font == NULL).
27348
bf7fcba2
CS
273492010-01-28 Christian Schmitt <chris@ilovelinux.de>
27350
27351 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
27352
f45d2663
BC
273532010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
27354
27355 * include/grub/script_sh.h (sourcecode): Add const qualifier.
27356 * util/grub-script-check.c (getline): Fix empty lines case.
27357
ec1444e6
RM
273582010-01-28 Robert Millan <rmh.grub@aybabtu.com>
27359
27360 * Makefile.in (check): Exit with fail status when one of the tests
27361 fails.
27362 * tests/example_functional_test.c (example_test): Fix reversed assert.
27363 * tests/example_unit_test.c (example_test): Likewise.
27364
2e1cb9bb
CW
273652010-01-28 Colin Watson <cjwatson@ubuntu.com>
27366
27367 * util/grub.d/10_linux.in: This script does not use any of the
27368 contents of gettext.sh, only the external command `gettext', so stop
27369 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
27370 the same prefix as GRUB.)
27371 * util/grub.d/10_kfreebsd.in: Likewise.
27372
63533ab0
VS
273732010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27374
27375 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
27376 of the line.
27377
989e1f93
VS
273782010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27379
27380 * kern/disk.c (grub_disk_read): Fix offset computation when reading
27381 last sectors.
27382
e709ebe2
VS
273832010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27384
27385 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
27386 having a 4KiB and not 32KiB buffer size.
27387
27dea7ed
RM
273882010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27389
27390 * util/hostfs.c: Include `<errno.h>'.
27391 (grub_hostfs_read): Handle errors from fseeko() and fread().
27392
67667b9c
RM
273932010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27394
27395 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
27396 loop when using read hooks on files whose size isn't sector-aligned.
27397
c294d9d8
RM
273982010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27399
27400 Remove unused parameter.
27401
27402 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
27403 (grub_iso9660_open): Remove initialization of `data->length'.
27404
af75a9f1
RM
274052010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27406
27407 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
27408 memleak conditions.
27409
254e2ce5 274102010-01-27 Carles Pina i Estany <carles@pina.cat>
27411
27412 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
27413 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
27414
b510928c 274152010-01-26 Carles Pina i Estany <carles@pina.cat>
27416
27417 * util/bin2h.c (usage): Fix warning (space after backslash).
27418
aa2f9dd2 274192010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 27420
27421 * font/font.c: Include `grub/fontformat.h.
27422 Remove font file format constants.
27423 (grub_font_load): Use the new macros.
27424 * include/grub/fontformat.h: New file.
27425 * util/grub-mkfont.c: Include `grub/fontformat.c'.
27426 (write_font_pf2): Use the new macros.
27427
94e7e712
RM
274282010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27429
27430 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
27431 does.
27432
3973a59a
RM
274332010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27434
27435 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
27436
27437 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
27438 (_start): Macroify `0x7F'.
27439
27440 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
27441 (make_install_device): Use "(pxe)" as fallback prefix when booting
27442 via PXE.
27443
42e0cba3
GS
274442010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
27445
27446 * configure.ac: Reset LIBS after check for libgcc symbols.
27447
847effd8
CW
274482010-01-25 Colin Watson <cjwatson@ubuntu.com>
27449
27450 * util/hostdisk.c (open_device): Add trailing newline to debug
27451 message.
27452
ea4a7e35
GS
274532010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
27454
27455 * configure.ac: Check for `limits.h'.
27456 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
27457
67951a53
RM
274582010-01-24 Robert Millan <rmh.grub@aybabtu.com>
27459
27460 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
27461 capitalize error strings.
27462
c273d4ce
ST
274632010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
27464
27465 * util/grub.d/10_hurd.in: Add a recovery mode.
27466
69be5b74
VS
274672010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
27468
27469 * configure.ac: Check for libgcc symbols with -nostdlib.
27470
fc9e5810
BC
274712010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
27472
27473 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
27474
4b358c0a
VS
274752010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27476
27477 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
27478 stack since heap may be unavailable at that point.
27479 (grub_ofconsole_gotoxy): Likewise.
27480
454fcd1c
VS
274812010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27482
27483 * configure.ac: Check for _restgpr_14_x.
27484 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
27485 and _savegpr_* prototypes.
27486
566863ca
RM
274872010-01-22 Robert Millan <rmh.grub@aybabtu.com>
27488
27489 Use generic grub_reboot() for i386-efi.
27490
27491 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
27492 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
27493 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
27494
bf86e59a
VS
274952010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27496
27497 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
27498 presence of "prefix" variable as it breaks when normal.mod is
27499 embedded.
27500
d645e0f8
VS
275012010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27502
27503 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
27504 stack since heap is unavailable at that point.
27505
f9ab2e25
VS
275062010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27507
27508 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
27509 (grub_freebsd_bootinfo): Rewritten.
27510 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
27511
01fc7054
VS
275122010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27513
27514 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
27515
caab4fd6
RM
275162010-01-21 Robert Millan <rmh.grub@aybabtu.com>
27517
27518 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
27519 domain now.
27520
67eb1427
FZ
275212010-01-20 Felix Zielcke <fzielcke@z-51.de>
27522
27523 * util/misc.c (make_system_path_relative_to_its_root): Change the work
27524 around for handling "/" to the correct fix. Fix a memory leak. Use
27525 xstrdup instead of strdup.
27526
a9ed4ff3
VS
275272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27528
27529 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
27530
275312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
27532
27533 Optimise glyph lookup by Basic Multilingual Plane lookup array.
27534
27535 * font/font.c (struct grub_font): New member 'bmp_idx'.
27536 (font_init): Initialise 'bmp_idx'.
27537 (load_font_index): Fill 'bmp_idx'.
27538 (find_glyph): Make inline. Use bmp_idx for BMP characters.
27539
48209f4f
VS
275402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27541
27542 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
27543 unnecessary calls.
27544
9f0a4bb7
VS
275452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27546
27547 Move context handling out of the kernel.
27548
27549 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
27550 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
27551 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
27552 * conf/i386-efi.rmk: Likewise.
27553 * conf/i386-ieee1275.rmk: Likewise.
27554 * conf/i386-pc.rmk: Likewise.
27555 * conf/powerpc-ieee1275.rmk: Likewise.
27556 * conf/sparc64-ieee1275.rmk: Likewise.
27557 * conf/x86_64-efi.rmk: Likewise.
27558 * include/grub/env.h: Include grub/menu.h.
27559 (grub_env_var_type): Removed.
27560 (grub_env_var): Replaced field 'type' with 'global'.
27561 (grub_env_find): New prototype.
27562 (grub_env_context_open): Remove EXPORT_FUNC.
27563 (grub_env_context_close): Likewise.
27564 (grub_env_export): Likewise.
27565 (grub_env_set_data_slot): Removed.
27566 (grub_env_get_data_slot): Likewise.
27567 (grub_env_unset_data_slot): Likewise.
27568 (grub_env_unset_menu): New prototype.
27569 (grub_env_set_menu): Likewise.
27570 (grub_env_get_menu): Likewise.
27571 * include/grub/env_private.h: New file.
27572 * include/grub/normal.h (grub_context_init): New prototype.
27573 (grub_context_fini): Likewise.
27574 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
27575 * normal/context.c (grub_cmd_export): ... to here.
27576 * kern/env.c: Include env_private.h.
27577 (HASHSZ): Moved to include/grub/env_private.h.
27578 (grub_env_context): Likewise.
27579 (grub_env_sorted_var): Likewise.
27580 (current_context): Renamed from this ...
27581 (grub_current_context): ...to this. 'static' removed. All users updated.
27582 (grub_env_find): Removed 'static'.
27583 (grub_env_context_open): Moved to normal/context.c.
27584 (grub_env_context_close): Likewise.
27585 (grub_env_export): Likewise.
27586 (mangle_data_slot_name): Removed.
27587 (grub_env_set_data_slot): Likewise.
27588 (grub_env_get_data_slot): Likewise.
27589 (grub_env_unset_data_slot): Likewise.
27590 * kern/main.c (grub_set_root_dev): Don't export root.
27591 It will be done later.
27592 (grub_main): Don't export prefix.
27593 It will be done later.
27594 * normal/context.c: New file.
27595 * normal/main.c (free_menu): Use grub_env_unset_menu.
27596 (grub_normal_add_menu_entry): Use grub_env_get_menu.
27597 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
27598 (GRUB_MOD_INIT(normal)): Call grub_context_init.
27599 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
27600
8dd35b8c
VS
276012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27602
27603 setpci support.
27604
27605 * commands/setpci.c: New file.
27606 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
27607 (setpci_mod_SOURCES): New variable.
27608 (setpci_mod_CFLAGS): Likewise.
27609 (setpci_mod_LDFLAGS): Likewise.
27610
449193d5
VS
276112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27612
27613 Byte-addressable PCI configuration space.
27614
27615 * bus/pci.c (grub_pci_make_address): Use byte address instead of
27616 dword address.
27617 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
27618 GRUB_PCI_REG_CACHELINE.
27619 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
27620 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
27621 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
27622 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
27623 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
27624 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
27625 grub_pci_make_address.
27626 (lock_rom_area): Likewise.
27627 * commands/lspci.c (grub_lspci_iter): Use macroses
27628 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
27629 of grub_pci_make_address.
27630 * disk/ata.c (grub_ata_pciinit): Likewise.
27631 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
27632 (GRUB_PCI_REG_VENDOR): Likewise.
27633 (GRUB_PCI_REG_DEVICE): Likewise.
27634 (GRUB_PCI_REG_COMMAND): Likewise.
27635 (GRUB_PCI_REG_STATUS): Likewise.
27636 (GRUB_PCI_REG_REVISION): Likewise.
27637 (GRUB_PCI_REG_CLASS): Likewise.
27638 (GRUB_PCI_REG_CACHELINE): Likewise.
27639 (GRUB_PCI_REG_LAT_TIMER): Likewise.
27640 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
27641 (GRUB_PCI_REG_BIST): Likewise.
27642 (GRUB_PCI_REG_ADDRESSES): Likewise.
27643 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27644 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27645 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27646 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27647 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27648 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27649 (GRUB_PCI_REG_CIS_POINTER): Likewise.
27650 (GRUB_PCI_REG_SUBVENDOR): Likewise.
27651 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
27652 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
27653 (GRUB_PCI_REG_CAP_POINTER): Likewise.
27654 (GRUB_PCI_REG_IRQ_LINE): Likewise.
27655 (GRUB_PCI_REG_IRQ_PIN): Likewise.
27656 (GRUB_PCI_REG_MIN_GNT): Likewise.
27657 (GRUB_PCI_REG_MAX_LAT): Likewise.
27658 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
27659 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
27660 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 27661 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
27662 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
27663 space.
27664
96d73208
RM
276652010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27666
27667 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
27668 can be reliably determined to be supported.
27669
d4484482
RM
276702010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27671
27672 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
27673 that VESA is supported.
27674 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
27675 supported.
27676
00308ecf
VS
276772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27678
27679 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
27680
f66924a4
RM
276812010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27682
27683 * util/misc.c (make_system_path_relative_to_its_root): Work around
27684 special-casing of "/", as previous incarnation of this routine did.
27685
cbca0ada
VS
276862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27687
27688 Fix any-emu compilation.
27689
27690 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
27691 * grub_bin2h_SOURCES: New variable.
27692
34a66d99
RM
276932010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27694
27695 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
27696
94fabf58
RM
276972010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27698
27699 * util/grub.d/00_header.in: Fix handling of locale_dir.
27700
02cf98ca
VS
277012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27702
27703 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
27704 as possible unifont location (Gentoo).
27705 Reported by: Alexander Brüning
27706
327dbcd7
VS
277072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27708
27709 Don't try to generate lists for kernel.img.
27710
27711 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
27712 (pkglib_MODULES): Remove kernel.img.
27713 (kernel_img_EXPORTS): Removed.
27714 (kernel_img_RELOCATABLE): New variable.
27715 * conf/x86_64-efi.rmk: Likewise.
27716 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
27717
ca467290
VS
277182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27719
27720 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
27721 grub_xasprintf or grub_snprintf.
27722 (grub_vsprintf): Likewise.
27723 (grub_snprintf): New proto.
27724 (grub_vsnprintf): Likewise.
27725 (grub_xasprintf): Likewise.
27726 (grub_xvasprintf): Likewise.
27727 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
27728 (grub_sprintf): Removed.
27729 (grub_vsnprintf): New function.
27730 (grub_snprintf): Likewise.
27731 (grub_xvasprintf): Likewise.
27732 (grub_xasprintf): Likewise.
27733 (grub_vsprintf): Renamed to ...
27734 (grub_vsnprintf_real): ...this. New argument max_len.
27735
aca655fd
BC
277362010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
27737
27738 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
27739 fix grub-script-check warning.
27740
7ee92c32
VS
277412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27742
27743 * include/grub/font.h (grub_font_load): Fix prototype.
27744
f80927ca
VS
277452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27746
27747 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
27748
119c50ea
VS
277492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27750
27751 * include/grub/x86_64/at_keyboard.h: New file.
27752
47d5f3c1
VS
277532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27754
27755 * loader/mips/linux.c: Include missing grub/i18n.h.
27756
55ff5266
RM
277572009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27758
27759 * normal/menu.c (notify_execution_failure): Clarify error message.
27760
c893cc87
RM
277612009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27762
27763 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
27764 return value (and revert all return statements). Update users.
27765
917dd370
CW
277662010-01-20 Dan Merillat <debian@dan.merillat.org>
27767
27768 * kern/device.c (grub_device_iterate): Allocate new part_ent
27769 structure based on sizeof (*p) rather than sizeof (p->next), to
27770 account for structure padding.
27771
27772 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
27773 disk is NULL, which might happen for LVM physical volumes with no
27774 LVM signature.
27775
d4a4ee57
RM
277762009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27777
27778 * loader/mips/linux.c (grub_cmd_initrd)
27779 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
27780
277812009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27782
27783 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
27784 (grub_video_video_init, grub_video_bitmap_init)
27785 (grub_font_manager_init, grub_term_gfxterm_init)
27786 (grub_at_keyboard_init): New extern declarations.
27787 (grub_machine_init): Initialize gfxterm and at_keyboard.
27788
27789 * kern/main.c (grub_main): Revert grub_printf delay kludge.
27790
27791 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
27792 `gfxterm.mod' into core image.
27793
27794 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27795 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27796 (kernel_img_FORMAT): Copy to ...
27797
27798 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27799 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27800 (kernel_img_FORMAT): ... here, and ...
27801
27802 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27803 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27804 (kernel_img_FORMAT): ... here.
27805
27806 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
27807 and input (at_keyboard) terminals in kernel.
27808 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
27809
27810 (pkglib_MODULES): Remove `pci.mod'.
27811 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
27812 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
27813 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27814 (at_keyboard_mod_LDFLAGS): Remove variables.
27815
278162010-01-11 Felix Zielcke <fzielcke@z-51.de>
27817
27818 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
27819
278202009-12-10 Robert Millan <rmh.grub@aybabtu.com>
27821
27822 * include/grub/mips/libgcc.h: Only export symbols for functions
27823 that libgcc provides.
27824
278252009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
27826
27827 MIPS support.
27828
27829 * bus/bonito.c: New file.
27830 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
27831 GRUB_PCI_NUM_DEVICES.
27832 * term/i386/pc/serial.c: Move to ...
27833 * term/serial.c: ... here. All users updated.
27834 * util/i386/pc/grub-mkimage.c: Move to ...
27835 * util/grub-mkrawimage.c: ... here. All users updated.
27836 * term/i386/pc/at_keyboard.c: Move to ...
27837 * term/at_keyboard.c: ... here. All users updated.
27838 * conf/mips-qemu-mips.rmk: New file.
27839 * conf/mips-yeeloong.rmk: Likewise.
27840 * conf/mips.rmk: Likewise.
27841 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
27842 mipsel-qemu-mips.
27843 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
27844 to port addresses.
27845 (grub_ata_pciinit): Support CS5536.
27846 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
27847 * font/font_cmd.c (loadfont_command): Open file before passing it to
27848 grub_font_load.
27849 (pseudo_file_read): New function.
27850 (pseudo_file_close): Likewise.
27851 (pseudo_fs): New structure.
27852 (load_font_module): New function.
27853 (GRUB_MOD_INIT(font_manager)): Load embedded font.
27854 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
27855 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
27856 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
27857 * include/grub/i386/at_keyboard.h: Split into ...
27858 * include/grub/at_keyboard.h: ... this ...
27859 * include/grub/i386/at_keyboard.h: ... and this.
27860 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
27861 New prototype.
27862 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
27863 updated.
27864 (grub_elf64_size): Likewise.
27865 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
27866 filename.
27867 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
27868 * include/grub/i386/coreboot/serial.h: Rewritten.
27869 * include/grub/i386/ieee1275/serial.h: Include
27870 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
27871 * include/grub/i386/pc/serial.h: Moved from here ...
27872 * include/grub/serial.h: ... to here. All users updated.
27873 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
27874 (GRUB_PCI_NUM_BUS): Likewise.
27875 (GRUB_PCI_NUM_DEVICES): Likewise.
27876 (grub_pci_device_map_range): Add missing volatile keyword.
27877 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
27878 * include/grub/mips/at_keyboard.h: New file.
27879 * include/grub/mips/cache.h: Likewise.
27880 * include/grub/mips/io.h: Likewise.
27881 * include/grub/mips/kernel.h: Likewise.
27882 * include/grub/mips/libgcc.h: Likewise.
27883 * include/grub/mips/pci.h: Likewise.
27884 * include/grub/mips/qemu-mips/boot.h: Likewise.
27885 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27886 * include/grub/mips/qemu-mips/loader.h: Likewise.
27887 * include/grub/mips/qemu-mips/memory.h: Likewise.
27888 * include/grub/mips/qemu-mips/serial.h: Likewise.
27889 * include/grub/mips/qemu-mips/time.h: Likewise.
27890 * include/grub/mips/relocator.h: Likewise.
27891 * include/grub/mips/time.h: Likewise.
27892 * include/grub/mips/types.h: Likewise.
27893 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
27894 * include/grub/mips/yeeloong/boot.h: Likewise.
27895 * include/grub/mips/yeeloong/kernel.h: Likewise.
27896 * include/grub/mips/yeeloong/loader.h: Likewise.
27897 * include/grub/mips/yeeloong/memory.h: Likewise.
27898 * include/grub/mips/yeeloong/pci.h: Likewise.
27899 * include/grub/mips/yeeloong/serial.h: Likewise.
27900 * include/grub/mips/yeeloong/time.h: Likewise.
27901 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
27902 * kern/elf.c (grub_elf32_size): New parameter. All users
27903 updated.
27904 (grub_elf64_size): Likewise.
27905 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
27906 Load modules before saying "Welcome to GRUB!".
27907 Call grub_refresh after saying "Welcome to GRUB!".
27908 * kern/mips/cache.S: New file.
27909 * kern/mips/cache_flush.S: Likewise.
27910 * kern/mips/dl.c: Likewise.
27911 * kern/mips/init.c: Likewise.
27912 * kern/mips/qemu-mips/init.c: Likewise.
27913 * kern/mips/startup.S: Likewise.
27914 * kern/mips/yeeloong/init.c: Likewise.
27915 * kern/term.c (grub_putcode): Handle NULL terminal.
27916 (grub_getcharwidth): Likewise.
27917 (grub_getkey): Likewise.
27918 (grub_checkkey): Likewise.
27919 (grub_getkeystatus): Likewise.
27920 (grub_getxy): Likewise.
27921 (grub_getwh): Likewise.
27922 (grub_gotoxy): Likewise.
27923 (grub_cls): Likewise.
27924 (grub_setcolorstate): Likewise.
27925 (grub_setcolor): Likewise.
27926 (grub_getcolor): Likewise.
27927 (grub_refresh): Likewise.
27928 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
27929 (write_jump): Add hatch nop.
27930 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
27931 * lib/mips/setjmp.S: New file.
27932 * loader/mips/linux.c: Likewise.
27933 * term/i386/pc/at_keyboard.c: Move from here ...
27934 * term/at_keyboard.c: ... to here.
27935 * term/i386/pc/serial.c: Moved from here ...
27936 * term/serial.c: ... to here. All users updated.
27937 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
27938 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
27939 (serial_translate_key_sequence): Avoid deadlock.
27940 (grub_serial_getkey): Handle backspace.
27941 (grub_serial_putchar): Fix newline handling.
27942 * util/i386/pc/grub-mkimage.c: Move from here ...
27943 * util/grub-mkrawimage.c: ... to here. All users updated.
27944 (generate_image): New parameters 'font_path' and 'format'.
27945 Support embedding font.
27946 Use grub_host_to_target* instead of grub_cpu_to_le*.
27947 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
27948 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
27949 (options): New option "--font".
27950 (usage): Likewise.
27951 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
27952 (main): Handle "--font".
27953 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
27954 (grub_virtual_screen_setup): Set bg_color_display.
27955 (redraw_screen_rect): Use bg_color_display instead of incorrect
27956 bg_color.
27957 (grub_gfxterm_cls): Likewise.
27958 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
27959 Support embedding config file.
27960 (add_segments): Likewise.
27961 (options): New option "--config".
27962 (main): Handle "--config".
27963 * video/sm712.c: New file.
27964
25c2b5b3
RM
279652010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27966
27967 Fix parallel builds.
27968
27969 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
27970 font.c depend on ascii.h).
27971
279722010-01-12 Carles Pina i Estany <carles@pina.cat>
27973
27974 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
27975
279762010-01-11 Carles Pina i Estany <carles@pina.cat>
27977
27978 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
27979 By default: disabled.
27980 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
27981 parameter.
27982
279832010-01-10 Carles Pina i Estany <carles@pina.cat>
27984
27985 * font/font.c: Update copyright years.
27986 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
27987
279882010-01-10 Carles Pina i Estany <carles@pina.cat>
27989
27990 * font/font.c: Include `ascii.h'.
27991 (ASCII_BITMAP_SIZE): New macro.
27992 (ascii_font_glyph): Define.
27993 (ascii_glyph_lookup): New function.
27994 (grub_font_get_string_width): Change comment. If glyph not found, use
27995 ascii_glyph_lookup.
27996 (grub_font_get_glyph_with_fallback): If glyph not available returns
27997 ascii_glyph_lookup.
27998 * util/grub-mkfont.c (file_formats): New enum.
27999 (options): Add `ascii-bitmaps' new option.
28000 (usage): Add `asii-bitmaps' new option.
28001 (write_font_ascii_bitmap): New function.
28002 (write_font): Rename to ...
28003 (write_font_p2): ... this. Remove print_glyphs call.
28004 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
28005 used. Call print_glyphs.
28006 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
28007
280082010-01-14 Robert Millan <rmh.grub@aybabtu.com>
28009
28010 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
28011 (grub_bin2h_SOURCES): New variable.
28012 * util/bin2h.c: New file.
28013
915fc1b8
VS
280142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28015
28016 * include/multiboot.h: Resynced with spec.
28017 * include/multiboot2.h: Likewise.
28018 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
28019 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
28020
9444b678
RM
280212010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28022
28023 * include/grub/term.h (grub_term_register_input,
28024 grub_term_register_output): Check return of terminal init()
28025 routines, and abort if errors are raised.
28026
28027 * commands/terminal.c: Update copyright year.
28028
cba98e8d
RM
280292010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28030
28031 * commands/terminal.c (grub_cmd_terminal_input)
28032 (grub_cmd_terminal_output): Check return of terminal init()
28033 routines, and abort if errors are raised.
28034
6f7db5d6
VS
280352010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
28036
28037 * include/grub/i386/bsd.h: Fix include pathes.
28038
262bff8d
VS
280392010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
28040
28041 Add missing *BSD copyright headers.
28042
28043 * include/grub/aout.h: Add BSD licence.
28044 * include/grub/i386/bsd.h: Parts under different licences moved to ...
28045 * include/grub/i386/freebsd_linker.h: ... here,
28046 * include/grub/i386/freebsd_reboot.h: ... here,
28047 * include/grub/i386/netbsd_bootinfo.h: ... here,
28048 * include/grub/i386/netbsd_reboot.h: ... here,
28049 * include/grub/i386/openbsd_bootarg.h: ... here,
28050 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
28051 licence to each file.
28052
b2cab848
RM
280532010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28054
28055 * acinclude.m4: Remove `nop' assembly instruction; it's not
28056 implemented by all architectures.
28057
2cb6be4b
RM
280582010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28059
28060 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
28061 ELILO. This is no longer necessary.
28062
a2eaee15
BC
280632010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
28064
28065 Added new tool, grub-scrit-check to verify grub.cfg syntax.
28066
28067 * util/grub-script-check.c: grub-script-check tool.
28068 * conf/common.rmk: Make rules for grub-script-check.
28069
88d17012
RM
280702010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28071
28072 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
28073 spotting it back in 2008. Shame on me for forgetting he did.
28074
28075 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
28076
8040619d
RM
280772010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28078
28079 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
28080 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
28081 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
28082 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
28083 (GRUB_VIDEO_TYPE_EFI): Rename to ...
28084 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
28085
a0c2a0f6
RM
280862010-01-17 Robert Millan <rmh.grub@aybabtu.com>
28087
28088 * include/grub/test.h: Add license header.
28089 * tests/example_functional_test.c: Likewise.
28090 * tests/example_unit_test.c: Likewise.
28091 * tests/lib/functional_test.c: Likewise.
28092 * tests/lib/test.c: Likewise.
28093 * tests/lib/unit_test.c: Likewise.
28094
b0b13907
VS
280952010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
28096
28097 Use flag-based instead of hook-based video mode selection and "auto"
28098 keyword.
28099
28100 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
28101 (grub_video_set_mode): Changed prototype. All users updated.
28102 (grub_video_check_mode_flag): New inline function.
28103 * video/video.c (parse_modespec): New function.
28104 (grub_video_set_mode): Parse flags and keywords.
28105
ea379330 281062010-01-17 Carles Pina i Estany <carles@pina.cat>
28107
28108 * util/misc.c (grub_util_info): Fix the order of the parameters in a
28109 fprintf call.
28110
e15c215e
FZ
281112010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
28112
28113 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
28114
409ae1c9 281152010-01-16 Carles Pina i Estany <carles@pina.cat>
28116
28117 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
28118 string.
28119 * util/grub-emu.c (usage): Likewise.
28120 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
28121 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28122 * util/i386/pc/grub-mkimage.c (usage): Likewise.
28123 * util/i386/pc/grub-setup.c (usage): Likewise.
28124
70a14d3d 281252010-01-16 Carles Pina i Estany <carles@pina.cat>
28126
28127 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
28128 the message.
28129 (grub_util_info): Likewise.
28130 (grub_util_error): Likewise.
28131 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
28132 and/or new lines in `grub_util_warna', `grub_util_info',
28133 `grub_util_error' calls.
28134 * util/getroot.c: Likewise.
28135 * util/grub-editenv.c: Likewise.
28136 * util/grub-emu.c: Likewise.
28137 * util/grub-fstest.c: Likewise.
28138 * util/grub-mkdevicemap.c: Likewise.
28139 * util/grub-mkfont.c: Likewise.
28140 * util/grub-mkpasswd-pbkdf2.c: Likewise.
28141 * util/grub-mkrelpath.c: Likewise.
28142 * util/grub-pe2elf.c: Likewise.
28143 * util/grub-probe.c: Likewise.
28144 * util/hostdisk.c: Likewise.
28145 * util/i386/efi/grub-mkimage.c: Likewise.
28146 * util/i386/pc/grub-mkimage.c: Likewise.
28147 * util/i386/pc/grub-setup.c: Likewise.
28148 * util/ieee1275/ofpath.c: Likewise.
28149 * util/mkisofs/eltorito.c: Likewise.
28150 * util/mkisofs/rock.c: Likewise.
28151 * util/mkisofs/write.c: Likewise.
28152 * util/raid.c: Likewise.
28153 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28154 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28155
a0b766fc
VS
281562010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28157
28158 Enable multiboot on non-pc.
28159
28160 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
28161 multiboot.mod and multiboot2.mod to ...
28162 * conf/i386.rmk (pkglib_MODULES): ... here.
28163 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
28164 Moved to ...
28165 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
28166 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
28167 Moved to ...
28168 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
28169 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
28170 Moved to ...
28171 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
28172 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
28173 Moved to ...
28174 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
28175 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
28176 relocator.mod.
28177 (ata_mod_SOURCES): Removed.
28178 (ata_mod_CFLAGS): Likewise.
28179 (ata_mod_LDFLAGS): Likewise.
28180 (relocator_mod_SOURCES): Removed.
28181 (relocator_mod_CFLAGS): Likewise.
28182 (relocator_mod_ASFLAGS): Likewise.
28183 (relocator_mod_LDFLAGS): Likewise.
28184 Include i386.mk.
28185 * include/grub/x86_64/multiboot.h: New file.
28186 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
28187 Terminate EFI.
28188
884ade56
VS
281892010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28190
28191 Video multiboot support.
28192
28193 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
28194 New prototype.
28195 * include/multiboot.h: Resynced with multiboot specification.
28196 * include/multiboot2.h: Likewise.
28197 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
28198 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
28199 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
28200 (HAS_VGA_TEXT): Likewise.
28201 (accepts_video): New variable.
28202 (grub_multiboot_set_accepts_video): New function.
28203 (grub_multiboot_get_mbi_size): Account for video structures.
28204 (set_video_mode): New function.
28205 (retrieve_video_parameters): Likewise.
28206 (grub_multiboot_make_mbi): Fill video fields.
28207
0d90e8a6
VS
282082010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28209
28210 Video driver ids.
28211
28212 * include/grub/video.h (grub_video_driver_id): New type.
28213 (grub_video_adapter): New member 'id'. All users updated.
28214 (grub_video_get_driver_id): New proto.
28215 * video/video.c (grub_video_get_driver_id): New function.
28216
5c71db1b 282172010-01-14 Carles Pina i Estany <carles@pina.cat>
28218
28219 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
28220 `var=val'.
28221
cca15b52 282222010-01-14 Carles Pina i Estany <carles@pina.cat>
28223
28224 * normal/cmdline.c (print_completion): Gettextizze.
28225
c586fbb2 282262001-01-14 Carles Pina i Estany <carles@pina.cat>
28227
28228 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
28229
ba2f6848 282302010-01-14 Carles Pina i Estany <carles@pina.cat>
28231
28232 * gettext/gettext.c (grub_gettext_translate): Push and pop
28233 grub_errno.
28234 (grub_gettext_delete_list): Change comment style.
28235 * kern/err.c (grub_error): Gettextizze.
28236 (grub_fatal): Gettextizze.
28237
0a46429a
RM
282382010-01-14 Robert Millan <rmh.grub@aybabtu.com>
28239
28240 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
28241 (grub_linux16_real_boot): ... this.
28242 * kern/i386/loader.S: Likewise.
28243 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
28244 (grub_linux16_boot): New function. Switches to text mode and calls
28245 grub_linux16_real_boot().
28246
28247 * loader/i386/bsd.c: Include `<grub/video.h>'.
28248 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
28249 text mode before calling grub_unix_real_boot().
28250
28251 * loader/i386/multiboot.c: Include `<grub/video.h>'.
28252 (grub_multiboot_boot): Switch to text mode before calling
28253 grub_relocator32_boot().
28254
28255 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
28256 (grub_chainloader_boot): Switch to text mode before calling
28257 grub_chainloader_real_boot().
28258
d6f93a66
RM
282592010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
282602010-01-05 Colin Watson <cjwatson@ubuntu.com>
28261
28262 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
28263 non-empty value.
28264
282652010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
282662010-01-05 Colin Watson <cjwatson@ubuntu.com>
28267
28268 * util/grub.d/00_header.in: Define a "savedefault" function for use
28269 in menu entries.
28270 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
28271
282722010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
282732010-01-05 Colin Watson <cjwatson@ubuntu.com>
28274
28275 * util/grub-mkconfig_lib.in (save_default_entry): Only set
28276 saved_entry if boot_once is unset.
28277 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
28278 previous saved entry (i.e. grub-reboot).
28279
282802009-12-08 Colin Watson <cjwatson@ubuntu.com>
28281
28282 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
28283
282842009-12-08 Colin Watson <cjwatson@ubuntu.com>
28285
28286 * util/grub.d/00_header.in: Use `set var=val' rather than plain
28287 `var=val'.
28288 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
28289
282902009-12-08 Colin Watson <cjwatson@ubuntu.com>
28291
28292 * util/grub-reboot.in: Fix --version output.
28293 * util/grub-set-default.in: Likewise.
28294
282952009-12-08 Colin Watson <cjwatson@ubuntu.com>
28296
28297 * util/grub.d/00_header.in: Silently ignore zero-sized environment
28298 blocks.
28299
283002009-12-08 Colin Watson <cjwatson@ubuntu.com>
28301
28302 * util/grub.d/00_header.in: Quote the value assigned to `default',
28303 in case it contains spaces.
28304
283052009-12-08 Colin Watson <cjwatson@ubuntu.com>
28306
28307 * util/grub.d/30_os-prober.in: Fix merge error that moved a
28308 `save_default_entry' call from the macosx case to the linux case.
28309
283102009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
283112009-10-25 Colin Watson <cjwatson@ubuntu.com>
28312
28313 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
28314 in `chosen' environment variable.
28315 * normal/menu_text.c (get_entry_number): Check if the variable
28316 matches the title of a menu entry.
28317 (run_menu): Pass menu to get_entry_number.
28318
28319 * util/grub-reboot.in: New file.
28320 * util/grub-set-default.in: New file.
28321 * conf/common.rmk (grub-reboot): New utility.
28322 (grub-set-default): New utility.
28323
28324 * util/grub-mkconfig_lib.in (save_default_entry): New function.
28325 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
28326 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
28327 move it to `saved_entry' for the next boot. Load environment on
28328 initialisation.
28329 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
28330 * util/grub.d/10_hurd.in: Likewise.
28331 * util/grub.d/10_linux.in (linux_entry): Likewise.
28332 * util/grub.d/10_windows.in: Likewise.
28333 * util/grub.d/30_os-prober.in: Likewise.
28334
28335 * util/grub-install.in: Create environment block.
28336 * util/i386/efi/grub-install.in: Likewise.
28337 * util/ieee1275/grub-install.in: Likewise.
28338 * util/sparc64/ieee1275/grub-install.in: Likewise.
28339
0934d184
BC
283402010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
28341
28342 Unit testing framework for GRUB.
28343
28344 * Makefile.in: Test framework build rules for 'make check'.
28345 * conf/tests.rmk: Build rules for individual tests and framework.
28346
28347 * include/grub/test.h: Header file for whitebox tests.
28348 * tests/lib/functional_test.c: Framework support for whitebox
28349 functional tests.
28350 * tests/lib/test.c: Common whitebox testing code for unit and
28351 functional tests.
28352 * tests/lib/unit_test.c: Framework support for whitebox unit
28353 tests.
28354
28355 * tests/util/grub-shell-tester.in: Support utility for grub-script
28356 tests.
28357 * tests/util/grub-shell.in: Utility to execute grub-script
28358 commands in a Qemu instance.
28359
28360 * tests/example_functional_test.c: Example whitebox functional
28361 test.
28362 * tests/example_grub_script_test.in: Example grub-script test.
28363 * tests/example_scripted_test.in: Example scripted test.
28364 * tests/example_unit_test.c: Example whitebox unit test.
28365
9c4ffeeb
VS
283662010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
28367
28368 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
28369 Add loader/i386/multiboot_mbi.c.
28370 (multiboot2_mod_SOURCES): Likewise.
28371 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
28372 (multiboot2_mod_SOURCES): Likewise.
28373 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
28374 (grub_multiboot_make_mbi): Likewise.
28375 (grub_multiboot_free_mbi): Likewise.
28376 (grub_multiboot_init_mbi): Likewise.
28377 (grub_multiboot_add_module): Likewise.
28378 (grub_multiboot_set_bootdev): Likewise.
28379 * loader/i386/multiboot.c (mbi): Removed.
28380 (mbi_dest): Likewise.
28381 (alloc_mbi): New variable.
28382 (grub_multiboot_payload_size): Removed. All users updated.
28383 (grub_multiboot_pure_size): New variable.
28384 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
28385 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
28386 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
28387 (grub_fill_multiboot_mmap): Likewise.
28388 (grub_multiboot_get_bootdev): Likewise.
28389 (grub_multiboot): Use multiboot_mbi functions.
28390 * loader/i386/multiboot_mbi.c: New file.
28391
17383dfe
VS
283922010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
28393
28394 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
28395 it would result in module crash.
28396
c1f28820
VS
283972010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
28398
28399 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
28400 (grub_ofconsole_getwh): Split to ...
28401 (grub_ofconsole_getwh): ... this.
28402 (grub_ofconsole_dimensions): ...and this.
28403 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
28404
58655a16
RM
284052010-01-13 Robert Millan <rmh.grub@aybabtu.com>
28406
28407 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
28408
10891398
VS
284092010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
28410
28411 * loader/i386/pc/multiboot2.c: Removed stalled file.
28412
0b8a223c
VS
284132010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
28414
28415 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
28416 Reported by: Grégoire Sutre
28417
92ab12b0
RM
284182010-01-11 Robert Millan <rmh.grub@aybabtu.com>
28419
28420 * util/misc.c (canonicalize_file_name): New function.
28421 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
28422 instead of realpath().
28423
a788afb6
CW
284242010-01-11 Colin Watson <cjwatson@ubuntu.com>
28425
28426 * util/grub-install.in (usage): Clarify meaning of --root-directory,
28427 and make it clearer that it's optional. Based on confusion
28428 witnessed on IRC.
28429
ffa8e3d2
VS
284302010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28431
28432 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
28433 in premature implicit newline.
28434
e9060a9d
VS
284352010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28436
28437 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
28438 which resulted in garbled command line at the end of screen.
28439
f0d0c0b7
RM
284402010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28441
28442 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
28443 initialization with similar approach as with other Linux loaders.
28444
0e60bae7
RM
284452010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28446
28447 Fix i386-ieee1275 build.
28448
28449 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
28450 and grub_term_height() for video_{width,height} initialization.
28451
284522010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
28453
28454 Fix grub-emu build.
28455
28456 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
28457
cdb3f378
RM
284582010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
284592010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28460
28461 Support for multiple terminals.
28462
28463 * Makefile.in (pkglib_DATA): terminal.lst.
28464 (terminal.lst): New target.
28465 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
28466 (GRUB_MOD_INIT(handler)): Likewise.
28467 (GRUB_MOD_FINI(handler)): Likewise.
28468 * commands/help.c (grub_cmd_help): Handle multiple terminals.
28469 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
28470 * commands/sleep.c (do_print): Use grub_term_restore_pos.
28471 (grub_cmd_sleep): Use grub_term_save_pos.
28472 * commands/terminal.c: New file.
28473 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
28474 commands/terminal.c and lib/charset.c.
28475 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
28476 (pkglib_MODULES): Add terminal.mod.
28477 (terminal_mod_SOURCES): New variable.
28478 (terminal_mod_CFLAGS): Likewise.
28479 (terminal_mod_LDFLAGS): Likewise.
28480 * genhandlerlist.sh: Don't handle terminals.
28481 * genmk.rb: Generate terminal-*.lst.
28482 * genterminallist.sh: New file.
28483 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
28484 (grub_is_valid_utf8): Likewise.
28485 (grub_utf8_to_ucs4_alloc): Likewise.
28486 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
28487 (grub_menu_register_viewer): Changed argument.
28488 (grub_menu_try_text): New proto.
28489 (grub_gfxmenu_try_hook): New declaration.
28490 * include/grub/normal.h (grub_normal_exit_level): New declaration.
28491 (grub_menu_init_page): Additional argument term.
28492 (grub_normal_init_page): Likewise.
28493 (grub_cmdline_get): Arguments simplified.
28494 (grub_utf8_to_ucs4_alloc): Removed.
28495 (grub_print_ucs4): Additional argument term.
28496 (grub_getstringwidth): Likewise.
28497 (grub_print_message_indented): Likewise.
28498 (grub_menu_text_register_instances): New proto.
28499 (grub_show_menu): Likewise.
28500 (read_terminal_list): Likewise.
28501 (grub_set_more): Likewise.
28502 * include/grub/parser.h: Include handler.h.
28503 * include/grub/reader.h: Rewritten.
28504 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
28505 (GRUB_TERM_WIDTH): Changed to function.
28506 (GRUB_TERM_HEIGHT): Likewise.
28507 (GRUB_TERM_BORDER_WIDTH): Likewise.
28508 (GRUB_TERM_BORDER_HEIGHT): Likewise.
28509 (GRUB_TERM_NUM_ENTRIES): Likewise.
28510 (GRUB_TERM_ENTRY_WIDTH): Likewise.
28511 (GRUB_TERM_CURSOR_X): Likewise.
28512 (grub_term_input_class): Likewise.
28513 (grub_term_output_class): Likewise.
28514 (grub_term_outputs_disabled): New declaration.
28515 (grub_term_inputs_disabled): Likewise.
28516 (grub_term_outputs): Likewise.
28517 (grub_term_inputs): Likewise.
28518 (grub_term_register_input): Rewritten.
28519 (grub_term_register_output): Likewise.
28520 (grub_term_unregister_input): Likewise.
28521 (grub_term_unregister_output): Likewise.
28522 (FOR_ACTIVE_TERM_INPUTS): New macro.
28523 (FOR_DISABLED_TERM_INPUTS): Likewise.
28524 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
28525 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
28526 * include/grub/terminfo.h: Add oterm argument to all protypes.
28527 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
28528 Use grub_rescue_run.
28529 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
28530 All users updated.
28531 * kern/reader.c: Removed. All users updated.
28532 * kern/rescue_reader.c (grub_rescue_init): Removed.
28533 (grub_rescue_reader): Likewise.
28534 (grub_register_rescue_reader): Likewise.
28535 (grub_rescue_run): New function based on kern/reader.c.
28536 * kern/term.c: Adapted for multiterm.
28537 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
28538 (grub_is_valid_utf8): Likewise.
28539 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
28540 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
28541 right terminal.
28542 * loader/i386/linux.c (grub_linux_boot): Likewise.
28543 * normal/auth.c (grub_username_get): New function.
28544 (grub_auth_check_authentication): Use grub_username_get.
28545 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
28546 * normal/color.c: Adapt for multiterm.
28547 * normal/main.c (read_config_file): Don't use grub_reader_loop.
28548 (grub_normal_init_page): Additional argument term.
28549 (read_lists): Call read_terminal_lists.
28550 (grub_enter_normal_mode): Call grub_cmdline_run.
28551 Handle grub_normal_exit_level.
28552 (grub_cmd_normal): Make reentrant.
28553 (grub_cmd_normal_exit): New function.
28554 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
28555 * normal/menu.c: Adapt for multiterm.
28556 * normal/menu_entry.c: Likewise.
28557 * normal/menu_text.c: Likewise.
28558 * normal/menu_viewer.c: Removed. All users updated.
28559 * normal/term.c: New file.
28560 * util/console.c: Change order of includes to workaround a bug in
28561 ncurses headers.
28562 * term/terminfo.c: New argument oterm on all exported functions.
28563 All users updated.
28564 * util/grub-editenv.c (grub_term_input_class): Removed.
28565 (grub_term_output_class): Likewise.
28566
1a064917
RM
285672010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28568
28569 Make loader output a bit more user-friendly.
28570
28571 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
28572 is being loaded. Likewise for the Hurd.
28573
28574 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
28575 that kernel of FreeBSD ${version} is being loaded.
28576
28577 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
28578 grub_dprintf().
28579 (grub_cmd_initrd): Likewise.
28580 * util/grub.d/10_linux.in (linux_entry): Print message indicating
28581 that Linux ${version} is being loaded. Likewise for initrd.
28582
5ce0a83a 285832010-01-09 Carles Pina i Estany <carles@pina.cat>
28584
28585 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
28586
809bbfeb 285872010-01-08 Carles Pina i Estany <carles@pina.cat>
28588
28589 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
28590 (GRUB_MOD_INIT): Gettextizze.
28591 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
28592 (GRUB_MOD_INIT): Gettextizze.
28593 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
28594 (grub_cmd_linux): Capitalise Linux.
28595 (GRUB_MOD_INIT): Gettextizze.
28596 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
28597 (grub_cmd_linux): Capitalise Linux.
28598 (GRUB_MOD_INIT): Gettextizze.
28599 * loader/i386/linux.c: Include `<grub/i18n.h>'.
28600 (grub_cmd_linux): Capitalise Linux.
28601 (GRUB_MOD_INIT): Gettextizze.
28602 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
28603 (GRUB_MOD_INIT): Gettextizze.
28604 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
28605 (grub_cmd_linux): Capitalise Linux.
28606 (GRUB_MOD_INIT): Gettextizze.
28607 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
28608 (grub_cpu_xnu_init): Gettextizze.
28609 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
28610 (GRUB_MOD_INIT): Gettextizze.
28611 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
28612 (GRUB_MOD_INIT): Gettextizze.
28613 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
28614 (grub_linux_load64): Capitalise Linux.
28615 (GRUB_MOD_INIT): Gettextizze.
28616 * loader/xnu.c: Include `<grub/i18n.h>'.
28617 (GRUB_MOD_INIT): Gettextizze.
28618 * po/POTFILES: Add `loader/efi/appleloader.c',
28619 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
28620 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
28621 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
28622 `loader/i386/xnu.c', `loader/multiboot_loader.c',
28623 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
28624 and `loader/xnu.c'.
28625
b394b2ca
RM
286262010-01-08 Robert Millan <rmh.grub@aybabtu.com>
28627
28628 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
28629
286302010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
28631
28632 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
28633 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
28634 * util/mkisofs/mkisofs.c (main): Readjust --version output.
28635
bc8b32b3
RM
286362010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28637
28638 Reset Multiboot 2 support. New loader implements the draft in
28639 /branches/multiboot2 and shares as much code as possible with the
28640 production Multiboot 1 implementation.
28641
28642 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
28643 * loader/multiboot2.c: Likewise.
28644 * loader/i386/multiboot_helper.S: Likewise.
28645 * include/multiboot2.h: Replace with latest version from the draft
28646 in /branches/multiboot2.
28647
28648 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
28649 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
28650 and `loader/multiboot2.c'.
28651 (pkglib_MODULES): Add `multiboot2.mod'.
28652 (multiboot2_mod_SOURCES): New variable.
28653 (multiboot2_mod_LDFLAGS): Likewise.
28654 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
28655
28656 * conf/i386-pc.rmk: Likewise.
28657
28658 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
28659 (multiboot_mod_SOURCES): Remove variable.
28660 (multiboot_mod_LDFLAGS): Likewise.
28661 (multiboot_mod_CFLAGS): Likewise.
28662
28663 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
28664 `<multiboot2.h>' instead of `<multiboot.h>'.
28665 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
28666 (MULTIBOOT_HEADER_MAGIC): New macros.
28667
28668 * loader/multiboot_loader.c (module_version_status): Remove variable.
28669 (find_multi_boot2_header): Remove function.
28670 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
28671 logic. Always check for the Multiboot version we're compiling for.
28672 (grub_cmd_module_loader): Likewise.
28673 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
28674 command instead of `multiboot'.
28675
5d2c52b8
RM
286762010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28677
28678 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
28679 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
28680 all users.
28681
53108d92
RM
286822010-01-07 Robert Millan <rmh.grub@aybabtu.com>
286832010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28684
28685 Fix breakage introduced with previous commit.
28686
28687 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
28688 commands.
28689 * normal/handler.c (read_handler_list): Revert part of previous commit
28690 affecting this file.
28691 * normal/main.c (read_lists): Move read_handler_list() call back to ...
28692 (grub_normal_execute): ... here.
28693
e2e936b2
RM
286942010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28695
28696 Merge prefix-redefinition-fix branch.
28697
28698 * normal/autofs.c (read_fs_list): Make function capable of being
28699 run multiple times, gracefuly replacing the previous data
28700 structures.
28701 * normal/dyncmd.c (read_command_list): Likewise.
28702 * normal/handler.c (read_handler_list): Likewise.
28703 * normal/main.c (read_lists): New function. Calls all the
28704 list reading functions.
28705 (grub_normal_execute): Use read_lists() instead of calling all
28706 list reading functions explicitly. Register read_lists() as a
28707 variable hook attached to ${prefix}.
28708
607a3701
VS
287092010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28710
28711 Merge crypto branch.
28712
28713 * Makefile.in (pkglib_DATA): Add crypto.lst.
28714 (crypto.lst): New target.
28715 * commands/hashsum.c: New file.
28716 * commands/password.c (check_password): Use grub_crypto_memcmp.
28717 * commands/password_pbkdf2.c: New file.
28718 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
28719 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
28720 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
28721 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
28722 -I$(srcdir)/lib/libgcrypt_wrap.
28723 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
28724 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
28725 password_pbkdf2.mod.
28726 (crypto_mod_SOURCES): New variable.
28727 (crypto_mod_CFLAGS): Likewise.
28728 (crypto_mod_LDFLAGS): Likewise.
28729 (hashsum_mod_SOURCES): New variable.
28730 (hashsum_mod_CFLAGS): Likewise.
28731 (hashsum_mod_LDFLAGS): Likewise.
28732 (pbkdf2_mod_SOURCES): New variable.
28733 (pbkdf2_mod_CFLAGS): Likewise.
28734 (pbkdf2_mod_LDFLAGS): Likewise.
28735 (password_pbkdf2_mod_SOURCES): New variable.
28736 (password_pbkdf2_mod_CFLAGS): Likewise.
28737 (password_pbkdf2_mod_LDFLAGS): Likewise.
28738 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
28739 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
28740 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
28741 Include conf/gcry.rmk.
28742 * include/grub/auth.h: Rewritten.
28743 * include/grub/crypto.h: New file.
28744 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
28745 * include/grub/normal.h (read_crypto_list): New prototype.
28746 * lib/crypto.c: New file.
28747 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28748 * lib/pbkdf2.c: Likewise.
28749 * normal/auth.c (grub_auth_strcmp): Removed.
28750 (grub_iswordseparator): Likewise.
28751 (grub_auth_strword): Likewise.
28752 (is_authenticated): Use grub_strword.
28753 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
28754 and grub_strword. Pass entered password to authentication callback.
28755 * normal/crypto.c: New file.
28756 * normal/main.c: Call read_crypto_list.
28757 * util/grub-mkpasswd-pbkdf2.c: New file.
28758 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
28759
42841caa
VS
287602010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
28761
28762 Fix descent and ascent calculation.
28763
28764 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
28765 (options): New option "asce".
28766 (usage): Likewise.
28767 (add_char): Ignore invalid glyphs for descent calculation.
28768 Calculate ascent from actual content.
28769 (print_glyphs): Use 'asce'.
28770 (write_font): Likewise. Allow ascent override.
28771 (main): Handle "asce" option.
28772
e7730de7 287732010-01-06 Carles Pina i Estany <carles@pina.cat>
28774
28775 * kern/err.c: Include `<grub/i18n.h>'.
28776 (grub_print_error): Add full stop. Gettextizze.
28777 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
28778 (grub_bsd_load_elf): Capitalise ELF.
28779 (grub_cmd_freebsd_loadenv): Add `s' in error string.
28780 (grub_cmd_freebsd_module): Likewise.
28781 (grub_cmd_freebsd_module_elf): Likewise.
28782 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
28783
40e3a41f 287842010-01-06 Carles Pina i Estany <carles@pina.cat>
28785
28786 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
28787 * commands/search_file.c (HELP_MESSAGE): New macro.
28788 * commands/search_label.c (HELP_MESSAGE): Likewise.
28789 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
28790 * po/POTFILES: Add `commands/search_file.c',
28791 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
28792 `commands/search.c'.
28793
83507e68
RM
287942010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28795
28796 * config.rpath: Update from Gnulib.
28797
465c787b
YB
287982010-01-05 Yves Blusseau <blusseau@zetam.org>
28799
28800 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
28801
6581dd3a
YB
288022010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
28803
28804 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
28805
3bff18c5
CW
288062010-01-05 Colin Watson <cjwatson@ubuntu.com>
28807
28808 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
28809 arguments to fread so that we get a return value in bytes, rather
28810 than something that will normally be rounded down to 0.
28811 Adjust error handling to avoid producing garbage when size_t is not
28812 the same size as long long.
28813
a1368118
CW
288142010-01-05 Colin Watson <cjwatson@ubuntu.com>
28815
28816 * util/mkisofs/write.c (padblock_write): Check return value of
28817 fread.
28818
7c302978
RM
288192010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28820
28821 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
28822 floppy images now.
28823
28824 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
28825
e33ace06
RM
288262010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28827
28828 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
28829 instead of manual alignment.
28830 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
28831 verbose). Avoid attempts to read past end of the device
28832 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
28833 but GRUB_DISK_CACHE_SIZE may exceed that).
28834
4b856776
RM
288352010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28836
28837 * commands/crc.c (grub_cmd_crc): Abort on read errors.
28838 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
28839 it to upper layer.
28840
52c2d97f
VS
288412010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28842
28843 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
28844 New constant.
28845 (grub_efi_piwg_device_path): New structure
28846 (grub_efi_piwg_device_path_t): New type.
28847 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
28848 (devpath_1): Transform to a structure. All users updated.
28849 (devpath_2): Likewise.
28850 (devpath_3): Likewise.
28851 (devpath_4): Likewise.
28852 (devpath_5): Likewise.
28853
98ff6a54
VS
288542010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28855
28856 * loader/efi/appleloader.c: Restored. Update all users.
28857
3a73dcb6
RM
288582010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28859
28860 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
28861
28862 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
28863 (struct boot_blocklist): Move from here ...
28864 * include/grub/i386/pc/boot.h [ASM_FILE]
28865 (struct grub_boot_blocklist): ... to here. Update all users.
28866 (setup): Only initialize `start' member of `first_block'
28867 structure. Add assert() calls to verify the other members.
28868
28869 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
28870 (generate_image): Fix broken blocklist length initialization.
28871 Add assert() call to verify blocklist `segment' field.
28872
ab0eeb0c
RM
288732010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28874
28875 * loader/efi/appleloader.c: Remove. Update all users.
28876
58bc8bd5
RM
288772010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28878
28879 * boot/i386/pc/boot.S: Update copyright year.
28880 * boot/i386/pc/cdboot.S: Likewise.
28881 * boot/i386/pc/diskboot.S: Likewise.
28882 * boot/i386/pc/lnxboot.S: Likewise.
28883 * boot/i386/pc/pxeboot.S: Likewise.
28884 * bus/pci.c: Likewise.
28885 * commands/cmp.c: Likewise.
28886 * commands/help.c: Likewise.
28887 * commands/hexdump.c: Likewise.
28888 * commands/i386/pc/halt.c: Likewise.
28889 * commands/i386/pc/play.c: Likewise.
28890 * commands/i386/pc/vbeinfo.c: Likewise.
28891 * commands/ls.c: Likewise.
28892 * commands/test.c: Likewise.
28893 * disk/dmraid_nvidia.c: Likewise.
28894 * disk/i386/pc/biosdisk.c: Likewise.
28895 * disk/ieee1275/nand.c: Likewise.
28896 * disk/ieee1275/ofdisk.c: Likewise.
28897 * disk/lvm.c: Likewise.
28898 * disk/raid.c: Likewise.
28899 * disk/raid6_recover.c: Likewise.
28900 * disk/scsi.c: Likewise.
28901 * fs/affs.c: Likewise.
28902 * fs/cpio.c: Likewise.
28903 * fs/ext2.c: Likewise.
28904 * fs/hfs.c: Likewise.
28905 * fs/iso9660.c: Likewise.
28906 * fs/ntfs.c: Likewise.
28907 * fs/sfs.c: Likewise.
28908 * fs/udf.c: Likewise.
28909 * fs/ufs.c: Likewise.
28910 * fs/xfs.c: Likewise.
28911 * gencmdlist.sh: Likewise.
28912 * genmk.rb: Likewise.
28913 * include/grub/disk.h: Likewise.
28914 * include/grub/efi/api.h: Likewise.
28915 * include/grub/efi/efi.h: Likewise.
28916 * include/grub/efi/pe32.h: Likewise.
28917 * include/grub/elf.h: Likewise.
28918 * include/grub/fs.h: Likewise.
28919 * include/grub/i386/at_keyboard.h: Likewise.
28920 * include/grub/i386/pc/memory.h: Likewise.
28921 * include/grub/i386/pc/vbe.h: Likewise.
28922 * include/grub/i386/pci.h: Likewise.
28923 * include/grub/i386/tsc.h: Likewise.
28924 * include/grub/ieee1275/ieee1275.h: Likewise.
28925 * include/grub/ntfs.h: Likewise.
28926 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28927 * include/grub/sparc64/libgcc.h: Likewise.
28928 * include/grub/symbol.h: Likewise.
28929 * include/grub/types.h: Likewise.
28930 * include/multiboot2.h: Likewise.
28931 * io/gzio.c: Likewise.
28932 * kern/device.c: Likewise.
28933 * kern/disk.c: Likewise.
28934 * kern/efi/efi.c: Likewise.
28935 * kern/efi/mm.c: Likewise.
28936 * kern/elf.c: Likewise.
28937 * kern/file.c: Likewise.
28938 * kern/i386/dl.c: Likewise.
28939 * kern/i386/pc/init.c: Likewise.
28940 * kern/i386/pc/startup.S: Likewise.
28941 * kern/ieee1275/ieee1275.c: Likewise.
28942 * kern/ieee1275/init.c: Likewise.
28943 * kern/main.c: Likewise.
28944 * kern/mm.c: Likewise.
28945 * kern/powerpc/dl.c: Likewise.
28946 * kern/sparc64/dl.c: Likewise.
28947 * kern/x86_64/dl.c: Likewise.
28948 * lib/hexdump.c: Likewise.
28949 * loader/efi/appleloader.c: Likewise.
28950 * loader/i386/ieee1275/linux.c: Likewise.
28951 * loader/i386/pc/chainloader.c: Likewise.
28952 * loader/i386/pc/linux.c: Likewise.
28953 * loader/i386/pc/multiboot2.c: Likewise.
28954 * loader/ieee1275/multiboot2.c: Likewise.
28955 * loader/multiboot2.c: Likewise.
28956 * loader/multiboot_loader.c: Likewise.
28957 * loader/powerpc/ieee1275/linux.c: Likewise.
28958 * normal/completion.c: Likewise.
28959 * normal/menu_entry.c: Likewise.
28960 * partmap/apple.c: Likewise.
28961 * util/grub.d/10_hurd.in: Likewise.
28962 * util/hostfs.c: Likewise.
28963 * video/readers/png.c: Likewise.
28964
e2d70b5c
CW
289652010-01-03 Colin Watson <cjwatson@ubuntu.com>
28966
28967 * include/grub/misc.h (GNUC_PREREQ): New macro.
28968 (ATTRIBUTE_ERROR): New macro.
28969 * include/grub/list.h (grub_bad_type_cast_real): Use
28970 ATTRIBUTE_ERROR.
28971
a173283f 289722010-01-03 Carles Pina i Estany <carles@pina.cat>
28973
28974 * normal/menu_text.c (print_message): Change messages.
28975
7fa7ff74 289762010-01-03 Carles Pina i Estany <carles@pina.cat>
28977
28978 * normal/menu_entry.c (store_completion): Gettextizze.
28979
136d24f6 289802010-01-03 Carles Pina i Estany <carles@pina.cat>
28981
28982 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
28983
f936862e 289842010-01-03 Carles Pina i Estany <carles@pina.cat>
28985
28986 * po/POTFILES: Sort correctly.
28987
29c44ad1 289882010-01-03 Carles Pina i Estany <carles@pina.cat>
28989
28990 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
28991 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
28992 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
28993 full stop.
28994 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
28995 summary. Gettextizze the strings.
28996 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
28997 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
28998 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
28999 full stop.
29000 (GRUB_MOD_INIT): Remove command name from summary.
29001 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
29002 summary.
29003 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
29004 * term/i386/pc/serial.c (options): Add full stops.
29005 (GRUB_MOD_INIT): Remove command name from the summary.
29006
77a79592 290072010-01-03 Carles Pina i Estany <carles@pina.cat>
29008
29009 * commands/acpi.c: Gettextizze help strings and/or options. Include
29010 `grub/i18n.h' if needed.
29011 * commands/blocklist.c: Likewise.
29012 * commands/boot.c: Likewise.
29013 * commands/cat.c: Likewise.
29014 * commands/cmp.c: Likewise.
29015 * commands/configfile.c: Likewise.
29016 * commands/crc.c: Likewise.
29017 * commands/date.c: Likewise.
29018 * commands/echo.c: Likewise.
29019 * commands/efi/fixvideo.c: Likewise.
29020 * commands/efi/loadbios.c: Likewise.
29021 * commands/gptsync.c: Likewise.
29022 * commands/halt.c: Likewise.
29023 * commands/handler.c: Likewise.
29024 * commands/hdparm.c: Likewise.
29025 * commands/hexdump.c: Likewise.
29026 * commands/i386/cpuid.c: Likewise.
29027 * commands/i386/pc/drivemap.c: Likewise.
29028 * commands/i386/pc/halt.c: Likewise.
29029 * commands/i386/pc/pxecmd.c: Likewise.
29030 * commands/i386/pc/vbeinfo.c: Likewise.
29031 * commands/i386/pc/vbetest.c: Likewise.
29032 * commands/ieee1275/suspend.c: Likewise.
29033 * commands/keystatus.c: Likewise.
29034 * commands/loadenv.c: Likewise.
29035 * commands/ls.c: Likewise.
29036 * commands/lsmmap.c: Likewise.
29037 * commands/lspci.c: Likewise.
29038 * commands/memrw.c: Likewise.
29039 * commands/minicmd.c: Likewise.
29040 * commands/parttool.c: Likewise.
29041 * commands/password.c: Likewise.
29042 * commands/probe.c: Likewise.
29043 * commands/read.c: Likewise.
29044 * commands/reboot.c: Likewise.
29045 * commands/search.c: Likewise.
29046 * commands/sleep.c: Likewise.
29047 * commands/test.c: Likewise.
29048 * commands/true.c: Likewise.
29049 * commands/usbtest.c: Likewise.
29050 * commands/videotest.c: Likewise.
29051 * commands/xnu_uuid.c: Likewise.
29052 * disk/loopback.c: Likewise.
29053 * hello/hello.c: Likewise.
29054 * loader/i386/bsd.c: Likewise.
29055 * term/i386/pc/serial.c: Likewise.
29056 * po/POTFILES: Add new files.
29057
da8d5c53
CW
290582010-01-02 Colin Watson <cjwatson@ubuntu.com>
29059
29060 * term/i386/pc/at_keyboard.c
29061 (keyboard_controller_wait_untill_ready): Rename to ...
29062 (keyboard_controller_wait_until_ready): ... this. Update all users.
29063
33937904 290642010-01-01 Carles Pina i Estany <carles@pina.cat>
29065
29066 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
29067 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
29068 string using string width.
29069 * normal/menu_text.c (grub_print_message_indented): Use
29070 grub_print_spaces and not print_spaces.
29071 (print_timeout): Likewise.
29072 (print_spaces): Move to...
29073 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
29074
3fd3b8d8
RM
290752010-01-01 Robert Millan <rmh.grub@aybabtu.com>
29076
29077 Import from Gnulib.
29078
29079 * gnulib/getdelim.c: New file.
29080 * gnulib/getline.c: Likewise.
29081
33433555
VS
290822009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
29083
29084 * include/grub/list.h (grub_assert_fail): Removed.
29085 (grub_bad_type_cast_real): New function.
29086 (grub_bad_type_cast): New macro.
29087 (GRUB_AS_LIST): Use grub_bad_type_cast.
29088 (GRUB_AS_LIST_P): Likewise.
e44721e8 29089 (GRUB_AS_NAMED_LIST): Likewise.
33433555 29090 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 29091 (GRUB_AS_PRIO_LIST): Likewise.
33433555 29092 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 29093 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 29094
f5a51306
VS
290952009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
29096
29097 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
29098 Fix syntax error.
29099
90d1e879
RM
291002009-12-29 Robert Millan <rmh.grub@aybabtu.com>
29101
29102 * configure.ac: Check for TARGET_CFLAGS initialization before we
29103 initialize it ourselves (sigh).
29104 Move a few modifications to TARGET_CFLAGS to be unconditional
29105 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
29106 eh_frame)
29107
29108 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
29109 * term/i386/pc/at_keyboard.c
29110 (keyboard_controller_wait_untill_ready): Likewise.
29111 (keyboard_controller_led): Rename `led_status' paramter to avoid
29112 name conflict.
29113
465b5a81 291142009-12-28 Carles Pina i Estany <carles@pina.cat>
29115
29116 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
29117 quotes.
29118
c181849b
VS
291192009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29120
29121 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
29122
9c8739a4
VS
291232009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29124
29125 * normal/menu_text.c (grub_print_message_indented): Prevent
29126 past-the-end-of-array dereference.
29127
3e74249c
VS
291282009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29129
29130 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
29131 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
29132
64fd18ed 291332009-12-27 Carles Pina i Estany <carles@pina.cat>
29134
29135 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
29136 * normal/main.c (grub_normal_read_line): Remove a space from the
29137 default prompt.
29138
714af9b9 291392009-12-27 Carles Pina i Estany <carles@pina.cat>
29140
29141 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
29142 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29143 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
29144 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
29145 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29146 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29147 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29148
82f3e412 291492009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 29150
29151 * video/readers/jpeg.c (cmd): Declare.
29152 (grub_cmd_jpegtest): Use `grub_command_t' type.
29153 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29154 Assign to `cmd'.
29155 (GRUB_MOD_FINI): Use `cmd' to unregister.
29156 * video/readers/png.c (cmd): Declare.
29157 (grub_cmd_pngtest): Use `grub_command_t' type.
29158 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29159 Assign to `cmd'.
29160 (GRUB_MOD_FINI): Use `cmd' to unregister.
29161 * video/readers/tga.c (cmd): Declare.
29162 (grub_cmd_tgatest): Use `grub_command_t' type.
29163 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29164 Assign to `cmd'.
29165 (GRUB_MOD_FINI): Use `cmd' to unregister.
29166
82f3e412 291672009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 29168
29169 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
29170 stops.
29171 * kern/corecmd.c (grub_register_core_commands): Likewise.
29172 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
29173 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
29174 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
29175 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29176 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
29177 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
29178 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
29179 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
29180 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29181 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29182 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29183 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
29184 * normal/handler.c (insert_handler): Likewise.
29185 * normal/main.c (GRUB_MOD_INIT): Likewise.
29186 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
29187
fdcdbb66 291882009-12-26 Carles Pina i Estany <carles@pina.cat>
29189
29190 * commands/help.c (grub_cmd_help): Print the command name before the
29191 summary.
29192 (GRUB_MOD_INIT): Remove command name from the summary.
29193 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 29194 string as summary.
fdcdbb66 29195 * lib/arg.c (find_long): Print the command name before the summary.
29196 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
29197 summary.
29198 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
29199 * commands/cat.c (GRUB_MOD_INIT): Likewise.
29200 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
29201 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
29202 * commands/crc.c (GRUB_MOD_INIT): Likewise.
29203 * commands/date.c (GRUB_MOD_INIT): Likewise.
29204 * commands/echo.c (GRUB_MOD_INIT): Likewise.
29205 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
29206 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29207 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29208 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
29209 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
29210 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
29211 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
29212 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29213 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
29214 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
29215 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
29216 * commands/ls.c (GRUB_MOD_INIT): Likewise.
29217 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29218 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29219 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29220 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
29221 * commands/password.c (GRUB_MOD_INIT): Likewise.
29222 * commands/probe.c (GRUB_MOD_INIT): Likewise.
29223 * commands/read.c (GRUB_MOD_INIT): Likewise.
29224 * commands/search.c (GRUB_MOD_INIT): Likewise.
29225 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
29226 * commands/test.c (GRUB_MOD_INIT): Likewise.
29227 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
29228 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
29229 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
29230 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
29231 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
29232 * lib/arg.c (GRUB_MOD_INIT): Likewise.
29233 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
29234 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
29235 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29236 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
29237 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
29238 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
29239 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
29240 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
29241
9c288be2
VS
292422009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29243
29244 Use search command for preliminar UUID search.
29245
29246 * commands/search.c: Split into ...
29247 * commands/search_wrap.c: ...this
29248 * commands/search.c: ...and this.
29249 * commands/search_file.c: New file.
29250 * commands/search_label.c: New file.
29251 * commands/search_uuid.c: New file.
29252 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
29253 Add commands/search_wrap.c, commands/search_file.c,
29254 commands/search_label.c and commands/search_uuid.c.
29255 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
29256 (search_mod_SOURCES): Set to commands/search_wrap.c.
29257 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
29258 search_label.mod.
29259 (search_fs_file_mod_SOURCES): New variable.
29260 (search_fs_file_mod_CFLAGS): Likewise.
29261 (search_fs_file_mod_LDFLAGS): Likewise.
29262 (search_label_mod_SOURCES): Likewise.
29263 (search_label_mod_CFLAGS): Likewise.
29264 (search_label_mod_LDFLAGS): Likewise.
29265 (search_fs_uuid_mod_SOURCES): New variable.
29266 (search_fs_uuid_mod_CFLAGS): Likewise.
29267 (search_fs_uuid_mod_LDFLAGS): Likewise.
29268 (fs_file_mod_SOURCES): Removed.
29269 (fs_file_mod_CFLAGS): Likewise.
29270 (fs_file_mod_LDFLAGS): Likewise.
29271 (fs_uuid_mod_SOURCES): Removed.
29272 (fs_uuid_mod_CFLAGS): Likewise.
29273 (fs_uuid_mod_LDFLAGS): Likewise.
29274 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
29275 Set to util/grub-install.in.
29276 * disk/fs_file.c: Removed.
29277 * disk/fs_uuid.c: Likewise.
29278 * include/grub/search.h: New file.
29279 * util/grub-install.in: Handle sparc64.
29280 Create and use load.cfg.
29281 * util/sparc64/ieee1275/grub-install.in: Removed.
29282
db943399
VS
292832009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29284
29285 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
29286 Ignore return status if CF is cleared.
29287 (grub_biosdisk_get_diskinfo_standard): Likewise.
29288
3fdae612
RM
292892009-12-25 Robert Millan <rmh.grub@aybabtu.com>
29290
29291 * term/i386/pc/at_keyboard.c
29292 (keyboard_controller_wait_untill_ready): New function.
29293 (grub_keyboard_controller_write, grub_keyboard_controller_read)
29294 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
29295 for keyboard polling, rather than duplicate the same loop. This
29296 saves a few bytes in code size.
29297
7ebaa2b4
VS
292982009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29299
29300 Support for (pxe[:server[:gateway]]) syntax and
29301 use environment variable for PXE.
29302
29303 * commands/i386/pc/pxecmd.c (options): Removed.
29304 (print_ip): Removed.
29305 (grub_cmd_pxe): Removed
29306 (grub_cmd_pxe_unload): New function.
29307 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
29308 (grub_pxe_your_ip): Made static.
29309 (grub_pxe_default_server_ip): Likewise.
29310 (grub_pxe_default_gateway_ip): Likewise.
29311 (grub_pxe_blksize): Likewise.
29312 (parse_ip): New function.
29313 (grub_pxe_open): Support server and gateway specification.
29314 (grub_pxe_close): Free disk->data.
29315 (grub_pxefs_open): Use disk->data.
29316 (grub_pxefs_read): Likewise.
29317 (grub_env_write_readonly): New function.
29318 (set_mac_env): Likewise.
29319 (set_env_limn_ro): Likewise.
29320 (parse_dhcp_vendor): Likewise.
29321 (grub_pxe_detect): Set the environment variables.
29322 (set_ip_env): New function.
29323 (write_ip_env): Likewise.
29324 (grub_env_write_pxe_default_server): Likewise.
29325 (grub_env_write_pxe_default_gateway): Likewise.
29326 (grub_env_write_pxe_blocksize): Likewise.
29327 (GRUB_MOD_INIT(pxe)): Set environment variables.
29328 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
29329 (grub_pxe_mac_addr_t): ... this. All users updated.
29330 (grub_pxe_your_ip): Removed.
29331 (grub_pxe_server_ip): Likewise.
29332 (grub_pxe_gateway_ip): Likewise.
29333 (grub_pxe_blksize): Likewise.
29334
ec5f98ab 293352009-12-25 Carles Pina i Estany <carles@pina.cat>
29336
29337 * commands/help.c: Include `<grub/i18n.h>'.
29338 (grub_cmd_help): Gettextizze.
29339 (GRUB_MOD_INIT): Likewise.
29340 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
29341 (GRUB_MOD_INIT): Gettextizze.
29342 * commands/search.c: Include `<grub/i18n.h>'.
29343 (options): Gettextizze.
29344 (GRUB_MOD_INIT): Gettextizze.
29345 * lib/arg.c: Include `<grub/i18n.h>'.
29346 (help_options): Gettextizze.
29347 (find_long): Likewise.
29348 (grub_arg_show_help): Likewise.
29349 * normal/dyncmd.c: Include `<grub/i18n.h>'.
29350 (read_command_list): Gettextizze.
29351 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 29352 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 29353
22815526
RM
293542009-12-25 Robert Millan <rmh.grub@aybabtu.com>
29355
29356 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
29357 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
29358 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
29359 (led_status): New variable.
29360 (keyboard_controller_led): New function.
29361 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
29362 update led status for caps lock, num lock and scroll lock.
29363
0ad46fd7
FZ
293642009-12-25 Felix Zielcke <fzielcke@z-51.de>
29365
29366 * util/hostdisk.c (open_device): Fix a comment.
29367
d0e158c2
RM
293682009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29369
29370 * util/grub-install.in (host_os): New variable.
29371 * util/i386/efi/grub-install.in (host_os): Likewise.
29372
401c0ad6
RM
293732009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29374
29375 * util/mkisofs/write.c (padblock_write): Abort when given an
29376 excedingly large embed image, instead of silently truncating it.
29377
d14d3370
RM
293782009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29379
29380 * include/multiboot.h: Indentation fixes.
29381
eeed10b4
RM
293822009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29383
29384 * include/multiboot.h (struct multiboot_aout_symbol_table)
29385 (struct multiboot_elf_section_header_table): New structure
29386 declarations (stolen from GRUB Legacy).
29387 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
29388 table information.
29389
29390 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
29391 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
29392 type aliases.
29393
681c70ab
RM
293942009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29395
29396 * include/multiboot.h: Make comments src2texi-friendly.
29397
e4d47d8d
RM
293982009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29399
29400 For consistency with [multiboot]/docs/boot.S.
29401
29402 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
29403 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
29404 (MULTIBOOT_MAGIC2): Rename from this ...
29405 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
29406
a0b70bda
RM
294072009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29408
29409 * include/multiboot.h: Remove `<grub/types.h>'.
29410 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
29411 types. Update all users.
29412
61ba42be 294132009-12-25 Carles Pina i Estany <carles@pina.cat>
29414
29415 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
29416 `couldn't' and `can not' by `cannot'.
29417 * commands/i386/pc/drivemap.c: Likewise.
29418 * disk/ata.c: Likewise.
29419 * disk/ieee1275/nand.c: Likewise.
29420 * fs/affs.c: Likewise.
29421 * fs/fat.c: Likewise.
29422 * fs/hfs.c: Likewise.
29423 * fs/hfsplus.c: Likewise.
29424 * fs/iso9660.c: Likewise.
29425 * fs/jfs.c: Likewise.
29426 * fs/minix.c: Likewise.
29427 * fs/reiserfs.c: Likewise.
29428 * fs/sfs.c: Likewise.
29429 * fs/udf.c: Likewise.
29430 * fs/ufs.c: Likewise.
29431 * fs/xfs.c: Likewise.
29432 * loader/powerpc/ieee1275/linux.c: Likewise.
29433 * loader/sparc64/ieee1275/linux.c: Likewise.
29434 * util/grub-probe.c: Likewise.
29435 * util/misc.c: Likewise.
29436
7fd0baee 294372009-12-24 Carles Pina i Estany <carles@pina.cat>
29438
29439 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
29440 grub_errno calls.
29441 * commands/acpi.c: Likewise.
29442 * commands/blocklist.c: Likewise.
29443 * commands/efi/loadbios.c: Likewise.
29444 * commands/i386/pc/drivemap.c: Likewise.
29445 * commands/loadenv.c: Likewise.
29446 * commands/memrw.c: Likewise.
29447 * commands/password.c: Likewise.
29448 * commands/videotest.c: Likewise.
29449 * disk/ata.c: Likewise.
29450 * disk/ata_pthru.c: Likewise.
29451 * disk/dmraid_nvidia.c: Likewise.
29452 * disk/ieee1275/nand.c: Likewise.
29453 * disk/ieee1275/ofdisk.c: Likewise.
29454 * disk/loopback.c: Likewise.
29455 * disk/lvm.c: Likewise.
29456 * disk/mdraid_linux.c: Likewise.
29457 * disk/raid.c: Likewise.
29458 * disk/raid6_recover.c: Likewise.
29459 * disk/scsi.c: Likewise.
29460 * efiemu/main.c: Likewise.
29461 * efiemu/mm.c: Likewise.
29462 * efiemu/pnvram.c: Likewise.
29463 * efiemu/symbols.c: Likewise.
29464 * font/font.c: Likewise.
29465 * fs/cpio.c: Likewise.
29466 * fs/hfsplus.c: Likewise.
29467 * fs/iso9660.c: Likewise.
29468 * fs/jfs.c: Likewise.
29469 * fs/minix.c: Likewise.
29470 * fs/ntfs.c: Likewise.
29471 * fs/ntfscomp.c: Likewise.
29472 * fs/reiserfs.c: Likewise.
29473 * fs/ufs.c: Likewise.
29474 * fs/xfs.c: Likewise.
29475 * gettext/gettext.c: Likewise.
29476 * include/grub/auth.h: Likewise.
29477 * kern/elf.c: Likewise.
29478 * kern/file.c: Likewise.
29479 * kern/ieee1275/init.c: Likewise.
29480 * kern/ieee1275/mmap.c: Likewise.
29481 * kern/ieee1275/openfw.c: Likewise.
29482 * kern/powerpc/dl.c: Likewise.
29483 * kern/sparc64/dl.c: Likewise.
29484 * lib/arg.c: Likewise.
29485 * loader/i386/bsd.c: Likewise.
29486 * loader/i386/bsdXX.c: Likewise.
29487 * loader/i386/efi/linux.c: Likewise.
29488 * loader/i386/efi/xnu.c: Likewise.
29489 * loader/i386/ieee1275/linux.c: Likewise.
29490 * loader/i386/linux.c: Likewise.
29491 * loader/i386/multiboot.c: Likewise.
29492 * loader/i386/pc/linux.c: Likewise.
29493 * loader/i386/pc/multiboot2.c: Likewise.
29494 * loader/i386/xnu.c: Likewise.
29495 * loader/ieee1275/multiboot2.c: Likewise.
29496 * loader/macho.c: Likewise.
29497 * loader/machoXX.c: Likewise.
29498 * loader/multiboot2.c: Likewise.
29499 * loader/multiboot_loader.c: Likewise.
29500 * loader/powerpc/ieee1275/linux.c: Likewise.
29501 * loader/sparc64/ieee1275/linux.c: Likewise.
29502 * loader/xnu.c: Likewise.
29503 * loader/xnu_resume.c: Likewise.
29504 * mmap/i386/pc/mmap.c: Likewise.
29505 * normal/menu_viewer.c: Likewise.
29506 * partmap/acorn.c: Likewise.
29507 * partmap/amiga.c: Likewise.
29508 * partmap/apple.c: Likewise.
29509 * script/lexer.c: Likewise.
29510 * term/gfxterm.c: Likewise.
29511 * term/i386/pc/serial.c: Likewise.
29512 * term/i386/pc/vga.c: Likewise.
29513 * term/ieee1275/ofconsole.c: Likewise.
29514 * term/terminfo.c: Likewise.
29515 * video/bitmap.c: Likewise.
29516 * video/efi_gop.c: Likewise.
29517 * video/efi_uga.c: Likewise.
29518 * video/fb/video_fb.c: Likewise.
29519 * video/i386/pc/vbe.c: Likewise.
29520 * video/readers/tga.c: Likewise.
29521 * video/video.c: Likewise.
29522
0ad46fd7 295232009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
29524
29525 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
29526 * commands/lspci.c: Likewise.
29527 * commands/probe.c: Likewise.
29528 * commands/xnu_uuid.c: Likewise.
29529 * conf/i386-coreboot.rmk: Likewise.
29530 * conf/i386-efi.rmk: Likewise.
29531 * conf/i386-ieee1275.rmk: Likewise.
29532 * conf/i386-pc.rmk: Likewise.
29533 * conf/powerpc-ieee1275.rmk: Likewise.
29534 * conf/sparc64-ieee1275.rmk: Likewise.
29535 * conf/x86_64-efi.rmk: Likewise.
29536 * fs/i386/pc/pxe.c: Likewise.
29537 * gettext/gettext.c: Likewise.
29538 * include/grub/efi/graphics_output.h: Likewise.
29539 * include/grub/i386/pc/memory.h: Likewise.
29540 * kern/env.c: Likewise.
29541 * kern/i386/qemu/startup.S: Likewise.
29542 * lib/i386/pc/biosnum.c: Likewise.
29543 * lib/i386/relocator.c: Likewise.
29544 * lib/i386/relocator_asm.S: Likewise.
29545 * lib/relocator.c: Likewise.
29546 * loader/i386/bsd.c: Likewise.
29547 * loader/i386/multiboot.c: Likewise.
29548 * loader/i386/pc/chainloader.c: Likewise.
29549 * loader/i386/xnu.c: Likewise.
29550 * loader/xnu.c: Likewise.
29551 * normal/main.c: Likewise.
29552 * normal/menu_text.c: Likewise.
29553 * util/getroot.c: Likewise.
29554 * util/grub-mkconfig_lib.in: Likewise.
29555 * util/grub.d/00_header.in: Likewise.
29556 * util/i386/pc/grub-mkimage.c: Likewise.
29557 * util/mkisofs/eltorito.c: Likewise.
29558 * util/mkisofs/exclude.h: Likewise.
29559 * util/mkisofs/hash.c: Likewise.
29560 * util/mkisofs/iso9660.h: Likewise.
29561 * util/mkisofs/joliet.c: Likewise.
29562 * util/mkisofs/mkisofs.c: Likewise.
29563 * util/mkisofs/mkisofs.h: Likewise.
29564 * util/mkisofs/multi.c: Likewise.
29565 * util/mkisofs/name.c: Likewise.
29566 * util/mkisofs/rock.c: Likewise.
29567 * util/mkisofs/tree.c: Likewise.
29568 * util/mkisofs/write.c: Likewise.
29569 * video/efi_gop.c: Likewise.
29570
009ec743
VS
295712009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
29572
29573 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
29574 size counting.
29575
0ad46fd7 295762009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
29577
29578 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
29579 * genmk.rb (class SCRIPT): Modify the target file instead of source.
29580
d3d30ea0
VS
295812009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29582
29583 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
29584 (GRUB_MOD_INIT(memrw)): Update help line.
29585
a34f5c70
VS
295862009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29587
29588 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
29589 Use grub_extcmd_t. All users updated.
29590 (options): New variable.
29591 (grub_cmd_read): Restructure for readability. Support "-v" option.
29592 (grub_cmd_write): Restructure for readability.
29593
0ad46fd7 295942009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
29595
29596 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
29597
0ad46fd7 295982009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
29599
29600 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
29601 with the actual contents of the correspondending make variable.
29602 * util/grub-mkrescue.in (pkglib_DATA): New variable.
29603 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
29604 specifying `*.lst' and `efiemu??.o'
29605
0ad46fd7 296062009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
29607
29608 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
29609 after function name.
29610 Noticed by Rene Engelhard <rene@debian.org>.
29611
dc77a799
VS
296122009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29613
29614 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
29615 (options): New variable.
29616 (iospace): Likewise.
29617 (grub_lspci_iter): List IO spaces if "-i" was given.
29618 (grub_cmd_lspci): Parse options.
29619 (GRUB_MOD_INIT(lspci)): Use extcmd.
29620 (GRUB_MOD_FINI(lspci)): Likewise.
29621
0ad46fd7 296222009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
29623
29624 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
29625 `function' keyword.
29626 Patch by Tony Mancill <tmancill@debian.org>.
29627
b5d5993b
VS
296282009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29629
29630 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
29631 (grub_uhci_portstatus): Likewise.
29632 (grub_uhci_portstatus): Add necessary delay.
11d18281 29633 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 29634
941903f2 296352009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 29636
941903f2 29637 * commands/acpi.c (options): Fix capitalizations and/or full stops.
29638 (GRUB_MOD_INIT): Likewise.
29639 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 29640 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
29641 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 29642 * commands/efi/loadbios.c (enable_rom_area): Likewise.
29643 (enable_rom_area): Likewise.
29644 (GRUB_MOD_INIT): Likewise.
29645 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29646 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
29647 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29648 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
29649 * commands/hexdump.c (options): Likewise.
29650 * commands/i386/cpuid.c (options): Likewise.
29651 (GRUB_MOD_INIT): Likewise.
29652 * commands/i386/pc/drivemap.c (options): Likewise.
29653 (GRUB_MOD_INIT): Likewise.
29654 * commands/i386/pc/halt (options): Likewise.
29655 (GRUB_MOD_INIT): Likewise.
29656 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29657 * commands/i386/pc/pxecmd.c (options): Likewise.
29658 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
29659 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
29660 * commands/keystatus.c (options): Likewise.
29661 (GRUB_MOD_INIT): Likewise.
29662 * commands/loadenv.c (options): Likewise.
29663 * commands/ls.c (options): Likewise.
29664 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29665 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29666 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29667 * commands/parttool.c (helpmsg): Likewise.
29668 * commands/probe.c (options): Likewise.
29669 * commands/read.c (GRUB_MOD_INIT): Likewise.
29670 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
29671 * commands/search.c (options): Likewise.
29672 * commands/sleep.c (options): Likewise.
29673 * commands/test.c (GRUB_MOD_INIT): Likewise.
29674 * commands/true.c (GRUB_MOD_INIT): Likewise.
29675 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
29676 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
29677 * lib/arg.c (help_options): Likewise.
e9bbb4e7 29678 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
29679 `$(XGETTEXT)'.
98a50553 29680 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 29681
0ad46fd7 296822009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 29683
ef3c2c3a 29684 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
29685 instead of specifying them explicit.
29686
7922f68b
RM
296872009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29688
29689 * NEWS: Add grub-probe support for GNU/Hurd.
29690
537ce47f
RM
296912009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29692
29693 * NEWS: gettext was added after 1.97.
29694
9b214e3a
RM
296952009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29696
29697 * util/mkisofs/msdos_partition.h: New file (based on
29698 include/grub/msdos_partition.h).
29699 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
29700 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
29701 (ld_options, main): Recognize --protective-msdos-label.
29702 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
29703 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
29704 (padblock_write): If `use_protective_msdos_label' is set, patch a
29705 protective DOS-style label in the output image.
29706
29707 * util/grub-mkrescue.in: Use --protective-msdos-label.
29708
e9309813
RM
297092009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29710
29711 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
29712 boot.
29713
0ae56929
RM
297142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29715
29716 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
29717 variables.
29718 (ld_options, main): Recognize `--embedded-boot'.
29719 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
29720 declarations.
29721 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
29722 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
29723 (padblock_write): Likewise. Rewrite to support embedded boot image.
29724
29725 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
29726 for BIOS-based disk boot instead of only ElTorito.
29727
b15937b1
RM
297282009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29729
29730 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
29731 build (not needed for bootstrap).
29732
52cc3ce0
RM
297332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29734
29735 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
29736 from i386-pc build (not needed for bootstrap).
29737 Rewrite a pair of strings.
29738
36f5ff04
RM
297392009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29740
29741 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
29742
973c6c85 297432009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
29744
29745 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
29746
05d21547
AB
297472009-12-21 Andreas Born <futur.andy@googlemail.com>
29748
29749 * kern/env.c (grub_env_context_open): Mark exported variable for
29750 reexport.
29751
0175d51f
AB
297522009-12-21 Andreas Born <futur.andy@googlemail.com>
29753
29754 * kern/env.c (grub_env_export): Create nonexistent variables before
29755 exporting.
29756
7f39d92f 297572009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 29758
7f39d92f 29759 * include/grub/auth.h: Include `<grub/i18n.h>'.
29760 (GRUB_GET_PASSWORD): Gettextizze string.
29761 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
29762 menu_text.c.
29763 (grub_utf8_to_ucs4_alloc): Fix indentation.
29764 (grub_print_ucs4): Likewise.
29765 (grub_getstringwidth): Likewise.
29766 (print_message_indented): New declaration.
29767 * normal/auth.c: Include `<grub/i18n.h>'.
29768 (grub_auth_check_authentication): Gettexttize string.
29769 * normal/cmdline.c: Include `<grub/i18n.h>'.
29770 (grub_cmdline_get): Gettextizze.
29771 * normal/color.c: Include `<grub/i18n.h>'.
29772 (grub_parse_color_name_pair): Gettexttize strings.
29773 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
29774 string (use `print_message_indented').
29775 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
29776 `include/grub/normal.h'.
29777 (print_message_indented): Renamed to ...
29778 (grub_print_message_indented): ... this. Remove `static' qualifer (now
29779 used in normal/main.c).
29780 (print_message): Use `grub_print_message_indented' instead of
29781 `print_message_indented'.
29782 (print_timeout): Likewise.
29783 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
29784 (grub_normal_print_device_info): Gettexttize strings.
29785 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
29786
3041d898
VS
297872009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29788
29789 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
29790 of arguments. Return number of tokens and not arguments. All users
29791 updated.
29792
de15bf8e
VS
297932009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29794
29795 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
29796 non-MSDOS paritions.
29797
e0a6ca52
VS
297982009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
29799
29800 * include/grub/types.h (UNUSED): Removed since it conflicts with
29801 NetBSD headers. All users changed to direct __attribute__ ((unused)).
29802 Reported by Grégoire Sutre.
29803
b99518d1 298042009-12-19 Carles Pina i Estany <carles@pina.cat>
29805
29806 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
29807 (grub_print_ucs4_alloc): Likewise.
29808 (grub_getstringwidth): Likewise.
29809 * normal/main.c (grub_normal_init_page): Gettextize version string.
29810 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
29811 (getstringwidth): Renamed to ...
29812 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
29813 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
29814 (grub_print_ucs4): Remove `static' qualifer (now used in
29815 normal/main.c).
29816 * po/POTFILES: Add normal/main.c.
29817
bfd5e52b 298182009-12-19 Carles Pina i Estany <carles@pina.cat>
29819
29820 * normal/menu_text.c (STANDARD_MARGIN): New macro.
29821 (print_message_indented): Add `margin_left' and `margin_right'
29822 parameters.
29823 (print_message): Update `print_message_indented' calls. Adds '\n' to the
29824 strings.
29825 (print_timeout): Use `print_message_indented' to print the message.
29826 Deletes `second_stage' parameter.
29827 (run_menu): Update `print_timeout' calls.
29828
5a1ad2b9
VS
298292009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29830
29831 Fix console palette on OpenFirmware.
29832
29833 * term/ieee1275/ofconsole.c (MAX): Removed.
29834 (colors): Redone based on VGA palette.
29835 (grub_ofconsole_setcolor): Discard brightness bit since only 8
29836 colors are supported.
29837 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
29838
b045f00a
VS
298392009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29840
29841 Fix potential EfiEmu double prepare.
29842
29843 * efiemu/main.c (prepared): New variable
29844 (grub_efiemu_unload): Set prepare to '0'.
29845 (grub_efiemu_prepare): Return if already prepared. Set prepared.
29846
29847 set_virtual_address_map support.
29848
29849 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
29850 prototype.
29851 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
29852 prototype.
29853 (grub_efiemu_crc32): Likewise.
29854 (grub_efiemu_crc64): Likewise.
29855 (grub_efiemu_set_virtual_address_map): Likewise.
29856 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
29857 New definition.
29858 (grub_autoefi_set_virtual_address_map): Likewise.
29859 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
29860 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
29861 Restructure flow to accomodate it.
29862 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
29863 (grub_efiemu_crc): Recompute CRC32.
29864 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
29865 (efiemu_ptv_relocated): ... this. Made global. All users updated.
29866 * efiemu/symbols.c (relocated_handle): New variable.
29867 (grub_efiemu_free_syms): Free relocated_handle.
29868 (grub_efiemu_alloc_syms): Allocate relocated_handle.
29869 (grub_efiemu_write_sym_markers): New function.
29870 (grub_efiemu_set_virtual_address_map): Likewise.
29871
29872 Newer XNU parameters.
29873
29874 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
29875 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
29876 (grub_xnu_fill_devicetree): New prototype.
29877 (grub_xnu_heap_real_start): New variable.
29878 * loader/xnu.c (get_name_ptr): New function.
29879 (grub_xnu_load_driver): Fill namelen and name.
29880
29881 64-bit xnu support.
29882
29883 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
29884 and 'loader/macho64.c'.
29885 * conf/i386-pc.rmk: Likewise.
29886 * conf/x86_64-efi.rmk: Likewise.
29887 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
29888 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
29889 * include/grub/macho.h (grub_macho_segment64): New structure.
29890 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
29891 (grub_macho_size32): ... to this.
29892 (grub_macho32_get_entry_point): Renamed from ...
29893 (grub_macho_get_entry_point32): ... to this.
29894 (grub_macho_contains_macho64): New prototype.
29895 (grub_macho_size64): Likewise.
29896 (grub_macho_get_entry_point64): Likewise.
29897 (grub_macho32_load): Renamed from ...
29898 (grub_macho_load32): ... to this.
29899 (grub_macho32_filesize): Renamed from ...
29900 (grub_macho_filesize32): ... to this.
29901 (grub_macho32_readfile): Renamed from ...
29902 (grub_macho_readfile32): ... to this.
29903 (grub_macho_filesize64): New prototype.
29904 (grub_macho_readfile64): Likewise.
29905 (grub_macho_parse32): Likewise.
29906 (grub_macho_parse64): Likewise.
29907 * loader/macho.c: Split into ...
29908 * loader/machoXX.c: ... and this. Replace 32 with XX.
29909 * loader/macho32.c: New file.
29910 * loader/macho64.c: Likewise.
29911 * loader/xnu.c (grub_xnu_is_64bit): New variable.
29912 (grub_cmd_xnu_kernel): Make 32-bit only.
29913 (grub_cmd_xnu_kernel64): New function.
29914 (grub_xnu_load_driver): Support Mach-O 64.
29915 (grub_cmd_xnu_mkext): Likewise.
29916 * util/grub.d/30_os-prober.in (osx_entry): New function.
29917 Generate entries for 64-bit boot too.
29918
29919 Eliminate ad-hoc tree format in XNU and EfiEmu.
29920
29921 * efiemu/main.c (grub_efiemu_prepare): Update comment.
29922 * efiemu/pnvram.c: Rewritten to use environment variables.
29923 All users updated.
29924
29925 Inline utf16_to_utf8.
29926
29927 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
29928 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
29929 All users updated.
29930 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
29931
29932 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
29933 * commands/usbtest.c (grub_usb_get_string): ... move here.
29934 (usb_print_str): Fix error handling.
29935 * include/grub/usb.h (grub_usb_get_string): Remove.
29936
29937 UTF-8 to UTF-16 transformation.
29938
29939 * conf/common.rmk (pkglib_MODULES): Add charset.mod
29940 (charset_mod_SOURCES): New variable.
29941 (charset_mod_CFLAGS): Likewise.
29942 (charset_mod_LDFLAGS): Likewise.
29943 * include/grub/utf.h: New file.
29944 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
29945
29946 Support for device properties.
29947
29948 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
29949 (grub_xnu_devprop_device_header): Likewise.
29950 (grub_xnu_devprop_device_descriptor): Likewise.
29951 (grub_xnu_devprop_add_device): New prototype.
29952 (grub_xnu_devprop_remove_device): Likewise.
29953 (grub_xnu_devprop_remove_property): Likewise.
29954 (grub_xnu_devprop_add_property_utf8): Likewise.
29955 (grub_xnu_devprop_add_property_utf16): Likewise.
29956 (grub_cpu_xnu_init): Likewise.
29957 (grub_cpu_xnu_fini): Likewise.
29958 (grub_cpu_xnu_unload): Likewise.
29959 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
29960 (property_descriptor): Likewise.
29961 (devices): New variable.
29962 (grub_xnu_devprop_remove_property): New function.
29963 (grub_xnu_devprop_add_device): Likewise.
29964 (grub_xnu_devprop_remove_device): Likewise.
29965 (grub_xnu_devprop_add_property): Likewise.
29966 (grub_xnu_devprop_add_property_utf8): Likewise.
29967 (grub_xnu_devprop_add_property_utf16): Likewise.
29968 (hextoval): Likewise.
29969 (grub_cpu_xnu_fill_devprop): Likewise.
29970 (grub_cmd_devprop_load): Likewise.
29971 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
29972 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
29973 (cmd_devprop_load): New variable.
29974 (grub_cpu_xnu_init): New function.
29975 (grub_cpu_xnu_fini): Likewise.
29976 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
29977 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
29978 (grub_cmd_xnu_devtree): Likewise.
29979 (hextoval): New function.
29980 (unescape): Likewise.
29981 (grub_xnu_fill_devicetree): Likewise.
29982
29983 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
29984 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
29985
0945f181
VS
299862009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29987
29988 Workaround for broken ATI VBE.
29989
29990 * video/i386/pc/vbe.c (last_set_mode): New variable.
29991 (grub_vbe_set_video_mode): Set 'last_set_mode'.
29992 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
29993 (grub_video_vbe_setup): Don't check for reserved flag.
29994
0ad46fd7 299952009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
29996
29997 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
29998 the `find' command.
29999
c179ebe4
VS
300002009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
30001
30002 UUID support for HFS.
30003
30004 * fs/hfs.c (grub_hfs_uuid): New function.
30005 (grub_hfs_fs): New value .uuid.
30006 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
30007
0ad46fd7 300082009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
30009
30010 Fix a segfault with parsing unknown long options.
30011
30012 * util/grub-mkrelpath.c (options): Zero terminate it.
30013
c4a3e41a
CPE
300142009-12-13 Carles Pina i Estany <carles@pina.cat>
30015
30016 * include/grub/misc.h (grub_puts): New declaration.
30017 (grub_puts_): Likewise.
a22008a6 30018 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
30019 (grub_puts_): Likewise.
30020
2e8a7602
RM
300212009-12-13 Robert Millan <rmh.grub@aybabtu.com>
30022
30023 * util/grub-probe.c (probe): Improve error message.
30024
b50b77b9
RM
300252009-12-13 Robert Millan <rmh.grub@aybabtu.com>
30026
30027 * loader/i386/multiboot_elfxx.c
30028 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
30029 initialization.
30030
300312009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
30032
30033 Relocator framework
30034
30035 * loader/i386/xnu_helper.S: Removed. All users updated.
30036 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
30037 (relocator_mod_SOURCES): New variable.
30038 (relocator_mod_CFLAGS): Likewise.
30039 (relocator_mod_LDFLAGS): Likewise.
30040 (relocator_mod_ASFLAGS): Likewise.
30041 * conf/x86_64.rmk: Likewise.
30042 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
30043 (grub_multiboot_payload_entry_offset): Likewise.
30044 (grub_multiboot_forward_relocator): Likewise.
30045 (grub_multiboot_forward_relocator_end): Likewise.
30046 (grub_multiboot_backward_relocator): Likewise.
30047 (grub_multiboot_backward_relocator_end): Likewise.
30048 (grub_multiboot_payload_eip): New variable.
30049 (grub_multiboot_payload_orig): Likewise.
30050 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
30051 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
30052 * include/grub/i386/memory.h
30053 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
30054 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
30055 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
30056 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
30057 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
30058 * include/grub/i386/relocator.h: New file.
30059 * include/grub/x86_64/relocator.h: Likewise.
30060 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
30061 (XNU_RELOCATOR): New macro.
30062 (grub_xnu_launcher_start): Remove.
30063 (grub_xnu_launcher_end): Likewise.
30064 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
30065 (grub_xnu_heap_real_start): Remove.
30066 (grub_xnu_heap_start): Change to void *. All users updated.
30067 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
30068 * lib/i386/relocator.c: New file.
30069 * lib/i386/relocator_asm.S: Likewise.
30070 * lib/i386/relocator_backward.S: Likewise.
30071 * lib/mips/relocator.c: Likewise.
30072 * lib/mips/relocator_asm.S: Likewise.
30073 * lib/relocator.c: Likewise.
30074 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
30075 (entry): Removed.
30076 (playground): Likewise.
30077 (grub_multiboot_payload_orig): New variable.
30078 (grub_multiboot_payload_dest): Likewise.
30079 (grub_multiboot_payload_size): Likewise.
30080 (grub_multiboot_payload_eip): Likewise.
30081 (grub_multiboot_payload_esp): Likewise.
30082 (grub_multiboot_boot): Use grub_relocator32_boot.
30083 (grub_multiboot_unload): Free relocators.
30084 (grub_multiboot): Setup stack. Use relocators.
30085 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
30086 (grub_multiboot_load_elfXX): Use relocators.
30087 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
30088 (grub_multiboot_payload_size): Likewise.
30089 (grub_multiboot_payload_dest): Likewise.
30090 (grub_multiboot_payload_entry_offset): Likewise.
30091 (grub_multiboot_forward_relocator): Likewise.
30092 (grub_multiboot_backward_relocator): Likewise.
30093 (grub_multiboot_real_boot): Likewise.
30094 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
30095 (grub_xnu_entry_point): Likewise.
30096 (grub_xnu_arg1): Likewise.
30097 (grub_xnu_stack): Likewise.
30098 (grub_xnu_launch): Removed.
30099 (grub_xnu_boot_resume): New function.
30100 (grub_xnu_boot): Use relocators.
30101 * loader/i386/xnu_helper.S: Removed.
30102 * loader/xnu.c (grub_xnu_heap_start): New variable.
30103 (grub_xnu_heap_size): Likewise.
30104 (grub_xnu_heap_malloc): Use relocators.
30105 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
30106
29eb90c6
VS
301072009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
30108
30109 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
30110 anything.
30111
31027430
CPE
301122009-12-13 Carles Pina i Estany <carles@pina.cat>
30113
30114 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
30115 GRUB_ERR_NONE before calling grub_env_set.
30116
dc0c71d9
RM
301172009-12-12 Robert Millan <rmh@aybabtu.com>
30118
30119 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
30120 * genmk.rb (video): New variable.
30121 (CLEANFILES, VIDEOFILES): Add #{video}.
30122 (#{video}): New target rule.
30123 * genvideolist.sh: New file.
30124 * Makefile.in (pkglib_DATA): Add video.lst.
30125 (video.lst): New target rule.
30126 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
30127 `video.lst'.
30128 * util/grub.d/30_os-prober.in: Replace `vbe' with
30129 ${GRUB_VIDEO_BACKEND}.
30130
2a4bfcf0
RM
301312009-12-11 Robert Millan <rmh.grub@aybabtu.com>
30132
30133 * THANKS: Add David Miller.
30134
2a3aa4d5
RM
301352009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
30136
30137 libpciaccess support.
30138
30139 * Makefile.in (LIBPCIACCESS): New variable.
30140 (enable_grub_emu_pci): Likewise.
30141 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
30142 util/pci.c and commands/lspci.c.
30143 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
30144 * configure.ac (grub-emu-pci): New option.
30145 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
30146 (grub_pci_device_unmap_range): Likewise.
30147 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
30148 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
30149 (grub_pci_address_t) [!GRUB_UTIL]: New type.
30150 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
30151 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
30152 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
30153 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
30154 * include/grub/pciutils.h: New file.
30155 * util/pci.c: Likewise.
30156
0ad46fd7 301572009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
30158
30159 * util/misc.c: Don't include <errno.h> twice.
30160
0ad46fd7 301612009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
30162
30163 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
30164 name in an error message.
30165 (grub_biosdisk_rw): Likewise.
30166
2e59983c
VS
301672009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30168
30169 Eliminate NTFS 4Gib barrier.
30170
30171 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
30172 (read_run_data): Likewise.
30173 (grub_ntfs_read_run_list): Likewise.
30174 (grub_ntfs_read_block): Likewise.
30175 (grub_ntfs_iterate_dir): Likewise.
30176 (read_mft): Likewise.
30177 (read_data): Likewise.
30178 Use COM_LOG_LEN.
30179 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
30180 to avoid 64-bit division
30181 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
30182 (grub_ntfs_rlst): Use grub_disk_addr_t.
30183
71ee178a
VS
301842009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30185
30186 Eliminate grub-fstest 4Gib barrier.
30187
30188 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
30189 (read_file): Fix error reporting.
30190
2520d4b8
VS
301912009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30192
30193 Eliminate hexdump 4Gib barrier.
30194
30195 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
30196 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
30197
e1f27065
VS
301982009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30199
30200 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
30201 Fixes amarsh bug.
30202
1a0f7f45
RM
302032009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
30204
30205 Remove miscellaneous files in distclean target.
30206
30207 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
30208
c631d9fb
CW
302092009-12-09 Colin Watson <cjwatson@ubuntu.com>
30210
30211 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
30212 if they're already set. This resolves the conflict between my
30213 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
30214 fixing the --grub-probe option again.
30215 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
30216 change on 2009-10-06, so that we now once again source
30217 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30218
7c7b6106
RM
302192009-12-08 Robert Millan <rmh.grub@aybabtu.com>
30220
30221 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
30222 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
30223 `util/devicemap.c'.
30224
e3069ec1
CPE
302252009-12-08 Carles Pina i Estany <carles@pina.cat>
30226
30227 * include/grub/misc.h (grub_printf_): New declaration.
30228 * kern/misc.c (grub_printf_): New definition.
30229 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
30230 instead of `grub_printf' and `_'.
30231 * normal/menu_entry.c (store_completion): Likewise.
30232 (run): Likewise.
30233 (grub_menu_entry_run): Likewise.
30234 * normal/menu_text.c (grub_wait_after_message): Likewise.
30235 (notify_booting): Likewise.
30236 (notify_fallback): Likewise.
30237 (notify_execution_failure): Likewise.
30238
d6ceebf1
CW
302392009-12-07 Colin Watson <cjwatson@ubuntu.com>
30240
30241 * configure.ac: Check for vasprintf.
30242 * util/misc.c (asprintf): Move allocation from here ...
30243 (vasprintf): ... to here. New function.
30244 (xasprintf): New function.
30245 * include/grub/util/misc.h (vasprintf, xasprintf): Add
30246 prototypes.
30247 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
30248 * util/grub-mkfont.c (write_font): Likewise.
30249 * util/grub-probe.c (probe): Likewise.
30250 * util/hostdisk.c (make_device_name): Likewise.
30251
de6daa8b
DM
302522009-12-06 David S. Miller <davem@sunset.davemloft.net>
30253
30254 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
30255 anything even prefixed with 'cdrom' as a cdrom.
30256
0ad46fd7 302572009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
30258
30259 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
30260 mount points.
30261
98d3dc02
CPE
302622009-12-05 Carles Pina i Estany <carles@pina.cat>
30263
30264 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
30265 grub_gettext_msg_list.
30266 (grub_gettext_gettranslation_from_position): Return const char *
30267 and not char *.
a2c1332b 30268 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
30269 returns from the list if existing there.
30270 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
30271 (grub_gettext_delete_list): Delete the list.
30272 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
30273 lang environment variable is changed.
30274 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
30275
b283f108
VS
302762009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
30277
30278 Rename kernel.mod to kernel.img.
30279
30280 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
30281 (kernel_mod_EXPORTS): Rename to ...
30282 (kernel_img_EXPORTS): ... this.
30283 (kernel_mod_SOURCES): Rename to ...
30284 (kernel_img_SOURCES): ... this.
30285 (kernel_mod_HEADERS): Rename to ...
30286 (kernel_img_HEADERS): ... this. All users updated.
30287 (kernel_mod_CFLAGS): Rename to ...
30288 (kernel_img_CFLAGS): ... this.
30289 (kernel_mod_ASFLAGS): Rename to ...
30290 (kernel_img_ASFLAGS): ... this.
30291 (kernel_mod_LDFLAGS): Rename to ...
30292 (kernel_img_LDFLAGS): ... this.
30293 * conf/x86_64-efi.rmk: Likewise.
30294 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
30295 (read_kernel_image): ... this. All users updated.
30296 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
30297
69055f8a
CPE
302982009-12-05 Carles Pina i Estany <carles@pina.cat>
30299
30300 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
30301 (print_spaces): New function.
30302 (grub_print_ucs4): New function.
30303 (getstringwidth): New function.
30304 (print_message_indented): New function.
30305 (print_message): Gettexttize strings using print_message_indented.
30306 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
30307 width.
30308 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 30309 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
30310 Gettextize.
30311 * normal/menu_entry.c (store_completion): Cleanup the gettextized
30312 string.
30313 (run): Likewise.
30314 (grub_menu_entry_run): Likewise.
30315 * PO/POTFILES: Add normal/menu_entry.c.
30316
f616f51c
VS
303172009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
30318
30319 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
30320
57bbe3be
CPE
303212009-12-05 Carles Pina i Estany <carles@pina.cat>
30322
30323 * util/grub-install.in: Install gettext .mo files.
30324 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
30325
013d67a1
CPE
303262009-12-05 Carles Pina i Estany <carles@pina.cat>
30327
30328 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
30329 grub_dprintf.
30330
fb954db0
RM
303312009-12-05 Robert Millan <rmh.grub@aybabtu.com>
30332
30333 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
30334 non-firmware-dependant one in realmode.S takes precedence.
30335
6b8474f8
RM
303362009-12-04 Robert Millan <rmh.grub@aybabtu.com>
30337
30338 * commands/halt.c: Replace misc arch-specific headers with
30339 `<grub/misc.h>'.
30340 * commands/reboot.c: Likewise.
30341 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
30342 `<grub/misc.h>'.
30343 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
30344 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
30345 (kernel_img_SOURCES): ... to here.
30346
30347 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
30348 * include/grub/i386/pc/init.h: Likewise.
30349 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
30350 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30351
30352 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
30353
30354 * include/grub/i386/halt.h: Remove.
30355 * include/grub/i386/reboot.h: Likewise.
30356
30357 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
30358
4b2e6ca2
DM
303592009-12-03 David S. Miller <davem@sunset.davemloft.net>
30360
30361 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
30362 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
30363 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
30364 "progname.h"
30365 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
30366 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30367 (usage): Add missing comma in printf.
30368
5239348f
RM
303692009-12-02 Robert Millan <rmh.grub@aybabtu.com>
30370
30371 Use the same reboot approach on i386 coreboot and qemu as we do on
30372 BIOS.
30373
30374 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
30375 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
30376 * kern/i386/reboot.c: Remove.
30377 * include/grub/i386/reboot.h (grub_reboot): Export function.
30378 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
30379 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
30380 0xf000:0xfff0 instead of 0xffff:0x0000.
30381 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
30382 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
30383
ef34cbd4
RM
303842009-11-30 Robert Millan <rmh.grub@aybabtu.com>
30385
30386 Fix $srcdir != $objdir build.
30387
30388 * Makefile.in (po/%.po): Rewrite as ...
30389 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
30390
dc9837ea
ST
303912009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
30392
30393 Fix GNU/Hurd grub-install crash.
30394 * util/grub-probe.c (probe): Try to access `path' only when it is not
30395 NULL.
30396
2f857f98
VS
303972009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30398
30399 Correct module naming.
30400
30401 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
30402 (GRUB_MOD_INIT(efi_uga)): ... to this
30403 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
30404 (GRUB_MOD_FINI(efi_uga)): ... to this
30405 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
30406 (GRUB_MOD_INIT(efi_gop)): ... to this
30407 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
30408 (GRUB_MOD_FINI(efi_gop)): ... to this
30409
c5448046
RM
304102009-11-28 Robert Millan <rmh.grub@aybabtu.com>
30411
30412 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
30413 translatable.
30414 (usage): Translate `arg' strings using gettext().
30415 Thanks to Jordi Mallach for the suggestion.
30416
c85184ad
VS
304172009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30418
30419 GOP support. Based on patch from Bean
30420 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30421
30422 * video/efi_gop.c: New file.
30423 * include/grub/efi/graphics_output.h: Likewise.
30424 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
30425 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30426 variables.
30427 * conf/x86_64-efi.rmk: Likewise.
30428
8a4c48d8
VS
304292009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30430
30431 Rename efi_fb to efi_uga.
30432
30433 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30434 'efi_uga.mod'.
30435 (efi_fb_mod_SOURCES): Rename this ...
30436 (efi_uga_mod_SOURCES): ... to this.
30437 (efi_fb_mod_CFLAGS): Rename this ...
30438 (efi_uga_mod_CFLAGS): ... to this.
30439 (efi_fb_mod_LDFLAGS): Rename this ...
30440 (efi_uga_mod_LDFLAGS): ... to this.
30441 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30442 'efi_uga.mod'.
30443 (efi_fb_mod_SOURCES): Rename this ...
30444 (efi_uga_mod_SOURCES): ... to this.
30445 (efi_fb_mod_CFLAGS): Rename this ...
30446 (efi_uga_mod_CFLAGS): ... to this.
30447 (efi_fb_mod_LDFLAGS): Rename this ...
30448 (efi_uga_mod_LDFLAGS): ... to this.
30449 * video/efi_fb.c: Move this ...
30450 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
30451
fb6c1a7b
RM
304522009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30453
30454 * po/README: New file. Explain our PO file workflow.
30455
3bc7896c
RM
304562009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30457
30458 * po/ChangeLog: Remove. Move relevant entries back to ...
30459 * ChangeLog: ... here.
30460 * po/ca.po: Remove (now handled by TLP).
30461 * po/id.po: Likewise.
30462 * po/zh_CN.po: Likewise.
30463 * Makefile.in (LINGUAS): Initialize in a way that supports
30464 empty set.
30465
9ed4841d
RM
304662009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30467
30468 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
30469 reliing on po/LINGUAS.
30470 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
30471 (po/%.po): ... this.
30472
0ad46fd7 304732009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
30474
30475 * util/i386/efi/grub-mkimage.c: Include "progname.h".
30476 (main): Use `program_name' instead of nonexistent `progname'.
30477
e30dd392
FZ
304782009-11-26 Felix Zielcke <fzielcke@z-51.de>
30479
30480 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30481 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
30482
7656de4f
RM
304832009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30484
30485 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
30486 commit.
30487 * conf/i386-efi.rmk: Likewise.
30488 * conf/i386-ieee1275.rmk: Likewise.
30489 * conf/powerpc-ieee1275.rmk: Likewise.
30490 * conf/sparc64-ieee1275.rmk: Likewise.
30491 * conf/x86_64-efi.rmk: Likewise.
30492
db77c4d4
FZ
304932009-11-26 Felix Zielcke <fzielcke@z-51.de>
30494
30495 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
30496
a755bb04
FZ
304972009-11-26 Felix Zielcke <fzielcke@z-51.de>
30498
30499 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
30500
8a4c07fd
RM
305012009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30502
30503 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
30504 (grub_mkdevicemap_SOURCES): New variable.
30505 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
30506 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
30507 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
30508 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
30509 (grub_mkdevicemap_SOURCES): Remove.
30510 * conf/i386-efi.rmk: Likewise.
30511 * conf/i386-ieee1275.rmk: Likewise.
30512 * conf/i386-pc.rmk: Likewise.
30513 * conf/powerpc-ieee1275.rmk: Likewise.
30514 * conf/sparc64-ieee1275.rmk: Likewise.
30515 * conf/x86_64-efi.rmk: Likewise.
30516 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
30517 (usage): Fix strings to use `program_name'.
30518 (main): Initialize gettext.
30519 * util/grub-editenv.c: Likewise.
30520 * util/grub-emu.c: Likewise.
30521 * util/grub-fstest.c: Likewise.
30522 * util/grub-mkdevicemap.c: Likewise.
30523 * util/grub-mkfont.c: Likewise.
30524 * util/grub-mkrelpath.c: Likewise.
30525 * util/grub-pe2elf.c: Likewise.
30526 * util/grub-probe.c: Likewise.
30527 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30528 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
30529 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30530
30531 * util/misc.c: Include `"progname.h"'.
30532 (progname): Remove variable.
30533 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
30534
6f61ed55
FZ
305352009-11-25 Felix Zielcke <fzielcke@z-51.de>
30536
30537 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
30538 printf and print a newline after the menuentry header line.
30539 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30540
f022876b
FZ
305412009-11-25 Felix Zielcke <fzielcke@z-51.de>
30542
30543 autoconf >= 2.60 support $(localedir).
30544
30545 * INSTALL: Note that autoconf 2.60 is required.
30546 * configure.ac (AC_PREREQ): Bump to 2.60.
30547 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
30548 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
30549
6717926e
YB
305502009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
30551
30552 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
30553 aclocal is run.
30554
08806a54
RM
305552009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30556
30557 * normal/main.c (grub_normal_read_line): Fix off-by-one
30558 buffer overflow.
30559
13b33fba
RM
305602009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30561
30562 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
30563 "parser.grub" in grub_command_execute() call.
30564
4a8572e9
CPE
305652009-11-24 Carles Pina i Estany <carles@pina.cat>
30566
30567 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
30568 * conf/i386-efi.rmk: Likewise.
30569 * conf/i386-ieee1275.rmk: Likewise.
30570 * conf/i386-pc.rmk: Likewise.
30571 * conf/powerpc-ieee1275.rmk: Likewise.
30572 * conf/sparc64-ieee1275.rmk: Likewise.
30573 * conf/x86_64-efi.rmk: Likewise.
30574 * gettext/gettex.c: Include <grub/i18n.h>.
30575 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
30576 here ...
30577 * include/grub/i18n.h: ... to here
30578 * include/grub/i18n.h: ... to here.
30579 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 30580 (grub_gettext_dummy): Move above user.
4a8572e9 30581
bee48093
FZ
305822009-11-24 Felix Zielcke <fzielcke@z-51.de>
30583
30584 * util/Makefile.in (install-local): Convert a `for' into a normal
30585 shell expansion.
30586
a031e91c
RM
305872009-11-24 Robert Millan <rmh.grub@aybabtu.com>
30588
30589 * autogen.sh: Add automake call.
30590 * config.guess: Remove.
30591 * config.sub: Likewise.
30592 * install-sh: Likewise.
30593
26bec39d
FZ
305942009-11-24 Felix Zielcke <fzielcke@z-51.de>
30595
30596 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
30597
8e2532fd
FZ
305982009-11-24 Felix Zielcke <fzielcke@z-51.de>
30599
30600 * util/Makefile.in (install-local): Convert a make `$(foreach)'
30601 function to a normal shell `for'.
30602
fefa1b7d
FZ
306032009-11-24 Felix Zielcke <fzielcke@z-51.de>
30604
30605 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30606
4501250b
FZ
306072009-11-24 Felix Zielcke <fzielcke@z-51.de>
30608
30609 * util/grub-mkrelpath.c: New file.
30610 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
30611 (grub_mkrelpath_SOURCES): New variable.
30612 * include/grub/util/misc.h: New function prototype.
30613 * util/misc.c (make_system_path_relative_to_its_root): New function.
30614
30615 * util/grub-mkconfig_lib.in (bindir): New variable.
30616 (grub_mkrelpath): Likewise.
30617 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
30618
30619 * util/probe.c (probe): Make the file path relative to its root.
30620 Change a info message to use the GRUB path. Enable again the
30621 check if we can read the file with GRUB facilities.
30622
30623 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
30624 to its root.
30625
11d9778b
FZ
306262009-11-24 Felix Zielcke <fzielcke@z-51.de>
30627
30628 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
30629 platform.
30630
4465287d
FZ
306312009-11-24 Felix Zielcke <fzielcke@z-51.de>
30632
30633 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
30634 strncmp().
30635
62b47f22
FZ
306362009-11-24 Felix Zielcke <fzielcke@z-51.de>
30637
30638 * util/getroot.c (grub_util_is_dmraid): New function.
30639 (grub_util_get_dev_abstraction): Treat dmraid and multipath
30640 devices as normal ones, not as LVM.
30641
1eafb9b9 306422009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
30643
30644 * conf/common.rmk: Add grub-gettext_lib target and updates
30645 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
30646 LDFLAGS.
30647 * gettext/gettext.c: New file. (Reads mo files).
30648 * include/grub/file.h (grub_file_pread): New prototype.
30649 * include/grub/i18n.h (_): New prototype.
30650 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
30651 prototypes.
30652 * kern/misc.c (grub_gettext_dummy): New function.
30653 * normal/menu_text.c: Include <grub/i18n.h>.
30654 * normal/menu_text.c (print_timeout): Gettexttize string.
30655 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
30656 * po/POTFILES: Add `normal/menu_text.c'.
30657 * po/ca.po: Add new translations.
c3ea6bd4
CPE
30658 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
30659 gettext module and defines locale_dir and lang in grub.cfg.
30660 * NEWS: Add gettext support.
30661
0fdb2568
RM
306622009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30663
30664 * util/hostdisk.c: Include `<grub/i18n.h>'.
30665 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
30666 (make_device_name): Rewrite using asprintf.
30667 (convert_system_partition_to_system_disk): Replace 0 with NULL.
30668 (find_system_device): If a device is not found, generate one just
30669 by reusing the OS path name.
30670 (read_device_map): Make it permissible for device.map not to exist.
30671
f515aa62
RM
306722009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30673
30674 * script/sh/execute.c: Move from here ...
30675 * script/execute.c: ... to here. Update all users.
30676 * script/sh/function.c: Move from here ...
30677 * script/function.c: ... to here. Update all users.
30678 * script/sh/lexer.c: Move from here ...
30679 * script/lexer.c: ... to here. Update all users.
30680 * script/sh/main.c: Move from here ...
30681 * script/main.c: ... to here. Update all users.
30682 * script/sh/parser.y: Move from here ...
30683 * script/parser.y: ... to here. Update all users.
30684 * script/sh/script.c: Move from here ...
30685 * script/script.c: ... to here. Update all users.
30686
f84b481b
RM
306872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30688
30689 * configure.ac: Detect all `emu' platforms. Define
30690 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
30691 --enable-grub-emu logic. Disable include/grub/machine
30692 symlink on `emu' platforms.
30693
30694 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
30695 * gensymlist.sh.in: Likewise.
30696
30697 * include/grub/i386/coreboot/machine.h: Remove file.
30698 * include/grub/i386/efi/machine.h: Likewise.
30699 * include/grub/i386/ieee1275/machine.h: Likewise.
30700 * include/grub/i386/pc/machine.h: Likewise.
30701 * include/grub/i386/qemu/machine.h: Likewise.
30702 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30703 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30704 * include/grub/x86_64/efi/machine.h: Likewise.
30705
30706 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
30707 * commands/halt.c: Likewise.
30708 * commands/reboot.c: Likewise.
30709 * include/grub/autoefi.h: Likewise.
30710 * include/grub/i386/at_keyboard.h: Likewise.
30711 * include/grub/i386/kernel.h: Likewise.
30712 * include/grub/i386/loader.h: Likewise.
30713 * include/grub/i386/pc/memory.h: Likewise.
30714 * kern/dl.c: Likewise.
30715 * kern/i386/coreboot/init.c: Likewise.
30716 * loader/i386/bsd.c: Likewise.
30717 * loader/i386/linux.c: Likewise.
30718 * loader/multiboot_loader.c: Likewise.
30719 * term/i386/pc/serial.c: Likewise.
30720 * term/usb_keyboard.c: Likewise.
30721
30722 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
30723 `<grub/machine/machine.h>'
30724 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
30725 * util/misc.c: Remove `<grub/machine/machine.h>' and
30726 `<grub/machine/time.h>'.
30727
30728 * Makefile.in (enable_grub_emu): Remove variable.
30729 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
30730
30731 * conf/any-emu.rmk: New file.
30732 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
30733 (grub_emu_init.c): Move from here ...
30734 * conf/any-emu.rmk: ... to here.
30735
30736 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
30737 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
30738 * conf/any-emu.rmk: ... to here.
30739
4efeab03
RM
307402009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30741
30742 * include/grub/parser.h (grub_parser_register): Document need
30743 of `name' parameter.
30744 * normal/main.c (grub_normal_read_line): Simplify prompt string.
30745 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
30746 "sh" to "grub".
30747
ea1dd8bf
RM
307482009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30749
30750 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
30751 `$(XGETTEXT)'.
30752 * include/grub/i18n.h (N_): New macro.
30753 * util/mkisofs/mkisofs.h: Likewise.
30754 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
30755 around N_().
30756 (usage): Use gettext() to translate help strings when printing them.
30757
0c140626
RM
307582009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30759
30760 Based on patch from Bean
30761 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30762
30763 * video/efi_fb.c: New file.
30764 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
30765 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30766 variables.
30767 * conf/x86_64-efi.rmk: Likewise.
30768
87d58298
RM
307692009-11-22 Robert Millan <rmh.grub@aybabtu.com>
30770
30771 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
30772 * util/i386/pc/grub-setup.c: Likewise.
30773
994cc3a3
ST
307742009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
30775
30776 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
30777 <hurd/fs.h>
30778 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
30779 file_get_storage_info to implement grub_guess_root_device.
30780
26a61d6a
FZ
307812009-11-21 Felix Zielcke <fzielcke@z-51.de>
30782
30783 * Makefile.in (target): Use make's builtin $(shell) function
30784 instead of calling directly $(SHELL) to create the locale directories,
30785 inside the $(foreach) function.
30786
74ff1dd5
FZ
307872009-11-21 Felix Zielcke <fzielcke@z-51.de>
30788
30789 * util/grub-mkrescue.in: Print an error and usage if output option
30790 has not been given.
30791
0b787d0e
FZ
307922009-11-21 Felix Zielcke <fzielcke@z-51.de>
30793
30794 Patch from Loïc Minier <loic.minier@ubuntu.com>.
30795 * util/grub.d/30_os-prober.in: Cope with Linux entries where
30796 root and /boot are on different devices.
30797
1164b270
RM
307982009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30799
30800 Fix build for srcdir != objdir.
30801
30802 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
30803 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
30804 $(srcdir).
30805 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
30806 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
30807 reference for input.
30808
13774a2f
RM
308092009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30810
30811 * util/grub-mkrescue.in: Use source directory direcly (without copiing
30812 or hardlinking it). Remove -J option, Joliet is not compatible with
30813 multiple source directories.
30814
efda854e
RM
308152009-11-21 Carles Pina i Estany <carles@pina.cat>
308162009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30817
30818 * util/grub-mkrescue.in: Recognize `--override-directory' option.
30819 (process_input_dir): New function. Process an arbitrary input
30820 directory.
30821 Misc adjustments to support both "override mode" and system-wide mode.
30822
6c09890c
FZ
308232009-11-20 Felix Zielcke <fzielcke@z-51.de>
30824
30825 * configure.ac (UNIFONT_BDF): Rename to ...
30826 (FONT_SOURCE): ... this. Update all users.
30827
a797824f
FZ
308282009-11-20 Felix Zielcke <fzielcke@z-51.de>
30829
30830 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
30831 to the list of unifont files to look for.
30832
cd4f42b0
RM
308332009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30834
30835 Patch from Joe Auricchio <jauricchio@gmail.com>
30836 * commands/minicmd.c (grub_mini_cmd_clear): New function.
30837 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
30838 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
30839
393c783d
FZ
308402009-11-19 Felix Zielcke <fzielcke@z-51.de>
30841
30842 * Makefile.in (install-local): Add a missing backslash.
30843
b2f1e327
FZ
308442009-11-19 Felix Zielcke <fzielcke@z-51.de>
30845
30846 * include/grub/x86_64/io.h: New file.
30847
f577f7a0
RM
308482009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30849
30850 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
30851 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
30852 Include `"progname.h"'.
30853 (main): Initialize gettext.
30854 * util/i386/pc/grub-setup.c: Gettexttize.
30855 * util/i386/pc/grub-mkimage.c: Likewise.
30856
30857 * Makefile.in (po/*.po): Redefine as ...
30858 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
30859
3bc7896c
RM
30860 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
30861
c37943b6
RM
308622009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30863
30864 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
30865 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
30866 (program_name): Remove.
30867 (main): Initialize gettext support.
6323f705
RM
30868 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
30869 Include `<libintl.h>'.
30870 (_): New macro.
c37943b6
RM
30871
30872 * util/mkisofs/eltorito.c: Gettexttize.
30873 * util/mkisofs/joliet.c: Likewise.
30874 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
30875 * util/mkisofs/multi.c: Likewise.
30876 * util/mkisofs/rock.c: Likewise.
30877 * util/mkisofs/tree.c: Likewise.
30878 * util/mkisofs/write.c: Likewise.
30879
3bc7896c
RM
30880 * po/POTFILES: Update with new files.
30881
5ce77c6e
RM
308822009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30883
30884 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
30885 * util/mkisofs/iso9660.h: Likewise.
30886 * util/mkisofs/joliet.c: Likewise.
30887 * util/mkisofs/mkisofs.c: Likewise.
30888 * util/mkisofs/mkisofs.h: Likewise.
30889 * util/mkisofs/rock.c: Likewise.
30890 * util/mkisofs/tree.c: Likewise.
30891 * util/mkisofs/write.c: Likewise.
30892
30893 * util/mkisofs/eltorito.c (rcsid): Remove.
30894 * util/mkisofs/hash.c: Likewise.
30895 * util/mkisofs/joliet.c: Likewise.
30896 * util/mkisofs/name.c: Likewise.
30897 * util/mkisofs/rock.c: Likewise.
30898 * util/mkisofs/tree.c: Likewise.
30899 * util/mkisofs/write.c: Likewise.
30900
1dabbc77
RM
309012009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30902
30903 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
30904 instead of static allocation.
30905 * util/mkisofs/match.h: Likewise.
30906
633877cb
RM
309072009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30908
3bc7896c
RM
30909 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
30910 and `util/grub.d/10_linux.in'.
633877cb
RM
30911 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
30912 translatable Shell files.
30913
af1c0c85
RM
309142009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30915
30916 * Makefile.in ($(srcdir)/aclocal.m4): New target.
30917
769ae37b
RM
309182009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30919
30920 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 30921 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
30922 * util/grub.d/10_kfreebsd.in (bindir): New variable.
30923 Add gettext initialization.
30924 (kfreebsd_entry): Make menuentry output translatable.
30925
309262009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30927
30928 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
30929 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
30930 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
30931 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
30932 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 30933 * po/LINGUAS: New file.
769ae37b
RM
30934
309352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30936
30937 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
30938 other things).
30939 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
30940 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
30941 bindtextdomain() calls for gettext initialization.
30942
309432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30944
30945 * gnulib/progname.c: New file (imported from Gnulib).
30946 * gnulib/progname.h: Likewise.
30947 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30948 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
30949 (usage): Replace `progname' with `program_name'.
30950 (main): Use set_program_name() for program name initialization.
30951
309522009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30953
30954 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
30955 from here ...
30956 * Makefile.in (CPPFLAGS): ... to here.
30957
309582009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30959
30960 * aclocal.m4: Move from here ...
30961 * acinclude.m4: ... to here.
30962 * autogen.sh: Add call to `aclocal'.
30963 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
30964
309652009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30966
30967 * Makefile.in (CLEANFILES): Add `po/*.mo'.
30968 (LINGUAS): New variable.
30969 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
30970 (install-local): Install MO files.
30971 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
30972 * include/grub/i18n.h: New file.
3bc7896c
RM
30973 * po/POTFILES: New file.
30974 * po/ca.po: New file.
769ae37b
RM
30975 * util/grub.d/10_linux.in (bindir): New variable.
30976 Add gettext initialization.
30977 (linux_entry): Make menuentry output translatable.
30978 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
30979 (usage): Make --help output translatable.
30980 (main): Initialize gettext.
30981
02c0a6ad
RM
309822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30983
30984 * import_gcry.py: New file (written by Vladimir with minor
30985 adjustments).
30986 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
30987 ciphers.
30988 * INSTALL: Document that Python is required for bootstrap.
30989
309902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30991
30992 Import ciphers from libgcrypt 1.4.4.
30993
30994 * lib/libgcrypt/cipher/ChangeLog
30995 * lib/libgcrypt/cipher/ac.c
30996 * lib/libgcrypt/cipher/arcfour.c
30997 * lib/libgcrypt/cipher/bithelp.h
30998 * lib/libgcrypt/cipher/blowfish.c
30999 * lib/libgcrypt/cipher/camellia-glue.c
31000 * lib/libgcrypt/cipher/camellia.c
31001 * lib/libgcrypt/cipher/camellia.h
31002 * lib/libgcrypt/cipher/cast5.c
31003 * lib/libgcrypt/cipher/cipher.c
31004 * lib/libgcrypt/cipher/crc.c
31005 * lib/libgcrypt/cipher/des.c
31006 * lib/libgcrypt/cipher/dsa.c
31007 * lib/libgcrypt/cipher/ecc.c
31008 * lib/libgcrypt/cipher/elgamal.c
31009 * lib/libgcrypt/cipher/hash-common.c
31010 * lib/libgcrypt/cipher/hash-common.h
31011 * lib/libgcrypt/cipher/hmac-tests.c
31012 * lib/libgcrypt/cipher/md.c
31013 * lib/libgcrypt/cipher/md4.c
31014 * lib/libgcrypt/cipher/md5.c
31015 * lib/libgcrypt/cipher/primegen.c
31016 * lib/libgcrypt/cipher/pubkey.c
31017 * lib/libgcrypt/cipher/rfc2268.c
31018 * lib/libgcrypt/cipher/rijndael-tables.h
31019 * lib/libgcrypt/cipher/rijndael.c
31020 * lib/libgcrypt/cipher/rmd.h
31021 * lib/libgcrypt/cipher/rmd160.c
31022 * lib/libgcrypt/cipher/rsa.c
31023 * lib/libgcrypt/cipher/seed.c
31024 * lib/libgcrypt/cipher/serpent.c
31025 * lib/libgcrypt/cipher/sha1.c
31026 * lib/libgcrypt/cipher/sha256.c
31027 * lib/libgcrypt/cipher/sha512.c
31028 * lib/libgcrypt/cipher/tiger.c
31029 * lib/libgcrypt/cipher/twofish.c
31030 * lib/libgcrypt/cipher/whirlpool.c
31031
af2f93ac
RM
310322009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31033
31034 Fix build for systems without error().
31035
31036 * gnulib/error.c: New file (imported from Gnulib).
31037 * gnulib/error.h: Likewise.
31038 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
31039 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
31040 (this variable is now used by error()).
31041
73fb3dd5
FZ
310422009-11-16 Felix Zielcke <fzielcke@z-51.de>
31043
814f5e96
FZ
31044 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
31045 instead of relying that char is signed.
73fb3dd5 31046
a691ca33
VS
310472009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
31048
31049 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
31050 blocksize different from specified.
31051 (grub_pxefs_read): Likewise.
31052
2af8f0f4
FZ
310532009-11-16 Felix Zielcke <fzielcke@z-51.de>
31054
31055 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
31056
31057 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
31058 (grub_ata_readwrite): Likewise. Update 2 format strings.
31059 (grub_atapi_read): Likewise.
31060
31061 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
31062 * conf/i386.rmk (pkglib_MODULES): ... to here ...
31063 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
31064 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
31065 (ata_mod_LDFLAGS): Move from here ...
31066 * conf/i386.rmk: ... to here ...
31067 * conf/x86_64-efi.rmk: ... and here.
31068 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
31069 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
31070
83bdecaf
RM
310712009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31072
31073 Relicense multiboot.h, with RMS' blessing.
31074
31075 * include/multiboot.h: Change to X11 license.
31076
fd6fd3d7
RM
310772009-11-15 Robert Millan <rmh.grub@aybabtu.com>
31078
31079 Support --version in grub-mkisofs.
31080
31081 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
31082 (OPTION_VERSION): New macro.
31083 (ld_options): Recognize --version.
31084 (usage): Move `program_name' from here ...
31085 (program_name): ... to here. Add `static' qualifier.
31086 (main): Recognize `OPTION_VERSION'.
31087
16a88c49
FZ
310882009-11-15 Felix Zielcke <fzielcke@z-51.de>
31089
31090 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
31091 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
31092
a4158476
RM
310932009-11-14 Robert Millan <rmh.grub@aybabtu.com>
31094
31095 Fix help2man generation for mkisofs.
31096
31097 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
31098 (usage): Send output to stdout (rather than stderr).
31099
fc2208b0
RM
311002009-11-14 Robert Millan <rmh.grub@aybabtu.com>
31101
31102 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
31103 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
31104 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
31105 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
31106 (bin_SCRIPTS): Add `grub-mkfloppy'.
31107 (grub_mkfloppy_SOURCES): New variable.
31108
31109 * util/grub-mkrescue.in: New file.
31110 * util/i386/pc/grub-mkfloppy.in: New file.
31111
31112 * util/i386/coreboot/grub-mkrescue.in: Remove.
31113 * util/i386/pc/grub-mkrescue.in: Remove.
31114
8d0edf4a
RM
311152009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31116
31117 * include/grub/multiboot.h (struct grub_multiboot_header): Move
31118 from here ...
31119 * include/multiboot.h (struct multiboot_header): ... to here. Update
31120 all users.
31121 * include/grub/multiboot.h (struct grub_multiboot_info): Move
31122 from here ...
31123 * include/multiboot.h (struct multiboot_info): ... to here. Update
31124 all users.
31125 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
31126 from here ...
31127 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
31128 Update all users.
31129 * include/grub/multiboot.h (struct grub_mod_list): Move
31130 from here ...
31131 * include/multiboot.h (struct multiboot_mod_list): ... to here.
31132 Update all users.
31133
a73f5969
RM
311342009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31135
31136 * include/multiboot2.h (multiboot_word): Rename from this ...
31137 (multiboot2_word): ... to this. Update all users.
31138 (multiboot_header): Rename from this ...
31139 (multiboot2_header): ... to this. Update all users.
31140 (multiboot_tag_header): Rename from this ...
31141 (multiboot2_tag_header): ... to this. Update all users.
31142 (multiboot_tag_start): Rename from this ...
31143 (multiboot2_tag_start): ... to this. Update all users.
31144 (multiboot_tag_name): Rename from this ...
31145 (multiboot2_tag_name): ... to this. Update all users.
31146 (multiboot_tag_module): Rename from this ...
31147 (multiboot2_tag_module): ... to this. Update all users.
31148 (multiboot_tag_memory): Rename from this ...
31149 (multiboot2_tag_memory): ... to this. Update all users.
31150 (multiboot_tag_unused): Rename from this ...
31151 (multiboot2_tag_unused): ... to this. Update all users.
31152 (multiboot_tag_end): Rename from this ...
31153 (multiboot2_tag_end): ... to this. Update all users.
31154
1c8927f0
RM
311552009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31156
31157 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
31158 this platform we should support Multiboot1 first.
31159
31160 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
31161 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
31162 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
31163
6e1e0d89
RM
311642009-11-12 Robert Millan <rmh.grub@aybabtu.com>
31165
31166 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
31167 of write calls (converting them to fwrite() if they aren't already).
31168 (get_torito_desc): Likewise.
31169 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
31170
7f2b34d8
RM
311712009-11-12 Robert Millan <rmh.grub@aybabtu.com>
31172
31173 * util/i386/pc/grub-install.in: Move from here ...
31174 * util/grub-install.in: ... to here. Update all users.
31175
c0ef3311
CW
311762009-11-11 Colin Watson <cjwatson@ubuntu.com>
31177
31178 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
31179
e1f240ff
RM
311802009-11-11 Robert Millan <rmh.grub@aybabtu.com>
31181
31182 Support for El Torito without floppy emulation.
31183
31184 * util/mkisofs/eltorito.c: Include `<errno.h>'.
31185 (init_boot_catalog): Improve error handling.
31186 (get_torito_desc): Don't use floppy emulation unless requested by
31187 user. Patch boot information table when requested via
31188 `-boot-info-table'.
31189 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
31190 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
31191 (use_boot_info_table): New variables.
31192 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
31193 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
31194 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
31195 `--eltorito-emul-floppy'.
31196 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
31197 and `OPTION_ELTORITO_EMUL_FLOPPY'.
31198 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
31199 (use_boot_info_table, get_731): New prototypes.
31200 * util/mkisofs/write.c (get_731): New function.
31201
af7d4de5
FZ
312022009-11-11 Felix Zielcke <fzielcke@z-51.de>
31203
31204 Fix the generation of the man page.
31205
31206 * util/pc/i386/grub-install.in: Source
31207 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31208
2c55dbc0
RM
312092009-11-11 Robert Millan <rmh.grub@aybabtu.com>
31210
31211 Large file support for grub-mkisofs.
31212
31213 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
31214 * util/mkisofs/mkisofs.c (next_extent, last_extent)
31215 (session_start): Upgrade type to `uint64_t'. Update all users.
31216 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
31217 (struct directory_entry): Upgrade type of `starting_block' and
31218 `size' to `uint64_t'. Update all users.
31219 (struct deferred): Remove unused structure.
31220 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
31221 Update all users.
31222 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
31223 file is larger than `UINT32_MAX'.
31224 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
31225 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
31226 return value.
31227 (struct deferred_write): Upgrade type of `extent' and `size' to
31228 `uint64_t'. Update all users.
31229 (last_extent_written): Upgrade type to `uint64_t'. Update all
31230 users.
31231 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
31232 Update all users. Upgrade type of `remain' to `int64_t' and
31233 `use' to `size_t'. Use error() to handle fread() errors.
31234 (write_files): Rely on write_one_file() rather than calling
31235 xfwrite() directly.
31236
6a9cead5
FZ
312372009-11-09 Felix Zielcke <fzielcke@z-51.de>
31238
31239 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
31240
4825d790
RM
312412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31242
31243 * util/mkisofs/fnmatch.c: Remove.
31244 * util/mkisofs/getopt1.c: Likewise.
31245 * util/mkisofs/getopt.c: Likewise.
31246 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
31247 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
31248 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
31249 `gnulib/getopt1.c' and `gnulib/getopt.c'.
31250 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
31251
31252 * configure.ac: Detect `mingw32msvc' host_os.
31253 Check for lstat(), getuid() and getgid().
31254
31255 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
31256 instances of `u_char' with `uint8_t'.
31257
31258 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
31259 [!HAVE_GETUID] (getuid): New function (stub).
31260 [!HAVE_GETGID] (getgid): Likewise.
31261 [!HAVE_LSTAT] (lstat): Likewise.
31262 [!S_IROTH] (S_IROTH): New macro (dummy).
31263 [!S_IRGRP] (S_IRGRP): Likewise.
31264
84b860d8
RM
312652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31266
31267 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
31268 conditional expression).
31269
66e9b712
RM
312702009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31271
31272 Import from Gnulib.
31273
31274 * gnulib/fnmatch.c: New file.
31275 * gnulib/fnmatch.h: Likewise.
31276 * gnulib/fnmatch_loop.c: Likewise.
31277 * gnulib/getopt.c: Likewise.
31278 * gnulib/getopt.h: Likewise.
31279 * gnulib/getopt1.c: Likewise.
31280 * gnulib/getopt_int.h: Likewise.
31281 * gnulib/gettext.h: Likewise.
31282
34f4a5b0
RM
312832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31284
31285 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
31286 * normal/handler.c (read_handler_list): Likewise.
31287
ac451143
RM
312882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31289
31290 Misc cleanup.
31291
31292 * kern/command.c (grub_register_command_prio): Use
31293 grub_zalloc() instead of explicitly zeroing data.
31294 * kern/list.c: Include `<grub/mm.h>'.
31295 (grub_named_list_find): Replace `0' with `NULL'.
31296 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
31297 (fs_module_list): Change type to `grub_named_list_t'. Update all
31298 users.
31299 * normal/dyncmd.c (read_command_list): Add space between function
31300 call and parenthesis.
31301 * normal/handler.c (read_handler_list): Likewise.
31302
4089b167
RM
313032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31304
31305 * normal/auth.c (punishment_delay): Moved from here ...
31306 (grub_auth_strcmp): ... to here (inside function).
31307
325f5037
RM
313082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31309
31310 * include/grub/list.h (struct grub_named_list): Remove `const'
31311 qualifier from `name'.
31312 (struct grub_prio_list): Likewise.
31313
7aea29a3
RM
313142009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31315
31316 * normal/auth.c: Include `<grub/time.h>'.
31317 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
31318
3fd6f044
RM
313192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31320
31321 * normal/auth.c (punishment_delay): New variable.
31322 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
31323 (grub_auth_check_authentication): Punish failed login attempts with
31324 an incremental (2^N) delay.
31325
a4cd68e4
RM
313262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31327
31328 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
31329 path with $(srcdir).
31330
7ad12f43
VS
313312009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
31332
31333 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
31334
c1129f03
RM
313352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31336
31337 * util/i386/coreboot/grub-mkrescue.in: New file.
31338 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
31339 variables.
31340
31341 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
31342 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
31343 * configure.ac: Add header and function checks to satisfy grub-mkisofs
31344 requirements.
31345 * util/mkisofs/defaults.h: New file.
31346 * util/mkisofs/eltorito.c: Likewise.
31347 * util/mkisofs/exclude.h: Likewise.
31348 * util/mkisofs/fnmatch.c: Likewise.
31349 * util/mkisofs/getopt.c: Likewise.
31350 * util/mkisofs/getopt1.c: Likewise.
31351 * util/mkisofs/hash.c: Likewise.
31352 * util/mkisofs/include/fctldefs.h: Likewise.
31353 * util/mkisofs/include/mconfig.h: Likewise.
31354 * util/mkisofs/include/prototyp.h: Likewise.
31355 * util/mkisofs/include/statdefs.h: Likewise.
31356 * util/mkisofs/iso9660.h: Likewise.
31357 * util/mkisofs/joliet.c: Likewise.
31358 * util/mkisofs/match.c: Likewise.
31359 * util/mkisofs/match.h: Likewise.
31360 * util/mkisofs/mkisofs.c: Likewise.
31361 * util/mkisofs/mkisofs.h: Likewise.
31362 * util/mkisofs/multi.c: Likewise.
31363 * util/mkisofs/name.c: Likewise.
31364 * util/mkisofs/rock.c: Likewise.
31365 * util/mkisofs/tree.c: Likewise.
31366 * util/mkisofs/write.c: Likewise.
31367
ec8bb77d
VS
313682009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
31369
31370 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
31371 being insecure.
31372
3716b12c
RM
313732009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31374
31375 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
31376 `grub-mkimage' (and use $0 when possible).
31377
b97b7b91
RM
313782009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31379
31380 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
31381 error message for excessively large memory map.
31382
04114812
RM
313832009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31384
31385 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
31386 executable bit.
31387
e4eb2373
RM
313882009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31389
31390 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
31391 message for coreboot users.
31392
c926e1d5 313932009-11-07 Robert Millan <rmh.grub@aybabtu.com>
31394
31395 Fix build with GNU gold.
31396
31397 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
31398 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
31399 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
31400 link addresses.
31401 * aclocal.m4: Likewise.
31402
86e5b1db 314032009-11-04 Felix Zielcke <fzielcke@z-51.de>
31404
31405 * configure.ac (AC_PREREQ): Bump to 2.59d.
31406 * INSTALL: Make it more clear when Autoconf and Ruby are
31407 needed and when to run `./autogen.sh'.
31408
246cd78f 314092009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
31410
31411 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
31412 OSes.
31413
4f9dfb37 314142009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31415
31416 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
31417
b82bd5e1 314182009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31419
31420 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
31421 giving it to GNU Mach.
31422
ff1a9bca 314232009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31424
31425 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
31426 GNU partition number to get internal GRUB partition number.
31427
61697d9c 314282009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31429
31430 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
31431 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
31432
a50569e1 314332009-11-01 Robert Millan <rmh.grub@aybabtu.com>
31434
31435 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
31436 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
31437 case.
31438
5b153867 314392009-11-01 Felix Zielcke <fzielcke@z-51.de>
31440
31441 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
31442
d9e2cd70 314432009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31444
31445 Fix build problem.
31446
31447 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
31448 `-isystem=$(srcdir)/include'.
31449
805111a4 314502009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31451
31452 * util/i386/pc/grub-install.in: Remove hint that device.map should be
31453 checked (grub-install doesn't currently rely on it).
31454
fa6e945f 314552009-10-29 Robert Millan <rmh.grub@aybabtu.com>
31456
31457 Revert SVN r2660.
31458
31459 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
31460 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31461 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
31462 * conf/i386-ieee1275.rmk: Likewise.
31463 * conf/i386-pc.rmk: Likewise.
31464 * conf/powerpc-ieee1275.rmk: Likewise.
31465 * conf/sparc64-ieee1275.rmk: Likewise.
31466 * conf/x86_64-efi.rmk: Likewise.
31467
cee15086 314682009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31469
31470 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
31471
95b9239e 314722009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31473
31474 * include/grub/misc.h: Stop checking for APPLE_CC.
31475
2ed19dfd 314762009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31477
31478 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
31479 doesn't cause an infinite call loop.
31480
fdcdde19 314812009-10-28 Felix Zielcke <fzielcke@z-51.de>
31482
31483 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
31484 strings.
31485
cefabfe1 314862009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31487
31488 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
31489 variable.
31490 * Makefile.in: Likewise.
31491
ed96ab6d 314922009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31493
31494 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
31495
0579b753 314962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31497
31498 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
31499
478df409 315002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31501
31502 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
31503
083d1679 315042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31505
31506 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
31507 from here ...
31508 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
31509
5947ae32 315102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31511
31512 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
31513 in $(MAKEINFO) invocation. This makes it clear in output that
31514 errors are being ignored.
31515
94180ff6 315162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31517
31518 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
31519 from here ...
31520 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31521 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
31522 * conf/i386-ieee1275.rmk: Likewise.
31523 * conf/i386-pc.rmk: Likewise.
31524 * conf/powerpc-ieee1275.rmk: Likewise.
31525 * conf/sparc64-ieee1275.rmk: Likewise.
31526 * conf/x86_64-efi.rmk: Likewise.
31527
9031b03a 315282009-10-26 Colin Watson <cjwatson@ubuntu.com>
31529
31530 * util/grub-editenv.c (main): If only a command is given, use
31531 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
31532 (usage): FILENAME is now optional and has a default.
31533
e4f6809b 315342009-10-26 Colin Watson <cjwatson@ubuntu.com>
31535
31536 Improve grub-mkconfig performance when there are several menu
31537 entries on a single filesystem.
31538
31539 * util/grub.d/10_linux.in (linux_entry): Cache the output of
31540 prepare_grub_to_access_device.
31541 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31542 * util/grub.d/30_os-prober.in: Likewise.
31543
67937d4d 315442009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31545
31546 * util/grub.d/10_freebsd.in: Remove.
31547 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
31548 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
31549
ee3756cc 315502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31551
5c35048e 31552 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 31553
4dea1c6f 315542009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31555
31556 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
31557 grub_util_error() call.
31558
042484d7 315592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31560
31561 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
31562 `reserved_first_sector' member.
31563 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
31564 `reserved_first_sector' to 1.
31565 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
31566 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
31567 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
31568 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
31569 filesystems which begin at first sector.
31570 (options): New option --skip-fs-probe.
31571 (main): Handle --skip-fs-probe and pass it to setup().
31572
d64448a7 315732009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31574
31575 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
31576 (memset): Fix function prototype.
31577
508d42ec 315782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
315792009-10-25 Vasily Averin <vvs@parallels.com>
31580
31581 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
31582 `dirent.direntlen == 0'.
31583
b240e30c 315842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31585
31586 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
31587 `cpio'.
31588 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
31589
346e7fbe 315902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31591
31592 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
31593 `__trampoline_setup' and `__ucmpdi2'.
31594 * include/grub/powerpc/libgcc.h: Only export symbols for functions
31595 that libgcc provides.
31596
cdb308b0 315972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31598
31599 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
31600 * include/grub/sparc64/libgcc.h (memset): Likewise.
31601 * include/grub/misc.h (memset, memcmp): New function prototypes.
31602
fb26abc2 316032009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31604
31605 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
31606 `cpio'.
31607 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
31608
f6693890 316092009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31610
31611 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
31612 * docs/grub.cfg: Compensate for recent change in multiboot
31613 loader (since 2009-08-14 it won't pass filename to payload).
31614 * util/grub.d/10_hurd.in: Likewise.
31615
0933cdc0 316162009-10-21 Felix Zielcke <fzielcke@z-51.de>
31617
31618 * config.guess: Update to latest version from config git
31619 repository.
31620 * config.sub: Likewise.
31621
3b2fe8c2 316222009-10-20 Robert Millan <rmh.grub@aybabtu.com>
31623
31624 Fix build on sparc64.
31625
31626 * configure.ac: Perform checks for libgcc symbols before
31627 adding `-nostdlib' to LDFLAGS.
31628
46695a62 316292009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31630
31631 Let user specify OpenBSD root device.
31632
31633 * loader/i386/bsd.c (openbsd_root): New variable.
31634 (openbsd_opts): New option 'root'.
31635 (OPENBSD_ROOT_ARG): New macro.
31636 (grub_openbsd_boot): Use 'openbsd_root'.
31637 (grub_cmd_openbsd): Fill 'openbsd_root'.
31638
d2b6b7fc 316392009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31640
31641 * NEWS: Misc adjustments.
31642
421bd7ac 316432009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31644
31645 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
31646
f1d29d87 316472009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31648
31649 * configure.ac: Bump version to 1.97.
31650
6f3cd880 316512009-10-16 Colin Watson <cjwatson@ubuntu.com>
31652
31653 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
31654 -mno-3dnow on x86 architectures. Some toolchains enable these
31655 features by default, but they rely on registers that aren't enabled
31656 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
31657
035f7122 316582009-10-15 Robert Millan <rmh.grub@aybabtu.com>
31659
31660 Make entry text a bit more readable.
31661
31662 * util/grub.d/10_linux.in: Add `with' before `Linux'.
31663
44998e58 316642009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31665
31666 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
31667
cd2851b3 316682009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31669
31670 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
31671 operations.
31672
c6f3b249 316732009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31674
31675 * configure.ac: Add missing dollar.
31676
6b5886ba 316772009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31678
31679 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
31680
31681 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
31682 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
31683 exports.
31684 * include/grub/sparc64/libgcc.h: Likewise. Use
31685 preprocessor conditionals.
31686
e9d66f6d 316872009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31688
31689 * conf/common.rmk (grub-dumpbios): Remove rule.
31690 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
31691 * util/grub-dumpbios.in: Remove file.
31692
9155bc17 316932009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31694
31695 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
31696 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
31697
31698 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
31699 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
31700 users.
31701
31702 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
31703 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
31704 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
31705 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
31706 users.
31707
bf7f7a18 317082009-10-12 Robert Millan <rmh.grub@aybabtu.com>
31709
31710 * term/tparm.c: Switch to GPLv3.
31711
86564c26 317122009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31713
31714 * include/grub/i386/cpuid.h: Add header protection.
31715
5c936493 317162009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31717
31718 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
31719
31720 * include/grub/i386/cpuid.h: New file.
31721 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
31722 (has_longmode): Rename to ...
31723 (grub_cpuid_has_longmode): ... this. Update all users. Remove
31724 `static' attribute.
31725 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
31726 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
31727 on a CPU that doesn't implement AMD64 instruction set.
31728
186e7cf2 317292009-10-06 Colin Watson <cjwatson@ubuntu.com>
31730
31731 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
31732 that version.texi is rebuilt on version number changes.
31733
83b65c4a 317342009-10-06 Colin Watson <cjwatson@ubuntu.com>
31735
31736 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
31737 Fixes bug #27602.
31738
d244281c 317392009-10-06 Colin Watson <cjwatson@ubuntu.com>
31740
31741 * util/i386/pc/grub-install.in: Source
31742 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
31743 that the --grub-probe option will work.
31744 * util/sparc64/ieee1275/grub-install.in: Likewise.
31745
da25306d 317462009-10-05 Robert Millan <rmh.grub@aybabtu.com>
31747
31748 * configure.ac: Bump version to 1.97~beta4.
31749
e8ee83c0 317502009-10-03 Robert Millan <rmh.grub@aybabtu.com>
31751
31752 Resync grub-mkdevicemap in x86_64-efi.
31753
31754 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
31755 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
31756 `util/devicemap.c'.
31757
50dcabcf 317582009-10-01 Colin Watson <cjwatson@ubuntu.com>
31759
31760 * util/grub-editenv.c (create_envblk_file): Write new block with a
31761 .new suffix and then rename it into place, to ensure atomic
31762 creation.
31763
0e51c3a7 317642009-09-28 Robert Millan <rmh.grub@aybabtu.com>
31765
31766 Do not automatically install headers.
31767
31768 * Makefile.in (include_DATA): Remove. Update all users.
31769
31299a95 317702009-09-26 Robert Millan <rmh.grub@aybabtu.com>
31771
31772 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
31773 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
31774
31775 * util/osdetect.lua: Remove.
31776 * script/lua/lauxlib.c: Likewise.
31777 * script/lua/ldebug.c: Likewise.
31778 * script/lua/grub_main.c: Likewise.
31779 * script/lua/lauxlib.h: Likewise.
31780 * script/lua/ldebug.h: Likewise.
31781 * script/lua/ltablib.c: Likewise.
31782 * script/lua/liolib.c: Likewise.
31783 * script/lua/lstrlib.c: Likewise.
31784 * script/lua/lualib.h: Likewise.
31785 * script/lua/ldo.c: Likewise.
31786 * script/lua/ldump.c: Likewise.
31787 * script/lua/ldo.h: Likewise.
31788 * script/lua/loslib.c: Likewise.
31789 * script/lua/lundump.c: Likewise.
31790 * script/lua/grub_lib.c: Likewise.
31791 * script/lua/ldblib.c: Likewise.
31792 * script/lua/lundump.h: Likewise.
31793 * script/lua/lmem.c: Likewise.
31794 * script/lua/grub_lib.h: Likewise.
31795 * script/lua/lmathlib.c: Likewise.
31796 * script/lua/lstate.c: Likewise.
31797 * script/lua/ltm.c: Likewise.
31798 * script/lua/lvm.c: Likewise.
31799 * script/lua/lmem.h: Likewise.
31800 * script/lua/lstate.h: Likewise.
31801 * script/lua/ltm.h: Likewise.
31802 * script/lua/ltable.c: Likewise.
31803 * script/lua/lvm.h: Likewise.
31804 * script/lua/llex.c: Likewise.
31805 * script/lua/lgc.c: Likewise.
31806 * script/lua/grub_lua.h: Likewise.
31807 * script/lua/loadlib.c: Likewise.
31808 * script/lua/lfunc.c: Likewise.
31809 * script/lua/lopcodes.c: Likewise.
31810 * script/lua/lparser.c: Likewise.
31811 * script/lua/ltable.h: Likewise.
31812 * script/lua/llex.h: Likewise.
31813 * script/lua/lgc.h: Likewise.
31814 * script/lua/lfunc.h: Likewise.
31815 * script/lua/lbaselib.c: Likewise.
31816 * script/lua/lopcodes.h: Likewise.
31817 * script/lua/lparser.h: Likewise.
31818 * script/lua/lzio.c: Likewise.
31819 * script/lua/linit.c: Likewise.
31820 * script/lua/lobject.c: Likewise.
31821 * script/lua/llimits.h: Likewise.
31822 * script/lua/lstring.c: Likewise.
31823 * script/lua/lzio.h: Likewise.
31824 * script/lua/lapi.c: Likewise.
31825 * script/lua/lcode.c: Likewise.
31826 * script/lua/lua.h: Likewise.
31827 * script/lua/lobject.h: Likewise.
31828 * script/lua/lstring.h: Likewise.
31829 * script/lua/lapi.h: Likewise.
31830 * script/lua/lcode.h: Likewise.
31831 * script/lua/luaconf.h: Likewise.
31832
cb8a2c38 318332009-09-26 Colin Watson <cjwatson@ubuntu.com>
31834
31835 * docs/grub.texi (Command-line and menu entry commands): Document
31836 date and echo commands.
31837
6b9b6276 318382009-09-24 Pavel Roskin <proski@gnu.org>
31839
31840 * include/grub/kernel.h (struct grub_module_header): Remove
31841 `grub_module_header_types'. Make `type' unsigned. Make `size'
31842 32-bit on all platforms.
31843 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
31844 8-bit field. Use grub_host_to_target32() for `size'.
31845 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
31846 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
31847 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
31848
4e5a02a7 318492009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31850
31851 Fix "lost keypress" bug in at_keyboard.
31852
31853 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
31854 Checks for readyness of input buffer (without flushing it).
31855 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
31856 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
31857
c6dcedf6 318582009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31859
31860 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
31861 size check within GRUB_MACHINE_PCBIOS section.
31862
74c958b1 318632009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31864
31865 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
31866 return value.
31867 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
31868 KEYBOARD_ISREADY check.
31869 (grub_at_keyboard_checkkey): Rename to ...
31870 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
31871 Remove gratuitous cast.
31872
ff420223 318732009-09-23 Colin Watson <cjwatson@ubuntu.com>
31874
31875 * configure.ac: Call AC_PROG_MKDIR_P.
31876 * Makefile.in (docs/stamp-vti): Create docs directory. Create
31877 version.texi in $(builddir) rather than $(srcdir).
31878 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
31879 to makeinfo's @include search path.
31880
d96875df 318812009-09-23 Felix Zielcke <fzielcke@z-51.de>
31882
31883 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
31884
9b3f8365 318852009-09-23 Felix Zielcke <fzielcke@z-51.de>
31886
31887 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
31888 for `*.dpkg-new'.
31889
c44c90db 318902009-09-21 Colin Watson <cjwatson@ubuntu.com>
31891
31892 Build info documentation. Some code borrowed from Automake.
31893
31894 * configure.ac: Check for makeinfo.
31895 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
31896 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
31897 docs/version.texi.
31898 (MOSTLYCLEANFILES): Add vti.tmp.
31899 (docs/version.texi, docs/stamp-vti): Update automatically.
31900 (docs/grub.info): Build info documentation. Use --force and ignore
31901 errors for now.
31902 (all-local): Add $(INFOS).
31903 (install-local): Install info files.
31904 (uninstall): Uninstall info files.
31905 * docs/version.texi: Remove from revision control. This file is
31906 automatically generated on build now.
31907 * gendistlist.sh: Add `*.info'.
31908
e0b37bb5 319092009-09-21 Felix Zielcke <fzielcke@z-51.de>
31910
31911 * kern/term.c: Fix indentation.
31912
5a78865b 319132009-09-21 Felix Zielcke <fzielcke@z-51.de>
31914
31915 * util/hostdisk.c: Fix a comment.
31916
dace7e8a 319172009-09-20 Robert Millan <rmh.grub@aybabtu.com>
31918
31919 Fix regression introduced in r2539.
31920
31921 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
31922 to 0xA1.
31923
a83d079b 319242009-09-19 Colin Watson <cjwatson@ubuntu.com>
31925
31926 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 31927 os-prober. Under normal operation, it does not print anything to
31928 stderr; if it does, we need to debug it, and throwing away stderr
31929 makes that excessively difficult.
a83d079b 31930
be94a509 319312009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
31932
31933 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
31934
63f745e8 319352009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31936
31937 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
31938 AC_LANG_PROGRAM from autoconf.
31939 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
31940 prototypes (fixes warning).
31941
31942 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
31943 `--disable-werror' was used.
31944
bbb2a70f 319452009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31946
31947 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
31948 uninitialized `lastaddr'.
31949
77c24f1d 319502009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
31951
0f0b8c87 31952 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 31953
07197f23 319542009-09-14 Colin Watson <cjwatson@ubuntu.com>
31955
31956 * commands/test.c (get_fileinfo): Return immediately if
31957 grub_fs_probe fails.
31958
dabf1798 319592009-09-14 José Martínez <xosemp@gmail.com>
31960
31961 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
31962
d52109a7 319632009-09-14 Colin Watson <cjwatson@ubuntu.com>
31964
31965 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
31966 output.
31967
56532179 319682009-09-13 Robert Millan <rmh.grub@aybabtu.com>
31969
31970 * configure.ac: Remove --enable-grub-pe2elf. Only build
31971 grub-pe2elf when needed by the build system itself.
31972 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
31973
8ef070f5 319742009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31975
31976 * configure.ac: Bump version to 1.97~beta3.
31977 * docs/version.texi: Likewise.
31978
61229557 319792009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31980
31981 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
31982 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
31983 from here ...
31984 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
31985 (grub_linux_setup_video): ... to here (with some adjustments).
31986
5c9f8d84 319872009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31988
31989 Fix memory corruption issue (spotted by Colin Watson).
31990
31991 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
31992 causing returned size to be stored in an incorrect memory location.
31993 Fix use of uninitialized value when storing the returned size.
31994
e8f5d6e9 319952009-09-12 Yves Blusseau <blusseau@zetam.org>
31996
31997 Change clean rules to properly remove files
31998
31999 * genmk.rb: add new clean rules
32000 * Makefile.in (clean): add the new targets
32001 (mostlyclean): likewise
32002
cda2a409 320032009-09-11 Colin Watson <cjwatson@ubuntu.com>
32004
32005 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
32006 to grub_uint64_t.
32007 * fs/ntfs.c (init_file): Understand 64-bit sizes for
32008 non-resident files.
32009
86695375 320102009-09-11 Colin Watson <cjwatson@ubuntu.com>
32011
32012 * configure.ac: Don't look for help2man when cross-compiling. Fixes
32013 part of bug #27349.
32014
8aa1541a 320152009-09-10 Felix Zielcke <fzielcke@z-51.de>
32016
32017 * util/grub-mkconfig.in: Make the created config mode 400 and
32018 print a warning if it fails.
32019
48d9bb0a 320202009-09-10 Robert Millan <rmh.grub@aybabtu.com>
32021
32022 * util/grub.d/40_custom.in: Ask user to type custom entries below
32023 comment, rather than below 'exec tail' line.
32024
3b0521be 320252009-09-10 Colin Watson <cjwatson@ubuntu.com>
32026
32027 * util/grub.d/40_custom.in: Make sure that the explanatory text is
32028 visible in grub.cfg.
32029
50051d55 320302009-09-10 Colin Watson <cjwatson@ubuntu.com>
32031
32032 * util/grub.d/40_custom.in: Make it a little clearer how to use this
32033 file.
32034
c0d34387 320352009-09-10 Felix Zielcke <fzielcke@z-51.de>
32036
32037 * docs/grub.cfg: Add an example menu entry for memtest86+.
32038
80a608f3 320392009-09-09 Felix Zielcke <fzielcke@z-51.de>
32040
a2094832 32041 * config.guess: Update to latest version from config git.
80a608f3 32042 * config.sub: Likewise.
32043
99423078 320442009-09-08 Colin Watson <cjwatson@ubuntu.com>
32045
32046 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
32047 unknown-command case. Fixes bug #27320.
32048
44454e4c 320492009-09-08 Felix Zielcke <fzielcke@z-51.de>
32050
32051 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
32052 `help' if the command exists.
32053
e30d87ad 320542009-09-06 Robert Millan <rmh.grub@aybabtu.com>
32055
32056 * INSTALL: Require GCC 4.1.3 or later.
32057
9a86f1ec 320582009-09-06 Yves Blusseau <blusseau@zetam.org>
32059
32060 * Makefile.in (RMKFILES): add i386-qemu.rmk
32061 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
32062 $(srcdir)/stamp-h.in
32063
7f26d466 320642009-09-05 Robert Millan <rmh.grub@aybabtu.com>
32065
32066 * util/grub-probe.c (probe): Comment out buggy codepath, which
32067 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
32068 should be re-enabled after 1.97.
32069
3a613259 320702009-09-05 Felix Zielcke <fzielcke@z-51.de>
32071
32072 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
32073 find searches for.
32074
197f76c7 320752009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
32076
32077 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
32078 unnecessary calls to grub_error.
32079
70ba68ce 320802009-09-04 Colin Watson <cjwatson@ubuntu.com>
32081
32082 * NEWS: Mention `keystatus' and Unicode fonts.
32083
4ff0d7a4 320842009-09-04 Robert Millan <rmh.grub@aybabtu.com>
32085
32086 * configure.ac: Bump version to 1.97~beta2.
32087 * docs/version.texi: Likewise.
32088
77c55a87 320892009-09-03 Colin Watson <cjwatson@ubuntu.com>
32090
32091 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
32092 containing unwind information in some cases where it previously did
32093 not. Use -fno-dwarf2-cfi-asm if available to restore the old
32094 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
32095 discussion.
32096
f79572cd 320972009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
32098
32099 Embedding loadenv module into grub-emu
32100
32101 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
32102 commands/loadenv.c
32103 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
32104 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
32105 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
32106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
32107 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
32108 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
32109
93a81088 321102009-09-03 Magnus Granberg <zorry@ume.nu>
32111
32112 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
32113 include -fPIE in the default specs.
32114 * configure.ac: Check if pie_possible is yes and add -fno-PIE
32115 to TARGET_CFLAGS.
32116
160034b2 321172009-09-03 Felix Zielcke <fzielcke@z-51.de>
32118
32119 * INSTALL: Note that GNU Bison 2.3 or later is required.
32120
087c07c4 321212009-09-03 Colin Watson <cjwatson@ubuntu.com>
32122
32123 * kern/i386/pc/startup.S: Fix typo.
32124
cbf978c0 321252009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
32126
32127 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
32128 according to GCS.
32129
321302009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 32131
32132 * docs/grub.texi (Naming convention): Describe one-based partition
32133 numbering.
32134 (Device syntax): Likewise.
32135 (File name syntax): Likewise.
32136 (Block list syntax): Likewise.
32137 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
32138 menu.lst.
32139 (File name syntax): Likewise.
32140 (Command-line and menu entry commands): Document acpi, blocklist,
32141 crc, export, insmod, keystatus, ls, set, and unset commands.
32142
f3e8cdfd 321432009-09-02 Colin Watson <cjwatson@ubuntu.com>
32144
32145 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
32146 to avoid implying that only one of --shift, --ctrl, or --alt may be
32147 used.
32148
c0bc232b 321492009-09-02 Colin Watson <cjwatson@ubuntu.com>
32150
32151 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
32152 rather than comparing against S_IFREG, which will almost never work.
32153
aa0f752d 321542009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
32155
32156 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
32157 (write_blocklists): Likewise.
32158
ecb3166a 321592009-09-01 Colin Watson <cjwatson@ubuntu.com>
32160
32161 * script/lua/grub_lua.h (fputs): Supply a format string as the first
32162 argument to grub_printf.
32163
c403a125 321642009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 32165
32166 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 32167 non GNU test.
31aba781 32168
b5e7312c 321692009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
32170
32171 * kern/file.c (grub_file_read): Spelling fix
32172
fe00f472 321732009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
32174
32175 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
32176 loading of headers in some cases.
32177
cc55302e 321782009-08-30 Robert Millan <rmh.grub@aybabtu.com>
32179
32180 * configure.ac: Bump version to 1.97~beta1.
32181 * docs/version.texi: Likewise.
32182
5c90cdd2 321832009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 32184
32185 * include/grub/i386/xnu.h: Add license header.
32186 include grub/err.h explicitly.
32187
c90edae4 321882009-08-29 Robert Millan <rmh.grub@aybabtu.com>
32189
32190 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
32191 to `ufs' in the vfs.root.mountfrom kernel parameter.
32192
d8888b5c 321932009-08-29 Robert Millan <rmh.grub@aybabtu.com>
32194
32195 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
32196
32197 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
32198 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
32199
32200 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
32201 `ARRAY_SIZE' macro.
32202
6f07b921 322032009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32204
32205 * kern/file.c (grub_file_read): Check offset.
32206 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
32207 * fs/jfs.c (grub_jfs_read_file): Likewise.
32208 * fs/ntfs.c (grub_ntfs_read): Likewise.
32209 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
32210 * fs/minix.c (grub_minix_read_file): Correct offset check.
32211 * fs/ufs.c (grub_ufs_read_file): Likewise.
32212
b4f34077 322132009-08-28 Colin Watson <cjwatson@ubuntu.com>
32214
32215 * term/i386/pc/console.c (bios_data_area): Cast
32216 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
32217
e7c69859 322182009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32219
32220 1-bit optimised blitters.
32221
32222 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
32223 prototype.
32224 (grub_video_fbblit_replace_24bit_1bit): Likewise.
32225 (grub_video_fbblit_replace_16bit_1bit): Likewise.
32226 (grub_video_fbblit_replace_8bit_1bit): Likewise.
32227 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
32228 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
32229 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
32230 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
32231 function.
32232 (grub_video_fbblit_replace_24bit_1bit): Likewise.
32233 (grub_video_fbblit_replace_16bit_1bit): Likewise.
32234 (grub_video_fbblit_replace_8bit_1bit): Likewise.
32235 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
32236 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
32237 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
32238 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
32239 when possible.
32240 * video/video.c (grub_video_get_blit_format): Return
32241 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
32242
a57da43f 322432009-08-28 Colin Watson <cjwatson@ubuntu.com>
32244
32245 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
32246 the first argument to grub_printf.
32247
4cbe67e5 322482009-08-28 Colin Watson <cjwatson@ubuntu.com>
322492009-08-28 Robert Millan <rmh.grub@aybabtu.com>
32250
32251 Add `getkeystatus' terminal method. Add a new `keystatus' command
32252 to query it.
32253
32254 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
32255 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
32256 modifier key bitmasks.
32257 (struct grub_term_input): Add `getkeystatus' member.
32258 (grub_getkeystatus): Add prototype.
32259 * kern/term.c (grub_getkeystatus): New function.
32260
32261 * include/grub/i386/pc/memory.h
32262 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
32263 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
32264 Data Area layout.
32265 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
32266 (grub_console_term_input): Set `getkeystatus' member.
32267 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
32268 constants.
32269 (grub_usb_keyboard_getreport): Likewise.
32270 (grub_usb_keyboard_checkkey): Likewise.
32271 (grub_usb_keyboard_getkeystatus): New function.
32272 (grub_usb_keyboard_term): Set `getkeystatus' member.
32273
32274 * commands/keystatus.c: New file.
32275 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
32276 (keystatus_mod_SOURCES): New variable.
32277 (keystatus_mod_CFLAGS): Likewise.
32278 (keystatus_mod_LDFLAGS): Likewise.
32279 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
32280 commands/keystatus.c.
32281 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32282 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32283 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32284 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32285 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32286 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 32287
6e2a9085 322882009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32289
32290 Split befs.mod and afs.mod into *_be.mod and *.mod
32291
32292 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
32293 (grub_fstest_SOURCES): Likewise.
32294 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
32295 (afs_be_mod_SOURCES): New variable.
32296 (afs_be_mod_CFLAGS): Likewise.
32297 (afs_be_mod_LDFLAGS): Likewise.
32298 (befs_be_mod_SOURCES): Likewise.
32299 (befs_be_mod_CFLAGS): Likewise.
32300 (befs_be_mod_LDFLAGS): Likewise.
32301 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
32302 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32303 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32304 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
32305 (grub_emu_SOURCES): Likewise.
32306 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32307 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32308 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32309 * fs/afs_be.c: New file.
32310 * fs/befs_be.c: New file.
32311 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
32312 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
32313 (U16): Replaced with ...
32314 (grub_afs_to_cpu16): ...this. All users updated.
32315 (U32): Replaced with ...
32316 (grub_afs_to_cpu32): ...this. All users updated.
32317 (U64): Replaced with ...
32318 (grub_afs_to_cpu64): ...this. All users updated.
32319 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
32320 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 32321 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 32322 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
32323 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
32324 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
32325 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
32326 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
32327 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
32328 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
32329 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
32330
32a71655 323312009-08-26 Bean <bean123ch@gmail.com>
32332
32333 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
32334 64-bit number.
32335 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
32336 (grub_xfs_inode_block): Change return type to grub_uint64_t.
32337 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
32338
552bf6c5 323392009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32340
32341 NetBSD memory map support.
32342
32343 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
32344 (grub_netbsd_btinfo_mmap_header): New structure.
32345 (grub_netbsd_btinfo_mmap_entry): Likewise.
32346 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
32347
1ae2078c 323482009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32349
32350 Enable bsd.mod on coreboot.
32351
32352 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
32353 (bsd_mod_SOURCES): New variable.
32354 (bsd_mod_CFLAGS): Likewise.
32355 (bsd_mod_LDFLAGS): Likewise.
32356 (bsd_mod_ASFLAGS): Likewise.
32357 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
32358 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
32359
beefc598 323602009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32361
32362 Cleanup NetBSD root support.
32363
32364 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
32365 grub_bsd_get_device.
32366 Fix typo.
32367
3b76e68b 323682009-08-25 Felix Zielcke <fzielcke@z-51.de>
32369
32370 * util/grub.d/00_header.in: Move check for the video backend of
32371 gfxterm from here ...
32372 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
32373 a suitable video backend.
32374
aea664ea 323752009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32376
32377 Fix breakage in grub-setup.
32378
32379 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
32380 "msdos_partition_map".
32381
ff747d50 323822009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32383
32384 Fix breakage in normal/auth.c.
32385
32386 * normal/auth.c (grub_iswordseparator): New function.
32387
e7e1f93f 323882009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32389
32390 Authentication support.
32391
32392 * commands/password.c: New file.
32393 * conf/common.rmk (pkglib_MODULES): Add password.mod.
32394 (password_mod_SOURCES): New variable.
32395 (password_mod_CFLAGS): Likewise.
32396 (password_mod_LDFLAGS): Likewise.
32397 (normal_mod_SOURCES): Add normal/auth.c.
32398 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
32399 normal/auth.c.
32400 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32401 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32402 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32404 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32405 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32406 * include/grub/auth.h: New file.
32407 * include/grub/err.h (grub_err_t): New enum value
32408 GRUB_ERR_ACCESS_DENIED.
32409 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
32410 'users'.
32411 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
32412 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
32413 users updated.
32414 * normal/auth.c: New file.
32415 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
32416 (grub_cmdline_run): Don't allow to go to command line without
32417 authentication.
32418 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
32419 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
32420 menuentry without superuser rights.
32421 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
32422 user isn't a superuser.
32423
70f1161d 324242009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32425
32426 Save space by inlining misc.c functions.
32427
32428 * kern/misc.c (grub_iswordseparator): Made static.
32429 * kern/misc.c (grub_strcat): Moved from here ...
32430 * include/grub/misc.h (grub_strcat): ... here. Inlined.
32431 * kern/misc.c (grub_strncat): Moved from here ...
32432 * include/grub/misc.h (grub_strncat): ... here. Inlined.
32433 * kern/misc.c (grub_strcasecmp): Moved from here ...
32434 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
32435 * kern/misc.c (grub_strncasecmp): Moved from here ...
32436 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
32437 * kern/misc.c (grub_isalpha): Moved from here ...
32438 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
32439 * kern/misc.c (grub_isdigit): Moved from here ...
32440 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
32441 * kern/misc.c (grub_isgraph): Moved from here ...
32442 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
32443 * kern/misc.c (grub_tolower): Moved from here ...
32444 * include/grub/misc.h (grub_tolower): ... here. Inlined.
32445
48e40bff 324462009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32447
32448 * script/sh/function.c (grub_script_function_find): Cut error message
32449 not to flood terminal.
32450 * script/sh/lexer.c (grub_script_yylex): Remove command line length
32451 limit.
32452 * script/sh/script.c (grub_script_arg_add): Duplicate string.
32453
c385bfc3 324542009-08-24 Colin Watson <cjwatson@ubuntu.com>
32455
32456 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
32457 `report' grub_uint8_t *.
32458 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
32459 Use a 50-millisecond timeout rather than just repeating
32460 grub_usb_keyboard_getreport 50 times.
32461 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
32462
2d21e3e8 324632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32464
32465 Rename *_partition_map to part_*
32466
32467 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
32468 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
32469 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
32470 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
32471 All users updated.
32472 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
32473 All users updated.
32474 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
32475 * util/grub-probe.c (probe_partmap): Don't transform partition name
32476 to get module name.
32477
dd103c4e 324782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32479
32480 Fix OpenBSD and NetBSD support.
32481
32482 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
32483 memory address conflict.
32484 (OPENBSD_MMAP_ACPI): New definition.
32485 (OPENBSD_MMAP_NVS): Likewise.
32486 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
32487 and OPENBSD_MMAP_NVS.
32488 Add memory map terminator
32489 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 32490 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 32491
16c84d74 324922009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32493
32494 Let user specify NetBSD root device.
32495
32496 * loader/i386/bsd.c (netbsd_root): New variable.
32497 (netbsd_opts): New option 'root'.
32498 (NETBSD_ROOT_ARG): New macro.
32499 (grub_netbsd_boot): Use 'netbsd_root'.
32500 (grub_bsd_unload): Free 'netbsd_root'.
32501 (grub_cmd_netbsd): Fill 'netbsd_root'.
32502
adb29902 325032009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32504
32505 Support for 64-bit NetBSD.
32506
32507 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
32508 point when booting non-FreeBSD.
32509
f5ae9f74 325102009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32511
32512 Support --no-smp and --no-acpi for NetBSD.
32513
32514 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
32515 (NETBSD_AB_NOACPI): Likewise.
32516 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
32517 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
32518
de74f136 325192009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32520
32521 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
32522 errors.
32523 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
32524 errors. Call grub_error when needed.
32525
e9a925da 325262009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32527
32528 * commands/search.c (search_fs): Try searching without autoload first.
32529 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
32530 filesystem module explicitly for faster booting.
32531
5174302b 325322009-08-23 Colin Watson <cjwatson@ubuntu.com>
32533
32534 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
32535
c8c80635 325362009-08-23 Colin Watson <cjwatson@ubuntu.com>
32537
32538 * util/grub.d/30_os-prober.in: Disable os-prober if
32539 `GRUB_DISABLE_OS_PROBER' was set to true.
32540
71acf5e5 325412009-08-23 Robert Millan <rmh.grub@aybabtu.com>
32542
32543 * partmap/pc.c: Rename to ...
32544 * partmap/msdos.c: ... this. Update all users.
32545 (grub_pc_partition_map): Rename to ...
32546 (grub_msdos_partition_map): ... this. Update all users.
32547
32548 * parttool/pcpart.c: Rename to ...
32549 * parttool/msdospart.c: ... this. Update all users.
32550
32551 * include/grub/pc_partition.h: Rename to ...
32552 * include/grub/msdos_partition.h: ... this. Update all users.
32553 (grub_pc_partition_bsd_entry): Rename to ...
32554 (grub_msdos_partition_bsd_entry): ... this. Update all users.
32555 (grub_pc_partition_disk_label): Rename to ...
32556 (grub_msdos_partition_disk_label): ... this. Update all users.
32557 (grub_pc_partition_entry): Rename to ...
32558 (grub_msdos_partition_entry): ... this. Update all users.
32559 (grub_pc_partition_mbr): Rename to ...
32560 (grub_msdos_partition_mbr): ... this. Update all users.
32561 (grub_pc_partition): Rename to ...
32562 (grub_msdos_partition): ... this. Update all users.
32563 (grub_pc_partition_is_empty): Rename to ...
32564 (grub_msdos_partition_is_empty): ... this. Update all users.
32565 (grub_pc_partition_is_extended): Rename to ...
32566 (grub_msdos_partition_is_extended): ... this. Update all users.
32567 (grub_pc_partition_is_bsd): Rename to ...
32568 (grub_msdos_partition_is_bsd): ... this. Update all users.
32569
32570 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
32571 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
32572 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
32573 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
32574 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
32575 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
32576 (gpt_mod_LDFLAGS): Rename to ...
32577 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
32578 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
32579 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
32580 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
32581 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
32582 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
32583 (part_gpt_mod_LDFLAGS): ... this.
32584 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
32585 `pcpart.mod' to `msdospart.mod'.
32586 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
32587 to ...
32588 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
32589 (msdospart_mod_LDFLAGS): ... this.
32590
c11fded5 325912009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32592
32593 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
32594 (openbsd_opts): Likewise.
32595 (netbsd_opts): Likewise.
32596 (freebsd_flags): Added 0 terminator.
32597 (openbsd_flags): Likewise.
32598 (netbsd_flags): Likewise.
32599 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
32600 (grub_cmd_freebsd): Transformed into extended command.
32601 (grub_cmd_openbsd): Likewise.
32602 (grub_cmd_netbsd): Likewise.
32603 (cmd_freebsd): Changed type to grub_extcmd_t.
32604 (cmd_openbsd): Likewise.
32605 (cmd_netbsd): Likewise.
32606 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
32607 grub_cmd_openbsd as extended commands.
32608 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
32609 cmd_netbsd and cmd_openbsd
32610
11d1c769 326112009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
32612
32613 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
32614
7a9094e5 326152009-08-21 Pavel Roskin <proski@gnu.org>
32616
5496c37e 32617 * Makefile.in (install-local): When checking if a file is in the
32618 build directory, use "test -e" to detect symlinks.
32619
7a9094e5 32620 * Makefile.in (install-local): Remove all files in
32621 $(DESTDIR)$(pkglibdir) before installing new files there.
32622
e53cea11 326232009-08-18 Felix Zielcke <fzielcke@z-51.de>
32624
32625 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
32626 grub-mkelfimage.
32627
9aced544 326282009-08-18 Felix Zielcke <fzielcke@z-51.de>
32629
32630 * util/grub-mkconfig.in: Don't use gfxterm by default if not
32631 explicitly specified by the user.
32632
b7da6bab 326332009-08-18 Pavel Roskin <proski@gnu.org>
32634
32635 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
32636 grub_uint8_t pointer for data.
32637 * include/grub/fbutil.h (struct grub_video_fbblit_info):
32638 Likewise.
32639 * video/fb/fbutil.c: Remove unnecessary casts.
32640
19f1b335 326412009-08-17 Michal Suchanek <hramrach@centrum.cz>
32642
32643 VBE cleanup.
32644
32645 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
32646 (grub_vbe_set_video_mode): Save active mode info
32647 only after setting the mode.
32648 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
32649 second argument.
32650
2f467aa9 326512009-08-17 Michal Suchanek <hramrach@centrum.cz>
32652
32653 Rename variables for clarity.
32654
32655 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
32656 (active_vbe_mode_info): ... this. All users updated.
32657 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
32658 All users updated.
32659 (initial_mode): Rename to ...
32660 (initial_vbe_mode): ... this. All users updated.
32661 (mode_in_use): Rename to ..
32662 (vbe_mode_in_use): ... this. All users updated.
32663 (mode_list): Rename to ..
32664 (vbe_mode_list): ... this. All users updated.
32665 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
32666 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
32667 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
32668 'mode_list_size' to 'vbe_mode_list_size'.
32669 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
32670 'best_mode_info' to 'best_vbe_mode_info' and
32671 'best_mode' to 'best_vbe_mode'
32672
6025fcd7 326732009-08-17 Michal Suchanek <hramrach@centrum.cz>
32674
32675 Remove duplicate grub_video_fb_get_video_ptr.
32676
32677 * include/grub/fbutil.h (get_data_ptr): Rename to ...
32678 (grub_video_fb_get_video_ptr): ... this.
32679 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
32680 * video/fb/fbutil.c: Add comment about addressing.
32681 (get_data_ptr): Rename to ...
32682 (grub_video_fb_get_video_ptr): ... this. All users updated.
32683 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
32684
cc8c6faf 326852009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32686
32687 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
32688 grub_dprintf() that was just added.
32689
08aa61f0 326902009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32691
32692 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
32693 (DEFAULT_VIDEO_MODE): Remove macros.
32694 (grub_linux_boot): Remove assumption that Linux has FB support,
32695 and use "text" as default video mode.
32696
7cef4f75 326972009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
32698
32699 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
32700 grub_dprintf.
32701 * fs/fat.c (grub_fat_read_data): Likewise.
32702
e1f39873 327032009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32704
32705 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
32706 payload.
32707 (grub_module): Likewise.
32708
c166d79e 327092009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32710
32711 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
32712 mbi->cmdline but free playground.
32713
c60cee8e 327142009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32715
32716 Handle group offset on UFS1.
32717
32718 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
32719 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
32720
c0d8b5d4 327212009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32722
32723 Split ufs.mod into ufs1.mod and ufs2.mod.
32724
32725 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
32726 (grub_fstest_SOURCES): Likewise.
32727 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
32728 (ufs_mod_SOURCES): Remove.
32729 (ufs_mod_CFLAGS): Likewise.
32730 (ufs_mod_LDFLAGS): Likewise.
32731 (ufs1_mod_SOURCES): New variable.
32732 (ufs1_mod_CFLAGS): Likewise.
32733 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 32734 (ufs2_mod_SOURCES): New variable.
32735 (ufs2_mod_CFLAGS): Likewise.
32736 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 32737 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
32738 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32739 Likewise.
32740 (grub_emu_SOURCES): Likewise.
32741 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32742 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32743 (grub_setup_SOURCES): Likewise.
32744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32745 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
32746 (grub_setup_SOURCES): Likewise.
32747 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32748 Likewise.
32749 * fs/ufs2.c: New file.
32750 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
32751
d3539132 327522009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32753
32754 Framebuffer split.
32755
32756 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
32757 subsystem at the end.
32758 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
32759 (video_fb_mod_SOURCES): New variable.
32760 (video_fb_mod_CFLAGS): Likewise.
32761 (video_fb_mod_LDFLAGS): Likewise.
32762 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
32763 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
32764 * video/i386/pc/vbeblit.c: Moved from here ...
32765 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
32766 * video/i386/pc/vbefill.c: Moved from here ...
32767 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
32768 * video/i386/pc/vbeutil.c: Moved from here ...
32769 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
32770 * include/grub/i386/pc/vbeblit.h: Moved from here ...
32771 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
32772 * include/grub/i386/pc/vbefill.h: Moved from here ...
32773 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
32774 * include/grub/i386/pc/vbeutil.h: Moved from here ...
32775 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
32776 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
32777 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
32778 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
32779 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
32780 (grub_video_adapter): Added 'get_info_and_fini'.
32781 (grub_video_get_info_and_fini): New prototype.
32782 (grub_video_set_mode): make modestring const char *.
32783 * loader/i386/linux.c (grub_linux_setup_video): Use
32784 grub_video_get_info_and_fini.
32785 (grub_linux_boot): Move modesetting just before booting.
32786 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
32787 grub_video_get_info_and_fini.
32788 * video/i386/pc/vbe.c: Moved framebuffer part ...
32789 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
32790 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
32791 grub_video_fbstd_colors and grub_video_fb_set_palette.
32792 (grub_video_vbe_init): Clear 'framebuffer' variable and use
32793 grub_video_fb_init.
32794 (grub_video_vbe_fini): Use grub_video_fb_fini.
32795 (grub_video_vbe_setup): Use framebuffer.render_target instead of
32796 render_target and use grub_video_fb_set_active_render_target and
32797 grub_video_fb_set_palette.
32798 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
32799 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
32800 (grub_video_vbe_adapter): Use framebuffer.
32801 * video/video.c (grub_video_get_info_and_fini): New function.
32802 (grub_video_set_mode): Make modestring const char *.
32803 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
32804 values are already initialised.
32805
d404ee56 328062009-08-14 Pavel Roskin <proski@gnu.org>
32807
32808 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
32809 ABS and APPLE_CC.
32810 * boot/i386/pc/diskboot.S: Likewise.
32811 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
32812 sectors allow compilation on MacOSX.
32813 * conf/i386-pc.rmk: Enable unconditional compilation of
32814 lnxboot.img.
32815
9a10df16 328162009-08-13 Colin Watson <cjwatson@ubuntu.com>
32817
32818 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
32819 * util/grub.d/00_header.in: Enter interruptible sleep if
32820 GRUB_HIDDEN_TIMEOUT is set.
32821
be3c9ca7 328222009-08-13 Yves Blusseau <blusseau@zetam.org>
32823
32824 * include/grub/symbol.h: Add the LOCAL macro.
32825 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
32826 starting with "L_".
32827
1f9e557e 328282009-08-13 Pavel Roskin <proski@gnu.org>
32829
9ca62843 32830 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
32831 any modern compilers we support.
32832
1f9e557e 32833 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
32834 Use local labels starting with "L_" so that Apple assembler
32835 knows they are local.
32836
81623db6 328372009-08-10 Robert Millan <rmh.grub@aybabtu.com>
32838
32839 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
32840 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
32841 (bsd_kernel_types): ... this enum.
32842
32843 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
32844 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
32845 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
32846
32847 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
32848 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
32849 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
32850 messages.
32851
f5d35e7a 328522009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32853
32854 * util/grub-dumpdevtree: Moved from here ...
32855 * util/i386/efi/grub-dumpdevtree: ... to here.
32856 (hexify): New function. Converts a string to its hex version.
32857 Generate hex versions of "efi" and "device-properties" by calling
32858 hexify() on the ASCII strings rather than by hardcoding numbers.
32859
d1e1d527 328602009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32861
32862 * fs/jfs.c: Update copyright year.
32863
1ebbe064 328642009-08-08 Felix Zielcke <fzielcke@z-51.de>
32865
32866 * util/grub.d/00_header.in: Fix a comment.
32867 * util/grub.d/10_linux.in: Likewise.
32868 * util/grub.d/10_windows.in: Likewise.
32869 * util/grub.d/10_hurd.in: Likewise.
32870
a78c8d24 328712009-08-08 Felix Zielcke <fzielcke@z-51.de>
32872
32873 * util/grub-mkconfig.in: Allow the user to specify the used font
32874 with GRUB_FONT.
32875
29a6b9e8 328762009-08-08 Pavel Roskin <proski@gnu.org>
32877
b5f16cc4 32878 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
32879 available, xfs.mod needs it now.
32880
2f5cb827 32881 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
32882 the "g" modifier in sed when the intention is to strip something
32883 once. This fixes comparison of kernels with multiple dashes.
32884
29a6b9e8 32885 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
32886 on it. Add missing space before closing bracket. Fix
32887 misleading formatting.
32888
892a3d98 328892009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32890
32891 * docs/grub.texi: Major overhaul. Remove all sections that are
32892 specific to GRUB Legacy, or mostly composed of Legacy-specific
32893 information.
32894
ed94253f 328952009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32896
32897 * docs/version.texi: New file. Provides version information for
32898 grub.texi.
32899
126d6628 329002009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32901
32902 * docs/grub.texi: Update CVS information to SVN.
32903 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
32904
998b5aa9 329052009-08-07 Felix Zielcke <fzielcke@z-51.de>
32906
32907 * util/grub-mkconfig.in: Remove a wrong `fi'.
32908
818e094a 329092009-08-07 Felix Zielcke <fzielcke@z-51.de>
32910
32911 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
32912 (grub_jfs_uuid): New function.
32913 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
32914
b969c52f 329152009-08-07 Felix Zielcke <fzielcke@z-51.de>
32916
32917 * util/grub-mkconfig_lib.in (font_path): Move the functionality
32918 of it to ...
32919 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
32920 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
32921
7a4894cc 329222009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32923
32924 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
32925 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
32926 Update all users.
32927
32928 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
32929 not just "vmlinu[zx]".
32930 Moved from here ...
32931 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
32932 all users.
32933
32934 * util/grub.d/10_linux.in (find_latest): Moved from here ...
32935 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
32936 all users.
32937
4e2171f8 329382009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32939
32940 * util/grub.d/10_freebsd.in: Use an absolute device path for
32941 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
32942
6dcfcb32 329432009-08-06 Felix Zielcke <fzielcke@z-51.de>
32944
32945 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
32946 handling of multiple abstraction modules.
32947
f56a8756 329482009-08-04 Robert Millan <rmh.grub@aybabtu.com>
32949
32950 Fix a bug resulting in black screen when loading Linux using a
32951 packed video mode.
32952
32953 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
32954 function.
32955
32956 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
32957 (grub_vbe_bios_getset_dac_palette_width): New function.
32958 (grub_vbe_bios_get_dac_palette_width)
32959 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
32960 grub_vbe_bios_getset_dac_palette_width()).
32961
32962 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
32963 check for return status.
32964 (grub_vbe_get_video_mode_info): When getting information for a packed
32965 mode (<= 8 bpp), obtain DAC palette width using
32966 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
32967 {red,green,blue}_mark_size.
32968
222671b2 329692009-08-04 Felix Zielcke <fzielcke@z-51.de>
32970
ecb1a6d9 32971 * commands/search.c (options): Fix help output to match actual code.
222671b2 32972
f84114f5 329732009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
32974
32975 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
32976 of homegrown code.
32977
bd288a20 329782009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 32979
32980 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
32981 on XFS or ReiserFS.
32982
8aab5e25 329832009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
32984
32985 Support Apple partition map with sector size different from 512 bytes.
32986
32987 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
32988 (apple_partition_map_iterate): Respect 'aheader.blocksize'
32989 and 'apart.partmap_size'.
32990
6ad6258a 329912009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
329922009-08-01 Robert Millan <rmh.grub@aybabtu.com>
32993
32994 Fix cpuid command.
32995
32996 * commands/i386/cpuid.c (options): New variable.
32997 (grub_cmd_cpuid): Return real error.
32998 (GRUB_MOD_INIT(cpuid)): Declare options.
32999
67459bc6 330002009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
33001
33002 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
33003 valid.
33004
fbc6ab54 330052009-07-31 Bean <bean123ch@gmail.com>
33006
33007 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
33008 log2_inode.
33009 (grub_fshelp_node): Move inode field to the end.
33010 (grub_xfs_data): Remove inode field.
33011 (grub_xfs_inode_block): Calculate inode size using sblock.
33012 (grub_xfs_inode_offset): Likewise.
33013 (grub_xfs_read_inode): Calculate inode size using sblock.
33014 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
33015 (grub_xfs_iterate_dir): Calculate inode size using sblock.
33016 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
33017 to match inode size.
33018 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
33019 not accessible when data is null.
33020 (grub_xfs_open): Likewise.
33021
f45d6cfc 330222009-07-31 Bean <bean123ch@gmail.com>
33023
33024 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
33025 Don't change pv->disk if it's already set.
33026
33027 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
33028 (grub_raid_register): ... here.
33029 (grub_raid_rescan): Removed.
33030
33031 * include/grub/raid.h (grub_raid_rescan): Removed.
33032
33033 * util/grub-fstest.c: Remove include file <grub/raid.h>.
33034 (fstest): Replace grub_raid_rescan with module fini function followed
33035 by init function.
33036
33037 * util/grub-probe.c: Add include file <grub/raid.h>.
33038 (probe_raid_level): New function.
33039 (probe): Detect abstraction by walking the disk device, support two
33040 level of abstraction (LVM on RAID) when detecting partition map.
33041
24443b5a 330422009-07-31 Pavel Roskin <proski@gnu.org>
33043
33044 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
33045 to grub_zalloc(), it was erroneous.
33046 Reported by Bean <bean123ch@gmail.com>
33047
a275d9e7 330482009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
33049
33050 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 33051 embedding zone, not only the first one.
a275d9e7 33052
56c5a47f 330532009-07-29 Joe Auricchio <jauricchio@gmail.com>
33054
33055 * term/gfxterm.c (clear_char): New function.
33056 (grub_virtual_screen_setup): Use clear_char.
33057 (scroll_up): Likewise.
33058 (grub_virtual_screen_cls): Likewise.
33059
67bb323a 330602009-07-29 Felix Zielcke <fzielcke@z-51.de>
33061
33062 * util/deviceiter.c (get_acceleraid_disk_name): New static
33063 function.
33064 (grub_util_iterate_devices): Handle Accelraid devices.
33065 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
33066
388a7c75 330672009-07-28 Robert Millan <rmh.grub@aybabtu.com>
33068
33069 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
33070 separator for the suggested gfxpayload string (';' collides with the
33071 parser and needs escaping).
33072
3bb7abcf 330732009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
33074
33075 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
33076 Clear direction flag before jumping to OS.
33077 (grub_multiboot2_real_boot): Likewise.
33078
2ddd36d7 330792009-07-28 Felix Zielcke <fzielcke@z-51.de>
33080
33081 * util/i386/pc/grub-install: Fix parsing of --disk-module
33082 option.
33083
c521b62b 330842009-07-28 Felix Zielcke <fzielcke@z-51.de>
33085
33086 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
33087 when embedding.
33088
880e0a0c 330892009-07-26 Felix Zielcke <fzielcke@z-51.de>
33090
33091 * util/grub-mkconfig.in (package_version): New variable.
33092 Use it do display the version.
33093
2366e356 330942009-07-25 Felix Zielcke <fzielcke@z-51.de>
33095
33096 * kern/file.c (grub_file_open): Revert to previous check with
33097 grub_errno.
33098
7ad8c80e 330992009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
33100
33101 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
33102 from help line. It's out of sync with code.
33103
72b9658b 331042009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
33105
33106 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
33107 entries on failed boot.
33108
77435277 331092009-07-25 Felix Zielcke <fzielcke@z-51.de>
33110
33111 * kern/file.c (grub_file_open): Fix an error check.
33112
fcaa8b21 331132009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
33114
35d16c74 33115 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
33116 partition map couldn't be identified.
fcaa8b21 33117
48904cd1 331182009-07-23 Pavel Roskin <proski@gnu.org>
33119
ef3c317f 33120 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
33121 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
33122 case of little endian words becomes just an optimization.
33123 Respect const modifier.
ad8ea1f4 33124 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 33125
48904cd1 33126 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
33127 to avoid loss of upper bits if align is unsigned and shorter
33128 than addr.
33129
260c9a89 331302009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
33131
33132 UUID support for UFS
33133
33134 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
33135 (grub_ufs_uuid): New function.
33136 (grub_ufs_fs): add .uuid
33137
f76ce889 331382009-07-21 Pavel Roskin <proski@gnu.org>
33139
33140 * kern/dl.c (grub_dl_check_header): Make static.
33141
6a6cbcaf 331422009-07-21 Felix Zielcke <fzielcke@z-51.de>
33143
33144 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
33145 add drivemap for Vista. It breaks Windows 7.
33146
cffcddb2 331472009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
33148
33149 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
33150 128 bytes
33151
1ef44b80 331522009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33153
33154 Add BFS support
33155
33156 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
33157 (grub_fstest_SOURCES): Likewise.
33158 (pkglib_MODULES): Add befs.mod.
33159 (befs_mod_SOURCES): New variable.
33160 (befs_mod_CFLAGS): Likewise.
33161 (befs_mod_LDFLAGS): Likewise.
33162 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33163 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33164 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33165 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33166 (grub_setup_SOURCES): Likewise.
33167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33168 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33169 (grub_setup_SOURCES): Likewise.
33170 * fs/befs.c: New file.
33171 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
33172 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
33173 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
33174 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
33175 (B_KEY_INDEX_ALIGN): New declaration.
33176 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
33177 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
33178 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
33179 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
33180 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
33181 (grub_afs_mount) [MODE_BFS]: Likewise.
33182 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
33183 (grub_afs_fs): Use GRUB_AFS_FSNAME
33184 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
33185 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
33186 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
33187 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
33188
4f253044 331892009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
33190
33191 * util/getroot.c (find_root_device): Add support for MacOSX.
33192 * util/hostdisk.c: Likewise.
33193
57a55913 331942009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33195
33196 * font/font.c (find_glyph): Check whether a font is present to avoid
33197 segmentation fault.
75421ca9 33198
331992009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 33200
33201 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
33202
e98cd0c2 332032009-07-20 Pavel Roskin <proski@gnu.org>
33204
33205 * configure.ac: Trim excessively wordy excuses.
33206
1d2d169a 332072009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33208
33209 Add symlink, mtime and label support to AtheFS.
33210
33211 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
33212 (grub_afs_iterate_dir): Handle symlinks.
33213 (grub_afs_open): Use grub_afs_read_symlink.
33214 (grub_afs_dir): Likewise.
33215 Pass mtime.
33216 (grub_afs_label): New function.
33217 (grub_afs_fs): Add grub_afs_label.
33218 (grub_afs_read_symlink): New function.
33219
186f3189 332202009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33221
33222 Fix AtheFS support.
33223
33224 * fs/afs.c: Fix comments style.
33225 (grub_afs_blockrun): Declare as packed.
33226 (grub_afs_datastream): Likewise.
33227 (grub_afs_bnode): Likewise.
33228 (grub_afs_btree): Likewise.
33229 (grub_afs_sblock): Likewise.
33230 Declare `name' as char.
33231 (grub_afs_inode): Declare as packed.
33232 Change void *vnode to grub_uint32_t unused.
33233 (grub_afs_iterate_dir): Check that key_size is positive.
33234 (grub_afs_mount): Don't read superblock twice.
75421ca9 33235 (grub_afs_dir): Don't free node in case of error,
186f3189 33236 grub_fshelp_find_file already handles this.
33237 (grub_afs_open): Likewise.
33238
5680109e 332392009-07-19 Pavel Roskin <proski@gnu.org>
33240
33241 * Makefile.in: Remove LIBLZO and enable_lzo.
33242 * conf/i386-pc.rmk: Remove lzo support.
33243 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
33244 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
33245 support.
33246 * kern/i386/pc/lzo1x.S: Remove.
33247 * kern/i386/pc/startup.S: Remove lzo support.
33248 * util/i386/pc/grub-mkimage.c: Likewise.
33249
ac70fa32 332502009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
33251
33252 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
33253 * fs/xfs.c (grub_xfs_dir): Likewise.
33254 * fs/afs.c (grub_afs_dir): Likewise.
33255 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
33256 (grub_iso9660_open): Likewise.
33257 * fs/jfs.c (grub_jfs_open): Likewise.
33258 * fs/ext2.c (grub_ext2_dir): Likewise.
33259 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
33260 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 33261
eab58da2 332622009-07-16 Pavel Roskin <proski@gnu.org>
33263
d2838156 33264 * configure.ac: Never add "-c" to CFLAGS.
33265
55c70904 33266 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
33267
43e6200c 33268 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
33269 grub_cv_cc_efiemu should be used.
33270
ce7a733d 33271 * configure.ac: Typo fixes.
33272
eab58da2 33273 * kern/mm.c (grub_zalloc): New function.
33274 (grub_debug_zalloc): Likewise.
33275 * include/grub/mm.h: Declare grub_zalloc() and
33276 grub_debug_zalloc().
33277 * util/misc.c (grub_zalloc): New function.
33278 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
33279 instead of grub_malloc(), remove unneeded initializations.
33280 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
33281 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
33282 * commands/parttool.c (grub_cmd_parttool): Likewise.
33283 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
33284 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
33285 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
33286 * disk/usbms.c (grub_usbms_finddevs): Likewise.
33287 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
33288 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
33289 (grub_cmd_efiemu_pnvram): Likewise.
33290 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
33291 * fs/iso9660.c (grub_iso9660_mount): Likewise.
33292 (grub_iso9660_iterate_dir): Likewise.
33293 * fs/jfs.c (grub_jfs_opendir): Likewise.
33294 * fs/ntfs.c (list_file): Likewise.
33295 (grub_ntfs_mount): Likewise.
33296 * kern/disk.c (grub_disk_open): Likewise.
33297 * kern/dl.c (grub_dl_load_core): Likewise.
33298 * kern/elf.c (grub_elf_file): Likewise.
33299 * kern/env.c (grub_env_context_open): Likewise.
33300 (grub_env_set): Likewise.
33301 (grub_env_set_data_slot): Likewise.
33302 * kern/file.c (grub_file_open): Likewise.
33303 * kern/fs.c (grub_fs_blocklist_open): Likewise.
33304 * loader/i386/multiboot.c (grub_module): Likewise.
33305 * loader/xnu.c (grub_xnu_create_key): Likewise.
33306 (grub_xnu_create_value): Likewise.
33307 * normal/main.c (grub_normal_add_menu_entry): Likewise.
33308 (read_config_file): Likewise.
33309 * normal/menu_entry.c (make_screen): Likewise.
33310 * partmap/sun.c (sun_partition_map_iterate): Likewise.
33311 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
33312 * script/sh/script.c (grub_script_parse): Likewise.
33313 * video/bitmap.c (grub_video_bitmap_create): Likewise.
33314 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
33315 * video/readers/png.c (grub_png_output_byte): Likewise.
33316 (grub_video_reader_png): Likewise.
33317
830afef7 333182009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 33319
33320 Enable all targets that can be built by default
33321
830afef7 33322 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 33323 grub-mkfont and grub-fstest if they can be built
33324
ee293aee 333252009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33326
33327 Fix hang and segmentation fault in grub-emu-usb
33328
33329 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
33330 * util/usb.c (grub_libusb_devices): likewise
33331 (grub_libusb_init): rename to ...
33332 (GRUB_MOD_INIT (libusb)):...this
33333 (grub_libusb_fini): rename to ..
33334 (GRUB_MOD_FINI (libusb)):...this
33335 * disk/usbms.c (grub_usbms_transfer): fix retry logic
33336 * include/grub/disk.h (grub_raid_init): removed, it's useless
33337 (grub_raid_fini): likewise
33338 (grub_lvm_init): likewise
33339 (grub_lvm_fini): likewise
33340 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
33341 by grub_init_all
33342
94414221 333432009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33344
33345 Fix libusb
33346
33347 * Makefile.in (LIBUSB): new macro
33348 * genmk.rb (Utility/print_tail): new method
33349 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
33350 (top level): call util.print_tail at the end.
33351
59ade63d 333522009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33353
33354 Make FreeBSD accept zpool.cache
33355
33356 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
33357 type is /boot/zfs/zpool.cache
33358
a58da8c7 333592009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33360
33361 Fix 64-bit efiemu
33362
33363 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
33364 correct wrong typedef
33365 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
33366
20591577 333672009-07-15 Pavel Roskin <proski@gnu.org>
33368
560ca572 33369 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
33370 * kern/disk.c (struct grub_disk_cache): Likewise.
33371
e8e8e4fd 33372 * commands/probe.c (options): Typo fix.
33373
fde24e10 33374 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
33375 Increase to 0x5a to accommodate FAT32. Adjust other offsets
33376 accordingly.
33377 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
33378
379c54c1 33379 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
33380 the end of "Error" to make the message more readable.
33381
7bd8f5bf 33382 * boot/i386/pc/boot.S (kernel_segment): Remove.
33383 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
33384 for destination.
33385
40b132c5 33386 * boot/i386/pc/boot.S (boot_version): Remove.
33387 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
33388 Remove.
33389
20591577 33390 * include/grub/i386/pc/boot.h: Sort all offsets.
33391 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
33392 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
33393 * boot/i386/pc/boot.S: Assert location of every offset listed in
33394 include/grub/i386/pc/boot.h.
33395
2df32b2c 333962009-07-13 Pavel Roskin <proski@gnu.org>
33397
44b5d879 33398 * include/grub/i386/coreboot/machine.h: Rename
33399 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
33400 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
33401 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
33402
17dc3751 33403 * kern/dl.c: Force native word size to suppress warnings when
33404 compiling grub-emu.
33405
2df32b2c 33406 * kern/device.c (grub_device_iterate): Change struct part_ent to
33407 hold the name, not a pointer to it. Use one grub_malloc() per
33408 partition, not two. Free partition_name if grub_malloc() fails.
33409 Set ents to NULL only before grub_partition_iterate() is called.
33410
75c59f59 334112009-07-11 Bean <bean123ch@gmail.com>
33412
33413 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
33414 childname.
33415
0ae1bf88 334162009-07-10 Bean <bean123ch@gmail.com>
334172009-07-10 Robert Millan <rmh.grub@aybabtu.com>
33418
33419 * kern/ieee1275/openfw.c (grub_children_iterate)
33420 (grub_devalias_iterate): Fix size evaluation for property or path
33421 strings, which was broken since r2132.
33422
8279cade 334232009-07-07 Pavel Roskin <proski@gnu.org>
33424
7d8a52d3 33425 * commands/search.c (search_file): Merge into ...
33426 (search_fs): ... this. Accept search type as argument.
33427 (grub_cmd_search): Pass search type to search_fs().
33428
25f9a05a 33429 * include/grub/util/console.h: New file.
33430 * util/console.c: Use it instead of grub/machine/console.h.
33431 * util/grub-emu.c: Likewise.
33432
8279cade 33433 * lib/arg.c (find_long_option): Remove.
33434 (find_long): Add `len' argument, make `s' const char *.
33435 (grub_arg_parse): Parse long options in place, not in a
33436 temporary buffer.
33437
4a11b60f 334382009-07-06 Pavel Roskin <proski@gnu.org>
33439
99f68041 33440 * commands/search.c (search_fs): Fix potential NULL pointer
33441 dereference.
33442
4a11b60f 33443 * commands/search.c (search_fs): Replace QUID macro with quid_fn
33444 function pointer.
33445
e110f4de 334462009-07-06 Daniel Mierswa <impulze@impulze.org>
33447
33448 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
33449 comparison.
33450
46eeb6a2 334512009-07-05 Pavel Roskin <proski@gnu.org>
33452
bab74958 33453 * include/grub/i386/linux.h (struct linux_kernel_params):
33454 Restore padding3, it's still needed.
33455
46eeb6a2 33456 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
33457 FreeBSD.
33458 * util/osdetect.lua: Likewise.
33459
b4a1dc79 334602009-07-05 Bean <bean123ch@gmail.com>
33461
33462 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
33463
33464 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
33465 (grub_lua_getenv): Likewise.
33466 (grub_lua_setenv): Likewise.
33467 (save_errno): New function.
33468 (push_result): Likewise.
33469 (grub_lua_enum_device): Likewise.
33470 (grub_lua_enum_file): Likewise.
33471 (grub_lua_file_open): Likewise.
33472 (grub_lua_file_close): Likewise.
33473 (grub_lua_file_seek): Likewise.
33474 (grub_lua_file_read): Likewise.
33475 (grub_lua_file_getline): Likewise.
33476 (grub_lua_file_getsize): Likewise.
33477 (grub_lua_file_getpos): Likewise.
33478 (grub_lua_file_eof): Likewise.
33479 (grub_lua_file_exist): Likewise.
33480 (grub_lua_add_menu): Likewise.
33481
33482 * script/lua/grub_lua.h (isupper): New inline function.
33483 (islower): Likewise.
33484 (ispunct): Likewise.
33485 (isxdigit): Likewise.
33486 (strcspn): Change to normal function.
33487 (strpbkr): New function declaration.
33488 (memchr): Likewise.
33489
33490 * script/lua/grub_main.c (scan_str): New function.
33491 (strcspn): Likewise.
33492 (strpbrk): Likewise.
33493 (memchr): Likewise.
33494
33495 * script/lua/linit.c (lualibs): Enable the string library.
33496
33497 * util/osdetect.lua: New file.
33498
2da92295 334992009-07-04 Robert Millan <rmh.grub@aybabtu.com>
33500
33501 * include/grub/i386/linux.h (struct linux_kernel_params): Add
33502 `capabilities' member.
33503
b2582ec9 335042009-07-02 Pavel Roskin <proski@gnu.org>
33505
33506 * genparttoollist.sh: Add missing newline at the end.
33507
32622956 335082009-07-01 Pavel Roskin <proski@gnu.org>
33509
87a7339e 33510 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
33511
d23af54e 33512 * util/hostdisk.c (open_device): Remove `const' from
33513 `sysctl_size', as sysctlbyname() can change it (in this case it
33514 doesn't actually happen).
33515
c94b18a9 33516 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
33517 using signed long int constants.
33518
c6cd3ef0 33519 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
33520 constant to avoid a warning on FreeBSD.
33521
0df63420 33522 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
33523 where it's needed.
33524
999577f1 33525 * Makefile.in: Install include/grub/machine symlink.
33526
6f41557f 33527 * Makefile.in: When installing symlinks, use "cp -fR", which
33528 works on FreeBSD and MacOSX.
33529 From Yves Blusseau <cl7m42e02@sneakemail.com>
33530
c8d22988 33531 * kern/dl.c (grub_dl_resolve_symbol): Make static.
33532 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
33533
1b96e952 33534 * util/misc.c: Move grub_reboot() and grub_halt() ...
33535 * util/grub-emu.c: ... here. Make main_env static.
33536 * include/grub/util/misc.h: Remove main_env.
33537
2ef0084d 33538 * kern/mm.c: Use correct format to print size_t.
33539
32622956 33540 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
33541 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
33542 * kern/powerpc/dl.c: Likewise.
33543 * kern/sparc64/dl.c: Likewise.
33544 * kern/x86_64/dl.c: Likewise.
33545
3f7f0cd0 335462009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33547
33548 Fix grub-emu build on sparc64-ieee1275.
33549
75421ca9 33550 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 33551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
33552
211d06b5 335532009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33554
33555 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
33556 (grub_reboot, grub_halt): New functions.
33557
33558 * util/i386/pc/misc.c: Delete. Update all users.
33559 * util/sparc64/ieee1275/misc.c: Likewise.
33560 * util/powerpc/ieee1275/misc.c: Likewise.
33561
aaf53e3c 335622009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33563
33564 * conf/i386.rmk (setjmp_mod_SOURCES)
33565 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
33566 * conf/common.rmk (setjmp_mod_SOURCES)
33567 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
33568 to use $(target_cpu).
33569 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
33570 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
33571 * conf/powerpc-ieee1275.rmk: Likewise.
33572 * conf/sparc64-ieee1275.rmk: Likewise.
33573
33574 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
33575 $(target_cpu) for kern/$(target_cpu)/dl.c.
33576 * conf/i386-efi.rmk: Likewise.
33577 * conf/i386-ieee1275.rmk: Likewise.
33578 * conf/x86_64-efi.rmk: Likewise.
33579 * conf/i386-coreboot.rmk: Likewise.
33580 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
33581 $(target_cpu) for kern/$(target_cpu)/dl.c and for
33582 kern/$(target_cpu)/cache.S.
33583 * conf/sparc64-ieee1275.rmk: Likewise.
33584
a337130b 335852009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33586
33587 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
33588 type to `grub_uint8_t', and adjust `padding9' accordingly.
33589
c6fe4d53 335902009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33591
b09db61d 33592 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
33593
c6fe4d53 33594 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
33595 assembly in final jump, using register constraints.
33596
b09db61d 33597 (grub_linux_boot): For text mode, initialize `have_vga' using
33598 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
33599
33600 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
33601 right before the final jump.
33602
33603 Set `video_mode' to 0x3.
33604
33605 Document initialization of `video_page', `video_mode' and
33606 `video_ega_bx'.
33607
28333ad0 336082009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33609
33610 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
33611 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 33612 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 33613
02164e1b 336142009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33615
33616 Fix build on Debian / sparc.
33617
33618 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
33619
18b6c557 336202009-06-28 Pavel Roskin <proski@gnu.org>
33621
85f2aab6 33622 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
33623 fix a warning.
33624
18b6c557 33625 * util/grub.d/10_linux.in: Match SUSE style initrd names.
33626
ad760f81 336272009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33628
33629 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
33630 `err'.
33631
87a4623b 336322009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33633
33634 Revert r2338.
33635
33636 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
33637 file can't be opened. grub_file_open() is already supposed to set
75421ca9 33638 grub_errno / grub_errmsg appropriately.
87a4623b 33639 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33640
8231fb77 336412009-06-27 Pavel Roskin <proski@gnu.org>
336422009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33643
33644 * include/grub/dl.h: Include grub/elf.h.
33645 (struct grub_dl): Add symtab field.
33646 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
33647 GRUB_MODULES_MACHINE_READONLY.
33648 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
33649 of the header for read-only modules.
33650 (grub_dl_unload): Free mod->symtab for read-only modules.
33651 * kern/i386/dl.c: Use mod->symtab.
33652 * kern/powerpc/dl.c: Likewise.
33653 * kern/sparc64/dl.c: Likewise.
33654 * kern/x86_64/dl.c: Likewise.
33655
33656 * conf/i386-qemu.rmk: New file.
33657 * kern/i386/qemu/startup.S: Likewise.
33658 * kern/i386/qemu/mmap.c: Likewise.
33659 * boot/i386/qemu/boot.S: Likewise.
33660 * include/grub/i386/qemu/time.h: Likewise.
33661 * include/grub/i386/qemu/serial.h: Likewise.
33662 * include/grub/i386/qemu/kernel.h: Likewise.
33663 * include/grub/i386/qemu/console.h: Likewise.
33664 * include/grub/i386/qemu/boot.h: Likewise.
33665 * include/grub/i386/qemu/init.h: Likewise.
33666 * include/grub/i386/qemu/machine.h: Likewise.
33667 * include/grub/i386/qemu/loader.h: Likewise.
33668 * include/grub/i386/qemu/memory.h: Likewise.
33669
33670 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
33671 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
33672 [qemu] (pkglib_IMAGES): Add `boot.img'.
33673 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
33674 [qemu] (boot_img_FORMAT): New variables.
33675 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
33676 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
33677 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
33678 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
33679 [qemu] (kernel_img_FORMAT): New variables.
33680
33681 * configure.ac: Recognise `i386-qemu'.
33682
33683 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
33684 (for no compression).
33685 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
33686 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
33687 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
33688 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
33689 ifdefs).
33690
97fe384e 336912009-06-27 Pavel Roskin <proski@gnu.org>
33692
33693 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
33694 read.
33695 * efiemu/prepare32.c: Likewise.
33696 * efiemu/prepare64.c: Likewise.
33697
c402ab17 336982009-06-26 Pavel Roskin <proski@gnu.org>
33699
33700 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
33701 * include/grub/elf.h: Define symbols without "32" or "64" based
33702 on GRUB_TARGET_WORDSIZE.
33703 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
33704 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
33705 ELF definitions.
33706 * efiemu/loadcore64.c: Likewise.
33707 * loader/i386/bsd32.c: Likewise.
33708 * loader/i386/bsd64.c: Likewise.
33709 * kern/dl.c: Remove own ELF definitions.
33710 * util/i386/efi/grub-mkimage.c: Likewise.
33711
9bbdfd4d 337122009-06-23 Robert Millan <rmh.grub@aybabtu.com>
33713
33714 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
33715 segment 0x0 unconditionally, because the reference generated by
33716 GAS is an absolute address.
33717
a42ce6e9 337182009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33719
33720 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
33721 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
33722
c952cf92 337232009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33724
33725 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
33726 indexes. Check for -f explicitly.
cc3752ad 33727 (search_file): Improve error message.
33728 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 33729
132a0a59 337302009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33731
33732 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
33733 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
33734
387a140c 337352009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33736
33737 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
33738 * conf/i386-ieee1275.rmk: Likewise.
33739 * conf/i386-coreboot.rmk: Likewise.
33740
33741 * kern/i386/pc/startup.S (grub_stop): Remove function.
33742 * kern/i386/ieee1275/startup.S: Likewise.
33743 * kern/i386/coreboot/startup.S: Likewise.
33744 * kern/i386/misc.S (grub_stop): New function.
33745
41da9665 337462009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33747
33748 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
33749 * kern/i386/realmode.S (real_to_prot): ... to here.
33750
bf337234 337512009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33752
33753 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
33754 with `kernel.img'.
33755 (kernel_elf_SOURCES): Rename to ...
33756 (kernel_img_SOURCES): ... this.
33757 (kernel_elf_HEADERS): Rename to ...
33758 (kernel_img_HEADERS): ... this. Update all users.
33759 (kernel_elf_ASFLAGS): Rename to ...
33760 (kernel_img_ASFLAGS): ... this.
33761 (kernel_elf_CFLAGS): Rename to ...
33762 (kernel_img_CFLAGS): ... this.
33763 (kernel_elf_LDFLAGS): Rename to ...
33764 (kernel_img_LDFLAGS): ... this.
33765 * conf/i386-coreboot.rmk: Likewise.
33766 * conf/powerpc-ieee1275.rmk: Likewise.
33767
33768 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
33769 with "kernel.img".
33770
f52196ff 337712009-06-21 Pavel Roskin <proski@gnu.org>
33772
c3cee413 33773 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
33774 to match nested functions.
33775 * loader/sparc64/ieee1275/linux.c: Likewise.
33776
f52196ff 33777 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
33778
58750afc 337792009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33780
33781 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
33782 all i386 platforms.
33783
15355c7d 337842009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33785
33786 Fix asm file handling on ELF, and remove workarounds.
33787
33788 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 33789 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 33790 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
33791 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
33792
3f3ec72b 337932009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
33794
33795 Load BSD ELF modules
33796
33797 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
33798 and loader/i386/bsd64.c
33799 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
33800 (FREEBSD_MODTYPE_ELF_MODULE): New definition
33801 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
33802 (grub_freebsd_load_elfmodule32): New declaration
33803 (grub_freebsd_load_elfmoduleobj64): Likewise
33804 (grub_freebsd_load_elf_meta32): Likewise
33805 (grub_freebsd_load_elf_meta64): Likewise
33806 (grub_freebsd_add_meta): Likewise
33807 (grub_freebsd_add_meta_module): Likewise
33808 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
33809 (grub_freebsd_add_meta_module): Likewise and move module-specific
33810 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
33811 (grub_cmd_freebsd): Add elf-kernel specific parts
33812 based on grub_freebsd_add_meta_module
33813 (grub_cmd_freebsd_module): Add type parsing moved from
33814 grub_freebsd_add_meta_module
33815 (grub_cmd_freebsd_module_elf): New function
33816 (cmd_freebsd_module_elf): New variable
33817 (GRUB_MOD_INIT): Register freebsd_module_elf
33818 * loader/i386/bsd32.c: New file
33819 * loader/i386/bsd64.c: Likewise
33820 * loader/i386/bsdXX.c: Likewise
33821 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
33822 (grub_elf64_load): Likewise
33823 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
33824 All users updated
33825 (grub_elf64_load_hook_t): Likewise
33826
0db15301 338272009-06-21 Colin Watson <cjwatson@ubuntu.com>
33828
33829 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
33830 variable.
33831 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
33832 don't write a menu entry for recovery mode.
33833
546796c1 338342009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33835
33836 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
33837 after it's no longer needed.
33838
cd7310d5 338392009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33840
33841 * include/grub/i386/loader.h (grub_linux_prot_size)
33842 (grub_linux_tmp_addr, grub_linux_real_addr)
33843 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
33844 GRUB_MACHINE_PCBIOS.
33845 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
33846 common grub_util_info() call to ...
33847 (generate_image): ... here.
33848 Fix use of uninitialized memory, comparison of signed with
33849 unsigned integers and memory leak.
33850 Remove bogus module address message.
33851
ab32d3b5 338522009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
33853
33854 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
33855 grub_raid_register
33856 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
33857
024ef597 338582009-06-19 Pavel Roskin <proski@gnu.org>
33859
33860 * configure.ac: Remove stray AC_MSG_CHECKING.
33861
3ac72b51 338622009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
33863
33864 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 33865
e14cd814 338662009-06-18 Pavel Roskin <proski@gnu.org>
33867
33868 * conf/common.rmk: Add fs_file.mod.
33869 * disk/fs_file.c: New file.
33870 * include/grub/disk.h (enum grub_disk_dev_id): Add
33871 GRUB_DISK_DEVICE_FILE_ID.
33872
26586d98 338732009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33874
33875 Fix build with Apple's toolchain. Part 2
33876
33877 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
33878 a fake start
33879
26de2bcd 338802009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33881
33882 Fix build with Apple's toolchain. Part 1
33883
33884 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
33885 for long calls
33886 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 33887 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 33888 Apple's toolchain
33889
09b3490b 338902009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33891
33892 Fix warnings
33893
33894 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
33895 (decomp_block): initialize ch
33896 use grub_memcpy instead of memcpy
33897
c22a006a 338982009-06-17 Pavel Roskin <proski@gnu.org>
33899
d3638678 33900 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
33901 version, use declarations needed to use vga_text as the startup
33902 console.
33903
c22a006a 33904 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
33905 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
33906 the kernel.
33907 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
33908 and grub_at_keyboard_fini(), it's done on module load and
33909 unload.
33910
05b129e0 339112009-06-17 Felix Zielcke <fzielcke@z-51.de>
33912
33913 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
33914 file can't be found.
33915 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33916
cf24ed9e 339172009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33918
33919 Fix newline handling
33920
33921 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 33922 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 33923 (grub_script_yylex): don't segfault on unterminated script
33924 newline terminates command and variable
33925
74aa8e4b 339262009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33927
33928 avoid double grub_adjust_range call. Bug reported by David Simner
33929
33930 * kern/disk.c (grub_disk_write): change to raw disk access before
33931 calling disk_read
33932
1bd265f3 339332009-06-17 Colin Watson <cjwatson@ubuntu.com>
33934
33935 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
33936 spaces, for the benefit of help2man.
33937 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33938
a2d08c06 339392009-06-16 Pavel Roskin <proski@gnu.org>
33940
33941 * kern/i386/halt.c: Include grub/machine/init.h.
33942 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
33943
b97bcb19 339442009-06-16 Felix Zielcke <fzielcke@z-51.de>
33945
33946 * util/grub.d/30_os-prober.in: Use ${root} in the generated
33947 drivemap menuentry.
33948
0644f96c 339492009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
33950
33951 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
33952 `echo' command.
33953
3ef17a2e 339542009-06-16 Pavel Roskin <proski@gnu.org>
33955
33956 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
33957 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
33958 save %dx, we only need %dl and we never change it.
33959 * boot/i386/pc/cdboot.S: Don't set the root drive.
33960 * boot/i386/pc/pxeboot.S: Likewise.
33961 * include/grub/i386/pc/boot.h: Remove
33962 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
33963 GRUB_BOOT_MACHINE_DRIVE_CHECK.
33964 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
33965 * kern/i386/pc/init.c (make_install_device): Remove references
33966 to grub_root_drive.
33967 * kern/i386/pc/startup.S: Likewise.
33968 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
33969
693fe637 339702009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33971
33972 xnu_uuid command
33973
33974 * commands/xnu_uuid.c: new file
33975 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
33976 (xnu_uuid_mod_SOURCES): new variable
33977 (xnu_uuid_mod_CFLAGS): likewise
33978 (xnu_uuid_mod_LDFLAGS): likewise
33979 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33980 * conf/i386-ieee1275.rmk: likewise
33981 * conf/i386-pc.rmk: likewise
33982 * conf/powerpc-ieee1275.rmk: likewise
33983 * conf/sparc64-ieee1275.rmk: likewise
33984 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
33985
c9da87d0 339862009-06-16 Pavel Roskin <proski@gnu.org>
33987
33988 * configure.ac: Avoid '==' in test command, it's not portable.
33989
9c6f4596 339902009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33991
33992 Probe command
33993
33994 * commands/probe.c: new file
33995 * conf/common.rmk (pkglib_MODULES): add probe.mod
33996 (probe_mod_SOURCES): new variable
33997 (probe_mod_CFLAGS): likewise
33998 (probe_mod_LDFLAGS): likewise
33999 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
34000 * conf/i386-ieee1275.rmk: likewise
34001 * conf/i386-pc.rmk: likewise
34002 * conf/powerpc-ieee1275.rmk: likewise
34003 * conf/sparc64-ieee1275.rmk: likewise
34004
70b7f9fd 340052009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
34006
34007 Fix handling of string like \"hello\" and "a
34008 b"
34009
34010 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
34011 (grub_script_yylex): fix parsing of quoting, escaping and newline
34012
71c79a6b 340132009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
34014
dd74360c 34015 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 34016 handling
dd74360c 34017
0644f96c 340182009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 34019
34020 * util/grub-mkconfig.in: Fix parsing of --output option.
34021
e40893c3 340222009-06-12 Pavel Roskin <proski@gnu.org>
34023
34024 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
34025 genmk.rb don't need to be generated or installed.
34026
3a1acfe2 340272009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
34028
34029 * commands/i386/pc/drivemap_int13h.S: add more comments
34030
3a4575d4 340312009-06-11 Pavel Roskin <proski@gnu.org>
34032
0658e928 34033 * Makefile.in (uninstall): Uninstall manuals.
34034
ca0388f0 34035 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
34036 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
34037 and update-grub_lib in two places.
34038 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
34039
e3b27c39 34040 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
34041 a compiler warning.
34042
3a4575d4 34043 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
34044 `entry_lo' to fix variable shadowing.
34045
af1f4f55 340462009-06-11 Christian Franke <franke@computer.org>
34047
34048 * kern/misc.c (__enable_execute_stack): Add missing return type
34049 to prevent gcc warning.
34050
5225e649 340512009-06-11 Felix Zielcke <fzielcke@z-51.de>
34052
34053 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
34054
7d83bd47 340552009-06-11 Pavel Roskin <proski@gnu.org>
34056
c1cb63ba 34057 * Makefile.in: Don't rely on any scripts being executable.
34058 Always use $(SHELL) to run shell scripts.
34059
7d83bd47 34060 * configure.ac: Always define ___main if using -nostdlib. This
34061 fixes tests on Cygwin.
34062
948f48e7 340632009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
34064
34065 UDF fix
34066
7d83bd47 34067 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 34068 is in bytes and not in blocks
7d83bd47 34069
8ada9bc1 340702009-06-11 Pavel Roskin <proski@gnu.org>
34071
34072 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
34073 warning.
34074
25ad2323 340752009-06-11 Felix Zielcke <fzielcke@z-51.de>
34076
34077 * util/grub.d/30_os-prober.in: Fix a comment. Source
34078 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
34079 to set the root device. Place drivemap command in the generated
34080 chain entry.
34081
e65acb0c 340822009-06-11 Pavel Roskin <proski@gnu.org>
34083
34084 * configure.ac: Remove host_m32. Issues with 64-bit utilities
34085 have long been resolved.
34086
f285fe2d 340872009-06-11 Colin Watson <cjwatson@ubuntu.com>
34088
bd47b0b5 34089 * util/grub.d/10_linux.in: Capitalise "Linux".
34090
f285fe2d 34091 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
34092
a0c62e4e 340932009-06-11 Pavel Roskin <proski@gnu.org>
34094
b6783cb2 34095 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
34096 fix a gcc warning and ensure that the function won't ever exit.
34097
dde032e8 34098 * kern/i386/ieee1275/init.c: Add missing prototype for
34099 grub_stop_floppy().
34100
22cd079d 34101 * loader/ieee1275/multiboot2.c [__i386__]: Include
34102 grub/cpu/multiboot.h.
34103
a0c62e4e 34104 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
34105 casts to short - they are not portable and cause warnings. Fix
34106 use of uninitialized values in input_buf. Use ARRAY_SIZE.
34107
63963d17 341082009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
34109
34110 Drivemap fixes
34111
34112 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
34113 new function
34114 (grub_get_root_biosnumber_saved): new variable
34115 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
34116 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 34117 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 34118 %dx after the call if necessary
34119 * conf/common.rmk (pkglib_MODULES): remove boot.mod
34120 (boot_mod_SOURCES): remove
34121 (boot_mod_CFLAGS): remove
34122 (boot_mod_LDFLAGS): remove
34123 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
34124 (boot_mod_SOURCES): new variable
34125 (boot_mod_CFLAGS): likewise
34126 (boot_mod_LDFLAGS): likewise
34127 * conf/i386-efi.rmk: likewise
34128 * conf/i386-ieee1275.rmk: likewise
34129 * conf/i386-pc.rmk: likewise
34130 * conf/powerpc-ieee1275.rmk: likewise
34131 * conf/sparc64-ieee1275.rmk: likewise
34132 * conf/x86_64-efi.rmk: likewise
34133 * include/grub/i386/pc/biosnum.h: new file
34134 * lib/i386/pc/biosnum.c: likewise
34135 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
34136 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
34137 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 34138
33abf7ae 341392009-06-10 Pavel Roskin <proski@gnu.org>
34140
5ac35b35 34141 * io/gzio.c (test_header): Don't reuse one buffer for all data.
34142 Use separate variables. Read only the file size at the end, but
34143 not the checksum that we don't use.
34144
5c5215d5 34145 * kern/file.c (grub_file_read): Use void pointer for the buffer.
34146 Adjust all callers.
34147
27d5fef7 34148 * kern/ieee1275/openfw.c: Remove libc includes.
34149 * kern/ieee1275/cmain.c: Likewise.
34150 * include/grub/ieee1275/ieee1275.h: Likewise.
34151
33abf7ae 34152 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
34153 compiler warnings.
34154
19d50c2b 341552009-06-10 Felix Zielcke <fzielcke@z-51.de>
34156
34157 * Makefile.in: Remove all trailing whitespace.
34158 * conf/i386-pc.rmk: Likewise.
34159 * conf/powerpc-ieee1275.rmk: Likewise.
34160 * conf/sparc64-ieee1275.rmk: Likewise.
34161 * docs/grub.texi: Likewise.
34162 * docs/texinfo.tex: Likewise.
34163 * disk/fs_uuid.c: Likewise.
34164 * disk/lvm.c: Likewise.
34165 * disk/scsi.c: Likewise.
34166 * disk/ata.c: Likewise.
34167 * disk/ieee1275/ofdisk.c: Likewise.
34168 * disk/i386/pc/biosdisk.c: Likewise.
34169 * disk/host.c: Likewise.
34170 * disk/raid.c: Likewise.
34171 * disk/efi/efidisk.c: Likewise.
34172 * disk/usbms.c: Likewise.
34173 * disk/memdisk.c: Likewise.
34174 * disk/loopback.c: Likewise.
34175 * kern/powerpc/dl.c: Likewise.
34176 * kern/device.c: Likewise.
34177 * kern/dl.c: Likewise.
34178 * kern/sparc64/dl.c: Likewise.
34179 * kern/ieee1275/ieee1275.c: Likewise.
34180 * kern/term.c: Likewise.
34181 * kern/fs.c: Likewise.
34182 * kern/i386/dl.c: Likewise.
34183 * kern/i386/pc/startup.S: Likewise.
34184 * kern/i386/pc/init.c: Likewise.
34185 * kern/i386/pc/mmap.c: Likewise.
34186 * kern/i386/pc/lzo1x.S: Likewise.
34187 * kern/i386/ieee1275/init.c: Likewise.
34188 * kern/i386/realmode.S: Likewise.
34189 * kern/i386/tsc.c: Likewise.
34190 * kern/partition.c: Likewise.
34191 * kern/corecmd.c: Likewise.
34192 * kern/file.c: Likewise.
34193 * kern/efi/efi.c: Likewise.
34194 * kern/efi/init.c: Likewise.
34195 * kern/efi/mm.c: Likewise.
34196 * kern/main.c: Likewise.
34197 * kern/err.c: Likewise.
34198 * kern/env.c: Likewise.
34199 * kern/disk.c: Likewise.
34200 * kern/generic/millisleep.c: Likewise.
34201 * kern/generic/rtc_get_time_ms.c: Likewise.
34202 * kern/misc.c: Likewise.
34203 * kern/parser.c: Likewise.
34204 * genmk.rb: Likewise.
34205 * configure.ac: Likewise.
34206 * boot/i386/pc/diskboot.S: Likewise.
34207 * boot/i386/pc/pxeboot.S: Likewise.
34208 * boot/i386/pc/boot.S: Likewise.
34209 * boot/i386/pc/lnxboot.S: Likewise.
34210 * boot/i386/pc/cdboot.S: Likewise.
34211 * parttool/pcpart.c: Likewise.
34212 * video/readers/tga.c: Likewise.
34213 * video/video.c: Likewise.
34214 * video/bitmap.c: Likewise.
34215 * lib/envblk.c: Likewise.
34216 * lib/i386/setjmp.S: Likewise.
34217 * fs/xfs.c: Likewise.
34218 * fs/afs.c: Likewise.
34219 * fs/fat.c: Likewise.
34220 * fs/ntfs.c: Likewise.
34221 * fs/udf.c: Likewise.
34222 * fs/affs.c: Likewise.
34223 * fs/iso9660.c: Likewise.
34224 * fs/hfs.c: Likewise.
34225 * fs/fshelp.c: Likewise.
34226 * fs/ext2.c: Likewise.
34227 * fs/jfs.c: Likewise.
34228 * fs/reiserfs.c: Likewise.
34229 * fs/hfsplus.c: Likewise.
34230 * fs/minix.c: Likewise.
34231 * fs/cpio.c: Likewise.
34232 * fs/sfs.c: Likewise.
34233 * fs/ufs.c: Likewise.
34234 * efiemu/prepare.c: Likewise.
34235 * efiemu/loadcore_common.c: Likewise.
34236 * efiemu/runtime/efiemu.sh: Likewise.
34237 * efiemu/runtime/efiemu.S: Likewise.
34238 * efiemu/runtime/efiemu.c: Likewise.
34239 * efiemu/pnvram.c: Likewise.
34240 * efiemu/main.c: Likewise.
34241 * efiemu/i386/pc/cfgtables.c: Likewise.
34242 * efiemu/i386/loadcore64.c: Likewise.
34243 * efiemu/i386/loadcore32.c: Likewise.
34244 * efiemu/loadcore.c: Likewise.
34245 * efiemu/symbols.c: Likewise.
34246 * efiemu/mm.c: Likewise.
34247 * include/grub/autoefi.h: Likewise.
34248 * include/grub/datetime.h: Likewise.
34249 * include/grub/term.h: Likewise.
34250 * include/grub/hfs.h: Likewise.
34251 * include/grub/lvm.h: Likewise.
34252 * include/grub/i386/tsc.h: Likewise.
34253 * include/grub/i386/linux.h: Likewise.
34254 * include/grub/i386/xnu.h: Likewise.
34255 * include/grub/i386/efiemu.h: Likewise.
34256 * include/grub/i386/pc/biosdisk.h: Likewise.
34257 * include/grub/i386/pc/memory.h: Likewise.
34258 * include/grub/i386/pc/vbe.h: Likewise.
34259 * include/grub/parttool.h: Likewise.
34260 * include/grub/video.h: Likewise.
34261 * include/grub/memory.h: Likewise.
34262 * include/grub/fs.h: Likewise.
34263 * include/grub/partition.h: Likewise.
34264 * include/grub/xnu.h: Likewise.
34265 * include/grub/efi/api.h: Likewise.
34266 * include/grub/efi/pe32.h: Likewise.
34267 * include/grub/efi/memory.h: Likewise.
34268 * include/grub/multiboot.h: Likewise.
34269 * include/grub/usbdesc.h: Likewise.
34270 * include/grub/multiboot2.h: Likewise.
34271 * include/grub/acpi.h: Likewise.
34272 * include/grub/efiemu/efiemu.h: Likewise.
34273 * include/grub/disk.h: Likewise.
34274 * include/grub/ieee1275/ieee1275.h: Likewise.
34275 * include/grub/net.h: Likewise.
34276 * include/grub/machoload.h: Likewise.
34277 * include/grub/macho.h: Likewise.
34278 * include/multiboot.h: Likewise.
34279 * genmoddep.awk: Likewise.
34280 * normal/main.c: Likewise.
34281 * normal/menu_entry.c: Likewise.
34282 * normal/menu_viewer.c: Likewise.
34283 * normal/completion.c: Likewise.
34284 * normal/cmdline.c: Likewise.
34285 * normal/misc.c: Likewise.
34286 * normal/datetime.c: Likewise.
34287 * bus/usb/usbtrans.c: Likewise.
34288 * bus/usb/ohci.c: Likewise.
34289 * bus/usb/uhci.c: Likewise.
34290 * bus/usb/usb.c: Likewise.
34291 * mmap/efi/mmap.c: Likewise.
34292 * mmap/i386/pc/mmap_helper.S: Likewise.
34293 * mmap/i386/pc/mmap.c: Likewise.
34294 * mmap/i386/mmap.c: Likewise.
34295 * mmap/i386/uppermem.c: Likewise.
34296 * mmap/mmap.c: Likewise.
34297 * commands/acpi.c: Likewise.
34298 * commands/echo.c: Likewise.
34299 * commands/blocklist.c: Likewise.
34300 * commands/loadenv.c: Likewise.
34301 * commands/usbtest.c: Likewise.
34302 * commands/boot.c: Likewise.
34303 * commands/parttool.c: Likewise.
34304 * commands/search.c: Likewise.
34305 * commands/cat.c: Likewise.
34306 * commands/i386/pc/play.c: Likewise.
34307 * commands/i386/pc/drivemap.c: Likewise.
34308 * commands/i386/pc/vbeinfo.c: Likewise.
34309 * commands/i386/pc/acpi.c: Likewise.
34310 * commands/i386/pc/vbetest.c: Likewise.
34311 * commands/ls.c: Likewise.
34312 * commands/cmp.c: Likewise.
34313 * commands/test.c: Likewise.
34314 * commands/efi/acpi.c: Likewise.
34315 * commands/gptsync.c: Likewise.
34316 * commands/help.c: Likewise.
34317 * partmap/amiga.c: Likewise.
34318 * partmap/apple.c: Likewise.
34319 * partmap/acorn.c: Likewise.
34320 * partmap/pc.c: Likewise.
34321 * partmap/sun.c: Likewise.
34322 * partmap/gpt.c: Likewise.
34323 * script/sh/lexer.c: Likewise.
34324 * script/sh/function.c: Likewise.
34325 * font/font.c: Likewise.
34326 * font/font_cmd.c: Likewise.
34327 * loader/powerpc/ieee1275/linux.c: Likewise.
34328 * loader/efi/chainloader.c: Likewise.
34329 * loader/multiboot_loader.c: Likewise.
34330 * loader/macho.c: Likewise.
34331 * loader/i386/multiboot.c: Likewise.
34332 * loader/i386/linux.c: Likewise.
34333 * loader/i386/pc/linux.c: Likewise.
34334 * loader/i386/pc/multiboot2.c: Likewise.
34335 * loader/i386/pc/chainloader.c: Likewise.
34336 * loader/i386/pc/xnu.c: Likewise.
34337 * loader/i386/bsd_trampoline.S: Likewise.
34338 * loader/i386/efi/linux.c: Likewise.
34339 * loader/i386/multiboot_elfxx.c: Likewise.
34340 * loader/i386/bsd_helper.S: Likewise.
34341 * loader/i386/bsd.c: Likewise.
34342 * loader/i386/linux_trampoline.S: Likewise.
34343 * loader/i386/xnu_helper.S: Likewise.
34344 * loader/i386/xnu.c: Likewise.
34345 * loader/i386/bsd_pagetable.c: Likewise.
34346 * loader/i386/multiboot_helper.S: Likewise.
34347 * loader/xnu.c: Likewise.
34348 * loader/xnu_resume.c: Likewise.
34349 * io/gzio.c: Likewise.
34350 * term/efi/console.c: Likewise.
34351 * term/terminfo.c: Likewise.
34352 * term/ieee1275/ofconsole.c: Likewise.
34353 * term/i386/pc/serial.c: Likewise.
34354 * term/i386/pc/vesafb.c: Likewise.
34355 * term/i386/pc/vga.c: Likewise.
34356 * term/usb_keyboard.c: Likewise.
34357 * term/gfxterm.c: Likewise.
34358 * aclocal.m4: Likewise.
34359 * util/lvm.c: Likewise.
34360 * util/grub.d/30_os-prober.in: Likewise.
34361 * util/grub.d/10_hurd.in: Likewise.
34362 * util/console.c: Likewise.
34363 * util/grub-macho2img.c: Likewise.
34364 * util/grub-probe.c: Likewise.
34365 * util/hostfs.c: Likewise.
34366 * util/i386/pc/grub-mkimage.c: Likewise.
34367 * util/i386/pc/grub-setup.c: Likewise.
34368 * util/i386/efi/grub-mkimage.c: Likewise.
34369 * util/grub-mkconfig.in: Likewise.
34370 * util/raid.c: Likewise.
34371 * util/resolve.c: Likewise.
34372 * util/grub-mkdevicemap.c: Likewise.
34373 * util/grub-emu.c: Likewise.
34374 * util/getroot.c: Likewise.
34375 * util/hostdisk.c: Likewise.
34376 * util/usb.c: Likewise.
34377 * util/grub-editenv.c: Likewise.
34378 * util/misc.c: Likewise.
34379
d2d49665 343802009-06-10 Felix Zielcke <fzielcke@z-51.de>
34381
34382 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
34383 `genparttoollist.sh'.
34384 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
34385 Add `*.sh' to the list find searches for and change `mdate.sh'
34386 to `mdate-sh'.
34387
fe052e37 343882009-06-10 Pavel Roskin <proski@gnu.org>
34389
2763ac18 34390 * include/grub/multiboot2.h: Provide compatibility defines for
34391 multiboot2.h.
34392 * include/multiboot2.h: Include stdint.h only if needed, using
34393 angle brackets.
34394 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
34395 grub/multiboot2.h.
34396 * loader/ieee1275/multiboot2.c: Likewise.
34397 * loader/multiboot2.c: Likewise.
34398 * loader/multiboot_loader.c: Likewise.
34399
437e6adc 34400 * configure.ac: Use -nostdlib when probing for the target. It
34401 should not be required to have libc for the target.
34402
06a6836c 34403 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
34404 they fail without libc headers for the target.
34405 * include/grub/powerpc/libgcc.h: Use weak attribute for all
34406 exports.
34407 * include/grub/sparc64/libgcc.h: Likewise. Don't use
34408 preprocessor conditionals.
34409
fe052e37 34410 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
34411 build system doesn't need to be aware of the tar.c internals.
34412
afd22553 344132009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 34414
afd22553 34415 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 34416
6b787c4f 344172009-06-09 Robert Millan <rmh.grub@aybabtu.com>
34418
34419 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
34420 disk limit to 26 for IDE, Virtio, Xen and SCSI.
34421
344222009-06-09 Felix Zielcke <fzielcke@z-51.de>
34423
34424 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 34425 aren't available if ata.mod gets used.
6b787c4f 34426
473d1e45 344272009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 34428
473d1e45 34429 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 34430 initialising controller.
473d1e45 34431 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 34432
255a27d4 344332009-06-08 Felix Zielcke <fzielcke@z-51.de>
34434
34435 * util/i386/pc/grub-install.in: Add a parameter --disk-module
34436 to choose between ata and biosdisk module on i386-pc.
34437
473d1e45 344382009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 34439
d55842d8 34440 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
34441 Subclass and Programming Interface fields in terms of the 3 byte
34442 Class Code register.
34443 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34444
fa5db0b1 34445 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
34446 interface is OHCI. Add grub_dprintf for symmetry with
34447 bus/usb/uhci.c.
34448 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
34449 interface is UHCI. Add interf variable for programming
34450 interface. Print interface with class/subclass.
34451
c0947beb 34452 * bus/usb/ohci.c: Set interf with correct field.
34453
69da8877 34454 * bus/usb/uhci.c: Remove unneeded doubled lines.
34455 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
34456 Remove whitespace inside comment.
34457
9e172e30 344582009-06-08 Robert Millan <rmh.grub@aybabtu.com>
34459
34460 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
34461 as fallback an equivalent option without depth.
34462
de65ee2b 344632009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34464
34465 Not fail if unable to retrieve C/H/S on LBA disks
34466
473d1e45 34467 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 34468 if unable to retrieve C/H/S on LBA disks
34469
b57ea2c9 344702009-06-08 Pavel Roskin <proski@gnu.org>
34471
34472 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
34473 about aliasing.
34474
af361263 344752009-06-08 Felix Zielcke <fzielcke@z-51.de>
34476
34477 * Makefile.in (uninstall): Remove all $lib_DATA files.
34478
4c9ec6b3 344792009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34480
34481 Bugfix: install on partitionless device
34482
34483 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
34484 is a whole disk
34485
e76fc924 344862009-06-08 Felix Zielcke <fzielcke@z-51.de>
34487
34488 * Makefile.in (uninstall): Remove all $include_DATA files.
34489
ba5a0d05 344902009-06-08 Felix Zielcke <fzielcke@z-51.de>
34491
34492 * commands/true.c: New file. Implement the true and false commands.
34493 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
34494 (true_mod_SOURCES): New variable.
34495 (true_mod_CFLAGS): Likewise.
34496 (true_mod_LDFLAGS): Likewise.
34497
c8048e32 344982009-06-05 Colin D Bennett <colin@gibibit.com>
34499
34500 Optimized font character lookup using binary search instead of linear
34501 search. Fonts now are required to have the character index ordered by
34502 code point.
34503
34504 * font/font.c (load_font_index): Verify that fonts have ordered
34505 character indices.
34506 (find_glyph): Use binary search instead of linear search to find a
34507 character in a font.
34508
408305be 345092009-06-05 Michael Scherer <misc@mandriva.org>
34510
34511 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
34512 uses case sensitive btree.
34513 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
34514 only for case insensitive filesystems.
34515
8ee1e0d9 345162009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
34517
34518 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
34519 * conf/common.rmk (search_mod_CFLAGS): likewise
34520
a9966eb1 345212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34522
473d1e45 34523 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 34524 compensate a compiler bug
34525
9e7100fb 345262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34527
473d1e45 34528 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 34529 instead of '\b'
473d1e45 34530
ede21d71 345312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34532
34533 Definitions for creating asm symbols with Apple's CC
34534
34535 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
34536 [APPLE_CC] (VARIABLE): likewise
34537
9dbf7653 345382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34539
34540 Disable lnxboot.img when compiled
34541 with Apple's CC
34542
34543 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
34544 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
34545 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
34546 [! APPLE_CC] (CODE_LENG): skip
34547 [! APPLE_CC] (setup_sects): likewise
34548 [! APPLE_CC]: skip filling
473d1e45 34549
e93cdc3d 345502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34551
34552 Address in trampolines based on 32-bit registers when compiled
34553 with Apple's CC
34554
473d1e45 34555 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 34556 for addresses
34557 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
34558
6c688477 345592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34560
34561 Avoid aliases when compiling with Apple's CC for PCBIOS machine
34562
34563 * kern/misc.c [APPLE_CC] (memcpy): new function
34564 [APPLE_CC] (memmove): likewise
34565 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 34566 (memcpy): define alias conditionally on !APPLE_CC
6c688477 34567 (memset): likewise
34568 (abort): likewise
34569 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
34570 APPLE_CC are defined
34571 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
34572 (grub_assert_fail): make prototype conditional
34573
e37ffc5c 345742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34575
34576 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
34577
473d1e45 34578 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
34579 grub-macho2img
e37ffc5c 34580 (CLEANFILES): add grub-macho2img
34581 (grub_macho2img_SOURCES): new variable
34582 * kern/i386/pc/startup.S (bss_start): new variable
34583 (bss_end): likewise
34584 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
34585 * util/grub-macho2img.c: new file
34586
cf00df31 345872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34588
34589 Use objconv when compiling with Apple's CC
34590
34591 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
34592 (efiemu64.o): likewise
34593 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
34594 when compiling with Apple's CC
34595 (efiemu64_s.o): likewise
34596 * configure.ac: check for objconv when compiling with Apple's CC
34597 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 34598
d119a20c 345992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34600
34601 Define segment as well as section when compiling with
34602 Apple's CC
34603
34604 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
34605 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
34606 (efiemu_convert_pointer): likewise
34607 (efiemu_set_virtual_address_map): likewise
34608 (efiemu_convert_pointer): likewise
34609 (efiemu_getcrc32): likewise
34610 (init_crc32_table): likewise
34611 (reflect): likewise
34612 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
34613 (GRUB_MOD_DEP): likewise
473d1e45 34614
c8600122 346152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34616
34617 Allow a compilation without -mcmodel=large
34618
34619 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
34620 when compiled without -mcmodel=large
473d1e45 34621 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 34622 without -mcmodel=large
473d1e45 34623 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 34624 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 34625
e8df1d4e 346262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34627
34628 Remove nested functions in efiemu core
34629
34630 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 34631
cc6c3ac1 346322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34633
34634 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
34635
34636 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
34637 temporary storage
473d1e45 34638 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
34639 using Apple's CC
cc6c3ac1 34640 (grub_cpu_is_tsc_supported): likewise
34641 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 34642
3e325901 346432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34644
34645 Absolute addressing through constant with Apple's cc
34646
34647 * kern/i386/pc/startup.S: Define necessary constants
34648 and address through it when using ABS with Apple's CC
34649 * boot/i386/pc/diskboot.S: likewise
34650 * boot/i386/pc/boot.S: likewise
34651 * boot/i386/pc/lnxboot.S: likewise
34652 * boot/i386/pc/cdboot.S: likewise
34653 * mmap/i386/pc/mmap_helper.S: likewise
34654 * commands/i386/pc/drivemap_int13h.S: likewise
34655
2b167a72 346562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34657
34658 Check if compiler is apple cc
34659
34660 * Makefile.in (ASFLAGS): new variable
34661 (TARGET_ASFLAGS): likewise
34662 (TARGET_MODULE_FORMAT): likewise
34663 (TARGET_APPLE_CC): likewise
34664 (OBJCONV): likewise
34665 (TARGET_IMG_CFLAGS): likewise
34666 (TARGET_CPPFLAGS): add includedir
34667 * configure.ac: call grub_apple_cc and grub_apple_target_cc
34668 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
34669 Check for linker script only if compiler isn't Apple's CC
34670 (TARGET_MODULE_FORMAT): set
34671 (TARGET_APPLE_CC): likewise
34672 (TARGET_ASFLAGS): likewise
34673 (ASFLAGS): likewise
34674 Check for objcopy only if compiler isn't Apple's CC
34675 Check for BSS symbol only if compiler isn't Apple's CC
34676 * genmk.rb: adapt nm options if we use Apple's utils
34677 * aclocal.m4 (grub_apple_cc): new test
34678 (grub_apple_target_cc): likewise
473d1e45 34679
fb14123e 346802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34681
34682 Simplify sed expressions and improve awk
34683
34684 * Makefile.in (install-local): simplify sed expression
34685 * gencmdlist.sh: likewise
34686 * genmoddep.awk: avoid adding module as a dependency of itself
34687
5b889789 346882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34689
34690 Add missing start symbols
34691
34692 * boot/i386/pc/boot.S: add start
fb14123e 34693 * boot/i386/pc/pxeboot.S: likewise
473d1e45 34694
fd2bf2e3 346952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34696
34697 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 34698
34699 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 34700 (relocate_addresses): consider both r_addend and value at offset
34701 (make_mods_section): zerofill modinfo and header
34702 (convert_elf): write prefix here
473d1e45 34703
5389763d 347042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34705
34706 Use .asciz instead of .string
34707
34708 * i386/pc/diskboot.S: use .asciz instead of .string
34709 * i386/pc/boot.S: likewise
34710 * include/grub/dl.h (GRUB_MOD_DEP): likewise
34711 (GRUB_MOD_NAME): likewise
473d1e45 34712
3eb5ed4e 347132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34714
34715 gfxpayload support
34716
34717 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
34718 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
34719 (grub_video_setup): remove
34720 (grub_video_set_mode): new prototype
34721 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
34722 (vid_mode): remove
34723 (linux_vesafb_res): compile only on PCBIOS
34724 (grub_linux_boot): support gfxpayload
34725 * loader/i386/pc/xnu.c (video_hook): new function
34726 (grub_xnu_set_video): support gfxpayload
34727 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
34728 (DEFAULT_VIDEO_HEIGHT): likewise
34729 (DEFAULT_VIDEO_FLAGS): likewise
34730 (DEFAULT_VIDEO_MODE): new definition
34731 (video_hook): new function
34732 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 34733 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 34734 loading xnu
34735 * video/video.c (grub_video_setup): removed
473d1e45 34736 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 34737 grub_video_setup
34738
4b0e1143 347392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34740
34741 Avoid calling biosdisk in drivemap
34742
34743 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
34744 (revparse_biosdisk): likewise
34745 (list_mappings): derive name from id directly
34746 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 34747
fda6cb98 347482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34749
34750 Script fixes
34751
34752 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
34753 (grub_lexer_param): add tokenonhold
34754 (grub_script_create_cmdline): remove cmdline. All callers updated
34755 (grub_script_function_create): make functionname
34756 grub_script_arg. All callers updated
34757 (grub_script_execute_argument_to_string): new prototype
34758 * kern/parser.c (state_transitions): reorder
34759 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 34760 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 34761 make global
34762 (grub_script_execute_cmdline): use new format
34763 * script/sh/function.c (grub_script_function_create): make functionname
34764 grub_script_arg. All callers updated
473d1e45 34765 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 34766 (grub_script_yylex): remove
34767 (grub_script_yylex2): renamed to ...
34768 (grub_script_yylex): ...renamed
34769 parse the expressions like a${b}c
34770 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
34771 (GRUB_PARSER_TOKEN_VAR): remove
34772 (GRUB_PARSER_TOKEN_NAME): likewise
34773 ("if"): declare as typeless
34774 ("while"): likewise
34775 ("function"): likewise
34776 ("else"): likewise
34777 ("then"): likewise
34778 ("fi"): likewise
34779 (text): remove
34780 (argument): likewise
34781 (script): accept empty scripts and make exit on error
34782 (arguments): use GRUB_PARSER_TOKEN_ARG
34783 (function): likewise
34784 (command): move error handling to script
34785 (menuentry): move grub_script_lexer_ref before
473d1e45 34786 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 34787 argument. All callers updated
34788
f4448a07 347892009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34790
34791 Prevent GRUB from probing floppies during boot.
34792
34793 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
34794 * commands/search.c (options): Add --no-floppy.
34795 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
34796 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
34797 --no-floppy when searching for UUIDs.
34798
2bf5885a 347992009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34800
34801 Simplify the code duplication in commands/search.c.
34802
34803 * commands/search.c (search_label, search_fs_uuid): Merge into ...
34804 (search_fs): ... this. Update all users.
34805
f6fd460a 348062009-06-03 Felix Zielcke <fzielcke@z-51.de>
34807
34808 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
34809
cbb3c83e 348102009-05-28 Pavel Roskin <proski@gnu.org>
34811
57788cfd 34812 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
34813 Remove the original symlink explicitly.
34814
cbb3c83e 34815 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
34816 just one slash. That's how grub_fshelp_find_file() does it.
34817
cd0d5e30 348182009-05-26 Pavel Roskin <proski@gnu.org>
34819
f0f8bbe2 34820 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
34821 to `str'.
34822
cd0d5e30 34823 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
34824 possibly unused.
34825
8c2cab51 348262009-05-25 Christian Franke <franke@computer.org>
34827
34828 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
34829 register.
34830 (grub_atapi_identify): Add wait after drive select.
34831 (grub_ata_identify): Do more strict status register check before
34832 calling grub_atapi_identify (). Suppress error message if status
34833 register is 0x00 after command failure. Add status register
34834 check after PIO read to avoid bogus identify due to stuck DRQ.
34835 Thanks to Pavel Roskin for testing.
34836 (grub_device_initialize): Remove unsafe status register check.
34837 Thanks to 'phcoder' for problem report and patch.
34838 Prevent sign extension in debug message.
34839
230c0ad6 348402009-05-23 Colin D Bennett <colin@gibibit.com>
34841
34842 Cleaned up `include/grub/normal.h'. Grouped prototypes by
34843 definition file, and functions defined in `normal/menu.c' have had
34844 their prototypes moved to `include/grub/menu.h' for consistency.
34845
34846 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
34847 from normal.h.
34848 (grub_menu_get_entry): Likewise.
34849 (grub_menu_get_timeout): Likewise.
34850 (grub_menu_set_timeout): Likewise.
34851 (grub_menu_execute_entry): Likewise.
34852 (grub_menu_execute_with_fallback): Likewise.
34853 (grub_menu_entry_run): Likewise.
34854
34855 * include/grub/normal.h: Re-ordered and grouped function
34856 prototypes by file that the function is defined in.
34857 (grub_menu_execute_callback): Removed; moved to menu.h.
34858 (grub_menu_get_entry): Likewise.
34859 (grub_menu_get_timeout): Likewise.
34860 (grub_menu_set_timeout): Likewise.
34861 (grub_menu_execute_entry): Likewise.
34862 (grub_menu_execute_with_fallback): Likewise.
34863 (grub_menu_entry_run): Likewise.
34864 (grub_menu_addentry): Renamed from this ...
34865 (grub_normal_add_menu_entry): ... to this.
34866
34867 * normal/main.c (grub_menu_addentry): Renamed from this ...
34868 (grub_normal_add_menu_entry): ... to this.
34869
34870 * script/sh/execute.c (grub_script_execute_menuentry): Update
34871 reference to renamed grub_menu_addentry function.
34872
861f03a5 348732009-05-23 Felix Zielcke <fzielcke@z-51.de>
34874
34875 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
34876
96b1619a 348772009-05-22 Pavel Roskin <proski@gnu.org>
34878
bf6a5fb2 34879 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
34880 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
34881 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
34882 compiling for the i386 targets, but not for the utilities.
34883
96b1619a 34884 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
34885 to grub_uint8_t.
34886 (grub_root_drive): Likewise.
34887 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
34888 remove alignment.
34889 (grub_root_drive): Change size to byte.
34890 (grub_start_addr): Remove.
34891 (grub_end_addr): Likewise.
34892 (grub_apm_bios_info): Likewise.
34893
b729776b 348942009-05-21 Felix Zielcke <fzielcke@z-51.de>
34895
34896 * normal/i386: Remove.
34897 * normal/powerpc: Likewise.
34898 * normal/sparc64: Likewise.
34899 * normal/x86_64: Likewise.
34900
0a15ce80 349012009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
34902
34903 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 34904 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 34905 * loader/i386/xnu_helper.S: Likewise
d6da58e6 34906
33db9015 349072009-05-18 Colin D Bennett <colin@gibibit.com>
34908
d6da58e6 34909 Display error messages when parsing a Lua statement fails.
34910 Previously, executing a syntactically invalid statement like
34911 ")foo" or "bar;" would silently fail.
33db9015 34912
34913 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 34914 (grub_lua_parse_line): Improved reporting of Lua parser and
34915 execution errors.
33db9015 34916
46422c89 349172009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34918
34919 Remove -Werror which causes build to fail on some systems
34920
34921 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
34922 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
34923 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 34924
22f53a96 349252009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34926
34927 trampoline for linux on 64-bit platform
34928
18f547ad 34929 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
34930 loader/i386/efi/linux_trampoline.S
34931 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 34932 declaration
d6da58e6 34933 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
34934 here
22f53a96 34935 * loader/i386/linux_trampoline.S: moved here
d6da58e6 34936 * loader/i386/efi/linux.c (allocate_pages): reserve space for
34937 trampoline
22f53a96 34938 (jumpvector): removed
34939 (grub_linux_trampoline_start): new declaration
34940 (grub_linux_trampoline_end): likewise
34941 (grub_linux_boot): use trampoline when on 64-bit platform
34942 * loader/i386/linux.c: likewise
34943
cb5a0f40 349442009-05-16 Pavel Roskin <proski@gnu.org>
34945
34946 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
34947 const to avoid a warning.
34948 (grub_lua_setenv): Likewise.
34949 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
34950 lmsg to fix a warning.
34951
334f2c28 349522009-05-16 Felix Zielcke <fzielcke@z-51.de>
34953
34954 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 34955 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34956 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
34957 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34958 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34959 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34960 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34961 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 34962
59e5d3ec 349632009-05-16 Felix Zielcke <fzielcke@z-51.de>
34964
34965 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
34966
9d87a1ba 349672009-05-16 Bean <bean123ch@gmail.com>
34968
34969 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
34970 (lua_mod_SOURCES): New variable.
34971 (lua_mod_CFLAGS): Likewise.
34972 (lua_mod_LDFLAGS): Likewise.
34973
34974 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
34975 (setjmp_mod_SOURCES): New variable.
34976 (setjmp_mod_CFLAGS): Likewise.
34977 (setjmp_LDFLAGS): Likewise.
34978
34979 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
34980 (setjmp_mod_SOURCES): New variable.
34981 (setjmp_mod_CFLAGS): Likewise.
34982 (setjmp_LDFLAGS): Likewise.
34983
34984 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34985 (setjmp_mod_SOURCES): New variable.
34986 (setjmp_mod_CFLAGS): Likewise.
34987 (setjmp_LDFLAGS): Likewise.
34988
34989 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34990 (setjmp_mod_SOURCES): New variable.
34991 (setjmp_mod_CFLAGS): Likewise.
34992 (setjmp_LDFLAGS): Likewise.
34993
34994 * normal/i386/setjmp.S: Moved from here ...
34995 * lib/i386/setjmp.S: ... Moved here
34996 * normal/x86_64/setjmp.S: Moved from here ...
34997 * lib/x86_64/setjmp.S: ... Moved here
34998 * normal/powerpc/setjmp.S: Moved from here ...
34999 * lib/powerpc/setjmp.S: ... Moved here
35000 * normal/sparc64/setjmp.S: Moved from here ...
35001 * lib/sparc64/setjmp.S: ... Moved here
35002
35003 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
35004 returns_twice in mingw.
35005
35006 * script/lua/grub_lib.c: New file.
35007 * script/lua/grub_lib.h: Likewise.
35008 * script/lua/grub_lua.h: Likewise.
35009 * script/lua/grub_main.c: Likewise.
35010 * script/lua/lapi.c: Likewise.
35011 * script/lua/lapi.h: Likewise.
35012 * script/lua/lauxlib.c: Likewise.
35013 * script/lua/lauxlib.h: Likewise.
35014 * script/lua/lbaselib.c: Likewise.
35015 * script/lua/lcode.c: Likewise.
35016 * script/lua/lcode.h: Likewise.
35017 * script/lua/ldblib.c: Likewise.
35018 * script/lua/ldebug.c: Likewise.
35019 * script/lua/ldebug.h: Likewise.
35020 * script/lua/ldo.c: Likewise.
35021 * script/lua/ldo.h: Likewise.
35022 * script/lua/ldump.c: Likewise.
35023 * script/lua/lfunc.c: Likewise.
35024 * script/lua/lfunc.h: Likewise.
35025 * script/lua/lgc.c: Likewise.
35026 * script/lua/lgc.h: Likewise.
35027 * script/lua/linit.c: Likewise.
35028 * script/lua/liolib.c: Likewise.
35029 * script/lua/llex.c: Likewise.
35030 * script/lua/llex.h: Likewise.
35031 * script/lua/llimits.h: Likewise.
35032 * script/lua/lmathlib.c: Likewise.
35033 * script/lua/lmem.c: Likewise.
35034 * script/lua/lmem.h: Likewise.
35035 * script/lua/loadlib.c: Likewise.
35036 * script/lua/lobject.c: Likewise.
35037 * script/lua/lobject.h: Likewise.
35038 * script/lua/lopcodes.c: Likewise.
35039 * script/lua/lopcodes.h: Likewise.
35040 * script/lua/loslib.c: Likewise.
35041 * script/lua/lparser.c: Likewise.
35042 * script/lua/lparser.h: Likewise.
35043 * script/lua/lstate.c: Likewise.
35044 * script/lua/lstate.h: Likewise.
35045 * script/lua/lstring.c: Likewise.
35046 * script/lua/lstring.h: Likewise.
35047 * script/lua/lstrlib.c: Likewise.
35048 * script/lua/ltable.c: Likewise.
35049 * script/lua/ltable.h: Likewise.
35050 * script/lua/ltablib.c: Likewise.
35051 * script/lua/ltm.c: Likewise.
35052 * script/lua/ltm.h: Likewise.
35053 * script/lua/lua.h: Likewise.
35054 * script/lua/luaconf.h: Likewise.
35055 * script/lua/lualib.h: Likewise.
35056 * script/lua/lundump.c: Likewise.
35057 * script/lua/lundump.h: Likewise.
35058 * script/lua/lvm.c: Likewise.
35059 * script/lua/lvm.h: Likewise.
35060 * script/lua/lzio.c: Likewise.
35061 * script/lua/lzio.h: Likewise.
35062
5e898c9d 350632009-05-16 Bean <bean123ch@gmail.com>
35064
35065 * include/grub/kernel.h (grub_module_header_types): Add type
35066 OBJ_TYPE_CONFIG.
35067
35068 * kern/main.c (grub_load_config): New function.
35069 (grub_main): Call grub_load_config to read boot config.
35070
35071 * grub-mkimage (generate_image): New parameter config_path.
35072 (options): New option --config.
35073 (main): Parse --config option, and pass it to generate_image.
35074
cf353a47 350752009-05-14 Christian Franke <franke@computer.org>
35076
35077 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
35078 This fixes build on Cygwin.
35079
3834887f 350802009-05-14 Pavel Roskin <proski@gnu.org>
35081
35082 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
35083 jump. This saves two bytes, so the typical case of 2 swapped
35084 drives would fit 32 bytes.
35085
8090fc01 350862009-05-13 Pavel Roskin <proski@gnu.org>
35087
ac963883 35088 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
35089 grub_uint32_t to avoid a warning.
35090
8090fc01 35091 * loader/i386/linux.c (allocate_pages): When assigning
35092 real_mode_mem, cast through grub_size_t to fix a warning. The
35093 code already makes sure that the value would fit a pointer.
35094 (grub_linux_setup_video): Cast render_target->data to
35095 grub_size_t to fix a warning.
35096
18f547ad 350972009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 35098
35099 * commands/i386/pc/drivemap.c: New file - implement drivemap
35100 command.
35101 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
35102 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
35103
6f6a8b28 351042009-05-13 Pavel Roskin <proski@gnu.org>
35105
35106 * util/i386/pc/grub-setup.c (setup): Remove unused variable
35107 embedding_area_exists.
35108
15fbf4c4 351092009-05-13 Robert Millan <rmh.grub@aybabtu.com>
35110
35111 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
35112 it easier to understand / work with.
59978c8a 35113 Improve warning messages for cases where there's no embedding area,
35114 or when it is too small (or core.img too large).
15fbf4c4 35115
238e871f 351162009-05-13 Pavel Roskin <proski@gnu.org>
35117
0ab3a9a4 35118 * loader/i386/pc/multiboot2.c: Add necessary includes for
35119 grub_multiboot2_real_boot().
35120
a2c8c5f8 35121 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
35122 PX record is always little-endian. We only need the lower 2
35123 bytes of the mode.
35124
faec96af 35125 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
35126 facilitate code reuse.
35127 (grub_cpio_mount): Use "struct head", not a char buffer. This
35128 fixes a warning reported by gcc 4.4.
35129
238e871f 35130 * kernel/disk.c (grub_disk_read): Use void pointer for the
35131 buffer.
35132 (grub_disk_write): Use const void pointer for the buffer.
35133 Adjust all callers. Remove unnecessary casts.
35134
901d2f0c 351352009-05-10 Robert Millan <rmh.grub@aybabtu.com>
35136
35137 * util/i386/pc/grub-install.in: Update copyright year.
35138
18f547ad 351392009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 35140
35141 gptsync
35142
35143 * commands/gptsync.c: new file
35144 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
35145 (gptsync_mod_SOURCES): new variable
35146 (gptsync_mod_CFLAGS): likewise
35147 (gptsync_mod_LDFLAGS): likewise
18f547ad 35148 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 35149 new definition
35150 (GRUB_PC_PARTITION_TYPE_HFS): likewise
35151 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
35152 * conf/i386-ieee1275.rmk: likewise
35153 * conf/i386-pc.rmk: likewise
35154 * conf/powerpc-ieee1275.rmk: likewise
35155
b4ba690a 351562009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
35157
35158 Fixed grub-emu
35159
35160 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
35161 (grub_dl_ref): likewise
35162
317e1a44 351632009-05-08 Robert Millan <rmh.grub@aybabtu.com>
35164
35165 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
35166 split in two functions (one for msdos and one for gpt).
35167
041b8094 351682009-05-08 Pavel Roskin <proski@gnu.org>
35169
752473c2 35170 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
35171 not modified.
35172
041b8094 35173 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
35174 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
35175 Initialize them with -1. Add sanity check for bad1. Eliminate
35176 nerr variable.
35177
172800ce 351782009-05-08 David S. Miller <davem@davemloft.net>
35179
35180 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
35181
29aa5e81 351822009-05-06 Robert Millan <rmh.grub@aybabtu.com>
35183
35184 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 35185 existence.
29aa5e81 35186
96613b62 351872009-05-05 Felix Zielcke <fzielcke@z-51.de>
35188
35189 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 35190 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 35191
eef73c8a 351922009-05-05 David S. Miller <davem@davemloft.net>
35193
35194 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
35195
119494b5 351962009-05-05 Pavel Roskin <proski@gnu.org>
35197
35198 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
35199 of grub_dl_ref() and grub_dl_unref().
35200 * commands/parttool.c: Remove preprocessor conditionals around
35201 grub_dl_ref() and grub_dl_unref().
35202 * fs/affs.c: Likewise.
35203 * fs/afs.c: Likewise.
35204 * fs/cpio.c: Likewise.
35205 * fs/ext2.c: Likewise.
35206 * fs/fat.c: Likewise.
35207 * fs/hfs.c: Likewise.
35208 * fs/hfsplus.c: Likewise.
35209 * fs/iso9660.c: Likewise.
35210 * fs/jfs.c: Likewise.
35211 * fs/minix.c: Likewise.
35212 * fs/ntfs.c: Likewise.
35213 * fs/reiserfs.c: Likewise.
35214 * fs/sfs.c: Likewise.
35215 * fs/udf.c: Likewise.
35216 * fs/ufs.c: Likewise.
35217 * fs/xfs.c: Likewise.
35218 * include/grub/dl.h: Likewise.
35219 * loader/xnu.c: Likewise.
35220
de5fd76e 352212009-05-04 Pavel Roskin <proski@gnu.org>
35222
35223 * commands/acpi.c: Remove unused variable my_mod.
35224 * partmap/amiga.c: Likewise.
35225 * partmap/apple.c: Likewise.
35226 * partmap/gpt.c: Likewise.
35227 * partmap/pc.c: Likewise.
35228 * partmap/sun.c: Likewise.
35229 * term/gfxterm.c: Likewise.
35230 * term/i386/pc/vesafb.c: Likewise.
35231 * term/i386/pc/vga.c: Likewise.
35232
983598ad 352332009-05-04 David S. Miller <davem@davemloft.net>
35234
35235 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
35236 pointer args to grub_ieee1275_get_property().
35237
8aadec43 35238 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
35239
9554b15e 35240 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
35241 devices, and do not traverse down under controller nodes.
35242
67e23c90 35243 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
35244 (grub_ofdisk_open): Use it to un-escape "," characters.
35245 * kern/disk.c (find_part_sep): New.
35246 (grub_disk_open): Use it to find the first non-escaped ','
35247 character in the disk name.
35248 * util/ieee1275/devicemap.c (escape_of_path): New.
35249 (grub_util_emit_devicemap_entry): Use it.
35250 * util/sparc64/ieee1275/grub-install.in: Update script to
35251 strip partition specifiers properly by not triggering on
35252 '\' escaped ',' characters.
35253
74bfdd2f 352542009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35255
35256 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
35257 to 0x300.
35258 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
35259 resolutions.
35260 (linux_vesafb_modes): Add a lot of additional modes to the list (based
35261 on documentation from Wikipedia).
35262
4241d2b1 352632009-05-04 Pavel Roskin <proski@gnu.org>
35264
35265 * disk/ata.c: Spelling fixes.
35266 * disk/raid.c: Likewise.
35267 * disk/usbms.c: Likewise.
35268 * disk/dmraid_nvidia.c: Likewise.
35269 * kern/ieee1275/openfw.c: Likewise.
35270 * kern/ieee1275/init.c: Likewise.
35271 * kern/ieee1275/cmain.c: Likewise.
35272 * boot/i386/pc/cdboot.S: Likewise.
35273 * video/readers/png.c: Likewise.
35274 * video/i386/pc/vbe.c: Likewise.
35275 * fs/udf.c: Likewise.
35276 * fs/hfs.c: Likewise.
35277 * fs/reiserfs.c: Likewise.
35278 * efiemu/runtime/efiemu.c: Likewise.
35279 * efiemu/main.c: Likewise.
35280 * efiemu/mm.c: Likewise.
35281 * include/grub/elf.h: Likewise.
35282 * include/grub/xnu.h: Likewise.
35283 * include/grub/usbdesc.h: Likewise.
35284 * include/grub/usb.h: Likewise.
35285 * include/grub/script_sh.h: Likewise.
35286 * include/grub/lib/LzmaEnc.h: Likewise.
35287 * include/grub/efiemu/efiemu.h: Likewise.
35288 * include/grub/command.h: Likewise.
35289 * normal/menu.c: Likewise.
35290 * normal/main.c: Likewise.
35291 * normal/datetime.c: Likewise.
35292 * bus/usb/uhci.c: Likewise.
35293 * mmap/i386/uppermem.c: Likewise.
35294 * mmap/mmap.c: Likewise.
35295 * commands/acpi.c: Likewise.
35296 * commands/test.c: Likewise.
35297 * partmap/apple.c: Likewise.
35298 * font/font.c: Likewise.
35299 * loader/sparc64/ieee1275/linux.c: Likewise.
35300 * loader/macho.c: Likewise.
35301 * loader/i386/bsd_trampoline.S: Likewise.
35302 * loader/i386/bsd.c: Likewise.
35303 * loader/xnu.c: Likewise.
35304 * term/i386/pc/vesafb.c: Likewise.
35305 * term/usb_keyboard.c: Likewise.
35306 * util/resolve.c: Likewise.
35307 * util/getroot.c: Likewise.
35308
0cfc0083 353092009-05-04 Felix Zielcke <fzielcke@z-51.de>
35310
35311 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
35312
7c1d00cd 353132009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35314
35315 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
35316 build error.
35317
b01f0548 353182009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35319
35320 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
35321 parameter only available on BIOS.
35322
ecc3eb22 353232009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35324
35325 Removed wrong semicolon in declaration
35326
35327 * grub/misc.h (grub_dprintf): remove semicolon
35328
112972a9 353292009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35330
35331 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
35332 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
35333 is done by grub_cmd_linux() now).
35334 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
35335 restore video to text mode.
35336 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
35337 indicates lack of "vga=" parameter. "vga=0" is mapped to
35338 `GRUB_LINUX_VID_MODE_NORMAL'.
35339
afd5c115 353402009-05-04 Felix Zielcke <fzielcke@z-51.de>
35341
35342 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
35343 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
35344 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 35345 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 35346 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
35347 `grub_script.tab.c'.
35348
35349 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35350 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35352 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35353 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35354
faa517ce 35355 * Makefile.in: Remove duplicated 2008 in Copyright line.
35356
ae0c0bdc 353572009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35358
473d1e45 35359 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 35360 unconditionally.
35361 * include/grub/util/misc.h (grub_util_warn): New declaration.
35362
35363 * util/i386/pc/grub-install.in: Understand --force and pass it down
35364 to grub-setup.
35365
35366 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
35367 down to setup().
35368 (setup): Improve error messages and add warnings when requested to
35369 install in odd layouts. Refuse to install using blocklists unless
35370 --force was set.
35371
18f547ad 353722009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 35373
35374 * disk/raid.c (grub_raid_scan_device): Improve debug message.
35375
6d260daa 353762009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35377
35378 Updated copyright year
35379
35380 * fs/hfsplus.c: updated copyright year
18f547ad 35381
69f853f8 353822009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35383
35384 HFS+ UUID
35385
18f547ad 35386 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 35387 in the space previously used by unused3
35388 (grub_hfsplus_uuid): new function
35389 (grub_hfsplus_fs): added uuid field
35390
4c402e73 353912009-05-03 Pavel Roskin <proski@gnu.org>
35392
35393 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
35394 suppress warnings. It's no longer needed.
35395 * disk/host.c: Likewise.
35396 * disk/ata_pthru.c: Likewise.
35397 * disk/loopback.c: Likewise.
35398 * hook/datehook.c: Likewise.
35399 * parttool/pcpart.c: Likewise.
35400 * fs/i386/pc/pxe.c: Likewise.
35401 * fs/ntfscomp.c: Likewise.
35402 * efiemu/main.c: Likewise.
35403 * mmap/mmap.c: Likewise.
35404 * commands/crc.c: Likewise.
35405 * commands/hexdump.c: Likewise.
35406 * commands/hdparm.c: Likewise.
35407 * commands/acpi.c: Likewise.
35408 * commands/echo.c: Likewise.
35409 * commands/minicmd.c: Likewise.
35410 * commands/blocklist.c: Likewise.
35411 * commands/memrw.c: Likewise.
35412 * commands/loadenv.c: Likewise.
35413 * commands/usbtest.c: Likewise.
35414 * commands/lsmmap.c: Likewise.
35415 * commands/boot.c: Likewise.
35416 * commands/parttool.c: Likewise.
35417 * commands/configfile.c: Likewise.
35418 * commands/search.c: Likewise.
35419 * commands/ieee1275/suspend.c: Likewise.
35420 * commands/cat.c: Likewise.
35421 * commands/i386/pc/pxecmd.c: Likewise.
35422 * commands/i386/pc/play.c: Likewise.
35423 * commands/i386/pc/halt.c: Likewise.
35424 * commands/i386/pc/vbeinfo.c: Likewise.
35425 * commands/i386/pc/vbetest.c: Likewise.
35426 * commands/lspci.c: Likewise.
35427 * commands/date.c: Likewise.
35428 * commands/handler.c: Likewise.
35429 * commands/ls.c: Likewise.
35430 * commands/test.c: Likewise.
35431 * commands/cmp.c: Likewise.
35432 * commands/efi/loadbios.c: Likewise.
35433 * commands/efi/fixvideo.c: Likewise.
35434 * commands/halt.c: Likewise.
35435 * commands/help.c: Likewise.
35436 * commands/reboot.c: Likewise.
35437 * hello/hello.c: Likewise.
35438 * script/sh/main.c: Likewise.
35439 * loader/xnu.c: Likewise.
35440 * term/terminfo.c: Likewise.
35441 * term/i386/pc/serial.c: Likewise.
35442 * term/usb_keyboard.c: Likewise.
35443
515b5079 354442009-05-03 David S. Miller <davem@davemloft.net>
35445
35446 * normal/menu.c: Include grub/parser.h
35447
dfc31a22 354482009-05-03 Pavel Roskin <proski@gnu.org>
35449
2fee74f1 35450 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
35451 not char*.
35452 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
35453 Suggested by Javier Martín <lordhabbit@gmail.com>
35454
dfc31a22 35455 * util/i386/pc/grub-mkrescue.in: Allow for the case when
35456 efiemu??.o doesn't exist.
35457 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
35458 copying.
35459
18f547ad 354602009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 35461
35462 FreeBSD 64-bit support
35463
18f547ad 35464 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 35465 and loader/i386/bsd_trampoline.S
35466 (bsd_mod_ASFLAGS): new variable
35467 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
35468 (FREEBSD_MODTYPE_KERNEL64): likewise
35469 (grub_bsd64_trampoline_start): likewise
35470 (grub_bsd64_trampoline_end): likewise
35471 (grub_bsd64_trampoline_selfjump): likewise
35472 (grub_bsd64_trampoline_gdt): likewise
35473 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
35474 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
35475 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
35476 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 35477 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 35478 of "attrib" member
35479 * loader/i386/bsd_pagetable.c: new file
35480 * loader/i386/bsd_trampoline.S: likewise
35481 * loader/i386/bsd.c (ALIGN_QWORD): new macro
35482 (ALIGN_VAR): likewise
35483 (entry_hi): new variable
35484 (kern_end_mdofs): likewise
35485 (is_64bit): likewise
35486 (grub_freebsd_add_meta): use ALIGN_VAR
35487 (grub_e820_mmap): new declaration
35488 (grub_freebsd_add_mmap): new function
35489 (grub_freebsd_add_meta_module): support 64 bit kernels
35490 (grub_freebsd_list_modules): use ALIGN_VAR
35491 (gdt_descriptor): new declaration
35492 (grub_freebsd_boot): support 64 bit kernels
35493 (grub_bsd_elf64_hook): new function
35494 (grub_bsd_load_elf): support elf64
35495
038c5720 354962009-05-03 Bean <bean123ch@gmail.com>
35497
35498 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
35499 after we get the result of if statement.
35500
fc45fb58 355012009-05-03 Bean <bean123ch@gmail.com>
35502
35503 * Makefile.in (enable_efiemu): New variable.
35504
35505 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
35506 set.
35507 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
35508 path.
35509 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
35510 path, add -mno-red-zone option.
35511 (efiemu64_s.o): Likewise.
35512 (efiemu64.o): Use macro $^ for source file.
35513
35514 * configure.ac (--enable-efiemu): New option.
35515
bbee0f2b 355162009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
35517
35518 xnu support
35519
35520 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
35521 (pkglib_MODULES): add xnu.mod
35522 (xnu_mod_SOURCES): new variable
35523 (xnu_mod_CFLAGS): likewise
35524 (xnu_mod_LDFLAGS): likewise
35525 (xnu_mod_ASFLAGS): likewise
35526 * conf/i386-pc.rmk: likewise
35527 * conf/x86_64-efi.rmk: likewise
7dd4a573 35528 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 35529 new declaration
35530 * include/grub/i386/macho.h: new file
35531 * include/grub/i386/xnu.h: likewise
35532 * include/grub/macho.h: likewise
35533 * include/grub/machoload.h: likewise
35534 * include/grub/x86_64/macho.h: likewise
35535 * include/grub/x86_64/xnu.h: likewise
35536 * include/grub/xnu.h: likewise
35537 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
35538 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
35539 * loader/i386/efi/xnu.c: new file
35540 * loader/i386/pc/xnu.c: likewise
35541 * loader/i386/xnu.c: likewise
35542 * loader/i386/xnu_helper.S: likewise
35543 * loader/macho.c: likewise
35544 * loader/xnu.c: likewise
35545 * loader/xnu_resume.c: likewise
35546 * util/grub-dumpdevtree: likewise
35547 * include/grub/i386/pit.h: include grub/err.h
35548 (grub_pit_wait): export
35549 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 35550
5caf964d 355512009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35552
35553 Efiemu
7dd4a573 35554
5caf964d 35555 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 35556 _linux_efi, linux_efi.
35557 new files in grub-emu
5caf964d 35558 new targets efiemu32.o and efiemu64.o
35559 * loader/linux_normal_efiemu.c: likewise
35560 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 35561 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 35562 files to copy
35563 * include/grub/autoefi.h: new file
7dd4a573 35564 * include/grub/i386/efiemu.h: likewise
5caf964d 35565 * include/grub/i386/pc/efiemu.h: likewise
35566 * include/grub/efi/api.h: add LL suffix when necessary
35567 new definitions relating to tables
35568 * include/grub/efiemu/efiemu.h: new file
35569 * include/grub/efiemu/runtime.h: likewise
35570 * efiemu/prepare.c: likewise
35571 * efiemu/loadcore_common.c: likewise
35572 * efiemu/loadcore64.c: likewise
35573 * efiemu/runtime/efiemu.sh: likewise
35574 * efiemu/runtime/efiemu.S: likewise
35575 * efiemu/runtime/efiemu.c: likewise
35576 * efiemu/runtime/config.h: likewise
35577 * efiemu/prepare32.c: likewise
35578 * efiemu/main.c: likewise
35579 * efiemu/modules/pnvram.c: likewise
35580 * efiemu/modules/i386: likewise
35581 * efiemu/modules/i386/pc: likewise
35582 * efiemu/modules/acpi.c: likewise
35583 * efiemu/i386/pc/cfgtables.c: likewise
35584 * efiemu/i386/loadcore64.c: likewise
35585 * efiemu/i386/loadcore32.c: likewise
35586 * efiemu/prepare64.c: likewise
35587 * efiemu/loadcore.c: likewise
35588 * efiemu/symbols.c: likewise
35589 * efiemu/mm.c: likewise
35590 * efiemu/loadcore32.c: likewise
7dd4a573 35591
355922009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 35593
35594 ACPI spoofing
35595
35596 * commands/acpi.c: new file
35597 * commands/i386/pc/acpi.c: likewise
35598 * commands/efi/acpi.c: likewise
35599 * include/grub/acpi.h: likewise
35600 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
35601 (acpi_mod_SOURCES): new variable
35602 (acpi_mod_CFLAGS): likewise
35603 (acpi_mod_LDFLAGS): likewise
35604 * conf/i386-efi.rmk: likewise
35605 * conf/x86_64-efi.rmk: likewise
35606
7dd4a573 356072009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 35608
35609 Missing part from mmap patch
35610
35611 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
35612 (grub_mmap_unregister)
35613 (grub_mmap_free_and_unregister): use grub_mmap_register
35614
7dd4a573 356152009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 35616
35617 Mmap services
35618
35619 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
35620 * loader/i386/linux.c (find_mmap_size): likewise
35621 (allocate_pages): likewise
35622 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
35623 (grub_fill_multiboot_mmap): likewise
35624 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
35625 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
35626 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
35627 (OPENBSD_MMAP_RESERVED): likewise
35628 * include/grub/i386/pc/memory.h: include grub/memory.h
35629 (grub_lower_mem): removed
35630 (grub_upper_mem): likewise
35631 (GRUB_MACHINE_MEMORY_ACPI): new definition
35632 (GRUB_MACHINE_MEMORY_NVS): likewise
35633 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
35634 (GRUB_MACHINE_MEMORY_HOLE): likewise
35635 (grub_machine_mmap_register): likewise
35636 (grub_machine_mmap_unregister): likewise
35637 (grub_machine_get_upper): likewise
35638 (grub_machine_get_lower): likewise
35639 (grub_machine_get_post64): likewise
35640 * include/grub/i386/efi/memory.h: new file
35641 * include/grub/x86_64/efi/memory.h: likewise
35642 * include/grub/efi/memory.h: likewise
35643 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
35644 (mmap_mod_SOURCES): new variable
35645 (mmap_mod_LDFLAGS): likewise
35646 (mmap_mod_ASFLAGS): likewise
35647 * conf/i386-coreboot.rmk: likewise
35648 * conf/i386-ieee1275.rmk: likewise
35649 * conf/i386-efi.rmk: likewise
35650 * conf/x86_64-efi.rmk: likewise
35651 * include/grub/types.h (UINT_TO_PTR): new macro
35652 (PTR_TO_UINT32): likewise
35653 (PTR_TO_UINT64): likewise
35654 * include/grub/memory.h: new file
35655 * mmap/i386/pc/mmap.c: likewise
35656 * mmap/i386/pc/mmap_helper.S: likewise
35657 * mmap/i386/uppermem.c: likewise
35658 * mmap/mmap.c: likewise
35659 * mmap/efi/mmap.c: likewise
7dd4a573 35660 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 35661 grub_upper_mem
35662 * kern/i386/pc/init.c (grub_lower_mem): removed variable
35663 (grub_upper_mem): likewise
35664 (grub_machine_init): don't use grub_upper_mem,
35665 make grub_lower_mem local
35666 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
35667 grub_mmap_iterate and grub_mmap_get_upper
35668 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
35669
d558e6b5 356702009-05-02 Bean <bean123ch@gmail.com>
35671
35672 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
35673 script/sh/parser.y.
35674 (pkglib_MODULES): Add normal.mod and sh.mod.
35675 (normal_SOURCES): New variable.
35676 (normal_mod_CFLAGS): Likewise.
35677 (normal_mod_LDFLAGS): Likewise.
35678 (sh_mod_SOURCES): Likewise.
35679 (sh_mod_CFLAGS): Likewise.
35680 (sh_mod_LDFLAGS): Likewise.
35681
35682 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
35683 script/sh/lexer.c_DEPENDENCIES.
35684 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
35685 kern/rescue_reader.c and kern/rescue_parser.c.
35686 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
35687 (grub_emu_SOURCES): Change source files.
35688 (pkglib_MODULES): Remove normal.mod.
35689 (normal_SOURCES): Removed.
35690 (normal_mod_CFLAGS): Likewise.
35691 (normal_mod_LDFLAGS): Likewise.
35692 * conf/i386-coreboot.rmk: Likewise.
35693 * conf/i386-efi.rmk: Likewise.
35694 * conf/i386-ieee1276.rmk: Likewise.
35695 * conf/powerpc-ieee1275.rmk: Likewise.
35696 * conf/sparc64-ieee1275.rmk: Likewise.
35697 * conf/x86_64-efi.rmk: Likewise.
35698
35699 * include/grub/command.h (grub_command_execute): New inline function.
35700
35701 * include/grub/menu.h (grub_menu_entry): Removed commands field.
35702
35703 * include/grub/normal.h: Remove <grub/setjmp.h>.
35704 (grub_fs_module_list): Moved to normal/autofs.c.
35705 (grub_exit_env): Removed.
35706 (grub_command_execute): Likewise.
35707 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
35708 parameter script.
35709 (read_command_list): New function declaration.
35710 (read_fs_list): Likewise.
35711
35712 * include/parser.h: Include <grub/reader.h>.
35713 (grub_parser_split_cmdline): Change type of getline parameter.
35714 (grub_parser): New structure.
35715 (grub_parser_class): New variable.
35716 (grub_parser_execute): New function declaration.
35717 (grub_register_rescue_parser): Likewise.
35718 (grub_parser_register): New inline function.
35719 (grub_parser_unregister): Likewise.
35720 (grub_parser_get_current): Likewise.
35721 (grub_parser_set_current): Likewise.
35722
35723 * include/grub/reader.h: New file.
35724 * kern/reader.c: Likewise.
35725 * kern/rescue_parser.c: Likewise.
35726 * kern/rescue_reader.c: Likewise.
35727 * normal/autofs.c: Likewise.
35728 * normal/dyncmd.c: Likewise.
35729
35730 * include/grub/rescue.h: Removed.
35731 * normal/command.h: Likewise.
35732
35733 * include/grub/script.h: Moved to ...
35734 * include/grub/script_sh.h: ... Moved here.
35735 * normal/execute.c: Moved to ...
35736 * script/sh/execute.c: ... Moved here.
35737 * normal/function.c: Moved to ...
35738 * script/sh/function.c: ... Moved here.
35739 * normal/lexer.c: Moved to ...
35740 * script/sh/lexer.c: ... Moved here.
35741 * normal/parser.y: Moved to ...
35742 * script/sh/parser.y: ... Moved here.
35743 * normal/script.c: Moved to ...
35744 * script/sh/script.c: ... Moved here.
35745
35746 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
35747 <grub/reader.h>.
35748 (grub_exit_env): Removed.
35749 (fs_module_list): Moved to normal/autofs.c.
35750 (grub_file_getline): Don't handle comment here.
35751 (free_menu): Skip removed field entry->commands.
35752 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
35753 script parameter.
35754 (read_config_file): Removed nested parameter, change getline function.
35755 (grub_enter_normal_mode): Removed.
35756 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
35757 (read_command_list): Likewise.
35758 (autoload_fs_module): Moved to normal/autofs.c.
35759 (read_fs_list): Likewise.
35760 (reader_nested): New variable.
35761 (grub_normal_execute): Run parser.sh to switch to sh parser.
35762 (grub_cmd_rescue): Removed.
35763 (cmd_normal): Removed.
35764 (grub_cmd_normal): Unregister itself at the beginning. Don't register
35765 rescue command.
35766 (grub_cmdline_run): New function.
35767 (grub_normal_reader_init): Likewise.
35768 (grub_normal_read_line): Likewise.
35769 (grub_env_write_pager): Likewise.
35770 (cmdline): New variable.
35771 (grub_normal_reader): Likewise.
35772 (GRUB_MOD_INIT): Register normal reader and set as current, register
35773 pager hook, register normal command with grub_register_command_prio,
35774 so that it won't show up in command.lst.
35775 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
35776 grub_fs_autoload_hook.
35777
35778 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
35779 (grub_menu_execute_entry): Replace grub_script_execute with
35780 grub_parser_execute, change parameter to grub_command_execute.
35781
35782 * normal/menu_text.c: Remove <grub/script.h>.
35783
35784 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
35785 and <grub/parser.h>.
35786 (run): Change editor_getline to use new parser interface. Change
35787 parameter to grub_command_execute.
35788
35789 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
35790 <grub/reader.h> and <grub/parser.h>.
35791 (grub_load_normal_mode): Execute normal command.
35792 (grub_main): Call grub_register_core_commands,
35793 grub_register_rescue_parser and grub_register_rescue_reader, use
35794 grub_reader_loop to enter input loop.
35795
7dd4a573 35796 * kern/parser.c (grub_parser_split_cmdline): Change type of
35797 getline parameter.
d558e6b5 35798 (grub_parser_class): New variable.
35799 (grub_parser_execute): New function.
35800
35801 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
35802 * loader/multiboot2.c: Likewise.
35803 * loader/sparc64/ieee1275/linux.c: Likewise.
35804
35805 * util/grub-emu.c (read_command_list): New dummy function.
35806
18db813d 358072009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35808
35809 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
35810 count to 16 for CCISS and IDA.
35811
6c67de15 358122009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35813
35814 * normal/menu_text.c (grub_wait_after_message): Print a newline
35815 after waiting for user input.
35816
35817 * loader/i386/linux.c: Include `<grub/normal.h>'.
35818 (grub_cmd_linux): Improve the error message about `ask' mode, by
35819 waiting for user input so it's not missed (we can do this, since
35820 user requested interaction).
35821
d9dc87b0 358222009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35823
35824 Added missing lst to grub-mkrescue
35825
35826 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
35827 and ${input_dir}/parttool.lst
35828
ac8a2baa 358292009-04-30 David S. Miller <davem@davemloft.net>
35830
ad22a610 35831 * util/hostdisk.c (device_is_wholedisk): New function.
35832 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
35833 zero only if device_is_wholedisk() returns true.
35834
6966215d 35835 * util/hostdisk.c (convert_system_partition_to_system_disk):
35836 Handle virtual disk devices named /dev/vdiskX as found on sparc
35837 and powerpc.
35838
ac8a2baa 35839 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
35840 lettered partition specifier is found, convert to numbered.
35841
979b4fb4 358422009-04-29 David S. Miller <davem@davemloft.net>
35843
e2bf39b2 35844 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
35845 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35846
3c64e104 35847 * normal/command.c: Add missing newline at end of file.
35848
979b4fb4 35849 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
35850 warnings.
35851 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
35852 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
35853 grub_ofdisk_read): Likewise, and deal similarly with the fact that
35854 ihandles have a 32-bit type but need to be stored in a "void *".
35855
136d9f82 358562009-04-28 Pavel Roskin <proski@gnu.org>
35857
9459c306 35858 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
35859 not disk. Adjust all dependencies.
2e08a26a 35860 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 35861 grub_disk_close().
35862
136d9f82 35863 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
35864 parent's partition, don't copy it by reference, as it gets freed
35865 on close.
35866
7dd4a573 358672009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 35868
35869 Preboot hooks support
35870
35871 * commands/boot.c (struct grub_preboot_t): new declaration
35872 (preboots_head): new variable
35873 (preboots_tail): likewise
35874 (grub_loader_register_preboot_hook): new function
35875 (grub_loader_unregister_preboot_hook): likewise
35876 (grub_loader_set): launch preboot hooks
35877 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
35878 (grub_loader_register_preboot_hook): new declaration
35879 (grub_loader_unregister_preboot_hook): likewise
35880
5af922b5 358812009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
35882
35883 Warning fix
35884
7dd4a573 35885 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 35886 calling grub_dprintf
35887
a5562c30 358882009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
35889
35890 Bug and warning fixes
35891
7dd4a573 35892 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 35893 declaration
35894 * commands/test.c (test_parse): fixed bug with file tests and corrected
35895 declaration of find_file
35896
4006f85c 358972009-04-26 Pavel Roskin <proski@gnu.org>
35898
35899 * Makefile.in: Don't install empty manual pages if help2man is
35900 missing. Use help2man option for output, not shell redirection.
35901
5c77c3de 359022009-04-26 David S. Miller <davem@davemloft.net>
35903
35904 * util/grub-mkdevicemap.c (make_device_map): Add missing
35905 NESTED_FUNC_ATTR to process_device().
35906
033b10a8 359072009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35908
35909 Test command
35910
35911 * commands/test.c: rewritten to use bash-like test
35912
e4343593 359132009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35914
35915 Parttool autoloading and improvements
35916
7dd4a573 35917 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 35918 (parttool.lst): new target
35919 * genmk.rb: generate parttool-*
35920 (CLEANFILES): add #{parttool}
35921 (PARTTOOLFILES): new variable
35922 * genparttoollist.sh: new file
7dd4a573 35923 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 35924 (grub_pcpart_type): likewise
35925 * commands/parttool.c (helpmsg): new variable
35926 (grub_cmd_parttool): output help if not enough arguments are supplied
35927 autoload modules
35928 (GRUB_MOD_INIT(parttool)): use helpmsg
35929
0d312500 359302009-04-24 David S. Miller <davem@davemloft.net>
35931
7dd4a573 35932 Avoiding opening same device multiple times in device iterator.
0d312500 35933
35934 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 35935 and use it to build a list of partitions in iterate_disk() and
0d312500 35936 iterate_partition().
35937
ac20caff 35938 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
35939 on disk->data.
35940
0dcf7495 35941 * disk/ieee1275/nand.c (grub_nand_iterate): Return
35942 grub_devalias_iterate() result instead of unconditional 0.
35943 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
35944 Also, capture hook return value, either directly or via
35945 grub_children_iterate(), and propagate to caller.
35946 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
35947 grub_children_iterate): Return value is now 'int' instead of
35948 'grub_err_t'.
35949 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
35950 like a proper iterator, stopping when hooks return non-zero.
35951 (grub_devalias_iterate): Likewise.
35952
c8c08833 359532009-04-23 David S. Miller <davem@davemloft.net>
35954
35955 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
35956
f01005a8 359572009-04-22 David S. Miller <davem@davemloft.net>
35958
35959 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
35960 is larger than address_cells, use that value for address_cells too.
35961
4e8269da 35962 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
35963 IEEE1275_MAX_PATH_LEN): Define.
35964 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
35965 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
35966 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
35967 'devtype'. Explicitly NULL terminate devalias expansion.
35968
a1447506 35969 * util/sparc64/ieee1275/misc.c: New file.
35970 * util/sparc64/ieee1275/grub-setup.c: New file.
35971 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
35972 * util/sparc64/ieee1275/grub-mkimage.c: New file.
35973 * util/sparc64/ieee1275/grub-install.in: New file.
35974 * util/ieee1275/ofpath.c: New file.
35975 * util/ieee1275/devicemap.c: New file.
35976 * util/devicemap.c: New file.
35977 * util/deviceiter.c: New file.
35978 * kern/sparc64/ieee1275/init.c: New file.
35979 * include/grub/util/ofpath.h: New file.
35980 * include/grub/util/deviceiter.h: New file.
35981 * util/grub-mkdevicemap.c: Include deviceiter.h.
35982 Implement using grub_util_emit_devicemap_entry and
35983 grub_util_iterate_devices.
35984 * conf/i386-corebook.rmk: Build util/deviceiter.c and
35985 util/devicemap.c into grub-mkdevicemap
35986 * conf/i386-efi.rmk: Likewise.
35987 * conf/i386-ieee1275.rmk: Likewise.
35988 * conf/i386-pc.rmk: Likewise.
35989 * conf/powerpc-ieee1275.rmk: Likewise.
35990 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
35991 images and installation utilities. Build kernel as image
35992 instead of as elf binary. Use common rules as much as possible.
35993
7dd4a573 359942009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 35995
35996 Correct GPT definition
35997
7dd4a573 35998 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 35999 of "attrib" member
36000
c6c5219f 360012009-04-19 Felix Zielcke <fzielcke@z-51.de>
36002
36003 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
36004
0552ff9f 360052009-04-19 David S. Miller <davem@davemloft.net>
36006
36007 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
36008 (grub_rescue_cmd_linux): Rename to...
36009 (grub_cmd_linux): and fix prototype.
36010 (grub_rescue_cmd_initrd): Rename to...
36011 (grub_cmd_initrd): and fix prototype.
36012 (cmd_linux, cmd_initrd): New.
36013 (GRUB_MOD_INIT(linux)): Use grub_register_command().
36014 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
36015
d1a282fc 360162009-04-17 Pavel Roskin <proski@gnu.org>
36017
07c5039f 36018 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
36019 format.
36020 (grub_ohci_transfer): Likewise.
36021
b012002d 36022 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
36023
1bc09c35 36024 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
36025 return without a value. Fix inconsistent indentation.
36026
e0ff9126 36027 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
36028 match struct grub_fs.
36029
d1a282fc 36030 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
36031 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
36032 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36033 * commands/lspci.c (grub_lspci_iter): Likewise.
36034
a96df3f2 360352009-04-16 Bean <bean123ch@gmail.com>
36036
36037 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
36038 value.
36039
41bb0fe9 360402009-04-15 Pavel Roskin <proski@gnu.org>
36041
36042 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
36043 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
36044 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
36045 definitions.
36046
596c6970 360472009-04-15 Felix Zielcke <fzielcke@z-51.de>
36048
36049 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 36050 that no multiple data or metadata areas are supported and `Unknown
596c6970 36051 metadata header'.
36052
7dd4a573 360532009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 36054
36055 Move loader out of the kernel
36056
36057 * kern/loader.c: moved to ...
36058 * commands/boot.c: ... moved here
36059 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
36060 * commands/boot.c (grub_cmd_boot): moved here. All users updated
36061 * include/grub/kernel.h (grub_machine_fini): export
36062 * include/grub/loader.h (grub_loader_is_loaded): update declaration
36063 (grub_loader_set): likewise
36064 (grub_loader_unset): likewise
36065 (grub_loader_boot): likewise
36066 * conf/common.rmk: new module boot.mod
36067 (pkglib_MODULES): add boot.mod
36068 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
36069 (grub_emu_SOURCES): likewise
36070 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
36071 (grub_emu_SOURCES): likewise
36072 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
36073 (grub_emu_SOURCES): likewise
36074 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
36075 (grub_emu_SOURCES): likewise
36076 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
36077 (grub_emu_SOURCES): likewise
7dd4a573 36078 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
36079 (grub_emu_SOURCES): likewise
0d5d5653 36080 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 36081 (grub_emu_SOURCES): likewise
0d5d5653 36082
7dd4a573 360832009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 36084
36085 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 36086
5999d619 36087 * kern/misc.c (grub_itoa): Removed function
36088 (grub_ltoa): likewise
36089 (grub_vsprintf): use grub_lltoa
36090
7dd4a573 360912009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 36092
36093 Restore grub-emu
36094
36095 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
36096 * conf/i386-coreboot.rmk: likewise
36097 * conf/i386-ieee1275.rmk: likewise
36098 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 36099
20318222 361002009-04-15 Felix Zielcke <fzielcke@z-51.de>
36101
36102 * INSTALL: Add that `./autogen.sh' needs to be run before
36103 `./configure.'.
36104
d05f0df3 361052009-04-14 Bean <bean123ch@gmail.com>
36106
36107 * Makefile.in (pkglib_DATA): Add handler.lst.
36108 (handler.lst): New rule.
36109
36110 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
36111 * conf/i386-coreboot.rmk: Likewise.
36112 * conf/i386-ieee1275.rmk: Likewise.
36113 * conf/i386-efi.rmk: Likewise.
36114 * conf/x86_64-efi.rmk: Likewise.
36115 * conf/powerpc-ieee1275.rmk: Likewise.
36116 * conf/sparc64-ieee1275.rmk: Likewise.
36117
36118 * genhandlerlist.sh: New file.
36119
36120 * genmk.rb: Add rules to generate handler.lst.
36121
36122 * include/grub/normal.h (grub_file_getline): New function definition.
36123 (read_handler_list): Likewise.
36124 (free_handler_list): Likewise.
36125
36126 * include/grub/term.h (grub_term_register_input): Add name parameter
36127 for auto generation of handler.lst.
36128 (grub_term_register_output): Likewise.
36129
36130 * normal/handler.c: New file.
36131
36132 * normal/main.c (get_line): Renamed to grub_file_getline.
36133 (read_config_file): Use the newly renamed grub_file_getline.
36134 (read_command_list): Likewise.
36135 (read_fs_list): Likewise.
36136 (grub_normal_execute): Call read_handler_list to parse handler.lst.
36137 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
36138
36139 * term/efi/console.c (grub_console_init): Add name parameter for auto
36140 generation of handler.lst.
36141 * term/gfxterm.c: Likewise.
36142 * term/i386/pc/at_keyboard.c: Likewise.
36143 * term/i386/pc/console.c: Likewise.
36144 * term/i386/pc/serial.c: Likewise.
36145 * term/i386/pc/vesafb.c: Likewise.
36146 * term/i386/pc/vga.c: Likewise.
36147 * term/i386/pc/vga_text.c: Likewise.
36148 * term/ieee1275/ofconsole.c: Likewise.
36149 * term/usb_keyboard.c: Likewise.
36150
33c846be 361512009-04-14 Bean <bean123ch@gmail.com>
36152
36153 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
36154 properly with null character.
36155
4484e01e 361562009-04-14 Felix Zielcke <fzielcke@z-51.de>
36157
36158 * configure: Remove.
36159 * config.h.in: Likewise.
f93d668e 36160 * stamp-h.in: Likewise.
4484e01e 36161 * DISTLIST: Likewise.
36162 * conf/common.mk: Likewise.
36163 * conf/i386-coreboot.mk: Likewise.
36164 * conf/i386-efi.mk: Likewise.
36165 * conf/i386-ieee1275.mk: Likewise.
36166 * conf/i386.mk: Likewise.
36167 * conf/i386-pc.mk: Likewise.
36168 * conf/powerpc-ieee1275.mk: Likewise.
36169 * conf/sparc64-ieee1275.mk: Likewise.
36170 * conf/x86_64-efi.mk: Likewise.
36171
36172 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
36173 develop on GRUB.
36174
7dd4a573 361752009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 36176 David S. Miller <davem@davemloft.net>
36177
36178 * util/hostdisk.c (make_device_name): Fix buffer length
36179 calculations.
36180
e25b5a8c 361812009-04-14 Felix Zielcke <fzielcke@z-51.de>
36182
36183 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
36184 <sys/param.h> and <sys/sysctl.h>.
36185 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
36186 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
36187 opening the device and reset them afterwards.
36188
1f1f580c 361892009-04-13 Pavel Roskin <proski@gnu.org>
36190
36191 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
36192 Reported by John Stanley <jpsinthemix@verizon.net>
36193
7ebc2d6b 361942009-04-13 Robert Millan <rmh@aybabtu.com>
36195
36196 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 36197 that name for menuentries when appropriate.
7ebc2d6b 36198
d8ba3667 361992009-04-13 Felix Zielcke <fzielcke@z-51.de>
36200
36201 * util/grub.d/10_freebsd.in: Add a missing `fi'.
36202
cba416eb 362032009-04-13 Robert Millan <rmh@aybabtu.com>
36204
36205 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
36206 to Linux, simply abort telling the user it's no longer supported.
36207
a547a745 362082009-04-13 Felix Zielcke <fzielcke@z-51.de>
36209
36210 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 36211 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 36212 `freebsd_loadenv' only when devices.hints exist.
36213
232a769c 362142009-04-13 Pavel Roskin <proski@gnu.org>
36215
36216 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
36217
c3012039 362182009-04-13 Felix Zielcke <fzielcke@z-51.de>
36219
36220 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
36221 partition number.
36222 (grub_drive): Likewise.
36223
234022fe 362242009-04-13 David S. Miller <davem@davemloft.net>
36225
36226 * kern/sparc64/ieee1275/ieee1275.c: New file.
36227 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
36228 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
36229 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
36230 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
36231 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
36232 grub_ieee1275_alloc_physmem): Declare new exported functions.
36233
d8e1836c 36234 * include/grub/sparc64/ieee1275/loader.h: New file.
36235 * include/grub/sparc64/ieee1275/memory.h: Likewise.
36236 * include/grub/sparc64/kernel.h: Likewise.
36237 * loader/sparc64/ieee1275/linux.c: Likewise.
36238
96bd81ec 36239 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
36240 (grub_fstest_SOURCES): Likewise.
36241
6a4737e5 36242 * util/hostdisk.c (make_device_name): Do not make any assumptions
36243 about the length of drive names.
36244
1d7a72fd 36245 * kern/dl.c (grub_dl_load_file): Close file immediately when
36246 we are done using it.
36247
56bc2471 362482009-04-12 David S. Miller <davem@davemloft.net>
36249
36250 * kern/misc.c (grub_ltoa): Fix cast when handling negative
36251 values. Noticed by Pavel Roskin.
36252
df38d0bb 36253 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
36254 target compiler.
7dd4a573 36255
e382e93a 36256 * genmk.rb: Add more flexible image type specification, also
36257 pass --strip-unneeded to objcopy.
36258 * conf/i386-pc.rmk: Use *_FORMAT.
36259 * conf/i386-pc.mk: Rebuilt.
36260
f5dbbca9 36261 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
36262 (OFDISK_HASH_SZ): Define.
36263 (ofdisk_hash): New hash table.
36264 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
36265 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
36266 instead of device phandle which is not unique.
36267
91c88b12 36268 * kern/sparc64/ieee1275/init.c: Delete, replace with...
36269 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
36270 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
36271 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
36272 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
36273 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
36274 GRUB_KERNEL_MACHINE_DATA_END): Define.
36275 (grub_kernel_image_size, grub_total_module_size): Declare.
36276
5b5d4aa5 362772009-04-12 Pavel Roskin <proski@gnu.org>
36278
7dd4a573 36279 * configure.ac: Change the logic when we check for target tools.
36280 Do it when the target is specified and it's different from the
36281 specified value of the host.
5b5d4aa5 36282
c91e1793 362832009-04-11 Felix Zielcke <fzielcke@z-51.de>
36284
36285 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
36286 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
36287 GNU/kFreeBSD. Check if a device is a character device. Use
36288 DIOCGMEDIASIZE to get the size.
36289 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
36290 support for GNU/kFreeBSD.
36291 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
36292 is a character device instead of a block device. Add support for
36293 FreeBSD device names.
36294
36295 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
36296 is a character device instead of a block device.
36297
36298 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
36299 is a character device instead of a block device.
36300
b1ac8644 363012009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
36302
36303 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
36304 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
36305 FreeBSD. Check if a device is a character device. Use
36306 DIOCGMEDIASIZE to get the size.
36307 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
36308 support for FreeBSD.
36309 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
36310 is a character device instead of a block device. Add support for
36311 FreeBSD device names.
36312
36313 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
36314 a character device instead of a block device.
36315 (grub_util_check_char_device): New function.
36316
36317 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
36318 a character device instead of a block device.
36319
36320 * include/grub/util/getroot.h (grub_util_check_char_device): New
36321 prototype.
36322
a3f7515a 363232009-04-11 David S. Miller <davem@davemloft.net>
36324
36325 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
36326 static libgcc.
36327 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
36328 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
36329 function, if present.
36330 (__bswapdi2): Likewise.
36331
0d44993d 36332 * include/grub/sparc64/ieee1275/boot.h: New file.
36333 * boot/sparc64/ieee1275/boot.S: Likewise.
36334 * boot/sparc64/ieee1275/diskboot.S: Likewise.
36335
ed3d2bc2 36336 * kern/misc.c (grub_ltoa): New function.
36337 (grub_vsprintf): Use it to format 'long' integers.
36338
d3bfb59c 363392009-04-10 David S. Miller <davem@davemloft.net>
36340
36341 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
36342 slots are of type grub_ieee1275_cell_t.
36343 (grub_nand_read): Likewise.
36344 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
36345 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
36346 macros are used to compare values in arg/ret block of the call.
36347 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36348 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
36349 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
36350 grub_ieee1275_instance_to_path, grub_ieee1275_write,
36351 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
36352 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
36353 grub_ieee1275_close, grub_ieee1275_set_property,
36354 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
36355 grub_ieee1275_cell_t.
36356 * kern/ieee1275/openfw.c (grub_map): Likewise.
36357 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
36358 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
36359
450e2238 36360 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
36361 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
36362 (grub_devalias_iterate): Likewise.
36363
7dd4a573 363642009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 36365
36366 UFS improvements
36367
36368 * fs/ufs.c (INODE_NBLOCKS): new definition
36369 (struct grub_ufs_dirent): added fields for non-BSD dirents
36370 (grub_ufs_get_file_block): fixed double indirect handling
36371 (grub_ufs_lookup_symlink): use more robust way to determine whether
36372 symlink is inline
36373 (grub_ufs_find_file): support for non-BSD dirents
36374 (grub_ufs_dir): support for non-BSD dirents
36375
e7e6862a 363762009-04-10 Bean <bean123ch@gnail.com>
36377
36378 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
36379 attribute, otherwise the size would be wrong for i386 platform.
36380
36381 * include/grub/pci.h (grub_pci_read_word): New inline function.
36382 (grub_pci_read_byte): Likewise.
36383 (grub_pci_write): Likewise.
36384 (grub_pci_write_word): Likewise.
36385 (grub_pci_write_byte): Likewise.
36386
36387 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
36388
36389 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
36390 (find_framebuf): Scan pci to locate the frame buffer address.
36391
36392 * commands/efi/fixvideo.c: New file.
36393
36394 * commands/efi/loadbios.c: Likewise.
36395
36396 * commands/memrw.c: Likewise.
36397
36398 * util/grub-dumpbios.in: Likewise.
36399
36400 * conf/common.rmk (grub-dumpbios): New utility.
36401 (pkglib_MODULES): New module memrw.mod.
36402 (memrw_mod_SOURCE): New macro.
36403 (memrw_mod_CFLAGS): Likewise.
36404 (memrw_mod_LDFLAGS): Likewise.
36405
7dd4a573 36406 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 36407 fixvideo.mod.
36408 (loadbios_mod_SOURCE): New macro.
36409 (loadbios_mod_CFLAGS): Likewise.
36410 (loadbios_mod_LDFLAGS): Likewise.
36411 (fixvideo_mod_SOURCE): Likewise.
36412 (fixvideo_mod_CFLAGS): Likewise.
36413 (fixvideo_mod_LDFLAGS): Likewise.
36414
7dd4a573 36415 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 36416 fixvideo.mod.
36417 (loadbios_mod_SOURCE): New macro.
36418 (loadbios_mod_CFLAGS): Likewise.
36419 (loadbios_mod_LDFLAGS): Likewise.
36420 (fixvideo_mod_SOURCE): Likewise.
36421 (fixvideo_mod_CFLAGS): Likewise.
36422 (fixvideo_mod_LDFLAGS): Likewise.
36423
af63ada2 364242009-04-08 Felix Zielcke <fzielcke@z-51.de>
36425
36426 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
36427
c2cdde70 364282009-04-07 David S. Miller <davem@davemloft.net>
36429
36430 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
36431 support for R_SPARC_OLO10 relocations. Fix compile warning for
36432 R_SPARC_WDISP30 case.
ea3f72cf 36433 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 36434
761319cf 364352009-04-06 Pavel Roskin <proski@gnu.org>
36436
1007d1f5 36437 * include/grub/misc.h (ARRAY_SIZE): New macro.
36438 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
36439 New macro.
36440 * loader/i386/linux.c (allocate_pages): Use free_pages().
36441 (grub_linux_unload): Don't use free_pages().
36442 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
36443 wrong index. Treat all other modes as text modes.
36444 (grub_cmd_linux): Initialize vid_mode unconditionally to
36445 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
36446
761319cf 36447 * commands/help.c (print_command_help): Use cmd->prio, not
36448 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
36449
ea761d40 364502009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 36451
ea761d40 36452 Parttool
36453
36454 * parttool/pcpart.c: new file
36455 * commands/parttool.c: likewise
36456 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
36457 (parttool_mod_SOURCES): new variable
36458 (parttool_mod_CFLAGS): likewise
36459 (parttool_mod_LDFLAGS): likewise
36460 (pcpart_mod_SOURCES): likewise
36461 (pcpart_mod_CFLAGS): likewise
36462 (pcpart_mod_LDFLAGS): likewise
7dd4a573 36463 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 36464 and parttool/pcpart.c
36465 * conf/i386-efi.rmk: likewise
36466 * conf/i386-ieee1275.rmk: likewise
36467 * conf/i386-pc.rmk: likewise
36468 * conf/powerpc-ieee1275.rmk: likewise
36469 * conf/sparc64-ieee1275.rmk: likewise
36470 * conf/x86_64-ieee1275.rmk: likewise
36471
05aaebfb 364722009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36473
36474 Support for mtime and further expandability of dir command
36475
36476 * include/grub/lib/datetime.h: moved to ...
7dd4a573 36477 * include/grub/datetime.h: ... moved here and added
05aaebfb 36478 declaration of grub_unixtime2datetime. All users updated
7dd4a573 36479 * include/grub/fs.h: new syntax for dir and mtime functions in
36480 struct grub_fs
05aaebfb 36481 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
36482 and GRUB_FSHELP_FLAGS_MASK
36483 * commands/ls.c (grub_ls_list_files): Write mtime in long format
36484 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
36485 (grub_ext2_mtime): new function
36486 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
36487 (grub_hfsplus_mtime): new function
36488 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
36489 (GRUB_UFS_ATTR_FILE): likewise
36490 (GRUB_UFS_ATTR_LNK): likewise
36491 (struct grub_ufs_sblock): new fields mtime
36492 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
36493 all users updated
36494 (grub_ufs_dir): mtime support
36495 (grub_ufs_mtime): new function
36496 * fs/affs.c (grub_affs_dir): use new dir syntax
36497 * fs/afs.c (grub_afs_dir): likewise
36498 * fs/cpio.c (grub_cpio_dir): likewise
36499 * fs/fat.c (grub_fat_find_dir): likewise
36500 * fs/hfs.c (grub_hfs_dir): likewise
36501 * fs/iso9660.c (grub_iso9660_dir): likewise
36502 * fs/jfs.c (grub_jfs_dir): likewise
36503 * fs/minix.c (grub_minix_dir): likewise
36504 * fs/ntfs.c (grub_ntfs_dir): likewise
36505 * fs/reiserfs.c (grub_reiserfs_dir): likewise
36506 * fs/sfs.c (grub_sfs_dir): likewise
36507 * fs/xfs.c (grub_xfs_dir): likewise
36508 * util/hostfs.c (grub_hostfs_dir): likewise
36509 * lib/datetime.c: moved to ...
36510 * normal/datetime.c: ... moved here
36511 (grub_unixtime2datetime): new function
36512 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 36513 * normal/completion.c (iterate_dir): use new dir syntax
36514 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 36515 last modification time of a volume
7dd4a573 36516 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 36517 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 36518 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 36519 (normal_mod_SOURCES): likewise
36520 (datetime_mod_SOURCES): Removed lib/datetime.c
36521 * conf/i386-efi.rmk: likewise
7dd4a573 36522 * conf/i386-ieee1275.rmk: likewise
05aaebfb 36523 * conf/i386-pc.rmk: likewise
36524 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 36525 * conf/sparc64-ieee1275.rmk: likewise
36526 * conf/x86_64-efi.rmk: likewise
05aaebfb 36527
8a7e1a14 365282009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36529
36530 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 36531
36532 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 36533 on grub_fat_find_dir
36534 (grub_fat_find_dir): use grub_fat_iterate_dir
36535 (grub_fat_label): likewise
36536
04186a9c 365372009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
36538
7dd4a573 36539 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 36540 and command.h
36541 remove extraneous kernel_elf_HEADERS
36542
da4c0bb6 365432009-04-04 Bean <bean123ch@gnail.com>
36544
36545 * include/grub/util/misc.h: Add dummy function fsync for mingw.
36546
36547 * util/misc.c: Likewise.
36548
54ad9555 365492009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36550
36551 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
36552 instead of grub_printf.
36553
7a6bf9f2 365542009-04-03 Robert Millan <rmh@aybabtu.com>
36555
36556 * loader/i386/linux.c (grub_linux_setup_video): Fill
36557 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
36558 values from `mode info' structure instead of hardcoded
36559 values.
36560
3fcc2083 365612009-04-01 Pavel Roskin <proski@gnu.org>
36562
36563 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
36564 unused now.
36565 * genmk.rb: Likewise.
36566 * configure.ac: Likewise.
36567
5ec9740b 365682009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
36569
36570 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
36571 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
36572
5270cec8 365732009-04-01 David S. Miller <davem@davemloft.net>
36574
36575 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 36576 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 36577 (grub_setjmp): Mark with 'returns_twice' attribute.
36578 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
36579 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
36580 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
36581
9c3dd854 365822009-04-01 Robert Millan <rmh@aybabtu.com>
36583
36584 Reapply fix from 2008-07-28 which was accidentally reverted; also
36585 perform the same fix to a similar check in same function.
36586
36587 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
36588 with the same number are found, just use issue a warning with
36589 grub_dprintf(), as this error has been reported to be non-fatal.
36590
0d818b7e 365912009-03-31 Pavel Roskin <proski@gnu.org>
36592
36593 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
36594 for cross-compilation.
36595
95646d92 365962009-03-30 Robert Millan <rmh@aybabtu.com>
36597
36598 Fix i386-ieee1275 build.
36599
36600 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
36601 Remove declaration.
36602
6a003ed1 366032009-03-30 Pavel Roskin <proski@gnu.org>
36604
36605 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
36606 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
36607 zero-terminated, rely only on the strlen value. Fix comparison
36608 of strings differing in length.
36609
92f33540 366102009-03-30 Robert Millan <rmh@aybabtu.com>
36611
36612 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
36613 checking for abi version. Improve error messages on BIOS to notify
36614 user about `linux16' command.
36615
a8c48fd5 366162009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
36617
f968172e 36618 Leak fixes
a8c48fd5 36619
f968172e 36620 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
36621 in case of collision
36622 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 36623
9c323f09 366242009-03-29 Robert Millan <rmh@aybabtu.com>
36625
36626 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
36627 set `vid_mode' accordingly.
36628 (grub_linux_boot): Process `vid_mode' and set video mode.
36629
ae68f423 366302009-03-29 Robert Millan <rmh@aybabtu.com>
36631
36632 * util/grub.d/10_linux.in (linux_entry): New function.
36633 Factorize generation of Linux boot entries.
36634
5709cfc4 366352009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
36636
36637 Make the format of Environment Block plain text. The boot loader
36638 part is not tested well yet.
7dd4a573 36639
5709cfc4 36640 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
36641 (buffer): Removed.
36642 (envblk): Likewise.
36643 (usage): Remove "info" and "clear". Add "unset". Update the
36644 description of "set", as this does not delete variables any
36645 longer.
36646 (create_envblk_file): Complete rewrite.
36647 (open_envblk_file): Likewise.
36648 (cmd_info): Removed.
36649 (cmd_list): Likewise.
36650 (cmd_set): Likewise.
36651 (cmd_clear): Likewise.
36652 (list_variables): New function.
36653 (write_envblk): Likewise.
36654 (set_variables): Likewise.
36655 (unset_variables): Likewise.
36656 (main): Complete rewrite.
36657
36658 * commands/loadenv.c (buffer): Removed.
36659 (envblk): Likewise.
36660 (open_envblk_file): New function.
36661 (read_envblk_file): Complete rewrite.
36662 (grub_cmd_load_env): Likewise.
36663 (grub_cmd_list_env): Likewise.
36664 (struct blocklist): New struct.
36665 (free_blocklists): New function.
36666 (check_blocklists): Likewise.
36667 (write_blocklists): Likewise.
36668 (grub_cmd_save_env): Complete rewrite.
36669
36670 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
36671 a plain text signature.
36672 (GRUB_ENVBLK_MAXLEN): Removed.
36673 (struct grub_envblk): Complete rewrite.
36674 (grub_envblk_find): Removed.
36675 (grub_envblk_insert): Likewise.
36676 (grub_envblk_open): New prototype.
36677 (grub_envblk_set): Likewise.
36678 (grub_envblk_delete): Put const to VALUE.
36679 (grub_envblk_iterate): Put const to NAME and VALUE.
36680 (grub_envblk_close): New prototype.
36681 (grub_envblk_buffer): New inline function.
36682 (grub_envblk_size): Likewise.
36683
36684 * lib/envblk.c: Include grub/mm.h.
36685 (grub_env_find): Removed.
36686 (grub_envblk_open): New function.
36687 (grub_envblk_close): Likewise.
36688 (escaped_value_len): Likewise.
36689 (find_next_line): Likewise.
36690 (grub_envblk_insert): Removed.
36691 (grub_envblk_set): New function.
36692 (grub_envblk_delete): Complete rewrite.
36693 (grub_envblk_iterate): Likewise.
36694
a9368fd3 366952009-03-28 Robert Millan <rmh@aybabtu.com>
36696
36697 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
36698 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
36699 variables. Use 16-bit loader.
36700 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
36701 loader.
36702 * kern/i386/loader.S (grub_linux_boot): Rename to ...
36703 (grub_linux16_boot): ... this. Update all users.
36704 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
36705 (grub_linux_boot): ... this. Update all users.
36706
36707 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
36708 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
36709 commands to `linux16' and `initrd16'.
36710 (GRUB_MOD_FINI(linux)): Rename to ...
36711 (GRUB_MOD_FINI(linux16)): ... this.
36712
e4dd5a7e 367132009-03-24 Pavel Roskin <proski@gnu.org>
36714
36715 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
36716 not just for compilation.
36717
c04d6e05 367182009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
36719
36720 Move multiboot helper out of kernel
36721
36722 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
36723 `loader/i386/multiboot_helper.S'.
36724 * conf/i386-coreboot.rmk: Likewise
36725 * conf/i386-ieee1275.rmk: Likewise
36726
36727 * kern/i386/loader.S: Move multiboot helpers from here...
36728 * loader/i386/multiboot_helper.S: ...moved here
36729 * include/grub/i386/loader.h: Move declarations of multiboot
36730 helpers from here...
36731 * include/grub/i386/multiboot.h: ...moved here
36732 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
36733
42a5b3fc 367342009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36735
36736 * kern/env.c (grub_env_context_open): Added an argument to specify
36737 whether a new context inherits exported variables from current
36738 one. This is useful when making a sandbox to interpret a config
36739 file.
36740 All callers updated.
36741
36742 * include/grub/env.h (grub_env_context_open): Updated the prototype.
36743
b28bbc4e 367442009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36745
36746 * kern/env.c (grub_env_context_close): Fix memory leaks.
36747
f04f02e4 367482009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36749
36750 * normal/main.c (grub_normal_execute): Added an argument
36751 BATCH to specify if an interactive interface should be provided
36752 after reading a config file.
36753 All callers updated.
36754 (read_command_list): Prevent being executed twice.
36755 (read_fs_list): Likewise.
36756
42a5b3fc 36757 * include/grub/normal.h (grub_normal_execute): Updated the
36758 prototype.
f04f02e4 36759
41473ac2 367602009-03-22 Pavel Roskin <proski@gno.org>
36761
fbc00b0c 36762 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
36763 _start.
36764 * kern/i386/pc/startup.S: Likewise.
36765 * kern/i386/efi/startup.S: Likewise.
36766 * kern/i386/ieee1275/startup.S: Likewise.
36767 * kern/i386/coreboot/startup.S: Likewise.
36768 * kern/x86_64/efi/startup.S: Likewise.
36769
41473ac2 36770 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
36771 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
36772 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
36773
2274cc8f 367742009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
36775
36776 Bugfixes in multiboot for bugs uncovered by solaris kernel.
36777
36778 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
36779 limit detection.
36780 Use vaddr of correct segment for entry_point.
36781
b1b797cb 367822009-03-21 Bean <bean123ch@gmail.com>
36783
36784 * commands/blocklist.c: Add include file <grub/command.h>, remove
36785 <grub/normal.h> and <grub/arg.h>.
36786 (grub_cmd_blocklist): Use the new command interface.
36787 (GRUB_MOD_INIT): Likewise.
36788 (GRUB_MOD_FINI): Likewise.
36789 * commands/boot.c: Likewise.
36790 * commands/cat.c: Likewise.
36791 * commands/cmp.c: Likewise.
36792 * commands/configfile.c: Likewise.
36793 * commands/crc.c: Likewise.
36794 * commands/echo.c: Likewise.
36795 * commands/halt.c: Likewise.
36796 * commands/handler.c: Likewise.
36797 * commands/hdparm.c: Likewise.
36798 * commands/help.c: Likewise.
36799 * commands/hexdump.c: Likewise.
36800 * commands/loadenv.c: Likewise.
36801 * commands/ls.c: Likewise.
36802 * commands/lsmmap.c: Likewise.
36803 * commands/lspci.c: Likewise.
36804 * commands/loadenv.c: Likewise.
36805 * commands/read.c: Likewise.
36806 * commands/reboot.c: Likewise.
36807 * commands/search.c: Likewise.
36808 * commands/sleep.c: Likewise.
36809 * commands/test.c: Likewise.
36810 * commands/usbtest.c: Likewise.
36811 * commands/videotest.c: Likewise.
36812 * commands/i386/cpuid.c: Likewise.
36813 * commands/i386/pc/halt.c: Likewise.
36814 * commands/i386/pc/play.c: Likewise.
36815 * commands/i386/pc/pxecmd.c: Likewise.
36816 * commands/i386/pc/vbeinfo.c: Likewise.
36817 * commands/i386/pc/vbetest.c: Likewise.
36818 * commands/ieee1275/suspend.c: Likewise.
36819 * disk/loopback.c: Likewise.
36820 * font/font_cmd.c: Likewise.
36821 * hello/hello.c: Likewise.
36822 * loader/efi/appleloader.c: Likewise.
36823 * loader/efi/chainloader.c: Likewise.
36824 * loader/i386/bsd.c: Likewise.
36825 * loader/i386/efi/linux.c: Likewise.
36826 * loader/i386/ieee1275/linux.c: Likewise.
36827 * loader/i386/linux.c: Likewise.
36828 * loader/i386/pc/chainloader.c: Likewise.
36829 * loader/i386/pc/linux.c: Likewise.
36830 * loader/powerpc/ieee1275/linux.c: Likewise.
36831 * loader/multiboot_loader.c: Likewise.
36832 * term/gfxterm.c: Likewise.
36833 * term/i386/pc/serial.c: Likewise.
36834 * term/terminfo.c: Likewise.
36835
36836 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
36837 * term/i386/pc/vga.c: Likewise.
36838 * video/readers/jpeg.c: Likewise.
36839 * video/readers/png.c: Likewise.
36840 * video/readers/tga.c: Likewise.
36841
36842 * util/grub-fstest (cmd_loopback): Removed.
36843 (cmd_blocklist): Likewise.
36844 (cmd_ls): Likewise.
36845 (grub_register_command): Likewise.
36846 (grub_unregister_command): Likewise.
36847 (execute_command): Use grub_command_find to locate command and execute
36848 it.
36849
36850 * include/grub/efi/chainloader.h: Removed.
36851 * loader/efi/chainloader_normal.c: Likewise.
36852 * loader/i386/bsd_normal.c: Likewise.
36853 * loader/i386/pc/chainloader_normal.c: Likewise.
36854 * loader/i386/pc/multiboot_normal.c: Likewise.
36855 * loader/linux_normal.c: Likewise.
36856 * loader/multiboot_loader_normal.c: Likewise.
36857 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36858
36859 * gencmdlist.sh: Scan new registration command grub_register_extcmd
36860 and grub_register_command_p1.
36861
36862 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
36863 kern/command.c, lib/arg.c and commands/extcmd.c.
36864 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
36865 (minicmd_mod_SOURCES): New variable.
36866 (minicmd_mod_CFLAGS): Likewise.
36867 (minicmd_mod_LDFLAGS): Likewise.
36868 (extcmd_mod_SOURCES): Likewise.
36869 (extcmd_mod_CFLAGS): Likewise.
36870 (extcmd_mod_LDFLAGS): Likewise.
36871 (boot_mod_SOURCES): Removed.
36872 (boot_mod_CFLAGS): Likewise.
36873 (boot_mod_LDFLAGS): Likewise.
36874
36875 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
36876 kern/corecmd.c.
36877 (kernel_img_HEADERS): Add command.h.
36878 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
36879 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
36880 and lib/arg.c.
36881 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
36882 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
36883 remove the corresponding normal mode command.
36884 (normal_mod_SOURCES): Remove normal/arg.c.
36885 * conf/i386-coreboot.rmk: Likewise.
36886 * conf/i386-efi.rmk: Likewise.
36887 * conf/i386-ieee1275.rmk: Likewise.
36888 * conf/powerpc-ieee1275.rmk: Likewise.
36889 * conf/x86_64-efi.rmk: Likewise.
36890
36891 * include/grub/arg.h: Move from here ...
36892 * include/grub/lib/arg.h: ... to here.
36893
36894 * normal/arg.c: Move from here ...
36895 * lib/arg.c: ... to here.
36896
36897 * commands/extcmd.c: New file.
36898 * commands/minicmd.c: Likewise.
36899 * include/grub/command.h: Likewise.
36900 * include/grub/extcmd.h: Likewise.
36901 * kern/command.c: Likewise.
36902 * kern/corecmd.c: Likewise.
36903
36904 * kern/list.c (grub_list_iterate): Return int instead of void.
36905 (grub_list_insert): New function.
36906 (grub_prio_list_insert): Likewise.
36907
36908 * kern/rescue.c (grub_rescue_command): Removed.
36909 (grub_rescue_command_list): Likewise.
36910 (grub_rescue_register_command): Likewise.
36911 (grub_rescue_unregister_command): Likewise.
36912 (grub_rescue_cmd_boot): Move to minicmd.c
36913 (grub_rescue_cmd_help): Likewise.
36914 (grub_rescue_cmd_info): Likewise.
36915 (grub_rescue_cmd_boot): Likewise.
36916 (grub_rescue_cmd_testload): Likewise.
36917 (grub_rescue_cmd_dump): Likewise.
36918 (grub_rescue_cmd_rmmod): Likewise.
36919 (grub_rescue_cmd_lsmod): Likewise.
36920 (grub_rescue_cmd_exit): Likewise.
36921 (grub_rescue_print_devices): Moved to corecmd.c.
36922 (grub_rescue_print_files): Likewise.
36923 (grub_rescue_cmd_ls): Likewise.
36924 (grub_rescue_cmd_insmod): Likewise.
36925 (grub_rescue_cmd_set): Likewise.
36926 (grub_rescue_cmd_unset): Likewise.
7d074e3c 36927 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 36928 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 36929 commands, remove grub_rescue_register_command calls.
b1b797cb 36930
7d074e3c 36931 * normal/command.c (grub_register_command): Removed.
b1b797cb 36932 (grub_unregister_command): Likewise.
36933 (grub_command_find): Likewise.
36934 (grub_iterate_commands): Likewise.
36935 (rescue_command): Likewise.
36936 (export_command): Moved to corecmd.c.
36937 (set_command): Removed.
36938 (unset_command): Likewise.
36939 (insmod_command): Likewise.
36940 (rmmod_command): Likewise.
36941 (lsmod_command): Likewise.
36942 (grub_command_init): Likewise.
36943
36944 * normal/completion.c (iterate_command): Use cmd->prio to check for
36945 active command.
36946 (complete_arguments): Use grub_extcmd_t structure to find options.
36947 (grub_normal_do_completion): Change function grub_iterate_commands to
36948 grub_command_iterate.
36949
36950 * normal/execute.c (grub_script_execute_cmd): No need to parse
36951 argument here.
36952
36953 * normal/main.c (grub_dyncmd_dispatcher): New function.
36954 (read_command_list): Register unload commands as dyncmd.
36955 (grub_cmd_normal): Use new command interface, register rescue,
36956 unregister normal at entry, register normal, unregister rescue at exit.
36957
36958 * include/grub/list.h (grub_list_test_t): New type.
36959 (grub_list_iterate): Return int instead of void.
36960 (grub_list_insert): New function.
36961 (GRUB_AS_NAMED_LIST_P): New macro.
36962 (GRUB_AS_PRIO_LIST): Likewise.
36963 (GRUB_AS_PRIO_LIST_P): Likewise.
36964 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
36965 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
36966 (grub_prio_list): New structure.
36967 (grub_prio_list_insert): New function.
36968 (grub_prio_list_remove): New inline function.
36969
36970 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
36971 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
36972 (GRUB_COMMAND_FLAG_MENU): Likewise.
36973 (GRUB_COMMAND_FLAG_BOTH): Likewise.
36974 (GRUB_COMMAND_FLAG_TITLE): Likewise.
36975 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
36976 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
36977 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
36978 (grub_command): Likewise.
36979 (grub_register_command): Likewise.
36980 (grub_command_find): Likewise.
36981 (grub_iterate_commands): Likewise.
36982 (grub_command_init): Likewise.
36983 (grub_arg_parse): Likewise.
36984 (grub_arg_show_help): Likewise.
36985
36986 * include/grub/rescue.h (grub_rescue_register_command): Removed.
36987 (grub_rescue_unregister_command): Likewise.
36988
36989 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
36990 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
36991 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
36992
36993 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
36994 grub_rescue_cmd_initrd.
36995 * include/grub/i386/loader.h: Likewise.
36996 * include/grub/x86_64/loader.h: Likewise.
36997
36998 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
36999
1f4147aa 370002009-03-21 Bean <bean123ch@gmail.com>
37001
37002 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
37003 instead of stat in mingw environment.
37004
37005 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
37006
37007 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
37008
37009 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
37010 AC_CONFIG_LINKS.
37011
2156d5ba 370122009-03-21 Bean <bean123ch@gmail.com>
37013
37014 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
37015 out of range error.
37016
177b82ca 370172009-03-18 Michel Dänzer <michel@daenzer.net>
37018
37019 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
37020 checking inode flags for EXT4_EXTENTS_FLAG.
37021
14aad807 370222009-03-18 Robert Millan <rmh@aybabtu.com>
37023
37024 * loader/i386/linux.c: Include `<grub/video.h>' and
37025 `<grub/i386/pc/vbe.h>'..
37026 (grub_linux_setup_video): New function. Loosely based on the EFI one.
37027 (grub_linux32_boot): Attempt to configure video settings with
37028 grub_linux_setup_video().
37029 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
37030 to avoid grub_console_fini() which would step out of graphical mode
37031 unconditionally.
37032
8cf83a27 370332009-03-14 Robert Millan <rmh@aybabtu.com>
37034
37035 Fix build on powerpc.
37036 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
37037
40164e75 370382009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
37039
37040 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
37041 background image command.
37042
c58bc32a 370432009-03-12 Colin D Bennett <colin@gibibit.com>
37044
37045 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
37046 (grub_gfxterm_putchar): Extract pairs of identical calls to
37047 draw_cursor out of conditional blocks.
37048
5415144a 370492009-03-11 Pavel Roskin <proski@gnu.org>
37050
37051 * fs/hfs.c (grub_hfs_strncasecmp): New function.
37052 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
37053
6394042e 370542009-03-11 Robert Millan <rmh@aybabtu.com>
37055
37056 * loader/i386/multiboot_elfxx.c
37057 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
37058
b7b50e5f 370592009-03-11 Felix Zielcke <fzielcke@z-51.de>
37060
37061 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
37062 `kern/handler.c'.
37063
1ca7fc96 370642009-03-11 Robert Millan <rmh@aybabtu.com>
37065
37066 * loader/i386/multiboot.c (code_size): New variable.
37067 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 37068 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 37069 4-byte alignment to MBI and others by increasing
7d074e3c 37070 `boot_loader_name_length' appropriately.
1ca7fc96 37071
37072 * loader/i386/multiboot_elfxx.c
37073 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
37074
a83ea1d2 370752009-03-09 Felix Zielcke <fzielcke@z-51.de>
37076
37077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
37078 `fs/ext2.c'.
37079
aa9f3bff 370802009-03-08 Robert Millan <rmh@aybabtu.com>
37081
37082 Make loader/i386/linux.c usable on i386-pc again.
37083
37084 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
37085 memory to heap.
37086 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
37087 `#error' stanza.
37088
d8b3b60e 370892009-03-07 Bean <bean123ch@gmail.com>
37090
37091 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
37092 allocation.
37093
b362c9e9 370942009-03-06 Robert Millan <rmh@aybabtu.com>
37095
37096 Fix display issue on terminals with screen size other than 80x25
37097 (e.g. gfxterm with resolution higher than 640x480).
37098
37099 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 37100 position relative to the center of the terminal instead of relying
b362c9e9 37101 on a hardcoded offset.
37102
9304eef1 371032009-03-04 Robert Millan <rmh@aybabtu.com>
37104
37105 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
37106 installed.
37107
37108 * Makefile.in (host_kernel): New variable.
37109 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
37110 scripts instead of just the windows one.
37111 * configure.ac: Initialize and AC_SUBST `host_kernel'.
37112
eabc95fb 371132009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 37114
37115 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
37116 `kern/handler.c'.
37117 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37118 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37119 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37120 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37121 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37122 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37123
ceb1223c 371242009-03-04 Felix Zielcke <fzielcke@z-51.de>
37125
37126 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
37127 or if there's no space for the disk label and print the partition number on a
37128 invalid magic.
37129
4910684a 371302009-03-04 Felix Zielcke <fzielcke@z-51.de>
37131
37132 * util/misc.c: Include <time.h>.
37133 (grub_millisleep): New function.
37134
7e9ca17a 371352009-03-04 Bean <bean123ch@gmail.com>
37136
37137 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
37138 another option -mno-red-zone.
37139
37140 * commands/handler.c: Change module description.
37141
37142 * kern/handler.c: Add missing space at the end of description line.
37143
37144 * kern/list.c: Likewise.
37145
f501677c 371462009-03-03 Robert Millan <rmh@aybabtu.com>
37147
37148 Move more components to the relocation area, and fix mbi pointer
37149 handling to use the destination rather than the origin (thanks to
37150 Vladimir Serbinenko for spotting).
37151
37152 * loader/i386/multiboot.c (mbi_dest): New variable.
37153 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
37154 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
37155 relocation area.
37156
9902d047 371572009-03-01 Bean <bean123ch@gmail.com>
37158
50fb7002 37159 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 37160 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
37161 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
37162 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
37163
37164 * loader/i386/efi/linux.c (acpi_guid): New variable.
37165 (acpi_guid): Likewise.
37166 (EBDA_SEG_ADDR): New constant.
37167 (LOW_MEM_ADDR): Likewise.
37168 (FAKE_EBDA_SEG): Likewise.
37169 (fake_bios_data): New function.
37170 (grub_linux_boot): Call fake_bios_data.
37171
71b9f361 371722009-03-01 Bean <bean123ch@gmail.com>
37173
37174 * commands/terminal.c: Removed.
37175
37176 * commands/handler.c: New file.
37177
37178 * include/grub/list.h: Likewise.
37179
37180 * include/grub/handler.h: Likewise.
37181
37182 * kern/list.c: Likewise.
37183
37184 * kern/handler.c: Likewise.
37185
37186 * kern/term.h: Include header file <grub/handler.h>.
37187 (grub_term_input): Move next field to the beginning.
37188 (grub_term_output): Likewise.
37189 (grub_term_input_class): New variable.
37190 (grub_term_output_class): Likewise.
37191 (grub_term_register_input): Changed to inline function.
37192 (grub_term_register_output): Likewise.
37193 (grub_term_unregister_input): Likewise.
37194 (grub_term_unregister_output): Likewise.
37195 (grub_term_set_current_input): Likewise.
37196 (grub_term_set_current_output): Likewise.
37197 (grub_term_get_current_input): Likewise.
37198 (grub_term_get_current_output): Likewise.
37199 (grub_term_iterate_input): Removed.
37200 (grub_term_iterate_output): Likewise.
37201
37202 * kern/term.c (grub_term_list_input): Removed.
37203 (grub_term_list_output): Likewise.
37204 (grub_term_input_class): New variable.
37205 (grub_term_output_class): Likewise.
50fb7002 37206 (grub_cur_term_input): Change variable as macro.
71b9f361 37207 (grub_cur_term_output): Likewise.
37208 (grub_term_register_input): Removed.
37209 (grub_term_register_output): Likewise.
37210 (grub_term_unregister_input): Likewise.
37211 (grub_term_unregister_output): Likewise.
37212 (grub_term_set_current_input): Likewise.
37213 (grub_term_set_current_output): Likewise.
37214 (grub_term_iterate_input): Likewise.
37215 (grub_term_iterate_output): Likewise.
37216 (grub_term_get_current_input): Likewise.
37217 (grub_term_get_current_output): Likewise.
37218
37219 * util/grub-editenv.c: Include header file <grub/handler.h>.
37220 (grub_term_get_current_input): Removed.
37221 (grub_term_get_current_output): Likewise.
37222 (grub_term_input_class): New variable.
50fb7002 37223 (grub_term_output_class): Likewise.
71b9f361 37224
37225 * util/grub-fstest.c (grub_term_get_current_input): Removed.
37226 (grub_term_get_current_output): Likewise.
37227 (grub_term_input_class): New variable.
50fb7002 37228 (grub_term_output_class): Likewise.
71b9f361 37229
37230 * util/grub-probe.c (grub_term_get_current_input): Removed.
37231 (grub_term_get_current_output): Likewise.
37232 (grub_term_input_class): New variable.
50fb7002 37233 (grub_term_output_class): Likewise.
71b9f361 37234
37235 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
37236 (grub_term_get_current_output): Likewise.
37237 (grub_term_input_class): New variable.
50fb7002 37238 (grub_term_output_class): Likewise.
71b9f361 37239
37240 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
37241 (terminal_mod_SOURCES): Likewise.
37242 (terminal_mod_CFLAGS): Likewise.
37243 (terminal_mod_LDFLAGS): Likewise.
37244
37245 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
37246 handler.c.
37247 (kernel_img_SOURCES): Add list.c and handler.c.
37248 (kernel_img_HEADERS): Add list.h and handler.h.
37249
37250 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
37251 handler.c.
37252 (kernel_mod_SOURCES): Add list.c and handler.c.
37253 (kernel_mod_HEADERS): Add list.h and handler.h.
37254
37255 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
37256 handler.c.
37257 (kernel_elf_SOURCES): Add list.c and handler.c.
37258 (kernel_elf_HEADERS): Add list.h and handler.h.
37259
37260 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
37261 handler.c.
37262 (kernel_elf_SOURCES): Add list.c and handler.c.
37263 (kernel_elf_HEADERS): Add list.h and handler.h.
37264
37265 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
37266 handler.c.
37267 (kernel_mod_SOURCES): Add list.c and handler.c.
37268 (kernel_mod_HEADERS): Add list.h and handler.h.
37269
37270 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
37271 handler.c.
37272 (kernel_elf_SOURCES): Add list.c and handler.c.
37273 (kernel_elf_HEADERS): Add list.h and handler.h.
37274
8a31787f 372752009-02-27 Robert Millan <rmh@aybabtu.com>
37276
37277 Factorize elf32 / elf64 code in Multiboot loader. This will
37278 prevent it from getting out of sync again.
37279
37280 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
37281 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
37282 grub_multiboot_load_elf64): Move from here ...
37283 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
37284 grub_multiboot_load_elf): ... to here (new file).
37285
51cd3dfc 372862009-02-27 Robert Millan <rmh@aybabtu.com>
37287
37288 * util/grub.d/10_linux.in: Rename "single-user mode" to
37289 "recovery mode".
37290
6e8c9c3a 372912009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
37292
37293 Don't leak in SCSI code.
37294 * disk/scsi.c (grub_scsi_close): free `scsi'.
37295
4b6bf4f9 372962009-02-27 Robert Millan <rmh@aybabtu.com>
37297
37298 * loader/i386/pc/multiboot.c: Move from here ...
37299 * loader/i386/multiboot.c: ... to here. Update all users.
37300
b9413424 373012009-02-27 Robert Millan <rmh@aybabtu.com>
37302
37303 Patch from Alexandre Bique <bique.alexandre@gmail.com>
37304 * util/i386/pc/grub-setup.c (setup): Fix directory path.
37305
50fb7002 373062009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 37307
37308 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
37309 b-tree.
37310
8cc50345 373112009-02-27 Robert Millan <rmh@aybabtu.com>
37312
37313 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
37314 `0x' qualifier as 0 when base is specified as parameter).
37315
6e09b8b7 373162009-02-24 Bean <bean123ch@gmail.com>
37317
37318 * configure.ac: Check for -mcmodel=large in x86_64 target.
37319
37320 * include/grub/efi/api.h (efi_call_10): New macro.
37321 (efi_wrap_10): New function.
37322
37323 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
37324 (GRUB_PE32_REL_BASED_HIGH): Likewise.
37325 (GRUB_PE32_REL_BASED_LOW): Likewise.
37326 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
37327 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
37328 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
37329 (GRUB_PE32_REL_BASED_SECTION): Likewise.
37330 (GRUB_PE32_REL_BASED_REL): Likewise.
37331 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
37332 (GRUB_PE32_REL_BASED_DIR64): Likewise.
37333 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
37334
37335 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
37336 issue.
37337
37338 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
37339 (efi_wrap_10): New function.
37340
37341 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
37342
37343 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
37344 MB/MBP model (NV chipset).
37345 (devdata_devs): Add devpath_5 to the list.
37346
37347 * load/i386/efi/linux.c (video_base): Remove variable.
37348 (RGB_MASK): New macro.
37349 (RGB_MAGIC): Likewise.
37350 (LINE_MIN): Likewise.
37351 (LINE_MAX): Likewise.
37352 (FBTEST_STEP): Likewise.
37353 (FBTEST_COUNT): Likewise.
37354 (fb_list): New variable.
37355 (grub_find_video_card): Remove function.
37356 (find_framebuf): New function.
37357 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
37358 line length.
37359
37360 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
37361 problem for x86_64.
37362
74b21bee 373632009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
37364
37365 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
37366
37367 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
37368 coding tool name.
37369
a455f472 373702009-02-22 Robert Millan <rmh@aybabtu.com>
37371
37372 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
37373 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
37374 in our relocation, instead of using it directly from heap. Also
37375 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
37376
6374daf3 373772009-02-21 Robert Millan <rmh@aybabtu.com>
37378
37379 Implement USB keyboard support (based on patch by Marco Gerards)
37380
37381 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
37382 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
37383 (usb_keyboard_mod_LDFLAGS): New variables.
37384
37385 * term/usb_keyboard.c: New file.
37386
8fa4ea70 373872009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
37388
37389 Corrected wrong declaration
37390
37391 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
37392
353976ac 373932009-02-14 Christian Franke <franke@computer.org>
37394
37395 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
37396 (grub_lspci_iter): Print class code and programming interface byte.
37397
6aa1169b 373982009-02-14 Christian Franke <franke@computer.org>
37399
37400 * gendistlist.sh: Ignore `.svn' directories.
37401
265372ca 374022009-02-14 Felix Zielcke <fzielcke@z-51.de>
37403
37404 * fs/fat.c: Add 2009 to Copyright line.
37405
9ff516f3 374062009-02-14 Christian Franke <franke@computer.org>
37407
37408 * commands/hdparm.c: New file. Provides `hdparm' command
37409 which sends ATA commands via grub_disk_ata_pass_through ().
37410
37411 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
37412
37413 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
37414 and <grub/cpu/io.h> to include/grub/ata.h.
37415 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
37416 (GRUB_CDROM_SECTOR_SIZE): Remove.
37417 (GRUB_ATA_*): Move to include/grub/ata.h.
37418 (GRUB_ATAPI_*): Likewise.
37419 (enum grub_ata_commands): Likewise.
37420 (enum grub_ata_timeout_milliseconds): Likewise.
37421 (struct grub_ata_device): Likewise.
37422 (grub_ata_regset): Likewise.
37423 (grub_ata_regget): Likewise.
37424 (grub_ata_regset2): Likewise.
37425 (grub_ata_regget2): Likewise.
37426 (grub_ata_check_ready): Likewise.
37427 (grub_ata_wait_not_busy): Remove static, exported in
37428 include/grub/ata.h.
37429 (grub_ata_wait_drq): Likewise.
37430 (grub_ata_pio_read): Likewise.
37431
37432 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
37433 function for hdparm.mod.
37434
37435 * include/grub/ata.h: New file, contains declarations from
37436 disk/ata.c.
37437 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
37438
37439 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
37440 (grub_disk_ata_pass_through): New exported variable.
37441
37442 * kern/disk.c (grub_disk_ata_pass_through): New variable.
37443
772e23da 374442009-02-13 Colin D Bennett <colin@gibibit.com>
37445
37446 Support multiple fallback entries, and provide an API to support
37447 executing default+fallback menu entries. Renamed the `terminal' menu
37448 viewer to `text'.
37449
37450 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
37451 variable declaration.
37452 (grub_menu_execute_callback): New structure declaration.
37453 (grub_menu_execute_callback_t): New typedef.
37454 (grub_menu_execute_with_fallback): New function declaration.
37455 (grub_menu_get_entry): Likewise.
37456 (grub_menu_get_timeout): Likewise.
37457 (grub_menu_set_timeout): Likewise.
37458
37459 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
37460
37461 * normal/menu.c (grub_wait_after_message): Moved to
37462 `normal/menu_text.c'.
37463 (draw_border): Likewise.
37464 (print_message): Likewise.
37465 (print_entry): Likewise.
37466 (print_entries): Likewise.
37467 (grub_menu_init_page): Likewise.
37468 (get_entry_number): Likewise.
37469 (print_timeout): Likewise.
37470 (run_menu): Likewise.
37471 (grub_menu_execute_entry): Likewise.
37472 (show_text_menu): Likewise.
37473 (get_and_remove_first_entry_number): New function.
37474 (grub_menu_execute_with_fallback): Likewise.
37475 (get_entry): Renamed to ...
37476 (grub_menu_get_entry): .. this and made it global.
37477 (get_timeout): Renamed to ...
37478 (grub_menu_get_timeout): ... this and made it global.
37479 (set_timeout): Renamed to ...
37480 (grub_menu_set_timeout): ... this and made it global.
37481 (grub_normal_terminal_menu_viewer): Renamed to ...
37482 (grub_normal_text_menu_viewer): ... this.
37483
37484 * normal/menu_text.c: New file. Extracted text-menu-specific code
37485 from normal/menu.c.
37486
37487 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
37488 (normal_mod_SOURCES): Likewise.
37489
37490 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37491 (normal_mod_SOURCES): Likewise.
37492
37493 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37494 (normal_mod_SOURCES): Likewise.
37495
37496 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
37497 (normal_mod_SOURCES): Likewise.
37498
37499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37500 (normal_mod_SOURCES): Likewise.
37501
37502 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37503 (normal_mod_SOURCES): Likewise.
37504
37505 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37506 (normal_mod_SOURCES): Likewise.
37507
16ac430e 375082009-02-11 Robert Millan <rmh@aybabtu.com>
37509
37510 * util/grub.d/00_header.in: Update old reference to `font' command.
37511
06ff20fc 375122009-02-10 Felix Zielcke <fzielcke@z-51.de>
37513
37514 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
37515
37516 Based on patch from Javier Martín.
37517
96da9407 375182009-02-09 Felix Zielcke <fzielcke@z-51.de>
37519
37520 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 37521 to avoid false positives with FAT.
96da9407 37522 (grub_fstest_SOURCES): Likewise.
37523 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37524 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37526 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37527 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37528 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37529
6dca6fe4 375302009-02-09 Felix Zielcke <fzielcke@z-51.de>
37531
06ff20fc 37532 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 37533 bpb.version_specific.fat12_or_fat16.fstype and
37534 bpb.version_specific.fat32.fstype.
37535
2550c62f 375362009-02-08 Robert Millan <rmh@aybabtu.com>
37537
be110b30 37538 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 37539
56978920 375402009-02-08 Robert Millan <rmh@aybabtu.com>
37541
37542 * Makefile.in (host_os, host_cpu): New variables.
37543 (target_os): Remove. Update all users.
37544
d64399b5 375452009-02-08 Marco Gerards <marco@gnu.org>
37546
37547 * Makefile.in (enable_grub_emu_usb): New variable.
37548 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
37549 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
37550 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
37551 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
37552 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
37553 `usbtest.mod' and `usbms.mod'.
37554 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
37555 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
37556 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
37557 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
37558 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
37559 variables.
37560
37561 * disk/usbms.c: New file.
37562
37563 * include/grub/usb.h: Likewise.
37564
37565 * include/grub/usbtrans.h: Likewise.
37566
37567 * include/grub/usbdesc.h: Likewise.
37568
37569 * bus/usb/usbtrans.c: Likewise.
37570
37571 * bus/usb/ohci.c: Likewise.
37572
37573 * bus/usb/uhci.c: Likewise.
37574
37575 * bus/usb/usbhub.c: Likewise.
37576
37577 * bus/usb/usb.c: Likewise.
37578
37579 * commands/usbtest.c: Likewise.
37580
37581 * util/usb.c: Likewise.
50fb7002 37582
d64399b5 37583 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
37584
37585 * configure.ac: Test for libusb presence.
50fb7002 37586
d64399b5 37587 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
37588
2b40d6bb 375892009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
37590
37591 * kern/mm.c: Add more comments.
37592
73a4ce81 375932009-02-08 Robert Millan <rmh@aybabtu.com>
37594
37595 Patch from Javier Martín.
37596 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
37597 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
37598
f821ce59 375992009-02-08 Robert Millan <rmh@aybabtu.com>
37600
37601 * fs/cpio.c: Split tar functionality to ...
37602 * fs/tar.c: ... here (new file). Update all users.
37603
aebfc4b0 376042009-02-07 Robert Millan <rmh@aybabtu.com>
37605
37606 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
37607 backward-incompatible features.
37608
37609 Based on patch from Javier Martín, with some adjustments.
37610
50fb7002 376112009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 37612
37613 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
37614
0bb5115e 376152009-02-07 Robert Millan <rmh@aybabtu.com>
37616
37617 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
37618 position of `disk/lvm.c' to ensure grub_init_all() always picks it
37619 after the RAID stuff.
37620
38a0f8e7 376212009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
37622
50fb7002 37623 Fixes problem when running vbetest command as reported by
38a0f8e7 37624 Vladimir Serbinenko <phcoder@gmail.com>.
37625
37626 * (grub_vbe_set_video_mode): Fixed problem with text modes.
37627
3143cc1c 376282009-02-04 Felix Zielcke <fzielcke@z-51.de>
37629
37630 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
37631 /dev/md/NpN style mdraid devices.
37632
9cba6fce 376332009-02-03 Felix Zielcke <fzielcke@z-51.de>
37634
37635 * util/unifont2pff.rb: Remove.
37636
e507a2c1 376372009-02-03 Felix Zielcke <fzielcke@z-51.de>
37638
37639 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
37640 `#'.
37641
d2c2b4cd 376422009-02-03 Felix Zielcke <fzielcke@z-51.de>
37643
37644 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
37645 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37646 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37647 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37648 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37649 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37650 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37651
b4315fb0 376522009-02-02 Christian Franke <franke@computer.org>
37653
37654 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
37655
de3aa260 376562009-02-01 Felix Zielcke <fzielcke@z-51.de>
37657
7c3ff286 37658 * INSTALL: Note that we now require at least autoconf 2.59 and
37659 that LZO is optional.
de3aa260 37660
825a182b 376612009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37662
37663 Base on patch on bug #24154 created by Tomas Tintera
37664 <trosos@seznam.cz>.
37665
37666 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
37667
a69ef770 376682009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37669
7c3ff286 37670 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 37671 <bero@arklinux.org>.
37672
37673 * normal/parser.y (script_init): Add missing semicolon.
37674
6fa42fa6 376752009-01-31 Colin D Bennett <colin@gibibit.com>
37676
7c3ff286 37677 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 37678 (free_menu_entry_classes): Added.
37679 (grub_normal_menu_addentry): Added class property handling.
37680 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
37681 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
37682
37683 * normal/menu_viewer.c: New file.
37684
37685 * normal/menu.c (run_menu_entry): Renamed to ...
37686 (grub_menu_execute_entry): ... this and made it as global.
37687 (grub_menu_run): Renamed to ...
37688 (show_text_menu): ... this and made it local.
37689 (show_text_menu): Adapt to new function names.
37690 (grub_normal_terminal_menu_viewer): New global variable.
37691
37692 * include/grub/menu.h: New file.
37693
37694 * include/grub/menu_viewer.h: New file.
37695
37696 * include/grub/normal.h: Added include to grub/menu.h.
37697 (grub_menu_entry): Moved to include/grub/menu.h.
37698 (grub_menu_entry_t): Likewise.
37699 (grub_menu): Likewise.
37700 (grub_menu_t): Likewise.
37701 (grub_normal_terminal_menu_viewer): Added.
37702 (grub_menu_execute_entry): Likewise.
37703 (grub_menu_run): Removed.
37704
37705 * DISTLIST: Added include/grub/menu.h.
37706 Added include/grub/menu_viewer.h.
37707 Added normal/menu_viewer.c.
37708
377092009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
37710
37711 * normal/execute.c (grub_script_execute_menuentry): Changed to use
37712 arglist for menutitle arguments.
37713
37714 * normal/main.c (grub_normal_menu_addentry): Likewise.
37715
37716 * normal/parser.y (menuentry): Likewise.
37717
37718 * normal/script.c (grub_script_create_cmdmenu): Likewise.
37719
37720 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
37721 (grub_script_create_cmdmenu): Likewise.
37722
37723 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
37724
37725 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
37726 changes.
37727
37728 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
37729
37730 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
37731
37732 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
37733
37734 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37735
37736 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37737
37738 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37739
56192c23 377402009-01-30 Christian Franke <franke@computer.org>
37741
37742 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
37743 in option help text.
37744
d72521b3 377452009-01-27 Pavel Roskin <proski@gnu.org>
37746
37747 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
37748
994b5e84 377492009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37750
37751 * commands/lsmmap.c: Add include to grub/machine/memory.h.
37752
37753 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
37754
37755 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
37756 unregister function.
37757
6a7eab2c 377582009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37759
37760 * disk/scsi.c (grub_scsi_read): Fix sign problem.
37761
37762 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
37763
37764 * util/grub-mkfont.c (usage): Fix typo.
37765
37766 * util/elf/grub-mkimage.c (load_modules): Fix warning.
37767
1806b56e 377682009-01-26 Daniel Mierswa <impulze@impulze.org>
37769
3fb18f09 37770 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
37771
336e1fb9 37772 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
37773
1806b56e 37774 * kern/misc.c (grub_strcasecmp): New function.
37775 (grub_strcasecmp): Use grub_size_t instead of int for length.
37776 Fix return value.
37777 * include/grub/misc.h: Update function prototypes.
37778
580b2a0f 377792009-01-26 Robert Millan <rmh@aybabtu.com>
37780
37781 * configure.ac: Fix cross-compilation check.
ef257b36 37782
d31c24f1 377832009-01-22 Christian Franke <franke@computer.org>
37784
37785 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
37786 (precision) digit string. Allow `.format2' without `format1' (width).
37787 Limit input chars for `%s' output to `format2' if specified. This is
37788 compatible with standard printf ().
37789
3138b44c 377902009-01-22 Christian Franke <franke@computer.org>
37791
37792 * disk/ata.c (grub_ata_wait_status): Replace by ...
37793 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
37794 other status bits may be invalid while BSY is asserted.
37795 (grub_ata_check_ready): New function.
37796 (grub_ata_cmd): Removed.
37797 (grub_ata_wait_drq): New function.
37798 (grub_ata_strncpy): Remove inline.
37799 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
37800 and error check now done by grub_ata_wait_drq ().
37801 (grub_ata_pio_write): Likewise.
37802 (grub_atapi_identify): Set DEV before check for !BSY. Use
37803 grub_ata_wait_drq () to wait for data.
37804 (grub_ata_device_initialize): Add status register check to
37805 detect missing SATA slave devices. Add debug messages.
37806 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
37807 (grub_atapi_packet): Set DEV before check for !BSY. Replace
37808 transfer loop by grub_ata_pio_write ().
37809 (grub_ata_identify): Set DEV before check for !BSY. Use
37810 grub_ata_wait_drq () to wait for data.
ef257b36 37811 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 37812 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
37813 read/write in one loop. Fix invalid command on write. Fix incomplete
37814 command on (size % batch) == 0. Add missing error check after write of
37815 last block. Add debug messages.
37816 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
37817
59a64ef6 378182009-01-19 Christian Franke <franke@computer.org>
37819
37820 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
37821 (GRUB_ATAPI_IREASON_*): Likewise.
37822 (grub_ata_pio_write): Fix timeout error return.
37823 (grub_atapi_identify): Add grub_ata_wait () after cmd.
37824 (grub_atapi_wait_drq): New function.
37825 (grub_atapi_packet): New parameter `size'.
37826 Use grub_atapi_wait_drq () and direct write instead of
37827 grub_ata_pio_write ().
37828 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
37829 reads the number of bytes requested by the device for each DRQ
37830 assertion.
37831 (grub_atapi_write): Remove old implementation, return not
37832 implemented instead.
37833
1cfe20b3 378342009-01-19 Christian Franke <franke@computer.org>
37835
37836 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
37837 of 512 to calculate data size.
37838 (grub_scsi_read12): Likewise.
37839 (grub_scsi_write10): Likewise.
37840 (grub_scsi_write12): Likewise.
37841 (grub_scsi_read): Adjust size according to blocksize.
37842 Add checks for invalid blocksize and unaligned transfer.
37843
bee5fe5d 378442009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
37845
37846 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
37847
ef257b36 37848 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 37849 width glyphs.
37850
3e643f8c 378512009-01-19 Robert Millan <rmh@aybabtu.com>
37852
37853 * config.guess: Update to latest version from config git.
37854 * config.sub: Likewise.
37855
4fa80998 378562009-01-17 Felix Zielcke <fzielcke@z-51.de>
37857
37858 * Makefile.in: Change font compilation to use new grub-mkfont instead
37859 of java version.
37860
37861 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
37862 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
37863 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37864 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37865 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
37866 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
37867 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
37868 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
37869 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37870
7086085b 378712009-01-16 Christian Franke <franke@computer.org>
37872
37873 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
37874 (enum grub_ata_timeout_milliseconds): New enum.
37875 (grub_ata_wait_status): Add parameter milliseconds.
37876 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
37877 recovery from timed-out commands.
37878 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
37879 return grub_errno instead of REG_ERROR.
37880 (grub_ata_pio_write): Add parameter milliseconds.
37881 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
37882 Pass milliseconds to grub_ata_wait_status () and
37883 grub_ata_pio_read ().
37884 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
37885 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
37886 grub_ata_wait_status (). Fix IDENTIFY timeout check.
37887 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
37888 It is not suitable for device detection, because DEV bit is ignored,
37889 the command may run too long, and not all devices set the signature
37890 properly.
37891 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
37892 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
37893 Fix device selection, DEV bit must be set first to address the registers
37894 of the correct device.
37895 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
37896 grub_ata_pio_read/write ().
37897 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
37898 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
37899
4a412913 379002009-01-13 Carles Pina i Estany <carles@pina.cat>
37901
37902 * util/grub-editenv.c (main): Use fseeko(), not fseek().
37903
7795c55e 379042009-01-13 Bean <bean123ch@gmail.com>
d913988c 37905
37906 * util/grub-mkfont.c (write_font): forget to remove some debug code.
37907
7795c55e 379082009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 37909
37910 * Makefile.in: (enable_grub_mkfont): New variable.
37911 (freetype_cflags): Likewise.
37912 (freetype_libs): Likewise.
37913
37914 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
37915 (grub_mkfont_SOURCES): New variable.
37916 (grub_mkfont_CFLAGS): Likewise.
37917 (grub_mkfont_LDFLAGS): Likewise.
37918
37919 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
37920 library if `--enable-grub-mkfont' is requested.
37921 (enable_grub_mkfont): New variable.
37922 (freetype_cflags): Likewise.
37923 (freetype_libs): Likewise.
37924
37925 * util/grub-mkfont.c: New file.
37926
093af1fe 379272009-01-12 Christian Franke <franke@computer.org>
37928
37929 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
37930 mode check. Fix setting of compat_use[].
37931
f36cc108 379322009-01-10 Robert Millan <rmh@aybabtu.com>
37933
37934 Update a few copyright years which we forgot to do in 2008 (only for
37935 files whose changes made in 2008 were copyright-significant)
37936
37937 * Makefile.in: Add 2008 to Copyright line.
37938 * disk/ieee1275/ofdisk.c: Likewise.
37939 * disk/efi/efidisk.c: Likewise.
37940 * kern/dl.c: Likewise.
37941 * kern/sparc64/ieee1275/init.c: Likewise.
37942 * kern/mm.c: Likewise.
37943 * kern/efi/mm.c: Likewise.
37944 * boot/i386/pc/boot.S: Likewise.
37945 * genfslist.sh: Likewise.
37946 * fs/iso9660.c: Likewise.
37947 * fs/hfs.c: Likewise.
37948 * fs/jfs.c: Likewise.
37949 * fs/minix.c: Likewise.
37950 * fs/ufs.c: Likewise.
37951 * gensymlist.sh.in: Likewise.
37952 * genkernsyms.sh.in: Likewise.
37953 * include/grub/misc.h: Likewise.
37954 * include/grub/types.h: Likewise.
37955 * include/grub/symbol.h: Likewise.
37956 * include/grub/elf.h: Likewise.
37957 * include/grub/kernel.h: Likewise.
37958 * include/grub/disk.h: Likewise.
37959 * include/grub/dl.h: Likewise.
37960 * include/grub/i386/linux.h: Likewise.
37961 * include/grub/i386/pc/biosdisk.h: Likewise.
37962 * include/grub/efi/api.h: Likewise.
37963 * include/grub/efi/pe32.h: Likewise.
37964 * include/grub/util/misc.h: Likewise.
37965 * normal/execute.c: Likewise.
37966 * normal/arg.c: Likewise.
37967 * normal/completion.c: Likewise.
37968 * normal/lexer.c: Likewise.
37969 * normal/parser.y: Likewise.
37970 * normal/misc.c: Likewise.
37971 * commands/i386/pc/vbeinfo.c: Likewise.
37972 * commands/hexdump.c: Likewise.
37973 * commands/terminal.c: Likewise.
37974 * commands/ls.c: Likewise.
37975 * commands/help.c: Likewise.
37976 * partmap/pc.c: Likewise.
37977 * loader/efi/chainloader.c: Likewise.
37978 * loader/multiboot_loader.c: Likewise.
37979 * loader/i386/pc/multiboot2.c: Likewise.
37980 * term/efi/console.c: Likewise.
37981 * term/i386/pc/serial.c: Likewise.
37982 * util/lvm.c: Likewise.
37983 * util/console.c: Likewise.
37984 * util/i386/efi/grub-mkimage.c: Likewise.
37985 * util/raid.c: Likewise.
37986
7f02114b 379872009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
37988
37989 * commands/videotest.c: Removed include to grub/machine/memory.h.
37990
37991 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
37992 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
37993 (video_mod_SOURCES): Removed.
37994 (video_mod_CFLAGS): Likewise.
37995 (video_mod_LDFLAGS): Likewise.
37996 (gfxterm_mod_SOURCES): Likewise.
37997 (gfxterm_mod_CFLAGS): Likewise.
37998 (gfxterm_mod_LDFLAGS): Likewise.
37999 (videotest_mod_SOURCES): Likewise.
38000 (videotest_mod_CFLAGS): Likewise.
38001 (videotest_mod_LDFLAGS): Likewise.
38002 (bitmap_mod_SOURCES): Likewise.
38003 (bitmap_mod_CFLAGS): Likewise.
38004 (bitmap_mod_LDFLAGS): Likewise.
38005 (tga_mod_SOURCES): Likewise.
38006 (tga_mod_CFLAGS): Likewise.
38007 (tga_mod_LDFLAGS): Likewise.
38008 (jpeg_mod_SOURCES): Likewise.
38009 (jpeg_mod_CFLAGS): Likewise.
38010 (jpeg_mod_LDFLAGS): Likewise.
38011 (png_mod_SOURCES): Likewise.
38012 (png_mod_CFLAGS): Likewise.
38013 (png_mod_LDFLAGS): Likewise.
38014
38015 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
38016 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
38017 (video_mod_SOURCES): Added.
38018 (video_mod_CFLAGS): Likewise.
38019 (video_mod_LDFLAGS): Likewise.
38020 (videotest_mod_SOURCES): Likewise.
38021 (videotest_mod_CFLAGS): Likewise.
38022 (videotest_mod_LDFLAGS): Likewise.
38023 (bitmap_mod_SOURCES): Likewise.
38024 (bitmap_mod_CFLAGS): Likewise.
38025 (bitmap_mod_LDFLAGS): Likewise.
38026 (tga_mod_SOURCES): Likewise.
38027 (tga_mod_CFLAGS): Likewise.
38028 (tga_mod_LDFLAGS): Likewise.
38029 (jpeg_mod_SOURCES): Likewise.
38030 (jpeg_mod_CFLAGS): Likewise.
38031 (jpeg_mod_LDFLAGS): Likewise.
38032 (png_mod_SOURCES): Likewise.
38033 (png_mod_CFLAGS): Likewise.
38034 (png_mod_LDFLAGS): Likewise.
38035 (gfxterm_mod_SOURCES): Likewise.
38036 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 38037 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 38038
38039 * term/gfxterm.c: Removed include to grub/machine/memory.h,
38040 grub/machine/console.h.
38041
644fff97 380422009-01-04 Jerone Young <jerone@gmail.com>
38043
38044 Make on screen instructions clearer
38045
38046 Based on patch created by Jidanni <jidanni@jidanni.org>
38047
38048 * normal/menu.c: print clearer instructions on the screen
38049
1e901a75 380502009-01-02 Colin D Bennett <colin@gibibit.com>
38051
38052 New font engine.
34c44600 38053
1e901a75 38054 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
38055 build system and fixed gfxterm.c to work with different sized fonts.
38056
38057 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 38058
1e901a75 38059 * configure: Re-generated.
34c44600 38060
1e901a75 38061 * DISTLIST: Removed font/manager.c.
38062 Added font/font.c.
38063 Added font/font_cmd.c.
34c44600 38064
1e901a75 38065 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
38066 compilation.
34c44600 38067
1e901a75 38068 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 38069
38070 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 38071
38072 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 38073
1e901a75 38074 * normal/menu.c: Likewise.
34c44600 38075
1e901a75 38076 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
38077 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 38078
1e901a75 38079 * include/grub/font.h: Replaced with new file.
34c44600 38080
1e901a75 38081 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
38082 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
38083 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
38084 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
38085 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 38086 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 38087 fg_red, fg_green, fg_blue, fg_alpha.
38088 (grub_video_adapter): Removed blit_glyph.
34c44600 38089 (grub_video_blit_glyph): Removed.
38090
1e901a75 38091 * font/manager.c: Removed file.
34c44600 38092
38093 * font/font.c: New file.
38094
1e901a75 38095 * font/font_cmd.c: Likewise.
34c44600 38096
1e901a75 38097 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 38098
1e901a75 38099 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
38100 (grub_video_vbe_map_rgba): Likewise.
38101 (grub_video_vbe_unmap_color_int): Likewise.
38102 (grub_video_vbe_blit_glyph): Removed.
38103 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 38104
1e901a75 38105 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
38106 (get_pixel): Likewise.
34c44600 38107 (set_pixel): Likewise.
38108
1e901a75 38109 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 38110
1e901a75 38111 * term/gfxterm.c: Adapted to new font engine.
34c44600 38112
1e901a75 38113 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 38114
1e901a75 38115 * term/i386/pc/vga.c: Likewise.
34c44600 38116
1e901a75 38117 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 38118
1e901a75 38119 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 38120
1e901a75 38121 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 38122
1e901a75 38123 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 38124
1e901a75 38125 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 38126
1e901a75 38127 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 38128
1e901a75 38129 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 38130
1e901a75 38131 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 38132
1e901a75 38133 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
38134
38135 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 38136
1e901a75 38137 * util/grub-mkconfig_lib.in: Changed font extension.
38138
278922e8 381392008-12-28 Felix Zielcke <fzielcke@z-51.de>
38140
38141 * util/getroot.c (grub_util_get_grub_dev): Add support for
38142 /dev/md/dNNpNN style partitionable mdraid devices.
38143
3ced05cf 381442008-12-12 Alex Smith <alex@alex-smith.me.uk>
38145
38146 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
38147 at a time limit of the PXE TFTP API correctly.
38148 (grub_pxefs_close): Likewise.
38149
7fd0ee30 381502008-11-29 Robert Millan <rmh@aybabtu.com>
38151
34c44600 38152 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 38153 grub_ata_device_initialize() calls.
38154
34c44600 381552008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 38156
38157 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
38158 iteration failed.
38159 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
38160
89313780 381612008-11-28 Robert Millan <rmh@aybabtu.com>
38162
38163 Fix build on powerpc-ieee1275. Based on patch created by
38164 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
38165 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38166 `kern/ieee1275/mmap.c'.
38167 * include/grub/powerpc/ieee1275/memory.h: New file.
38168
15257703 38169 Provide grub-install on coreboot.
38170 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
38171 (grub_install_SOURCES): New variable.
38172 * util/i386/pc/grub-install.in: Add a few condition checks to make it
38173 usable on coreboot.
38174
9fc5388a 381752008-11-25 Felix Zielcke <fzielcke@z-51.de>
38176
38177 * util/grub-fstest.c (grub_term_get_current_input): Change return type
38178 to `grub_term_input_t'.
38179 (grub_term_get_current_output): Change return type to
38180 `grub_term_output_t'.
38181
bc3a2f31 381822008-11-22 Robert Millan <rmh@aybabtu.com>
38183
34c44600 38184 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 38185 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
38186 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
38187 grub_vga_text_cls().
38188
80fc88f2 38189 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 38190 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 38191
cbf36fd3 38192 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
38193 to 0x200000 (avoids trouble with some OFW implementations, and matches
38194 with the one in Yaboot).
38195 Reported by Manoel Abranches
38196
73e8e268 381972008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 38198
38199 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
38200 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
38201
73e8e268 38202 * util/grub-mkconfig_lib.in (grub_warn): New function.
38203 (convert_system_path_to_grub_path): Use grub_warn() when issuing
38204 warnings, to obtain consistent formatting.
38205 * util/grub.d/00_header.in: Likewise.
38206 * util/update-grub_lib.in: Likewise.
38207
e94045a1 38208 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 38209 Move comment text to `#error' stanza.
e94045a1 38210
79d29fd7 38211 Harmonize ieee1275's grub_available_iterate() with the generic
38212 grub_machine_mmap_iterate() interface (fixes a recently-introduced
38213 build problem on i386-ieee1275):
38214 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
38215 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
38216 parameter `type'. Update all users of this function.
38217 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38218 `kern/ieee1275/mmap.c'.
38219 * kern/ieee1275/init.c
38220 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
38221 with ...
38222 (grub_machine_mmap_iterate): ... this.
38223 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
38224 return type to `grub_err_t'. Update all implementations of this
38225 function prototype.
38226 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
38227 Likewise.
38228
60d6b16e 38229 Add `lsmmap' command (lists firmware-provided memory map):
38230 * commands/lsmmap.c: New file.
38231 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
38232 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
38233 variables.
38234 * conf/powerpc-ieee1275.rmk: Likewise.
38235 * conf/i386-coreboot.rmk: Likewise.
38236 * conf/i386-ieee1275.rmk: Likewise.
38237
ebaaf49b 382382008-11-19 Robert Millan <rmh@aybabtu.com>
38239
38240 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 38241 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
38242 constraints to initrd allocation (based on code from
38243 loader/i386/pc/linux.c). Without them, initrd was allocated too high
38244 for Linux to find it.
ebaaf49b 38245
dfab719f 382462008-11-14 Robert Millan <rmh@aybabtu.com>
38247
38248 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
38249 order to cope with duplicate slashes.
38250
10fc3eb9 382512008-11-14 Robert Millan <rmh@aybabtu.com>
38252
38253 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
38254 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
38255 don't want to mess with lower memory, because it is used in the Linux
38256 loader.
38257
38258 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 38259 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 38260 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
38261 is in our heap (probably as a result of it being corrupted during
2f2a3442 38262 decompression). Add #error instance with comment to explain why this
38263 loader isn't currently usable on PC/BIOS.
10fc3eb9 38264
e2e07847 382652008-11-14 Robert Millan <rmh@aybabtu.com>
38266
38267 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 38268 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 38269
fe8e8d69 382702008-11-12 Robert Millan <rmh@aybabtu.com>
38271
38272 Make loader/i386/linux.c buildable on i386-pc (although disabled).
38273
38274 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
38275 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
38276 from here ...
38277 * include/grub/i386/pc/memory.h: ... to here.
38278
976b07d0 382792008-11-12 Robert Millan <rmh@aybabtu.com>
38280
38281 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
38282 split).
38283
38284 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
38285 (grub_console_cur_color, grub_console_real_putchar)
38286 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
38287 (grub_console_setcolorstate, grub_console_setcolor)
38288 (grub_console_getcolor): Move from here ...
38289 * include/grub/i386/vga_common.h: ... to here (new file).
38290
38291 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
38292 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
38293 `<grub/i386/io.h>'.
38294 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
38295 `<grub/i386/vga_common.h>'.
38296
76679cd3 382972008-11-12 Robert Millan <rmh@aybabtu.com>
38298
38299 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
38300 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
38301 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
38302 variables.
38303 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
38304 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
38305
38306 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
38307 grub_console_init() with call to grub_vga_text_init().
38308 (grub_machine_fini): Replace call to
38309 grub_console_fini() with call to grub_vga_text_fini() and
38310 grub_at_keyboard_fini().
38311
38312 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
38313 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
38314 (grub_console_setcolorstate, grub_console_setcolor)
38315 (grub_console_getcolor): New function prototypes.
38316
38317 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
38318 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
38319 (grub_vga_text_setcursor): Static-ize.
38320 (grub_vga_text_term): New structure.
38321 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
38322
38323 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
38324 (grub_console_cur_color, grub_console_standard_color)
38325 (grub_console_normal_color, grub_console_highlight_color)
38326 (map_char, grub_console_putchar, grub_console_getcharwidth)
38327 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
38328 (grub_console_getcolor): Move from here ...
38329 * term/i386/vga_common.c: ... to here (same function names).
38330
95b841d3 383312008-11-12 Robert Millan <rmh@aybabtu.com>
38332
38333 Use newly-added Multiboot support in coreboot.
38334
38335 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
38336 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
38337
38338 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
38339 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
38340 (codestart): Store the MBI in `startup_multiboot_info' when we're
38341 being loaded using Multiboot.
38342
38343 * kern/i386/coreboot/init.c (grub_machine_init): Move
38344 grub_at_keyboard_init() call to beginning of function (useful for
38345 debugging). Call grub_machine_mmap_init() before attempting to use
38346 grub_machine_mmap_iterate().
38347 (grub_lower_mem, grub_upper_mem): Move from here ...
38348 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
38349 here (new file).
38350
38351 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
38352 function prototype.
38353
761ca975 383542008-11-12 Robert Millan <rmh@aybabtu.com>
38355
38356 Fix a regression introduced by the at_keyboard.mod split. Because
38357 some terminals are default on some platforms and non-default on
38358 others, the first terminal being registered determines which is
38359 going to be default.
38360
38361 * kern/term.c (grub_term_register_input): If this is the first
38362 terminal being registered, set it as the current one.
38363 (grub_term_register_output): Likewise.
38364
38365 * term/efi/console.c (grub_console_init): Do not call
38366 grub_term_set_current_output() or grub_term_set_current_input().
38367 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
38368 * term/i386/pc/console.c (grub_console_init): Likewise.
38369 (grub_console_fini): Do not call grub_term_set_current_input()
38370 (but leave grub_term_set_current_output() to restore text mode).
38371
6c529df7 383722008-11-10 Robert Millan <rmh@aybabtu.com>
38373
38374 * util/grub.d/00_header.in: Add backward compatibility check for
38375 versions of terminal.mod that don't understand `terminal_input' or
38376 `terminal_output'.
38377
132e4113 383782008-11-09 Robert Millan <rmh@aybabtu.com>
38379
38380 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
38381 `terminal_input' / `terminal_output', not `terminal'.
38382
ac293d50 383832008-11-08 Robert Millan <rmh@aybabtu.com>
38384
38385 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 38386 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 38387
0025933a 383882008-11-08 Robert Millan <rmh@aybabtu.com>
38389
38390 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 38391 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 38392 members. Update all users.
38393 * util/console.c (grub_ncurses_term): Split in ...
38394 (grub_ncurses_term_input): ... this, and ...
38395 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 38396 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 38397
37c86336 383982008-11-08 Robert Millan <rmh@aybabtu.com>
38399
38400 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
38401 (PKGDATA): Add $(pkgdata_SRCDIR).
38402 (pkglib_BUILDDIR): New variable.
38403 (pkgdata_SRCDIR): New variable.
38404 (build_env.mk): New target.
38405 (include_DATA): New variable.
38406 (install-local): Install $(include_DATA) files in $(includedir).
38407
b6c15a2d 384082008-11-07 Pavel Roskin <proski@gnu.org>
38409
d99d46f1 38410 * gendistlist.sh: Use C locale for sorting to ensure consistent
38411 output on all systems.
38412
b6c15a2d 38413 * util/grub.d/00_header.in: Remove incorrect space before
38414 "serial".
38415
c32ee8c9 384162008-11-07 Robert Millan <rmh@aybabtu.com>
38417
38418 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
38419 per specification.
38420 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
38421 * loader/multiboot_loader.c (find_multi_boot2_header): New function
38422 (based on find_multi_boot1_header).
38423 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
38424 using find_multi_boot2_header(), and abort if neither Multiboot or
38425 Multiboot headers were found.
38426
651c29b7 384272008-11-07 Robert Millan <rmh@aybabtu.com>
38428
38429 Modularize at_keyboard.mod:
38430
38431 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
38432 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
38433 (at_keyboard_mod_LDFLAGS): New variables.
38434
38435 Actual terminal split:
38436
38437 * include/grub/term.h (struct grub_term): Split in ...
38438 (struct grub_term_input): ... this, and ...
38439 (struct grub_term_output): ... this. Update all users.
38440 (grub_term_set_current): Split in ...
38441 (grub_term_set_current_input): ... this, and ...
38442 (grub_term_set_current_output): ... this.
38443 (grub_term_get_current): Split in ...
38444 (grub_term_get_current_input): ... this, and ...
38445 (grub_term_get_current_output): ... this.
38446 (grub_term_register): Split in ...
38447 (grub_term_register_input): ... this, and ...
38448 (grub_term_register_output): ... this.
38449 (grub_term_unregister): Split in ...
38450 (grub_term_unregister_input): ... this, and ...
38451 (grub_term_unregister_output): ... this.
38452 (grub_term_iterate): Split in ...
38453 (grub_term_iterate_input): ... this, and ...
38454 (grub_term_iterate_output): ... this.
38455
38456 * kern/term.c (grub_term_list): Split in ...
38457 (grub_term_list_input): ... this, and ...
38458 (grub_term_list_output): ... this. Update all users.
38459 (grub_cur_term): Split in ...
38460 (grub_cur_term_input): ... this, and ...
38461 (grub_cur_term_output): ... this. Update all users.
38462 (grub_term_set_current): Split in ...
38463 (grub_term_set_current_input): ... this, and ...
38464 (grub_term_set_current_output): ... this.
38465 (grub_term_get_current): Split in ...
38466 (grub_term_get_current_input): ... this, and ...
38467 (grub_term_get_current_output): ... this.
38468 (grub_term_register): Split in ...
38469 (grub_term_register_input): ... this, and ...
38470 (grub_term_register_output): ... this.
38471 (grub_term_unregister): Split in ...
38472 (grub_term_unregister_input): ... this, and ...
38473 (grub_term_unregister_output): ... this.
38474 (grub_term_iterate): Split in ...
38475 (grub_term_iterate_input): ... this, and ...
38476 (grub_term_iterate_output): ... this.
38477
38478 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
38479 a check for input and one for output (and only attempt to get keys
38480 from user when input works).
38481
38482 * util/grub-probe.c (grub_term_get_current): Split in ...
38483 (grub_term_get_current_input): ... this, and ...
38484 (grub_term_get_current_output): ... this.
38485 * util/grub-fstest.c: Likewise.
38486 * util/i386/pc/grub-setup.c: Likewise.
38487 * util/grub-editenv.c: Likewise.
38488
38489 Portability adjustments:
38490
38491 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
38492 `term/i386/pc/at_keyboard.c'.
38493 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
38494 grub_keyboard_controller_init() (now handled by terminal .init).
38495 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
38496 grub_at_keyboard_init().
38497 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
38498 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
38499 at_keyboard.mod via input terminal interface).
38500 * include/grub/i386/coreboot/console.h: Convert into a stub for
38501 `<grub/i386/pc/console.h>'.
38502
38503 Migrate full terminals to new API:
38504
38505 * term/efi/console.c (grub_console_term): Split into ...
38506 (grub_console_term_input): ... this, and ...
38507 (grub_console_term_output): ... this. Update all users.
38508 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
38509 (grub_ofconsole_init): Split into ...
38510 (grub_ofconsole_init_input): ... this, and ...
38511 (grub_ofconsole_init_output): ... this.
38512 (grub_ofconsole_term): Split into ...
38513 (grub_ofconsole_term_input): ... this, and ...
38514 (grub_ofconsole_term_output): ... this. Update all users.
38515 * term/i386/pc/serial.c (grub_serial_term): Split into ...
38516 (grub_serial_term_input): ... this, and ...
38517 (grub_serial_term_output): ... this. Update all users.
38518 * term/i386/pc/console.c (grub_console_term): Split into ...
38519 (grub_console_term_input): ... this, and ...
38520 (grub_console_term_output): ... this. Update all users.
38521 (grub_console_term_input): Only enable it on PC/BIOS platform.
38522 (grub_console_init): Remove grub_keyboard_controller_init() call.
38523
38524 Migrate input terminals to new API:
38525
38526 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
38527 `i386' and `i386/pc' to enable build on x86_64 (this driver is
38528 i386-specific anyway).
38529 (grub_console_checkkey): Rename to ...
38530 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
38531 users.
38532 (grub_keyboard_controller_orig): New variable.
38533 (grub_console_getkey): Rename to ...
38534 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
38535 users.
38536 (grub_keyboard_controller_init): Static-ize. Save original
38537 controller value so that it can be restored ...
38538 (grub_keyboard_controller_fini): ... here (new function).
38539 (grub_at_keyboard_term): New structure.
38540 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
38541 functions.
38542
38543 Migrate output terminals to new API:
38544
38545 * term/i386/pc/vga.c (grub_vga_term): Change type to
38546 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38547 members. Update all users.
38548 * term/gfxterm.c (grub_video_term): Change type to
38549 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38550 members. Update all users.
38551 * include/grub/i386/pc/console.h (grub_console_checkkey)
38552 (grub_console_getkey): Do not export (no longer needed by gfxterm,
38553 etc).
38554
38555 Migrate `terminal' command and userland tools to new API:
38556
38557 * commands/terminal.c (grub_cmd_terminal): Split into ...
38558 (grub_cmd_terminal_input): ... this, and ...
38559 (grub_cmd_terminal_output): ... this.
38560 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
38561 `terminal_input' and `terminal_output'.
38562 * util/grub.d/00_header.in: Adjust `terminal' calls to new
38563 `terminal_input' / `terminal_output' API.
38564 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
38565 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
38566 provided ${GRUB_TERMINAL}, convert it).
38567
96e5d876 385682008-11-04 Robert Millan <rmh@aybabtu.com>
38569
38570 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
38571 for FreeBSD.
38572 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
38573
556f3775 385742008-11-03 Bean <bean123ch@gmail.com>
38575
38576 * kern/elf.c (grub_elf32_load): Revert to previous code.
38577 (grub_elf64_load): Likewise.
38578
38579 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
38580
926b9823 385812008-11-01 Robert Millan <rmh@aybabtu.com>
38582
38583 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
38584 (TARGET_CPPFLAGS): Likewise.
38585 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
38586
1432e958 385872008-11-01 Carles Pina i Estany <carles@pina.cat>
38588
38589 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
38590
dba3f844 385912008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 38592
38593 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
38594 addition of objects until the code is not going to be able to fail.
38595
dba3f844 385962008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 38597
38598 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
38599 (add a missing NULL check, and correct them by moving the pointer
38600 operations after the actual check).
38601
7ab28c21 386022008-10-29 Robert Millan <rmh@aybabtu.com>
38603
38604 * util/i386/pc/grub-install.in: Handle empty string as output from
38605 make_system_path_relative_to_its_root().
38606
1b7748eb 386072008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
38608
38609 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
38610 circular metadata worst case scenario. If the metadata is circular
38611 then copy the wrap in place.
38612 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
38613 project lib/format_text/layout.h
38614 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
38615
c9618ab2 386162008-10-03 Felix Zielcke <fzielcke@z-51.de>
38617
7a36edca 38618 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 38619
bf981c62 386202008-10-03 Felix Zielcke <fzielcke@z-51.de>
38621
38622 * util/update-grub_lib.in: Mention filename in warning message.
38623
6d994591 386242008-09-29 Felix Zielcke <fzielcke@z-51.de>
38625
38626 * NEWS: Update for rename of update-grub to grub-mkconfig.
38627
18ade780 386282008-09-29 Felix Zielcke <fzielcke@z-51.de>
38629
38630 * util/update-grub_lib.in: Copy to ...
38631 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 38632 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 38633 * util/update-grub.in: Rename to ...
38634 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
38635 option. Add `--output' option to allow users to specify the generated
38636 configuration file. Default to stdout.
38637 (update_grub_dir): Rename to ...
38638 (grub_mkconfig_dir): ... this.
38639 (grub_cfg): Default to an empty string.
38640 * conf/common.rmk (update-grub): Rename to ...
38641 (grub-mkconfig): ... this.
38642 (update-grub_lib): Copy to ...
38643 (grub-mkconfig_lib): ... this.
38644 (update-grub_SCRIPTS): Copy to ...
38645 (grub-mkconfig_SCRIPTS): ... this. Update all users.
38646 (update-grub_DATA): Rename to ...
38647 (grub-mkconfig_DATA): ... this.
38648
556ce6ac 386492008-09-28 Robert Millan <rmh@aybabtu.com>
38650
38651 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
38652 to `modified'. Add the real `created' field.
38653 (grub_iso9660_uuid): Use `modified' rather than `created' for
38654 constructing the UUID.
38655
386562008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 38657
38658 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
38659 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
38660
92274e85 386612008-09-28 Bean <bean123ch@gmail.com>
38662
38663 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
38664 Thanks to Christian Franke for finding this bug.
38665
add6f17a 386662008-09-25 Robert Millan <rmh@aybabtu.com>
38667
38668 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
38669 instances of grub_util_get_disk_name() (see previous commit).
38670
d2a367b8 386712008-09-25 Robert Millan <rmh@aybabtu.com>
38672
38673 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
38674 `util/i386/get_disk_name.c'.
38675 * conf/i386-efi.rmk: Likewise.
38676 * conf/x86_64-efi.rmk: Likewise.
38677 * conf/i386-coreboot.rmk: Likewise.
38678 * conf/i386-ieee1275.rmk: Likewise.
38679 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
38680 `util/ieee1275/get_disk_name.c'.
38681 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
38682 * util/ieee1275/get_disk_name.c: Remove file.
38683 * util/i386/get_disk_name.c: Remove file.
38684 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
38685 "hd%d" for device.map entries, rather than using
38686 grub_util_get_disk_name().
38687
81a06771 386882008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 38689
38690 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
38691 warning.
38692 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
38693
5a004279 386942008-09-24 Carles Pina i Estany <carles@pina.cat>
38695
38696 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
38697 Changed to 0x5100.
38698 (GRUB_TERM_PPAGE): Changed to 0x4900.
38699
397093d3 387002008-09-24 Robert Millan <rmh@aybabtu.com>
38701
38702 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
38703 macros (they were i386-pc specific).
38704 * include/grub/sparc64/ieee1275/console.h: Likewise.
38705 * include/grub/efi/console.h: Likewise.
38706
a91b6c7c 387072008-09-22 Bean <bean123ch@gmail.com>
38708
38709 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
38710 resident and in attribute list.
38711
38712 * include/grub/ntfs.h (BMP_LEN): Removed.
38713
c40fd116 387142008-09-22 Bean <bean123ch@gmail.com>
38715
81a06771 38716 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 38717 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
38718
38719 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
38720 error occurs, as grub_disk_open will call grub_disk_close, which will
38721 call p->close (scsi).
38722
81a06771 387232008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 38724
38725 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
38726 (AC_PREREQ): Bumped to 2.59.
38727 (AC_TRY_COMPILE): Replace obsolete macro with ...
38728 (AC_COMPILE_IFELSE): ... this.
38729 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
38730 (AC_LINK_IFELSE): ... this.
38731
5dc43410 387322008-09-21 Felix Zielcke <fzielcke@z-51.de>
38733
38734 * autogen.sh: Add a call to `gendistlist.sh'.
38735
9035dce4 387362008-09-19 Christian Franke <franke@computer.org>
38737
38738 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
38739 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
38740 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
38741 Export __enable_execute_stack() to modules.
38742 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
38743 New function.
38744
7fd75377 387452008-09-09 Felix Zielcke <fzielcke@z-51.de>
38746
040030b3 38747 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
38748 Sort the list.
38749
387502008-09-09 Felix Zielcke <fzielcke@z-51.de>
38751
38752 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 38753 #include <grub/util/hostdisk.h>.
38754
89d5ffcf 387552008-09-08 Robert Millan <rmh@aybabtu.com>
38756
38757 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
38758 segments when their filesz is zero (grub_file_read() interprets
81a06771 38759 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 38760 Use `lowest_segment' rather than 0 for calculating the current
38761 segment load address.
38762
40da438f 387632008-09-08 Robert Millan <rmh@aybabtu.com>
38764
38765 * util/hostdisk.c (open_device): Replace a grub_util_info() call
38766 with grub_dprintf("hostdisk", ...), as it was so verbose that it
38767 clobbered useful information.
38768
ddbf5556 387692008-09-08 Robert Millan <rmh@aybabtu.com>
38770
38771 * include/grub/util/biosdisk.h: Move to ...
38772 * include/grub/util/hostdisk.h: ... here. Update all users.
38773 * util/biosdisk.c: Move to ...
38774 * util/hostdisk.c: ... here. Update all users.
38775
783d0f48 387762008-09-07 Robert Millan <rmh@aybabtu.com>
38777
38778 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
38779 variables.
38780 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
38781 and length can be stored directly in the `mbi->mmap_addr' and
38782 `mbi->mmap_length' struct fields.
38783
548e2ea5 387842008-09-07 Robert Millan <rmh@aybabtu.com>
38785
38786 * conf/i386.rmk: New file. Provides declaration for building
38787 `cpuid.mod'.
38788 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
38789 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
38790 variables.
38791 Include `conf/i386.mk'.
38792 * conf/i386-efi.rmk: Likewise.
38793 * conf/x86_64-efi.rmk: Likewise.
38794 * conf/i386-coreboot.rmk: Likewise.
38795 * conf/i386-ieee1275.rmk: Likewise.
38796
0ea85a37 387972008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
38798
38799 Based on patch created by Colin D Bennett <colin@gibibit.com>.
38800 Adds optimization support for BGR based modes.
38801
38802 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
38803 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38804 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38805 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38806 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38807 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38808 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38809 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38810 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38811 (grub_video_i386_vbeblit_index_index): Likewise.
38812 (grub_video_i386_vbeblit_replace_directN): Added.
38813 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38814 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38815 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38816 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38817 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38818 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 38819 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 38820 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38821 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38822 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38823 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38824 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38825 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
38826
38827 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
38828 (grub_video_i386_vbefill_R8G8B8): Likewise.
38829 (grub_video_i386_vbefill_index): Likewise.
38830 (grub_video_i386_vbefill_direct32): Added.
38831 (grub_video_i386_vbefill_direct24): Likewise.
38832 (grub_video_i386_vbefill_direct16): Likewise.
38833 (grub_video_i386_vbefill_direct8): Likewise.
38834
81a06771 38835 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 38836 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
38837 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
38838 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
38839 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
38840 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 38841
0ea85a37 38842 * video/video.c (grub_video_get_blit_format): Updated to use new
38843 blit formats. Added handling for 16 bit color modes.
81a06771 38844
38845 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 38846 fillers.
38847 (common_blitter): Updated to use new blitters.
38848
38849 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
38850 Removed.
38851 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38852 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38853 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38854 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38855 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38856 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38857 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38858 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38859 (grub_video_i386_vbeblit_index_index): Likewise.
38860 (grub_video_i386_vbeblit_replace_directN): Added.
38861 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38862 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38863 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38864 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38865 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38866 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
38867 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
38868 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38869 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38870 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38871 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38872 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38873 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 38874
0ea85a37 38875 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
38876 (grub_video_i386_vbefill_R8G8B8): Likewise.
38877 (grub_video_i386_vbefill_index): Likewise.
38878 (grub_video_i386_vbefill_direct32): Added.
38879 (grub_video_i386_vbefill_direct24): Likewise.
38880 (grub_video_i386_vbefill_direct16): Likewise.
38881 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 38882
0ea85a37 38883 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
38884 types.
81a06771 38885
0ea85a37 38886 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
38887 types.
81a06771 38888
0ea85a37 38889 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
38890 blitter types.
81a06771 38891
0ea85a37 38892 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
38893 types.
38894
e8a83df6 388952008-09-06 Felix Zielcke <fzielcke@z-51.de>
38896
38897 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
38898 RAID level 1.
38899
6bcd8ee5 389002008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 38901
6bcd8ee5 38902 * fs/iso9660.c (grub_iso9660_date): New structure.
38903 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
38904 (grub_iso9660_uuid): New function.
c375ae58 38905
59261157 389062008-09-05 Bean <bean123ch@gmail.com>
38907
38908 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
38909
38910 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
38911 insensitive bit for names in Win32 and Win32 & DOS namespace.
38912
38913 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
38914
38915 * include/grub/types.h (LONG_MAX): Likewise.
38916
58b6645a 389172008-09-04 Felix Zielcke <fzielcke@z-51.de>
38918
4ee55921 38919 * util/getroot.c: Include <config.h>.
38920 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
38921 add support for /dev/md/N devices and handle LVM double dash escaping.
38922
389232008-09-04 Felix Zielcke <fzielcke@z-51.de>
38924
38925 * config.guess: Update to latest version from config git.
38926 * config.sub: Likewise.
58b6645a 38927
9124f65d 389282008-09-03 Robert Millan <rmh@aybabtu.com>
38929
38930 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
38931 `disk->total_sectors'.
38932
81a06771 389332008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 38934
38935 * include/grub/normal.h: Fixed incorrect comment for
38936 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
38937
81a06771 389382008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 38939
38940 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
38941 values with defines.
38942
38943 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
38944 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
38945 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
38946 (GRUB_VBE_MODEATTR_COLOR): Likewise.
38947 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
38948 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
38949 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
38950 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
38951 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
38952 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
38953 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
38954 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
38955 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
38956 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
38957 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
38958 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
38959 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
38960 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
38961 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
38962
93d5cbf8 389632008-08-31 Robert Millan <rmh@aybabtu.com>
38964
38965 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
38966 declaration.
38967 (grub_multiboot): Fix a few warnings.
38968
21751d50 389692008-08-31 Robert Millan <rmh@aybabtu.com>
38970
38971 * loader/i386/pc/multiboot.c: Update comment not to say that
38972 boot_device support is unimplemented.
38973
e27a75c5 389742008-08-31 Robert Millan <rmh@aybabtu.com>
38975
38976 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
38977 or memory map support are unimplemented.
38978
81a06771 389792008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 38980
38981 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
38982
81a06771 389832008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 38984
38985 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
38986 total video memory in 'vbeinfo' output; show color format details for
38987 each video mode.
38988
7c5d8d95 389892008-08-30 Pavel Roskin <proski@gnu.org>
38990
38991 * util/genmoddep.c: Remove for real this time.
38992 * DISTLIST: Remove util/genmoddep.c.
38993
4cebd25a 389942008-08-30 Robert Millan <rmh@aybabtu.com>
38995
38996 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
38997 as required by Multiboot spec (it was already 4-byte aligned, but
38998 only by chance).
38999
b497a269 390002008-08-29 Pavel Roskin <proski@gnu.org>
39001
e3925185 39002 * kern/powerpc/ieee1275/crt0.S: Rename to ...
39003 * kern/powerpc/ieee1275/startup.S: ... this.
39004 * conf/powerpc-ieee1275.rmk: Adjust for the above.
39005 * DISTLIST: Likewise.
39006
b497a269 39007 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
39008 grub/cpu/kernel.h. Add start label for consistency with other
39009 platforms. Add grub_prefix immediately after start. Add jump
39010 to the code after grub_prefix.
39011 * include/grub/powerpc/kernel.h: Provide valid values for
39012 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
39013
6e5a42fe 390142008-08-29 Bean <bean123ch@gmail.com>
39015
39016 * configure.ac: Change host_os to cygwin for mingw.
39017 (asprintf): New check for function.
39018
39019 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
39020 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
39021
39022 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 39023 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 39024 sync, sleep and grub_util_get_disk_size for mingw.
39025
39026 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
39027 to get size in mingw.
39028 (open_device): Use flag O_BINARY if it's defined.
39029 (find_root_device): Add dummy code for mingw.
39030
39031 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
39032 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
39033 (get_scsi_disk_name): Return 0 for mingw.
39034
39035 * util/hostfs.c: #include <grub/util/misc.h>.
39036 (grub_hostfs_open): Use "rb" flag to open file, use
39037 grub_util_get_disk_size to get disk size for mingw.
39038
39039 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
39040 (asprintf): New function if HAVE_ASPRINTF is not set.
39041 (sync): New function for mingw.
39042 (sleep): Likewise.
39043 (grub_util_get_disk_size): Likewise.
39044
ab3f2673 390452008-08-28 Pavel Roskin <proski@gnu.org>
39046
39047 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39048 kern/time.c.
39049
1c282483 390502008-08-28 Robert Millan <rmh@aybabtu.com>
39051
39052 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
39053
678e849c 390542008-08-28 Robert Millan <rmh@aybabtu.com>
39055
39056 Change find_grub_drive() syntax so it doesn't prevent it from
39057 detecting NULL names as errors.
39058
39059 * util/biosdisk.c (find_grub_drive): Move free slot search code
39060 from here ...
39061 (find_free_slot): ... to here.
39062 (read_device_map): Use find_free_slot() to search for free slots.
39063
965c75ca 390642008-08-27 Marco Gerards <marco@gnu.org>
39065
39066 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
39067 (scsi_mod_SOURCES): New variable.
39068 (scsi_mod_CFLAGS): Likewise
39069 (scsi_mod_LDFLAGS): Likewise.
39070
39071 * disk/scsi.c: New file.
39072
39073 * include/grub/scsi.h: Likewise.
39074
39075 * include/grub/scsicmd.h: Likewise.
39076
39077 * disk/ata.c: Include <grub/scsi.h>.
39078 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
39079 instead.
39080 (grub_ata_iterate): Skip ATAPI devices.
39081 (grub_ata_open): Only handle ATAPI devices.
39082 (struct grub_atapi_read): Removed.
39083 (grub_atapi_readsector): Likewise.
39084 (grub_ata_read): No longer handle ATAPI devices.
39085 (grub_ata_write): Likewise.
39086 (grub_atapi_iterate): New function.
39087 (grub_atapi_read): Likewise.
39088 (grub_atapi_write): Likewise.
39089 (grub_atapi_open): Likewise.
39090 (grub_atapi_close): Likewise.
39091 (grub_atapi_dev): New variable.
39092 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
39093 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
39094
39095 * include/grub/disk.h (enum grub_disk_dev_id): Add
39096 `GRUB_DISK_DEVICE_SCSI_ID'.
39097
c07ae501 390982008-08-26 Robert Millan <rmh@aybabtu.com>
39099
39100 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
39101 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
39102 descriptive.
39103
5ed20adc 391042008-08-23 Bean <bean123ch@gmail.com>
39105
39106 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
39107 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
39108 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
39109 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
39110 dm_nv.mod.
39111 (raid5rec_mod_SOURCES): New macro.
39112 (raid5rec_mod_CFLAGS): Likewise.
39113 (raid5rec_mod_LDFLAGS): Likewise.
39114 (raid6rec_mod_SOURCES): Likewise.
39115 (raid6rec_mod_CFLAGS): Likewise.
39116 (raid6rec_mod_LDFLAGS): Likewise.
39117 (mdraid_mod_SOURCES): Likewise.
39118 (mdraid_mod_CFLAGS): Likewise.
39119 (mdraid_mod_LDFLAGS): Likewise.
39120 (dm_nv_mod_SOURCES): Likewise.
39121 (dm_nv_mod_CFLAGS): Likewise.
39122 (dm_nv_mod_LDFLAGS): Likewise.
39123
39124 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
39125 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
39126 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
39127
39128 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
39129 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
39130
39131 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39132
39133 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39134
39135 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39136
39137 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39138
39139 * disk/raid5_recover.c: New file.
39140
39141 * disk/raid6_recover.c: Likewise.
39142
39143 * disk/mdraid_linux.c: Likewise.
39144
39145 * disk/dmraid_nvidia.c: Likewise.
39146
39147 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
39148 ULONG_MAX.
39149
39150 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
39151 calculate the size of raid device.
39152 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
39153 different layout of raid5.
39154 (grub_raid_scan_device): Remove code specific to mdraid.
39155 (grub_raid_list): New variable.
39156 (free_array): New function.
39157 (grub_raid_register): Likewise.
39158 (grub_raid_unregister): Likewise.
39159 (grub_raid_rescan): Likewise.
39160 (GRUB_MOD_INIT): Don't iterate device here.
39161 (GRUB_MOD_FINI): Use free_array to release resource.
39162
39163 * include/grub/raid.h: Remove macro and structure specific to mdraid.
39164 (grub_raid5_recover_func_t): New function variable type.
39165 (grub_raid6_recover_func_t): Likewise.
39166 (grub_raid5_recover_func): New variable.
39167 (grub_raid6_recover_func): Likewise.
39168 (grub_raid_register): New function.
39169 (grub_raid_unregister): Likewise.
39170 (grub_raid_rescan): Likewise.
39171 (grub_raid_block_xor): Likewise.
39172
39173 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
39174 (CMD_CRC): New macro.
39175 (part): Removed.
39176 (read_file): Handle device as well as file.
39177 (cmd_crc): New function.
39178 (fstest): Handle multiple disks.
39179 (options): Remove part, raw and long, add root and diskcount.
39180 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 39181 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 39182 add handling for the new options, support multiple disks.
39183
39184 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
39185
29c18915 391862008-08-23 Bean <bean123ch@gmail.com>
39187
39188 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
39189
39190 * genfslist.sh: Ignore kernel.mod.
39191
39192 * genpartmaplist.sh: Likewise.
39193
8415f261 391942008-08-23 Robert Millan <rmh@aybabtu.com>
39195
39196 * util/getroot.c (find_root_device): Skip anything that starts with
39197 a dot, not just directories. This avoids things like /dev/.tmp.md0.
39198
d5a7dc5b 391992008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 39200
d5a7dc5b 39201 * util/update-grub.in (GRUB_GFXMODE): Export variable.
39202 * util/grub.d/00_header.in: Allow the administrator to change default
39203 gfxmode via ${GRUB_GFXMODE}.
39204
380cfbb4 392052008-08-21 Felix Zielcke <fzielcke@z-51.de>
39206
39207 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
39208
c9baafe7 392092008-08-21 Robert Millan <rmh@aybabtu.com>
39210
39211 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
39212 loader.
39213 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
39214 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
39215
e290bef2 392162008-08-20 Carles Pina i Estany <carles@pina.cat>
39217
39218 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
39219 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
39220
f9dbfc96 392212008-08-19 Robert Millan <rmh@aybabtu.com>
39222
39223 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
39224 (struct grub_virtual_screen): Remove `cursor_color'.
39225 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
39226 initialization.
39227 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
39228
dd6bd6ab 392292008-08-18 Robert Millan <rmh@aybabtu.com>
39230
39231 Unify (identical) linux_normal.c files.
39232 * loader/i386/efi/linux_normal.c: Move from here ...
39233 * loader/linux_normal.c: ... to here. Update all users.
39234 * loader/i386/pc/linux_normal.c: Delete. Update all users.
39235 * loader/i386/ieee1275/linux_normal.c: Likewise.
39236
7f42f83e 392372008-08-18 Robert Millan <rmh@aybabtu.com>
39238
39239 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
39240 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
39241 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
39242 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
39243 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
39244 New macros.
39245 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
39246 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
39247 (GRUB_LINUX_CL_END_OFFSET): ... to here.
39248 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
39249 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
39250 (GRUB_EFI_CL_END_OFFSET): Rename to ...
39251 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
39252 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
39253 Initialize `params->video_cursor_x' and `params->video_cursor_y'
39254 portably using grub_getxy().
39255 Replace `-EFI' with `-bzImage' in boot message.
39256
38487ddb 392572008-08-17 Robert Millan <rmh@aybabtu.com>
39258
39259 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
39260
deceb3ec 392612008-08-17 Robert Millan <rmh@aybabtu.com>
39262
39263 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
39264
39265 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
39266 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
39267 (grub_machine_mmap_iterate): New function declaration.
39268 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
39269 structure.
39270 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
39271 macros.
39272
39273 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
39274 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
39275 Move e820 parsing from here ...
39276 * kern/i386/pc/mmap.c: New file.
39277 (grub_machine_mmap_iterate): ... to here.
39278
39279 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
39280 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
39281 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
39282 (grub_available_iterate): Redeclare to return `void', and redeclare
39283 its hook to use grub_uint64_t as addr and size parameters, and rename
39284 to ...
39285 (grub_machine_mmap_iterate): ... this. Update all users.
39286
39287 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
39288 to make it more readable. Rename to ...
39289 (grub_machine_mmap_iterate): ... this.
39290
39291 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
39292 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
39293 (grub_multiboot): Allocate an extra region after the payload, and fill
39294 it with a Multiboot memory map. Adjust a.out loader to calculate size
39295 with the extra space.
39296 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
39297 with the extra space.
39298
f8aa0f43 392992008-08-17 Carles Pina i Estany <carles@pina.cat>
39300
9807deb9 39301 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 39302
605f5bb6 393032008-08-17 Felix Zielcke <fzielcke@z-51.de>
39304
39305 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
39306 mdate-sh to the list `find' searches for.
39307 * DISTLIST: Regenerated.
39308
210db6c6 393092008-08-16 Felix Zielcke <fzielcke@z-51.de>
39310
39311 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
39312 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 39313 genmoddep.awk, gensymlist.sh.in.
39314 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 39315 * DISTLIST: Regenerated.
48cdbfd4 39316 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 39317
1082b929 393182008-08-16 Robert Millan <rmh@aybabtu.com>
39319
39320 * disk/raid.c (grub_raid_init): Handle/report errors set by
39321 grub_device_iterate().
39322 * disk/lvm.c (grub_lvm_init): Likewise.
39323
42ce5170 393242008-08-15 Bean <bean123ch@gmail.com>
39325
39326 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39327 and datehook.mod.
39328 (datetime_mod_SOURCES): New macro.
39329 (datetime_mod_CFLAGS): Likewise.
39330 (datetime_mod_LDFLAGS): Likewise.
39331 (date_mod_SOURCES): Likewise.
39332 (date_mod_CFLAGS): Likewise.
39333 (date_mod_LDFLAGS): Likewise.
39334 (datehook_mod_SOURCES): Likewise.
39335 (datehook_mod_CFLAGS): Likewise.
39336 (datehook_mod_LDFLAGS): Likewise.
39337
39338 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39339 and datehook.mod.
39340 (datetime_mod_SOURCES): New macro.
39341 (datetime_mod_CFLAGS): Likewise.
39342 (datetime_mod_LDFLAGS): Likewise.
39343 (date_mod_SOURCES): Likewise.
39344 (date_mod_CFLAGS): Likewise.
39345 (date_mod_LDFLAGS): Likewise.
39346 (datehook_mod_SOURCES): Likewise.
39347 (datehook_mod_CFLAGS): Likewise.
39348 (datehook_mod_LDFLAGS): Likewise.
39349
39350 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39351 and datehook.mod.
39352 (datetime_mod_SOURCES): New macro.
39353 (datetime_mod_CFLAGS): Likewise.
39354 (datetime_mod_LDFLAGS): Likewise.
39355 (date_mod_SOURCES): Likewise.
39356 (date_mod_CFLAGS): Likewise.
39357 (date_mod_LDFLAGS): Likewise.
39358 (datehook_mod_SOURCES): Likewise.
39359 (datehook_mod_CFLAGS): Likewise.
39360 (datehook_mod_LDFLAGS): Likewise.
39361
39362 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39363 and datehook.mod.
39364 (datetime_mod_SOURCES): New macro.
39365 (datetime_mod_CFLAGS): Likewise.
39366 (datetime_mod_LDFLAGS): Likewise.
39367 (date_mod_SOURCES): Likewise.
39368 (date_mod_CFLAGS): Likewise.
39369 (date_mod_LDFLAGS): Likewise.
39370 (datehook_mod_SOURCES): Likewise.
39371 (datehook_mod_CFLAGS): Likewise.
39372 (datehook_mod_LDFLAGS): Likewise.
39373
39374 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39375 and datehook.mod.
39376 (datetime_mod_SOURCES): New macro.
39377 (datetime_mod_CFLAGS): Likewise.
39378 (datetime_mod_LDFLAGS): Likewise.
39379 (date_mod_SOURCES): Likewise.
39380 (date_mod_CFLAGS): Likewise.
39381 (date_mod_LDFLAGS): Likewise.
39382 (datehook_mod_SOURCES): Likewise.
39383 (datehook_mod_CFLAGS): Likewise.
39384 (datehook_mod_LDFLAGS): Likewise.
39385
39386 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
39387
39388 * commands/date.c: New file.
39389
39390 * hook/datehook.c: Likewise.
39391
39392 * include/grub/lib/datetime.h: Likewise.
39393
39394 * include/grub/i386/cmos.h: Likewise.
39395
39396 * lib/datetime.c: Likewise.
39397
39398 * lib/i386/datetime.c: Likewise.
39399
39400 * lib/efi/datetime.c: Likewise.
39401
0e9242da 394022008-08-14 Robert Millan <rmh@aybabtu.com>
39403
39404 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
39405 (grub_mkelfimage_SOURCES): New variable.
39406 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
39407
39408 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
39409 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
39410 * conf/powerpc-ieee1275.rmk: Likewise.
39411 * conf/i386-ieee1275.rmk: Likewise.
39412
39413 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
39414 * kern/i386/coreboot/init.c: Likewise.
39415
39416 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
39417 with `<grub/cpu/kernel.h>'.
39418 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
39419 to ...
39420 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
39421 * kern/i386/coreboot/startup.S: Likewise.
39422
39423 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
39424 (GRUB_MOD_GAP): Remove.
39425 * include/grub/powerpc/kernel.h: New file.
39426 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
39427 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39428 * include/grub/i386/kernel.h: New file.
39429 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
39430 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
39431 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39432
39433 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
39434 `grub-mkelfimage'.
39435 Use --directory when invoking grub_mkimage.
39436
39437 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
39438 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
39439 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
39440 and GRUB_KERNEL_CPU_PREFIX.
39441
b86408f8 394422008-08-14 Felix Zielcke <fzielcke@z-51.de>
39443
d5e619ca 39444 * include/grub/err.h (grub_err_printf): New function prototype.
39445 * util/misc.c (grub_err_printf): New function.
39446 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
39447 grub_printf.
39448 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 39449
7161f0e0 394502008-08-13 Robert Millan <rmh@aybabtu.com>
39451
39452 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
39453
a1967522 394542008-08-13 Robert Millan <rmh@aybabtu.com>
39455
39456 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
39457 boot entry.
39458
371458b5 394592008-08-12 Robert Millan <rmh@aybabtu.com>
39460
39461 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
39462 of the relocation code from here ...
39463 (grub_multiboot): ... to here.
39464 (forward_relocator, backward_relocator): Move from here ...
39465 * kern/i386/loader.S (grub_multiboot_forward_relocator)
39466 (grub_multiboot_backward_relocator): ... to here.
39467 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
39468 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
39469 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
39470 (grub_multiboot_forward_relocator_end)
39471 (grub_multiboot_backward_relocator)
39472 (grub_multiboot_backward_relocator_end): New variables.
39473
05f9452b 394742008-08-12 Bean <bean123ch@gmail.com>
39475
39476 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
39477
20024ab0 394782008-08-11 Robert Millan <rmh@aybabtu.com>
39479
39480 * kern/i386/linuxbios/startup.S: Move from here ...
39481 * kern/i386/coreboot/startup.S: ... to here.
39482
39483 * kern/i386/linuxbios/init.c: Move from here ...
39484 * kern/i386/coreboot/init.c: ... to here.
39485
39486 * kern/i386/linuxbios/table.c: Move from here ...
39487 * kern/i386/coreboot/mmap.c: ... to here.
39488
39489 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
39490
e352e9cd 394912008-08-11 Robert Millan <rmh@aybabtu.com>
39492
39493 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
39494 errors. Leave it to the upper layer to handle them.
39495
2d05bc6a 394962008-08-09 Christian Franke <franke@computer.org>
39497
39498 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
39499 * conf/common.rmk: Install `grub-pe2elf' only if requested.
39500 Install `grub.d/10_windows' only on Cygwin.
39501 * configure.ac: Add subst of `target_os'.
39502 Check `target_os' also before setting TARGET_OBJ2ELF.
39503 Add `--enable-grub-pe2elf'.
39504
042bd419 395052008-08-08 Robert Millan <rmh@aybabtu.com>
39506
39507 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39508 (grub_last_time): Change type to grub_uint64_t.
39509 (grub_disk_open): Migrate code from to using grub_get_time_ms().
39510 (grub_disk_close): Likewise.
39511
39512 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39513 (run_menu): Migrate code from to using grub_get_time_ms().
39514
39515 * util/misc.c (grub_get_time_ms): New function.
39516
7f280db5 395172008-08-08 Marco Gerards <marco@gnu.org>
39518
39519 * disk/ata.c (grub_ata_regget): Change return type to
39520 `grub_uint8_t'.
39521 (grub_ata_regget2): Likewise.
39522 (grub_ata_wait_status): New function.
39523 (grub_ata_wait_busy): Removed function, updated all users to use
39524 `grub_ata_wait_status'.
39525 (grub_ata_wait_drq): Likewise.
39526 (grub_ata_cmd): New function.
39527 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
39528 error handling.
39529 (grub_ata_pio_write): Add error handling.
39530 (grub_atapi_identify): Likewise.
39531 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
39532 handling.
39533 (grub_ata_identify): Use `grub_ata_cmd' and improve error
39534 handling. Actually use the detected registers. Reorder the
39535 detection logic such that it is easier to read.
39536 (grub_ata_pciinit): Do not assign the same ID to each controller.
39537 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
39538 handling.
39539 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
39540
39541 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
39542
1fbc5e66 395432008-08-08 Marco Gerards <marco@gnu.org>
39544
39545 * NEWS: Update.
39546
819ce6c0 395472008-08-07 Bean <bean123ch@gmail.com>
39548
39549 * include/grub/x86_64/pci.h: New file.
39550
5c41d44d 395512008-08-07 Christian Franke <franke@computer.org>
39552
39553 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
39554 (TIMER2_GATE): Likewise.
39555 (grub_pit_wait): Add enable/disable of the timer2 gate
39556 bit of port 0x61. This fixes a possible infinite loop.
39557
5ebc275d 395582008-08-07 Bean <bean123ch@gmail.com>
39559
39560 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
39561 kern/i386/tsc.c and kern/i386/pit.c.
39562
39563 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
39564 x86_64 platform.
39565
39566 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
39567 <grub/i386/tsc.h>.
39568
39569 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
39570
e383b3d0 395712008-08-07 Bean <bean123ch@gmail.com>
39572
39573 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
39574
39575 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
39576
39577 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
39578 multiple inclusion. Add #include <grub/types.h>.
39579
1cbb58ac 395802008-08-06 Christian Franke <franke@computer.org>
39581
39582 * conf/common.rmk: Build and install `10_windows'.
39583 * util/grub.d/10_windows.in: New script.
39584
337f5a1e 395852008-08-06 Pavel Roskin <proski@gnu.org>
39586
39587 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
39588
057bc4ac 395892008-08-06 Robert Millan <rmh@aybabtu.com>
39590
39591 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
39592 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
39593
2b99f123 395942008-08-06 Bean <bean123ch@gmail.com>
39595
39596 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
39597 (grub_pxefs_fs_int): Remove dummy definition.
39598 (grub_pxefs_open): Use data->block_size to store the current block
39599 size setting.
39600 (grub_pxefs_read): Use block size stored in data->block_size. As the
39601 value of grub_pxe_blksize can be changed after the file is opened.
39602
9f0234cb 396032008-08-06 Bean <bean123ch@gmail.com>
39604
39605 * fs/i386/pc/pxe.c (curr_file): new variable.
39606 (grub_pxefs_open): Simply the handling of pxe file system. Don't
39607 require the dummy internal file system anymore.
39608 (grub_pxefs_read): Removed.
39609 (grub_pxefs_close): Likewise.
39610 (grub_pxefs_fs_int): Likewise.
39611 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
39612 connection when we switch file.
39613 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
39614
a55d42e0 396152008-08-06 Robert Millan <rmh@aybabtu.com>
39616
39617 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
39618 `halt.mod'.
39619 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
39620 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
39621
39622 * kern/i386/halt.c: New file.
39623 * kern/i386/reboot.c: Likewise.
39624 * include/grub/i386/reboot.h: Likewise.
39625 * include/grub/i386/halt.h: Likewise.
39626
39627 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
39628 Include `<grub/cpu/halt.h>'.
39629 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
39630 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
39631
39632 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
39633 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
39634 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
39635 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
39636 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
39637 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
39638 from here ...
39639 * include/grub/i386/at_keyboard.h: ... to here.
39640
24371d26 396412008-08-05 Robert Millan <rmh@aybabtu.com>
39642
39643 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
39644 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
39645 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
39646 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39647 `kern/generic/millisleep.c'.
39648
39649 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
39650 instead of grub_get_rtc().
39651 (grub_tsc_init): Initialize `tsc_boot_time'.
39652
39653 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
39654 (grub_machine_init): Use grub_tsc_init() rather than
39655 installing an RTC-based handler via grub_install_get_time_ms().
39656
39657 * kern/i386/pit.c: New file.
39658 * include/grub/i386/pit.h: Likewise.
39659
9e7007b3 396602008-08-05 Bean <bean123ch@gmail.com>
39661
39662 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
39663
39664 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
39665 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
39666 (pxe_mod_SOURCES): New macro.
39667 (pxe_mod_CFLAGS): Likewise.
39668 (pxe_mod_LDFLAGS): Likewise.
39669 (pxecmd_mod_SOURCES): Likewise.
39670 (pxecmd_mod_CFLAGS): Likewise.
39671 (pxecmd_mod_LDFLAGS): Likewise.
39672
39673 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
39674 (grub_pxe_call): Likewise.
39675
39676 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
39677
39678 * commands/i386/pc/pxecmd.c: New file.
39679
9f0234cb 39680 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 39681
39682 * include/grub/i386/pc/pxe.h: Likewise.
39683
6977d49f 396842008-08-05 Bean <bean123ch@gmail.com>
39685
39686 * util/console.c (grub_console_cur_color): New variable.
39687 (grub_console_standard_color): Likewise.
39688 (grub_console_normal_color): Likewise.
39689 (grub_console_highlight_color): Likewise.
39690 (color_map): Likewise.
39691 (use_color): Likewise.
39692 (NUM_COLORS): New macro.
39693 (grub_ncurses_setcolorstate): Handle color properly.
39694 (grub_ncurses_setcolor): Don't change color here, just remember the
39695 settings, color will be set in grub_ncurses_setcolorstate.
39696 (grub_ncurses_getcolor): New function.
39697 (grub_ncurses_init): Initialize color pairs.
39698 (grub_ncurses_term): New member grub_ncurses_getcolor.
39699
9c2ff3ee 397002008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 39701
9c2ff3ee 39702 High resolution timer support. Implemented for x86 CPUs using TSC.
39703 Extracted generic grub_millisleep() so it's linked in only as needed.
39704 This requires a Pentium compatible CPU; if the RDTSC instruction is
39705 not supported, then it falls back on the generic grub_get_time_ms()
39706 implementation that uses the machine's RTC.
39707
39708 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
39709 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39710 `kern/generic/millisleep.c'.
39711
39712 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
39713 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
39714
39715 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
39716 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
39717
39718 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39719
39720 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39721 `kern/generic/millisleep.c'.
39722
39723 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39724
39725 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
39726
39727 * kern/generic/rtc_get_time_ms.c: New file.
39728
39729 * kern/generic/millisleep.c: New file.
337f5a1e 39730
9c2ff3ee 39731 * kern/misc.c: Don't include
39732 <kern/time.h> anymore.
39733 (grub_millisleep_generic): Removed.
39734
39735 * commands/sleep.c (grub_interruptible_millisleep): Uses
39736 grub_get_time_ms() instead of grub_get_rtc().
39737
39738 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
39739 function.
39740 (grub_cpu_is_cpuid_supported): New inline function.
39741 (grub_cpu_is_tsc_supported): New inline function.
39742 (grub_tsc_init): New function prototype.
39743 (grub_tsc_get_time_ms): New function prototype.
39744
39745 * kern/i386/tsc.c (grub_get_time_ms): New file.
39746
39747 * include/grub/time.h: Include <grub/types.h.
39748 (grub_millisleep_generic): Removed.
39749 (grub_get_time_ms): New prototype.
39750 (grub_install_get_time_ms): New prototype.
39751 (grub_rtc_get_time_ms): New prototype.
39752
39753 * kern/time.c (grub_get_time_ms): New function.
39754 (grub_install_get_time_ms): New function.
39755
39756 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
39757 <grub/time.h> anymore.
39758 (grub_millisleep): Removed.
39759 (grub_machine_init): Call grub_tsc_init.
39760
39761 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
39762 get_time_ms() implementation.
39763
39764 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
39765 (ieee1275_get_time_ms): New function.
39766 (grub_machine_init): Install get_time_ms() implementation.
39767
39768 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
39769 (grub_machine_init): Call grub_tsc_init().
39770 (grub_millisleep): Removed.
bf06a93f 39771
9c2ff3ee 39772 * kern/ieee1275/init.c (grub_millisleep): Removed.
39773 (grub_machine_init): Install ieee1275_get_time_ms()
39774 implementation.
39775 (ieee1275_get_time_ms): New function.
39776 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
39777 real work.
39778
9ec92aaf 397792008-08-05 Marco Gerards <marco@gnu.org>
39780
39781 * disk/ata.c: Include <grub/pci.h>.
39782 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
39783 (grub_ata_initialize): Rewritten.
39784 (grub_ata_device_initialize): New function.
39785
8d23f507 397862008-08-04 Pavel Roskin <proski@gnu.org>
39787
39788 * kern/main.c: Include grub/mm.h.
39789
5e15ee3d 397902008-08-04 Robert Millan <rmh@aybabtu.com>
39791
39792 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
39793 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
39794 corruption problem).
39795
a9053f8f 397962008-08-04 Robert Millan <rmh@aybabtu.com>
39797
39798 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
39799 warnings introduced in my last commit.
39800
dd19c7d7 398012008-08-03 Robert Millan <rmh@aybabtu.com>
39802
39803 Make PCI available on all i386 architectures.
39804
39805 * include/grub/i386/pc/pci.h: Move from here ...
39806 * include/grub/i386/pci.h: ... to here.
39807
39808 * include/grub/i386/pc/pci.h: Remove.
39809 * include/grub/i386/efi/pci.h: Remove.
39810 * include/grub/x86_64/efi/pci.h: Remove.
39811
39812 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
39813 `<grub/cpu/pci.h>'.
39814
39815 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
39816 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
39817 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
39818
39819 * conf/i386-ieee1275.rmk: Likewise.
39820
e14a6184 398212008-08-03 Robert Millan <rmh@aybabtu.com>
39822
39823 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
39824 (grub_console_setcursor): Make it possible to set cursor off.
39825
52768e37 398262008-08-03 Robert Millan <rmh@aybabtu.com>
39827
39828 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
39829 of modules instead of assuming which platform provides what.
39830 * util/update-grub.in: Likewise.
39831
2d52f57f 398322008-08-03 Robert Millan <rmh@aybabtu.com>
39833
39834 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
39835 instead of `grub_install_dos_part' to determine whether a drive needs
39836 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 39837 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 39838
2a5cd121 398392008-08-02 Robert Millan <rmh@aybabtu.com>
39840
39841 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
39842
93808428 398432008-08-02 Robert Millan <rmh@aybabtu.com>
39844
39845 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
39846 of informational grub_dprintf() calls.
39847
3bd0a12a 398482008-08-02 Robert Millan <rmh@aybabtu.com>
39849
39850 * disk/memdisk.c (memdisk_size): Don't initialize.
39851 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
39852
39853 * include/grub/i386/pc/kernel.h
39854 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
39855 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
39856 (grub_memdisk_image_size, grub_arch_memdisk_addr)
39857 (grub_arch_memdisk_size): Remove.
39858
39859 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
39860 field (was only used to transfer a constant). Add `type' field to
39861 support multiple module types.
39862 (grub_module_iterate): New function.
39863
39864 * kern/device.c (grub_device_open): Do not hide error messages
39865 when grub_disk_open() fails. Use grub_print_error() instead.
39866
39867 * kern/i386/pc/init.c (grub_arch_modules_addr)
39868 (grub_arch_memdisk_size): Remove functions.
39869 (grub_arch_modules_addr): Return the module address in high memory
39870 (now that it isn't copied anymore).
39871
39872 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
39873 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
39874 decompression routine (grub_total_module_size already includes that
39875 now). Don't copy modules back to low memory.
39876
39877 * kern/main.c: Include `<grub/mm.h>'.
39878 (grub_load_modules): Split out (and use) ...
39879 (grub_module_iterate): ... this function, which iterates through
39880 module objects and runs a hook.
39881 Comment out grub_mm_init_region() call, as it would cause non-ELF
39882 modules to be overwritten.
39883
39884 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
39885 the memdisk image in its own region, make it part of the module list.
39886 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
39887 (main): Parse --memdisk|-m option, and pass user-provided path as
39888 parameter to generate_image().
39889 (add_segments): Pass `memdisk_path' down to load_modules().
39890 (load_modules): Embed memdisk image in module section when requested.
39891 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
39892 `header.type' instead of `header.offset'.
39893
39894 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
39895 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
39896 (memdisk_mod_LDFLAGS): New variables.
39897 * conf/i386-coreboot.rmk: Likewise.
39898 * conf/i386-ieee1275.rmk: Likewise.
39899
a927cc73 399002008-08-02 Robert Millan <rmh@aybabtu.com>
39901
39902 * loader/i386/pc/multiboot.c (playground, forward_relocator)
39903 (backward_relocator): New variables. Used to allocate and relocate
39904 the payload, respectively.
39905 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 39906 address, install the appropriate relocator code in each bound of
a927cc73 39907 the payload, and set the entry point such that
39908 grub_multiboot_real_boot() will jump to one of them.
39909
39910 * kern/i386/loader.S (grub_multiboot_payload_size)
39911 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39912 (grub_multiboot_payload_entry_offset): New variables.
39913 (grub_multiboot_real_boot): Set cpu context to what the relocator
39914 expects, and jump to the relocator instead of the payload.
39915
39916 * include/grub/i386/loader.h (grub_multiboot_payload_size)
39917 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39918 (grub_multiboot_payload_entry_offset): Export.
39919
b15d8a0c 399202008-08-01 Bean <bean123ch@gmail.com>
39921
39922 * normal/menu_entry.c (editor_getline): Don't return the original
39923 string as result, as it will be released by lexer once it has done
39924 using it.
39925
cdfb3d22 399262008-08-01 Robert Millan <rmh@aybabtu.com>
39927
39928 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
39929 within menuentries, not before them.
39930 util/grub.d/10_hurd.in: Likewise.
39931
9175e93d 399322008-08-01 Bean <bean123ch@gmail.com>
39933
39934 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
39935 (bufio_mod_SOURCES): New macro.
39936 (bufio_mod_CFLAGS): Likewise.
39937 (bufio_mod_LDFLAGS): Likewise.
39938
39939 * include/grub/bufio.h: New file.
39940
39941 * io/bufio.c: Likewise.
39942
39943 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
39944 (grub_video_reader_png): Use grub_buffile_open to open file.
39945
39946 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
39947 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
39948
39949 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
39950 (grub_video_reader_tga): Use grub_buffile_open to open file.
39951
39952 * font/manager.c: Include <grub/bufio.h>.
39953 (add_font): Use grub_buffile_open to open file.
39954
3d8383e7 399552008-07-31 Robert Millan <rmh@aybabtu.com>
39956
39957 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
39958 ELF segments, use a macro for arbitrarily accessing any of them instead
39959 of preparing a pointer that allows access to one at a time.
39960 (grub_multiboot_load_elf64): Likewise.
39961
16e641b6 399622008-07-31 Bean <bean123ch@gmail.com>
39963
39964 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
39965 GRUB_KERNEL_MACHINE_DATA_END.
39966
59198b72 399672008-07-30 Robert Millan <rmh@aybabtu.com>
39968
39969 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
39970 Increase from 0x50 to 0x60.
39971 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
39972 use UUIDs to identify the root drive for them. If that's not
39973 possible, abort.
39974 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
39975 check, for cross-disk installs.
39976
ae88bca3 399772008-07-30 Robert Millan <rmh@aybabtu.com>
39978
39979 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
39980 is non-empty, use it to set the `prefix' environment variable instead
39981 of the usual approach.
39982 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
39983 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
39984 environment variable instead of dummy make_install_device().
39985
39986 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
39987 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 39988 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 39989
39990 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
39991 New variable reference.
39992 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
39993 New macro. Defines offset of `grub_prefix' within startup.S (relative
39994 to `start').
39995 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
39996 section within startup.S (relative to `start').
39997 * include/grub/i386/coreboot/kernel.h: Likewise.
39998
39999 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
40000 Overwrite grub_prefix with its contents, at the beginning of the
40001 first segment.
40002 (main): Understand -p|--prefix.
40003
14f41dd1 400042008-07-30 Robert Millan <rmh@aybabtu.com>
40005
40006 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
40007
4ca049a3 400082008-07-30 Robert Millan <rmh@aybabtu.com>
40009
40010 * term/i386/pc/vga_text.c (grub_console_cls): Use
40011 grub_console_gotoxy() to go back to beginning of the screen.
40012 Found by Patrick Georgi <patrick.georgi@coresystems.de>
40013
2921d337 400142008-07-29 Christian Franke <franke@computer.org>
40015
40016 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
40017 Add conversion of emulated mount points on Cygwin.
40018
b609876d 400192008-07-29 Christian Franke <franke@computer.org>
40020
40021 * util/update-grub.in: Add a check for admin
40022 group on Cygwin.
40023 Remove old `grub.cfg.new' before creation.
40024 Add `-f' to `mv' to handle the different filesystem
40025 semantics of Windows.
40026
e93e4679 400272008-07-29 Bean <bean123ch@gmail.com>
40028
40029 * normal/main.c (get_line): Fix buffer overflow bug.
40030
41694fd0 400312008-07-28 Robert Millan <rmh@aybabtu.com>
40032
40033 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
40034 (struct grub_apple_header): New struct. Describes the layout of
40035 the partmap header.
40036 (apple_partition_map_iterate): Check the header magic as well as the
40037 partition magic (which was already being checked).
40038
cfd0b4e6 400392008-07-28 Pavel Roskin <proski@gnu.org>
40040
40041 * genmk.rb: Add a warning to the beginning of the output that
40042 it's a generated file and should not be edited.
40043
93cce016 400442008-07-28 Robert Millan <rmh@aybabtu.com>
40045
40046 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
40047 with the same number are found, just use issue a warning with
40048 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 40049
cd1df915 400502008-07-27 Robert Millan <rmh@aybabtu.com>
40051
40052 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
40053 information.
40054
b70a8427 400552008-07-27 Bean <bean123ch@gmail.com>
40056
40057 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
40058 (grub_fat_find_dir): Ignore case when comparing filename.
40059
8f5e379f 400602008-07-27 Bean <bean123ch@gmail.com>
40061
40062 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
40063 smallino, as it's more descriptive, and i8count can be confused with
40064 the other field count.
40065 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
40066 inode type.
40067
a85cd5a0 400682008-07-27 Bean <bean123ch@gmail.com>
40069
40070 * commands/crc.c: New file.
40071
40072 * lib/crc.c: Likewise.
40073
40074 * include/grub/lib/crc.h: Likewise.
40075
40076 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
40077
40078 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
40079 (hexdump): Move this function to ...
40080
40081 * lib/hexdump.c: ... here.
40082
40083 * include/grub/hexdump.h: Renamed to ...
40084
40085 * include/grub/lib/hexdump.h: ... this.
40086
40087 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
40088
40089 * util/grub-editenv.c: Likewise.
40090
40091 * include/envblk.h: Renamed to ...
40092
40093 * include/lib/envblk.h: ... this.
40094
40095 * util/envblk.c: Renamed to ...
40096
40097 * lib/envblk.c: ... this.
40098
40099 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
40100 lib/hexdump.c.
40101 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
40102 (pkglib_MODULES): Add crc.mod.
40103 (hexdump_mod_SOURCES): Add lib/hexdump.c.
40104 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
40105 (crc_mod_SOURCES): New macro.
40106 (crc_mod_CFLAGS): Likewise.
40107 (crc_mod_LDFLAGS): Likewise.
40108
40109 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
40110
40111 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40112
40113 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40114
40115 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40116
40117 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40118
c298def0 401192008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 40120
40121 * commands/help.c: Include <grub/term.h>.
40122 (TERM_WIDTH): Removed. Updated all users.
40123
cc349fb3 401242008-07-27 Pavel Roskin <proski@gnu.org>
40125
40126 * util/getroot.c (find_root_device): Rephrase a comment to avoid
40127 spurious warnings about a comment within a comment.
40128
9051607e 401292008-07-25 Robert Millan <rmh@aybabtu.com>
40130
40131 * util/getroot.c (find_root_device): Skip devices that match
40132 /dev/dm-[0-9]. This lets the real device be found for any type of
40133 abstraction (LVM, EVMS, RAID..).
40134 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
40135 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
40136 device is found first, find_root_device() will now skip it.
40137
01453bfc 401382008-07-24 Pavel Roskin <proski@gnu.org>
40139
40140 * include/grub/types.h: Use __builtin_bswap32() and
40141 __builtin_bswap64() with gcc 4.3 and newer.
40142
6af9849f 401432008-07-24 Christian Franke <franke@computer.org>
40144
3a0fa256 40145 * util/i386/pc/grub-install.in: If `--debug' is specified,
40146 pass `--verbose' to grub-setup.
40147 Abort script if make_system_path_relative_to_its_root() fails.
40148
7810e747 401492008-07-24 Bean <bean123ch@gmail.com>
40150
40151 * configure.ac: Fixed a bug caused by the previous cygwin patch,
40152 variable `target_platform' should be `platform'.
40153
42290e17 401542008-07-24 Bean <bean123ch@gmail.com>
40155
51cc5193 40156 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 40157 (grub_png_init_fixed_block): New function.
40158 (grub_png_decode_image_data): Handle fixed huffman code compression.
40159
2a8a80e4 401602008-07-24 Bean <bean123ch@gmail.com>
40161
40162 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
40163 (grub_pe2elf_SOURCES): New macro.
40164 (CLEANFILES): Add grub-pe2elf.
40165
40166 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
40167 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
40168 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
40169 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
40170 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
40171 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
40172 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
40173 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
40174 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
40175 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
40176 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
40177 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
40178 (GRUB_PE32_DT_FUNCTION): Likewise.
40179 (GRUB_PE32_REL_I386_DIR32): Likewise.
40180 (GRUB_PE32_REL_I386_REL32): Likewise.
40181 (grub_pe32_symbol): New structure.
40182 (grub_pe32_reloc): Likewise.
40183
40184 * util/grub-pe2elf.c: New file.
40185
40186 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
40187 start symbol in non pc platform.
40188
40189 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
40190
40191 The following patches are from Christian Franke.
40192
40193 * include/grub/dl.h: Remove .previous, gas supports this only
40194 for ELF format.
40195
40196 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
40197 Remove .type, gas supports this only for ELF format.
40198
40199 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
40200 nullbytes in symbol table. This fixes an infinite loop if table is
40201 zero filled.
40202
40203 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
40204 TARGET_IMG_LDFLAGS and EXEEXT.
40205
40206 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
40207 TARGET_IMG_LDFLAGS_AC.
40208 (grub_CHECK_STACK_ARG_PROBE): New function.
40209
40210 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
40211
40212 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
40213
40214 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
40215 to set TARGET_IMG_LD* accordingly.
40216 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
40217 Add call to grub_CHECK_STACK_ARG_PROBE.
40218 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
40219
40220 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
40221
40222 * genmk.rb: Add EXEEXT to CLEANFILES.
40223
12ccdb75 402242008-07-23 Robert Millan <rmh@aybabtu.com>
40225
40226 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
40227 define the codes for arrows and lines used for the menu).
40228 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
40229 as well.
40230
40231 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
40232 fonts, because the latter are too slow.
40233
18eeaf04 402342008-07-21 Bean <bean123ch@gmail.com>
40235
40236 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
40237 a20. Run keyboard test last, as it will cause macbook to halt.
40238
b095e2ad 402392008-07-18 Pavel Roskin <proski@gnu.org>
40240
40241 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
40242 load foreign architecture modules correctly anyway. Keep
40243 support for loading host architecture modules, whether we
40244 compile them or not.
40245
737feb35 402462008-07-17 Pavel Roskin <proski@gnu.org>
40247
3f4ce737 40248 * configure.ac: Use -m32 or -m64 regardless of whether we had to
40249 change target_cpu. The compiler default can mismatch target_cpu
40250 in any case.
40251
4ad2d049 40252 * disk/efi/efidisk.c: Fix format warnings on x86_64.
40253 * kern/efi/efi.c: Likewise.
40254
f6130a12 40255 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
40256 target compiler is functional.
40257 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
40258 are set up.
40259
58393a2d 40260 * configure.ac: Default to efi platform for x86_64-apple. Allow
40261 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
40262 adjustments from the rest, only do them if target is not
40263 explicitly given. Merge other adjustments with the final sanity
40264 check. Remove an extraneous check for supported CPU. Be
40265 specific which CPU and which platform is not supported.
40266
737feb35 40267 * configure.ac: Default to pc platform for x86_64.
40268
546f966a 402692008-07-17 Robert Millan <rmh@aybabtu.com>
40270
40271 Partial LinuxBIOS -> Coreboot rename.
40272
40273 * conf/i386-linuxbios.rmk: Renamed to ...
40274 * conf/i386-coreboot.rmk: ... this.
40275 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
40276 * configure.ac: Accept "coreboot" as input platform (but maintain
40277 compatibility with "linuxbios").
40278 * include/grub/i386/linuxbios: Renamed to ...
40279 * include/grub/i386/coreboot: ... this.
40280
20011694 402812008-07-17 Bean <bean123ch@gmail.com>
40282
40283 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 40284 (appleldr_mod_SOURCE): New variable.
20011694 40285 (appleldr_mod_CFLAGS): Likewise.
40286 (appleldr_mod_LDFLAGS): Likewise.
40287 (pci_mod_SOURCES): Likewise.
40288 (pci_mod_CFLAGS): Likewise.
40289 (pci_mod_LDFLAGS): Likewise.
40290 (lspci_mod_SOURCES): Likewise.
40291 (lspci_mod_CFLAGS): Likewise.
40292 (lspci_mod_LDFLAGS): Likewise.
40293
40294 * conf/x86_64-efi.rmk: New file.
40295
40296 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
40297 macro.
40298 (grub_efidisk_write): Likewise.
40299
40300 * include/efi/api.h (efi_call_0): New macro.
40301 (efi_call_1): Likewise.
40302 (efi_call_2): Likewise.
40303 (efi_call_3): Likewise.
40304 (efi_call_4): Likewise.
40305 (efi_call_5): Likewise.
40306 (efi_call_6): Likewise.
40307
40308 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
40309 grub_rescue_cmd_chainloader.
40310
40311 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
40312 (grub_pe32_optional_header): Change some fields based on i386 or
40313 x86_64 platform.
40314 (GRUB_PE32_PE32_MAGIC): Likewise.
40315
40316 * include/grub/efi/uga_draw.h: New file.
40317
40318 * include/grub/elf.h (STN_ABS): New constant.
40319 (R_X86_64_NONE): Relocation constant for x86_64.
40320 (R_X86_64_64): Likewise.
40321 (R_X86_64_PC32): Likewise.
40322 (R_X86_64_GOT32): Likewise.
40323 (R_X86_64_PLT32): Likewise.
40324 (R_X86_64_COPY): Likewise.
40325 (R_X86_64_GLOB_DAT): Likewise.
40326 (R_X86_64_JUMP_SLOT): Likewise.
40327 (R_X86_64_RELATIVE): Likewise.
40328 (R_X86_64_GOTPCREL): Likewise.
40329 (R_X86_64_32): Likewise.
40330 (R_X86_64_32S): Likewise.
40331 (R_X86_64_16): Likewise.
40332 (R_X86_64_PC16): Likewise.
40333 (R_X86_64_8): Likewise.
40334 (R_X86_64_PC8): Likewise.
40335
40336 * include/grub/i386/efi/pci.h: New file.
40337
40338 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
40339 Change it value based on platform.
40340 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
40341 (GRUB_E820_RAM): Likewise.
40342 (GRUB_E820_RESERVED): Likewise.
40343 (GRUB_E820_ACPI): Likewise.
40344 (GRUB_E820_NVS): Likewise.
40345 (GRUB_E820_EXEC_CODE): Likewise.
40346 (GRUB_E820_MAX_ENTRY): Likewise.
40347 (grub_e820_mmap): New structure.
40348 (linux_kernel_header): Change the efi field according to different
40349 kernel version, also field from linux_kernel_header.
40350
40351 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
40352
40353 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
40354 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
40355 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
40356 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
40357 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
40358 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
40359 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
40360 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
40361 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
40362 (GRUB_PCI_ADDR_IO_MASK): Likewise.
40363
40364 * include/grub/x86_64/efi/kernel.h: New file.
40365
40366 * include/grub/x86_64/efi/loader.h: Likewise.
40367
40368 * include/grub/x86_64/efi/machine.h: Likewise.
40369
40370 * include/grub/x86_64/efi/pci.h: Likewise.
40371
40372 * include/grub/x86_64/efi/time.h: Likewise.
40373
40374 * include/grub/x86_64/linux.h: Likewise.
40375
40376 * include/grub/x86_64/setjmp.h: Likewise.
40377
40378 * include/grub/x86_64/time.h: Likewise.
40379
40380 * include/grub/x86_64/types.h: Likewise.
40381
40382 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
40383 GRUB_TARGET_SIZEOF_VOID_P.
40384
40385 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
40386 (grub_efi_locate_handle): Likewise.
40387 (grub_efi_open_protocol): Likewise.
40388 (grub_efi_set_text_mode): Likewise.
40389 (grub_efi_stall): Likewise.
40390 (grub_exit): Likewise.
40391 (grub_reboot): Likewise.
40392 (grub_halt): Likewise.
40393 (grub_efi_exit_boot_services): Likewise.
40394 (grub_get_rtc): Likewise.
40395
40396 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
40397 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
40398 (grub_efi_allocate_pages): Wrap efi calls.
40399 (grub_efi_free_pages): Wrap efi calls.
40400 (grub_efi_get_memory_map): Wrap efi calls.
40401
40402 * kern/x86_64/dl.c: New file.
40403
40404 * kern/x86_64/efi/callwrap.S: Likewise.
40405
40406 * kern/x86_64/efi/startup.S: Likewise.
40407
40408 * loader/efi/appleloader.c: Likewise.
40409
40410 * loader/efi/chainloader.c (cmdline): New variable.
40411 (grub_chainloader_unload): Wrap efi calls.
40412 (grub_chainloader_boot): Likewise.
40413 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
40414 command line.
40415
40416 * loader/efi/chainloader_normal.c (chainloader_command):
40417 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
40418 command line.
40419
40420 * loader/i386/efi/linux.c (allocate_pages): Change allocation
40421 method.
40422 (grub_e820_add_region): New function.
40423 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
40424 booting.
40425 (grub_find_video_card): New function.
40426 (grub_linux_setup_video): New function.
40427 (grub_rescue_cmd_linux): Probe for video information.
40428
40429 * normal/x86_64/setjmp.S: New file.
40430
40431 * term/efi/console.c (map_char): New function.
40432 (grub_console_putchar): Map unicode char.
40433 (grub_console_checkkey): Wrap efi calls.
40434 (grub_console_getkey): Likewise.
40435 (grub_console_getwh): Likewise.
40436 (grub_console_gotoxy): Likewise.
40437 (grub_console_cls): Likewise.
40438 (grub_console_setcolorstate): Likewise.
40439 (grub_console_setcursor): Likewise.
40440
40441 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
40442
59652a20 404432008-07-16 Pavel Roskin <proski@gnu.org>
40444
ef294055 40445 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
40446 format strings.
40447
59652a20 40448 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
40449 pointer, not an integer. This fixes a warning and prevents
40450 precision loss on 64-bit systems.
40451 (relocate_addresses): Remove unneeded cast.
40452
afc3b5d7 404532008-07-15 Pavel Roskin <proski@gnu.org>
40454
506b2b3e 40455 * kern/i386/ieee1275/init.c: Include grub/cache.h.
40456
62ead89c 40457 * term/ieee1275/ofconsole.c: Disable code unused on i386.
40458
c4cd51d7 40459 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
40460 Fix comparison between signed and unsigned.
40461
0d3d8f28 40462 * include/grub/i386/ieee1275/console.h: Declare
40463 grub_console_init() and grub_console_fini().
40464
8804b286 40465 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
40466 It's empty and unused.
40467
ee01cf35 40468 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
40469 beginning to avoid warnings with some compilers.
40470
afc3b5d7 40471 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
40472 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
40473
e4e8eaa5 404742008-07-14 Pavel Roskin <proski@gnu.org>
40475
407aceb4 40476 * kern/env.c (grub_register_variable_hook): Don't copy empty
40477 string, it leaks memory. Pass "" to grub_env_set(), it should
40478 handle constant strings.
40479
e4e8eaa5 40480 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
40481 * commands/cmp.c (grub_cmd_cmp): Likewise.
40482 * kern/dl.c (grub_dl_flush_cache): Likewise.
40483 (grub_dl_load_core): Likewise.
40484 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
40485 (grub_elf64_load_phdrs): Likewise.
40486
d4e2dad3 404872008-07-13 Pavel Roskin <proski@gnu.org>
40488
40489 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
40490 between signed and unsigned.
40491 (LzmaEnc_Finish): Fix warning about an unused parameter.
40492
aa24b516 404932008-07-13 Bean <bean123ch@gmail.com>
40494
40495 * Makefile.in (enable_lzo): New rule.
40496
40497 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
40498
40499 * configure.ac (ENABLE_LZO): New option --enable-lzo.
40500
40501 * boot/i386/pc/lnxboot.S: #include <config.h>.
40502
40503 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 40504 its value according to the compression algorithm used, lzo or lzma.
aa24b516 40505
40506 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
40507 compression algorithm according to configure macro.
40508
40509 * kern/i386/pc/startup.S (codestart): Likewise.
40510
40511 * kern/i386/pc/lzma_decode.S: New file.
40512
40513 * include/grub/lib/LzFind.h: Likewise.
40514
40515 * include/grub/lib/LzHash.h: Likewise.
40516
40517 * include/grub/lib/LzmaDec.h: Likewise.
40518
40519 * include/grub/lib/LzmaEnc.h: Likewise.
40520
40521 * include/grub/lib/LzmaTypes.h: Likewise.
40522
40523 * lib/LzFind.c: Likewise.
40524
40525 * lib/LzmaDec.c: Likewise.
40526
40527 * lib/LzmaEnc.c: Likewise.
40528
4ae821ac 405292008-07-13 Bean <bean123ch@gmail.com>
40530
40531 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
40532 (grub_ext4_extent_header): New structure.
40533 (grub_ext4_extent): Likewise.
40534 (grub_ext4_extent_idx): Likewise.
40535 (grub_ext4_find_leaf): New function.
40536 (grub_ext2_read_block): Handle extents.
40537
9a745147 405382008-07-12 Robert Millan <rmh@aybabtu.com>
40539
40540 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
40541
d49a4cf6 405422008-07-11 Robert Millan <rmh@aybabtu.com>
40543
40544 * util/grub.d/40_custom.in: New file. Example on how to add custom
40545 entries to /etc/grub.d.
40546 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
40547 40_custom (implicitly, by merging all the grub.d rules).
40548
947414b4 405492008-07-11 Pavel Roskin <proski@gnu.org>
40550
0059cf6f 40551 * commands/read.c (grub_getline): Fix invalid memory access.
40552 Don't add newline to the variable value.
40553
947414b4 40554 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
40555 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
40556 (serial_hw_get_port): Check validity of the port number.
40557 (grub_cmd_serial): Check return value of serial_hw_get_port().
40558
62a02d00 405592008-07-07 Pavel Roskin <proski@gnu.org>
40560
40561 * boot/i386/pc/diskboot.S (notification_string): Replace
40562 "Loading kernel" with just "loading". This is shorter, less
40563 confusing and saves a few bytes for possible future changes.
40564
3e5581b0 405652008-07-05 Pavel Roskin <proski@gnu.org>
40566
ea387a48 40567 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
40568 size for ATAPI devices, they are undefined. Output sector
40569 number in decimal form.
40570
3e5581b0 40571 * disk/ata.c: Use named constants for status bits.
40572
fdecb8fd 405732008-07-04 Pavel Roskin <proski@gnu.org>
40574
bcd35b90 40575 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
40576 grub_addr_t before casting it to the void pointer to fix a
40577 warning. Non-addressable regions are discarded earlier.
40578 (grub_arch_modules_addr): Cast _end to grub_addr_t.
40579 * kern/i386/linuxbios/table.c: Include grub/misc.h.
40580 (check_signature): Don't shadow table_header.
40581 (grub_linuxbios_table_iterate): Cast numeric constants to
40582 grub_linuxbios_table_header_t.
40583 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
40584 grub_stop().
40585
af58ab3d 40586 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
40587 prevent warnings.
40588
1759aa57 40589 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
40590 pointer, which can cause warnings. Support 64-bit addresses.
40591
fdecb8fd 40592 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
40593 of sizeof(long). This fixes PowerPC image generation on x86_64.
40594
8516d2a8 405952008-07-04 Robert Millan <rmh@aybabtu.com>
40596
40597 This fixes a performance issue when pc & gpt partmap iterators
40598 didn't abort iteration even after our hook found what it was
fe987087 40599 looking for (often causing expensive probes of non-existent drives).
8516d2a8 40600
40601 Some callers relied on previous buggy behaviour, since they would
34c44600 40602 raise an error when their own hooks caused early abortion of its
8516d2a8 40603 iteration.
40604
40605 * kern/device.c (grub_device_open): Improve error message.
40606 * disk/lvm.c (grub_lvm_open): Likewise.
40607 * disk/raid.c (grub_raid_open): Likewise.
40608
40609 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
40610 when hook requests it, independently of grub_errno.
40611 (pc_partition_map_probe): Do not fail when find_func() caused
40612 early abortion of pc_partition_map_iterate().
40613
40614 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
40615 when hook requests it, independently of grub_errno.
40616 (gpt_partition_map_probe): Do not fail when find_func() caused
40617 early abortion of gpt_partition_map_iterate().
40618
40619 * kern/partition.c (grub_partition_iterate): Abort parent iteration
40620 when hook requests it, independently of grub_errno. Do not fail when
40621 part_map_iterate_hook() caused early abortion of p->iterate().
40622
40623 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
40624 when grub_partition_iterate() returned with non-zero.
40625
277d0de9 406262008-07-03 Pavel Roskin <proski@gnu.org>
40627
40628 * disk/ata.c (grub_ata_pio_write): Check status before writing,
40629 like we do in grub_ata_pio_read().
40630 (grub_ata_readwrite): Always write individual sectors. Fix the
40631 sector count for the remainder.
40632 (grub_ata_write): Enable writing to ATA devices. Correctly
40633 report error for ATAPI devices.
40634
d4c9b428 406352008-07-02 Pavel Roskin <proski@gnu.org>
40636
e43fc690 40637 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
40638 warning.
40639
f707af42 40640 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
40641 for every read sector, we already increment it for the whole
40642 batch. This fixes reading more than 256 sectors at once.
40643
11e16b15 40644 * util/grub-editenv.c (cmd_info): Cast argument to long
40645 explicitly. ptrdiff_t reduces to int on i386.
40646
cbabfdd4 40647 * util/grub-editenv.c (main): Be specific which parameter is
40648 missing.
40649
b8fbce0a 40650 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
40651 (memdisk): Make memdisk_orig_addr a pointer.
40652
c9c8e606 40653 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
40654 for file offsets, use grub_off_t instead. Fix printf format
40655 warnings.
40656
ca62e598 40657 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
40658 there. Real unexpected warnings should not drown in the noise
40659 about known problems.
40660
ce8d1766 40661 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
40662 grub_disk_addr_t for memory addresses.
40663
00c7a56a 40664 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
40665 explicitly to fix a warning.
40666
08d3ef09 40667 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
40668
cb71ba20 40669 * Makefile.in (MODULE_LDFLAGS): New variable.
40670 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
40671 the linker accepts --build-id=none.
40672 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
40673 MODULE_LDFLAGS.
40674 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
40675
d4c9b428 40676 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
40677 those in Linux XFS code. Provide a way to access 64-bit parent
40678 inode.
40679 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
40680 the end of struct grub_xfs_dir_header.
40681
d4156eee 406822008-07-02 Bean <bean123ch@gmail.com>
40683
40684 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
40685 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40686 and GRUB_IEEE1275_FLAG_NO_ANSI.
40687
40688 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
40689 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40690 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
40691
40692 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
40693 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
40694
40695 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
40696 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
40697
40698 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
40699 esc sequence on non ANSI terminal.
40700 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
40701
40702 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
40703 beginning of file.
40704
2270f77b 407052008-07-02 Bean <bean123ch@gmail.com>
40706
40707 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
40708 (grub_editenv_SOURCES): New variable.
40709 (pkglib_MODULES): Add loadenv.mod.
40710 (loadenv_mod_SOURCES): New variable.
40711 (loadenv_mod_CFLAGS): Likewise.
40712 (loadenv_mod_LDFLAGS): Likewise.
40713
40714 * include/grub/envblk.h: New file.
40715
40716 * util/envblk.c: New file.
40717
40718 * util/grub-editenv.c: New file.
40719
40720 * commands/loadenv.c: New file.
40721
0e9e51ec 407222008-07-01 Pavel Roskin <proski@gnu.org>
40723
d89b7634 40724 * include/multiboot2.h (struct multiboot_tag_module): Use char,
40725 not unsigned char. This fixes warnings and is consistent with
40726 other tags.
40727
bf1835b1 40728 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
40729
8222a04b 40730 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
40731
6a42d99d 40732 * term/tparm.c (analyze): Always set *popcount.
40733
10b159d1 40734 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
40735 cast to fix a warning.
40736
b8789f6c 40737 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
40738 cast to suppress a warning.
40739
29d7e38a 40740 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
40741 grub_fshelp_read_file() expects.
40742
f341f669 40743 * fs/fat.c: Fix UUID calculation on big-endian systems. We
40744 write uuid as a 32-bit value in CPU byte order, so declare and
40745 use it as such.
40746
0e9e51ec 40747 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
40748 long if the format specifier expects it.
40749 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
40750 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40751 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
40752 long to fix a warning.
40753 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
40754 grub_dprintf() arguments to fix warnings.
40755
3aefa857 407562008-06-30 Pavel Roskin <proski@gnu.org>
40757
56c7668b 40758 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
40759 install_bsd_part immediately before core.img is embedded or
40760 modified on disk. This fixes core.img verification if core.img
40761 cannot be embedded.
40762
3aefa857 40763 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
40764 core_path to calculate the blocklist.
40765 Patch from Javier Martín <lordhabbit@gmail.com>
40766
5444088d 407672008-06-29 Robert Millan <rmh@aybabtu.com>
40768
40769 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
40770 block to disk block.
40771 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
40772 Patch from Niels Böhm <bitbucket@arcor.de>
40773
674835c8 407742008-06-29 Robert Millan <rmh@aybabtu.com>
40775
40776 * util/update-grub_lib.in (font_path): Search for fonts in
40777 /boot/grub first, which is more likely to be readable (we aren't
40778 deciding where fonts live, just looking for them).
40779
f527dbc8 407802008-06-26 Pavel Roskin <proski@gnu.org>
40781
6c2d8df6 40782 * util/biosdisk.c (read_device_map): Don't leave dead map
40783 entries for devices failing stat() check.
40784
f527dbc8 40785 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
40786 core_path_dev for the core.img path on the target device.
40787
aebe3d13 407882008-06-26 Robert Millan <rmh@aybabtu.com>
40789
40790 * disk/fs_uuid.c: New file.
40791 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
40792 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
40793 (fs_uuid_mod_LDFLAGS): New variables.
40794 * include/grub/disk.h (grub_disk_dev_id): Add
40795 `GRUB_DISK_DEVICE_UUID_ID'.
40796 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
40797 implement iterate().
40798
37aaf354 407992008-06-26 Robert Millan <rmh@aybabtu.com>
40800
40801 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
40802 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
40803 Linux image includes no initrd.
40804
25ff262a 408052008-06-21 Javier Martín <lordhabbit@gmail.com>
40806
40807 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
40808 call to resolve the core image location that effectively appended the
40809 name twice.
40810
76a2bd44 408112008-06-21 Robert Millan <rmh@aybabtu.com>
40812
40813 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
40814 call from here ...
40815
40816 * util/grub.d/10_hurd.in: ... to here ...
40817 * util/grub.d/10_linux.in: ... and here.
40818
650e1c79 408192008-06-19 Robert Millan <rmh@aybabtu.com>
40820
fe987087 40821 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 40822 after it has been set by grub_machine_set_prefix().
40823
6ce63911 408242008-06-19 Robert Millan <rmh@aybabtu.com>
40825
40826 * commands/search.c (search_label, search_fs_uuid, search_file): Print
40827 search result when not saving to variable, not the other way around.
40828 When saving to variable, abort iteration as soon as a match is found.
40829
73940cec 408302008-06-19 Robert Millan <rmh@aybabtu.com>
40831
40832 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
40833 check for partition that provides /boot/grub. Its logic is flawed,
40834 as it prevents prepare_grub_to_access_device() from being called
40835 multiple times.
40836
3c62a39d 408372008-06-19 Robert Millan <rmh@aybabtu.com>
40838
40839 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
40840 "insmod" command directly when abstraction modules are needed,
fe987087 40841 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 40842 since it had already been processed).
40843
47395a42 408442008-06-19 Pavel Roskin <proski@gnu.org>
40845
40846 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
40847 changed. This is needed in case GRUB_LIBDIR changes.
40848 * conf/i386-ieee1275.rmk: Likewise.
40849 * conf/i386-linuxbios.rmk: Likewise.
40850 * conf/i386-pc.rmk: Likewise.
40851 * conf/powerpc-ieee1275.rmk: Likewise.
40852
a145ac2d 408532008-06-18 Pavel Roskin <proski@gnu.org>
40854
40855 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
40856 kernel_elf_symlist.c to symlist.c for consistency with other
40857 architectures. Update all users.
40858 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40859
7847c51e 408602008-06-18 Robert Millan <rmh@aybabtu.com>
40861
40862 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
40863 it in prefix.
40864
40865 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
40866 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
40867 a RAID device, run setup() for all members independently on whether
40868 LVM abstraction is being used.
40869 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
40870 If grub-mkimage has set `*install_dos_part == -2', don't override this
40871 value.
40872 Perform *install_dos_part adjustments independently on whether
40873 we're embedding or not.
40874 Clarify error message when image is too big for embedding.
40875 Remove duplicate *install_dos_part stanza.
40876
b23e5644 408772008-06-17 Robert Millan <rmh@aybabtu.com>
40878
40879 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
40880 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
40881 variables.
40882 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
40883 values in grub_ofconsole_normal_color and
40884 grub_ofconsole_highlight_color (they're not directly related to
40885 background and foreground).
40886 (grub_ofconsole_setcolorstate): Extract background and foreground
40887 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
40888
0aac2f79 408892008-06-17 Robert Millan <rmh@aybabtu.com>
40890
40891 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
40892 /boot/grub for the check in last commit, not /boot (they could be
40893 different partitions).
40894
3cca7ef3 408952008-06-16 Robert Millan <rmh@aybabtu.com>
40896
40897 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
40898 asked to setup access for the same partition that provides /boot,
40899 don't bother using UUIDs since our root already has the value we
40900 want.
40901
347396d8 409022008-06-16 Robert Millan <rmh@aybabtu.com>
40903
40904 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
40905 I2O devices.
40906 Patch from Sven Mueller <sven@debian.org>.
40907
991477f8 409082008-06-16 Robert Millan <rmh@aybabtu.com>
40909
40910 * util/update-grub.in: Check for $EUID instead of $UID.
40911 Reported by Vincent Zweije.
40912
d31a32a1 409132008-06-16 Bean <bean123ch@gmail.com>
40914
fe987087 40915 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 40916 (grub_ext2_read_block): Likewise.
40917 (grub_ext2_read_inode): Likewise.
40918 (grub_ext2_mount): Likewise.
40919 (grub_ext2_close): Likewise.
40920 (grub_ext3_get_journal): Removed.
40921
fe987087 40922 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 40923 (grub_reiserfs_read_symlink): Likewise.
40924 (grub_reiserfs_mount): Likewise.
40925 (grub_reiserfs_open): Likewise.
40926 (grub_reiserfs_read): Likewise.
40927 (grub_reiserfs_close): Likewise.
40928 (grub_reiserfs_get_journal): Removed.
40929
40930 * fs/fshelp.c (grub_fshelp_read): Removed.
40931 (grub_fshelp_map_block): Likewise.
40932
40933 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
40934 (grub_fshelp_journal): Likewise.
40935 (grub_fshelp_read): Likewise.
40936 (grub_fshelp_map_block): Likewise.
40937
3540a760 409382008-06-16 Pavel Roskin <proski@gnu.org>
40939
40940 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
40941 floating point anymore.
40942 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
40943
95614c84 409442008-06-15 Pavel Roskin <proski@gnu.org>
40945
40946 * commands/ls.c (grub_ls_list_files): Use integer calculations
40947 for human readable format, avoid floating point use.
40948 * kern/misc.c (grub_ftoa): Remove.
40949 (grub_vsprintf): Remove floating point support.
40950
50465dd6 409512008-06-15 Robert Millan <rmh@aybabtu.com>
40952
fe6b695a 40953 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 40954 devices.
40955 Reported by Max Vozeler.
40956
a9207284 409572008-06-15 Robert Millan <rmh@aybabtu.com>
40958
40959 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
40960 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
40961 skipped later.
40962 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
40963 the beginning of the prefix.
40964
40965 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
40966 It is assumed that if we have a memdisk, grub-mkimage has set
40967 grub_prefix to include the "(memdisk)" drive in it.
40968
a7cbd45a 409692008-06-15 Robert Millan <rmh@aybabtu.com>
40970
40971 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
40972 Initialize keyboard controller after registering the terminal, so that
40973 grub_printf() can be called from grub_keyboard_controller_init().
40974
21cf716a 409752008-06-15 Robert Millan <rmh@aybabtu.com>
40976
40977 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
40978 extent-btree which is written as big endian on disk.
40979 Reported by Alain Greppin <al@chilibi.org>.
40980
23a64d8e 409812008-06-14 Robert Millan <rmh@aybabtu.com>
40982
40983 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
40984 * util/i386/pc/grub-install.in (modules): Likewise.
40985
d687651c 409862008-06-13 Pavel Roskin <proski@gnu.org>
40987
40988 * commands/ls.c (grub_ls_list_files): Fix format warnings.
40989
dfe9ddd4 409902008-06-13 Bean <bean123ch@gmail.com>
40991
40992 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
40993
40994 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
40995
40996 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
40997 to indicate sparse block.
40998
16ae7781 409992008-06-12 Pavel Roskin <proski@gnu.org>
41000
e6d1a308 41001 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
41002 number, grub_fshelp_read() does it for us.
41003
16ae7781 41004 * fs/fshelp.c (grub_fshelp_read): New function. Implement
41005 linear disk read with journal translation.
41006 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
41007 * include/grub/fshelp.h: Declare grub_fshelp_read().
41008
40fd3a2b 410092008-06-09 Pavel Roskin <proski@gnu.org>
41010
41011 * fs/minix.c (grub_minix_mount): Handle error reading
41012 superblock.
41013
f5679726 410142008-06-08 Robert Millan <rmh@aybabtu.com>
41015
41016 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
41017 don't append the RAID prefix afterwards.
41018 Reported by Clint Adams.
41019
ce525529 410202008-06-08 Robert Millan <rmh@aybabtu.com>
41021
41022 Based on description from Pavel:
41023 * kern/disk.c (grub_disk_check_range): Rename to ...
41024 (grub_disk_adjust_range): ... this. Add a comment explaining the
41025 tasks performed by this function.
41026
ad4936a0 410272008-06-08 Robert Millan <rmh@aybabtu.com>
41028
41029 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
41030 `num_serial' (for consistency with other variables).
41031 (struct grub_ntfs_data): Add `uuid' member.
41032 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
41033 (grub_ntfs_uuid): New function.
41034 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
41035
dc20b0f9 410362008-06-07 Pavel Roskin <proski@gnu.org>
41037
41038 * util/biosdisk.c (open_device): Revert last change to the
41039 function, it broke installation. The sector needs to be
41040 different dependent on which device is opened.
41041
c5e3cfba 410422008-06-06 Robert Millan <rmh@aybabtu.com>
41043
41044 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
41045 rest of GRUB, and breakage doesn't happen if its value were modified.
41046
41047 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41048 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
41049 a constant (same value).
41050 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
41051 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
41052
26a1f8c4 410532008-06-06 Robert Millan <rmh@aybabtu.com>
41054
41055 * util/biosdisk.c (open_device): Do not modify sector offset when
41056 accessing a partition. kern/disk.c already handles this for us.
41057
25d6b327 410582008-06-06 Robert Millan <rmh@aybabtu.com>
41059
41060 * util/grub-emu.c (grub_machine_init): Move code in this function from
41061 here ...
41062 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
41063 segfault in case grub_printf() is called).
41064
41065 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
41066 grub_probe. Update all users not to explicitly add it again.
41067 (grub_device): New variable; contains corresponding device for grubdir.
41068 (fs_module, partmap_module, devabstraction_module): Pass
41069 `--device ${grub_device}' to grub_probe to avoid traversing /dev
41070 every time.
41071
9ece62fb 410722008-06-05 Robert Millan <rmh@aybabtu.com>
41073
41074 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
41075 is found, print it (same layout as with labels).
41076
1ad36d37 410772008-06-04 Robert Millan <rmh@aybabtu.com>
41078
41079 * util/biosdisk.c (get_drive): Rename to ...
41080 (find_grub_drive): ... this. Update all users.
41081
41082 (get_os_disk): Rename to ...
41083 (convert_system_partition_to_system_disk): ... this. Update all users.
41084
41085 (find_drive): Rename to ...
41086 (find_system_device): ... this. Update all users.
41087
e6a30859 410882008-06-04 Robert Millan <rmh@aybabtu.com>
41089
41090 * util/biosdisk.c (get_os_disk): Handle IDA devices.
41091 * util/grub-mkdevicemap.c (get_mmc_disk_name)
41092 (make_device_map): Likewise.
41093
00c108a4 410942008-06-01 Robert Millan <rmh@aybabtu.com>
41095
41096 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
41097 before dereferencing it.
41098
41099 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
41100 union with fat12/fat16-specific ones. Add some new fields, including
41101 `num_serial' for both versions.
41102 (struct grub_fat_data): Add `uuid' member.
41103 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
41104 names. Initialize `data->uuid' using `num_serial'.
41105 (grub_fat_uuid): New function.
41106 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
41107
41108 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
41109 (grub_reiserfs_uuid): New function.
41110 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
41111 member.
41112
41113 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
41114 (grub_xfs_uuid): New function.
41115 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
41116
1385c5bb 411172008-06-01 Robert Millan <rmh@aybabtu.com>
41118
41119 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
41120 code that is backward compatible with pre-uuid search command.
41121
c682dfd7 411222008-05-31 Robert Millan <rmh@aybabtu.com>
41123
41124 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
41125 floppies after everything else, to ensure floppy drive isn't accessed
41126 unnecessarily (patch from Bean).
41127
b7db5d47 411282008-05-31 Robert Millan <rmh@aybabtu.com>
41129
41130 * commands/search.c (search_label, search_fs_uuid, search_file): Do
41131 not print device names when we were asked to set a variable.
41132
6e037aa9 411332008-05-31 Robert Millan <rmh@aybabtu.com>
41134
41135 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
41136 using "cursor-on" and "cursor-off" commands (understood at least by
41137 the Open Firmware flavour on OLPC).
41138
41305bc8 411392008-05-31 Michael Gorven <michael@gorven.za.net>
41140
41141 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
41142 on and off sequences.
41143
69ba137e 411442008-05-31 Robert Millan <rmh@aybabtu.com>
41145
41146 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
41147 * util/update-grub.in: Likewise.
41148
520ae21b 411492008-05-30 Pavel Roskin <proski@gnu.org>
41150
41151 * util/biosdisk.c (linux_find_partition): Simplify logic and
41152 make the code more universal. Keep special processing for
41153 devfs, but use a simple rule for all other devices. If the
41154 device ends with a number, append 'p' and the partition number.
41155 Otherwise, append only the partition number.
41156
5786569b 411572008-05-30 Robert Millan <rmh@aybabtu.com>
41158
41159 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
41160 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
41161 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
41162 the `root' parameter to Linux.
41163
51500452 411642008-05-30 Robert Millan <rmh@aybabtu.com>
41165
41166 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
41167 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
41168 --fs_uuid with --fs-uuid.
41169 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
41170 all filesystems support them).
41171
811d3878 411722008-05-30 Robert Millan <rmh@aybabtu.com>
41173
41174 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 41175 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 41176
cab63c95 411772008-05-30 Robert Millan <rmh@aybabtu.com>
41178
41179 * util/grub.d/00_header.in: Remove obsolete comment referencing
41180 convert_system_path_to_grub_path().
41181 * util/update-grub.in: Likewise.
41182 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
41183 (convert_system_path_to_grub_path): Add a warning message explaining
41184 that this function is deprecated. Rely on is_path_readable_by_grub()
41185 for the readability checks.
41186 (font_path): Use is_path_readable_by_grub() for the readability
41187 check rather than convert_system_path_to_grub_path().
41188
972e2f7a 411892008-05-30 Robert Millan <rmh@aybabtu.com>
41190
41191 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
41192 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
41193 converting it first.
41194 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
41195 grub.cfg for access to font file, and afterwards call it again to set
41196 the root device.
41197
62191274 411982008-05-30 Robert Millan <rmh@aybabtu.com>
41199
41200 * commands/search.c (options): Add --fs_uuid option.
41201 (search_fs_uuid): New function.
41202 (grub_cmd_search): Fix --set argument passing.
41203 Use search_fs_uuid() when requested via --fs_uuid.
41204 (grub_search_init): Update help message.
41205 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
41206 and redeclare it as an array of 16-bit words.
41207 (grub_ext2_uuid): New function.
41208 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
41209 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
41210 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
41211 (GRUB_DEVICE_BOOT_UUID): New variables.
41212 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
41213 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
41214 whenever possible.
41215 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
41216 just assume `root' variable has the right value.
41217 * util/grub.d/10_linux.in: Likewise.
41218 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
41219 via PRINT_FS_UUID.
41220 (main): Recognise `-t fs_uuid' argument.
41221
01b73ec8 412222008-05-30 Robert Millan <rmh@aybabtu.com>
41223
41224 * util/biosdisk.c (map): Redefine structure to hold information
41225 about GRUB drive name.
fe6b695a 41226 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 41227 drive names.
41228 (call_hook): Remove.
41229 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
41230 member. Assume drive has partitions.
41231 (grub_util_biosdisk_open): Access device names via `.device' struct
41232 member.
41233 (open_device): Likewise.
41234 (find_drive): Likewise.
41235 (read_device_map): Adjust map[] usage to match the new struct
41236 definition. Don't check for duplicates (still possible, but not cheap
41237 anymore).
41238 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
41239 (make_device_name): Remove assumption of BIOS-like drive names.
41240
22f16596 412412008-05-30 Pavel Roskin <proski@gnu.org>
41242
41243 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
41244 compiling execute.c doesn't need grub_script.tab.h anymore.
41245 (normal/command.c_DEPENDENCIES): Likewise.
41246 (normal/function.c_DEPENDENCIES): Likewise.
41247 * conf/i386-ieee1275.rmk: Likewise.
41248 * conf/i386-linuxbios.rmk: Likewise.
41249 * conf/i386-pc.rmk: Likewise.
41250 * conf/powerpc-ieee1275.rmk: Likewise.
41251 * conf/sparc64-ieee1275.rmk: Likewise.
41252
528ad8f2 412532008-05-29 Pavel Roskin <proski@gnu.org>
41254
d1dff95d 41255 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
41256 when scanning metadata for volume group name.
41257
528ad8f2 41258 * include/grub/script.h: Don't include grub_script.tab.h. It's
41259 a generated file, which may only be included from the files with
41260 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
41261 use union YYSTYPE, as the later allows forward declaration.
41262 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
41263
47248e08 412642008-05-29 Robert Millan <rmh@aybabtu.com>
41265
41266 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
41267 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
41268 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
41269 (grub_console_checkkey): Add grub_dprintf() call to report unknown
41270 scan codes.
41271
ee632529 412722008-05-29 Robert Millan <rmh@aybabtu.com>
41273
41274 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
41275 control key combinations.
41276
eee96e08 412772008-05-29 Robert Millan <rmh@aybabtu.com>
41278
41279 * util/powerpc/ieee1275/grub-install.in: Move from here ...
41280 * util/ieee1275/grub-install.in: ... to here.
41281 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
41282 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
41283 (grub_install_SOURCES): Likewise.
41284
da9a6a94 412852008-05-29 Robert Millan <rmh@aybabtu.com>
41286
41287 * fs/affs.c: Update copyright year.
41288 * fs/ext2.c: Likewise.
41289 * fs/fshelp.c: Likewise.
41290 * fs/hfsplus.c: Likewise.
41291 * fs/ntfs.c: Likewise.
41292 * fs/xfs.c: Likewise.
41293 * include/grub/fshelp.h: Likewise.
41294 * util/grub-mkdevicemap.c: Likewise.
41295
12e65f3a 412962008-05-28 Robert Millan <rmh@aybabtu.com>
41297
41298 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
41299 might need to be fatfs to support some firmware implementations
41300 (e.g. OFW or EFI).
41301
23023641 413022008-05-28 Robert Millan <rmh@aybabtu.com>
41303
41304 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
41305 devices.
41306 * util/grub-mkdevicemap.c (get_mmc_disk_name)
41307 (make_device_map): Likewise.
41308
887d2619 413092008-05-20 Bean <bean123ch@gmail.com>
41310
41311 * fs/fshelp.c (grub_fshelp_map_block): New function.
41312 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
41313 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
41314
41315 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
41316 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
41317 (grub_fshelp_journal): New structure.
41318 (grub_fshelp_map_block): New function prototype.
41319 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
41320 (grub_fshelp_map_block): Likewise.
41321
41322 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
41323 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
41324 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
41325 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
41326 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
41327 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
41328 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
41329 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
41330 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
41331 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
41332 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
41333 (grub_ext2_sblock): New members for journal support.
41334 (grub_ext3_journal_header): New structure.
41335 (grub_ext3_journal_revoke_header): Likewise.
41336 (grub_ext3_journal_block_tag): Likewise.
41337 (grub_ext3_journal_sblock): Likewise.
41338 (grub_fshelp_node): New members logfile and journal.
41339 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
41340 grub_fshelp_map_block to get real block number.
41341 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
41342 number.
41343 (grub_ext2_read_inode): Likewise.
41344 (grub_ext3_get_journal): New function.
41345 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
41346 (grub_ext2_close): Release memory used by journal.
41347
41348 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
41349 (REISERFS_MAGIC_DESC_BLOCK): New macro.
41350 (grub_reiserfs_transaction_header): Renamed to
41351 grub_reiserfs_description_block, replace field data with real_blocks.
41352 (grub_reiserfs_commit_block): New structure.
41353 (grub_reiserfs_data): New member journal.
41354 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
41355 number.
41356 (grub_reiserfs_read_symlink): Likewise.
41357 (grub_reiserfs_iterate_dir): Likewise.
41358 (grub_reiserfs_open): Likewise.
41359 (grub_reiserfs_read): Likewise.
41360 (grub_reiserfs_get_journal): New function.
41361 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
41362 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
41363 using grub_reiserfs_get_journal.
41364 (grub_reiserfs_close): Release memory used by journal.
41365
41366 * fs/affs.c (grub_affs_read_block): Change block type to
41367 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
41368
41369 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
41370
41371 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
41372
41373 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
41374
41375 * fs/udf.c (grub_udf_read_block): Change block type to
41376 grub_disk_addr_t. Use type cast to avoid warning.
41377
41378 * fs/xfs.c (grub_xfs_read_block): Likewise.
41379
b7c6bed5 413802008-05-16 Christian Franke <franke@computer.org>
41381
41382 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
41383 to ensure that break with ESC will always work.
41384 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
41385 Remove ESC from keyboard queue.
41386
eedf167f 413872008-05-16 Christian Franke <franke@computer.org>
41388
41389 * util/biosdisk.c: [__CYGWIN__] Add includes.
41390 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
41391 (get_os_disk): Move variable declarations to OS specific
41392 parts to avoid warning.
41393 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
41394 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
41395 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
41396 Cygwin.
41397 * util/getroot.c: [__CYGWIN__] Add includes.
41398 (strip_extra_slashes): Fix "/" case.
41399 [__CYGWIN__] (get_win32_path): New function.
41400 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
41401 [__CYGWIN__] (find_root_device): Disable.
41402 [__CYGWIN__] (get_bootsec_serial): New function.
41403 [__CYGWIN__] (find_cygwin_root_device): Likewise.
41404 [__linux__] (grub_guess_root_device): Add early returns to simplify
41405 structure.
41406 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
41407 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
41408 check for Linux only.
41409
a079699e 414102008-05-15 Bean <bean123ch@gmail.com>
41411
41412 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
41413 keyboard hang problem in apple's intel mac.
41414
1cf4059a 414152008-05-09 Robert Millan <rmh@aybabtu.com>
41416
41417 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
41418 devices.
41419 * util/grub-mkdevicemap.c (get_virtio_disk_name)
41420 (make_device_map): Likewise.
41421 Reported by Aurelien Jarno <aurel32@debian.org>
41422
ed759390 414232008-05-07 Ian Campbell <ijc@hellion.org.uk>
41424
41425 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
41426 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
41427 (make_device_map): Output entries for xvd type disks.
41428
b56c4eaa 414292008-05-07 Robert Millan <rmh@aybabtu.com>
41430
41431 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
41432 devices.
41433 * util/grub-mkdevicemap.c (get_cciss_disk_name)
41434 (make_device_map): Likewise.
41435 Reported by Roland Dreier <rdreier@cisco.com>
41436
7f8866ed 414372008-05-07 Robert Millan <rmh@aybabtu.com>
41438
41439 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
41440 grub_strstr() call. Correct a few mistakes in failure path handling.
41441
b0346e0f 414422008-05-06 Robert Millan <rmh@aybabtu.com>
41443
41444 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41445 Do not print a trailing slash (therefore, the root directory is an
41446 empty string).
41447 (convert_system_path_to_grub_path): Do not remove trailing slash
41448 from make_system_path_relative_to_its_root() output.
41449
41450 * util/i386/pc/grub-install.in: Add trailing slash to output from
41451 make_system_path_relative_to_its_root().
41452
6cf12cbd 414532008-05-06 Robert Millan <rmh@aybabtu.com>
41454
41455 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
41456 ensures that output lines aren't intermangled with those sent to
41457 stderr (via grub_util_info()).
41458 * util/grub-probe.c (grub_refresh): Likewise.
41459 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
41460
0fbb3117 414612008-05-05 Christian Franke <franke@computer.org>
41462
41463 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
41464 Add Cygwin device names.
41465 (get_ide_disk_name) [__CYGWIN__]: Likewise.
41466 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
41467 (check_device): Return error instead of success on empty name.
41468 (make_device_map): Move label inside linux specific code to
41469 prevent compiler warning.
41470
8124cdb7 414712008-04-30 Robert Millan <rmh@aybabtu.com>
41472
41473 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
41474 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
41475 first boot option.
41476 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
41477
094c01d0 414782008-04-29 Robert Millan <rmh@aybabtu.com>
41479
41480 * docs/grub.cfg: New file (example GRUB configuration).
41481
f4b1fc02 414822008-04-26 Robert Millan <rmh@aybabtu.com>
41483
329ce2a5 41484 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
41485 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
41486 and `disk/ieee1275/nand.c'.
f4b1fc02 41487
25f16ec1 414882008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 41489
25f16ec1 41490 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
41491 i386-linuxbios.
41492
41493 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
41494 change the buffer size to 4096 for cdrom device.
41495
41496 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
41497 and nand.mod.
41498 (_linux_mod_SOURCES): New variable.
41499 (_linux_mod_CFLAGS): Likewise.
41500 (_linux_mod_LDFLAGS): Likewise.
41501 (linux_mod_SOURCES): Likewise.
41502 (linux_mod_CFLAGS): Likewise.
41503 (linux_mod_LDFLAGS): Likewise.
41504 (nand_mod_SOURCES): Likewise.
41505 (nand_mod_CFLAGS): Likewise.
41506 (nand_mod_LDFLAGS): Likewise.
41507
41508 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
41509 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
41510 type property. (nand device in olpc don't have this property)
41511
41512 * include/grub/disk.h (grub_disk_dev_id): New macro
41513 GRUB_DISK_DEVICE_NAND_ID.
41514
41515 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
41516 function prototype.
41517 (grub_rescue_cmd_initrd): Likewise.
41518
41519 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
41520 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
41521 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 41522
25f16ec1 41523 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
41524 GRUB_MACHINE_IEEE1275 is defined.
41525
41526 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
41527 Use NESTED_FUNC_ATTR attribute on the hook parameter.
41528
41529 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
41530 on nested function heap_init.
41531 (grub_upper_mem): New variable for i386-ieee1275.
41532 (grub_get_extended_memory): New function for i386-ieee1275.
41533 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
41534
41535 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
41536 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
41537 property.
f19dbdb7 41538
25f16ec1 41539 * loader/i386/ieee1275/linux.c: New file.
41540
41541 * loader/i386/ieee1275/linux_normal.c: New file.
41542
41543 * disk/ieee1275/nand.c: New file.
41544
e89d61e9 415452008-04-18 Thomas Schwinge <tschwinge@gnu.org>
41546
41547 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
41548 value.
41549 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
41550
602566f6 415512008-04-18 Robert Millan <rmh@aybabtu.com>
41552
41553 Restructures early code path on ieee1275 to unify grub_main() as
41554 the first C function that is executed in every platform.
41555
41556 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
41557 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
41558 cmain().
41559 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
41560 * kern/ieee1275/cmain.c (cmain): Rename to ...
41561 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
41562 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
41563 at the beginning.
41564
57490c2b 415652008-04-18 Robert Millan <rmh@aybabtu.com>
41566
41567 * util/update-grub.in: Fix syntax error when setting
41568 `GRUB_PRELOAD_MODULES'.
41569 Reported by Stephane Chazelas <stephane@artesyncp.com>
41570
1977517d 415712008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
41572
41573 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
41574 section into account, newer toolchains generate unique build ids
41575 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 41576 we want build ids to be preserved
1977517d 41577 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
41578 far from other sections don't cause the raw binary images grow
41579 size
41580
bfb1f1a2 415812008-04-15 Robert Millan <rmh@aybabtu.com>
41582
41583 * disk/lvm.c: Update copyright year.
41584 * kern/misc.c: Likewise.
41585
01979850 415862008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41587
41588 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 41589 there is no memory left for physical volume name.
01979850 41590
0a1150e2 415912008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41592
41593 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
41594 volume name mapping to support bigger than 9 character names properly.
41595
82ead3fe 415962008-04-13 Robert Millan <rmh@aybabtu.com>
41597
41598 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
41599 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
41600
e54a72f5 416012008-04-13 Christian Franke <franke@computer.org>
41602
41603 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
41604 to create a floppy emulation boot CD when non emulation mode
41605 does not work.
41606 Enable Joliet CD filesystem extension.
41607
9fe86034 416082008-04-13 Robert Millan <rmh@aybabtu.com>
41609
41610 * kern/misc.c (grub_strncat): Fix off-by-one error.
41611 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
41612
41613 * kern/env.c (grub_env_context_close): Clear current context, not
41614 previous one.
41615 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
41616
41617 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
41618
7ceeee39 416192008-04-13 Robert Millan <rmh@aybabtu.com>
41620
41621 Improve robustness when handling LVM.
41622
41623 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 41624 (and leave `*p' unmodified).
7ceeee39 41625 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
41626 through it.
41627 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
41628 iterating through it.
41629 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
41630 through it.
fe6b695a 41631 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 41632 when due) on each grub_lvm_getvalue() or grub_strstr() call.
41633 Don't assume `vg->pvs != NULL' when iterating through it.
41634
58cd3d85 416352008-04-13 Robert Millan <rmh@aybabtu.com>
41636
41637 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
41638 * genmk.rb (partmap): New variable.
41639 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
41640 (#{partmap}): New target rule.
41641 * genpartmaplist.sh: New file.
41642 * Makefile.in (pkglib_DATA): Add partmap.lst.
41643 (partmap.lst): New target rule.
41644 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
41645 modules (including all partition maps), instead of preloading them.
41646
78b51059 416472007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
41648
41649 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
41650 `linux-boot-prober' (if installed) to detect other operating
41651 systems which are installed on the computer and add them to
41652 the boot menu.
41653 * conf/common.rmk: Build and install 30_os-prober.
41654
a91627b4 416552008-04-12 Robert Millan <rmh@aybabtu.com>
41656
41657 * kern/powerpc/ieee1275/init.c: Move from here ...
41658 * kern/ieee1275/init.c: ... to here. Update all users.
41659
41660 * kern/powerpc/ieee1275/cmain.c: Move from here ...
41661 * kern/ieee1275/cmain.c: ... to here. Update all users.
41662
41663 * kern/powerpc/ieee1275/openfw.c: Move from here ...
41664 * kern/ieee1275/openfw.c: ... to here. Update all users.
41665
41666 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
41667 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
41668
322562ea 416692008-04-10 Pavel Roskin <proski@gnu.org>
41670
41671 * configure.ac: Always use "_cv_" in cache variables for
41672 compatibility with Autoconf 2.62.
41673
a02a73c5 416742008-04-07 Robert Millan <rmh@aybabtu.com>
41675
41676 Revert grub/machine/init.h addition by Pavel (since it breaks on
41677 i386-ieee1275 and others):
41678 * util/i386/pc/misc.c: Remove grub/machine/init.h.
41679 * util/powerpc/ieee1275/misc.c: Likewise.
41680
25c024b1 416812008-04-07 Robert Millan <rmh@aybabtu.com>
41682
41683 * util/grub-probe.c (probe): Improve error message.
41684
3cbd2f98 416852008-04-07 Robert Millan <rmh@aybabtu.com>
41686
41687 * util/biosdisk.c (read_device_map): Skip devices that don't exist
41688 (this prevents the presence of a bogus entry from ruining the whole
41689 thing).
41690
87a297bf 416912008-04-06 Pavel Roskin <proski@gnu.org>
41692
36747a62 41693 * util/biosdisk.c: Include grub/util/biosdisk.h.
41694 * util/grub-fstest.c (execute_command): Make static.
41695 * util/grub-mkdevicemap.c (check_device): Likewise.
41696 * util/i386/pc/misc.c: Include grub/machine/init.h.
41697 * util/powerpc/ieee1275/misc.c: Likewise.
41698 * util/lvm.c: Include grub/util/lvm.h.
41699 * util/misc.c: Include grub/kernel.h, grub/misc.h and
41700 grub/cache.h.
41701 * util/raid.c: Include grub/util/raid.h.
41702 (grub_util_getdiskname): Make static.
41703
87a297bf 41704 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
41705 grub_hostfs_fini(), as they are called from grub_init_all() and
41706 grub_fini_all() respectively. This fixes an infinite loop in
41707 grub-fstest due to double registration of hostfs.
41708 Reported by Christian Franke <Christian.Franke@t-online.de>
41709
f6ce7629 417102008-04-05 Pavel Roskin <proski@gnu.org>
41711
41712 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
41713 all 8 functions. Otherwise, probe function 0 only.
41714
070e49e4 417152008-04-04 Pavel Roskin <proski@gnu.org>
41716
8b088a4c 41717 * commands/lspci.c (grub_lspci_iter): Print the bus number
41718 correctly.
41719
4f657021 41720 * commands/lspci.c (grub_pci_classes): Fix typos.
41721 (grub_lspci_iter): Don't print func twice. Print vendor ID
41722 before device ID, as it's normally done.
41723
070e49e4 41724 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41725 Fix signedness warnings.
41726 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
41727 Likewise.
41728 * util/ieee1275/get_disk_name.c: Include config.h so that
41729 _GNU_SOURCE is defined and getline() is declared. Mark an
41730 unused argument as such. Fix a signedness warning.
41731
ba7328dc 417322008-04-02 Pavel Roskin <proski@gnu.org>
41733
26887f22 41734 * genkernsyms.sh.in: Use more robust assignments for CC and
41735 srcdir. Quote srcdir.
41736 * gensymlist.sh.in: Likewise. Assert at the compile time that
41737 the symbol table is not empty.
41738
ba7328dc 41739 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
41740 * fs/cpio.c (grub_cpio_read): Likewise.
41741
0f582c6b 417422008-04-01 Pavel Roskin <proski@gnu.org>
41743
4b6e1995 41744 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
41745 * disk/host.c (grub_host_open): Likewise.
41746 * disk/loopback.c (grub_loopback_open): Likewise.
41747 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
41748 disk->id as in disk/host.c, not a multi-character constant.
41749
828a2768 41750 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
41751 later is obsolete, potentially dangerous and sets a bad example.
41752 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
41753 * util/misc.c (grub_util_get_image_size): Likewise.
41754
2bb4fb47 41755 * disk/loopback.c (options): Improve help for "--partitions".
41756
0f582c6b 41757 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
41758 options to align them with the short options, e.g. "echo -e".
41759
a33224e0 417602008-03-31 Bean <bean123ch@gmail.com>
41761
41762 * video/reader/png.c (grub_png_data): New member is_16bit and
41763 image_data.
41764 (grub_png_decode_image_header): Detect 16 bit png image.
41765 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
41766 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
41767 (grub_video_reader_png): Release memory occupied by image_data.
41768
41769 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
41770 4096 bytes.
41771 (grub_nfs_mount): Skip the test for sector per cluster.
41772
41773 * include/grub/ntfs.h (MAX_SPC): Removed.
41774
86cb4f54 417752008-03-31 Bean <bean123ch@gmail.com>
41776
41777 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
41778 (grub_probe_SOURCES): Add fs/afs.c.
41779 (grub_fstest_SOURCES): Likewise.
41780 (afs_mod_SOURCES): New variable.
41781 (afs_mod_CFLAGS): Likewise.
41782 (afs_mod_LDFLAGS): Likewise.
41783
41784 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
41785 (grub_emu_SOURCES): Likewise.
41786
41787 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41788
41789 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41790
41791 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41792
41793 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41794
41795 * fs/afs.c: New file.
41796
17c74c21 417972008-03-30 Pavel Roskin <proski@gnu.org>
41798
4cb68e89 41799 * disk/host.c: Include grub/misc.h to fix a warning.
41800 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
41801 warnings about implicit declarations.
41802
8790bb04 41803 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
41804 variable.
41805 * include/grub/i386/loader.h: Change declaration of
41806 grub_linux_boot() to match what grub_loader_set() expects.
41807 * util/getroot.c (grub_guess_root_device): Return const char* to
41808 fix a warning.
41809 * util/grub-probe.c (probe): Fix a warning about uninitialized
41810 abstraction_name variable.
41811 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
41812 second argument as unused to fix a warning.
41813
9a3f3296 41814 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
41815 missing grub_error() call.
41816
0ecef90d 41817 * util/update-grub_lib.in: Define datarootdir, since Autoconf
41818 2.60 and newer uses it to define datadir.
41819
0bf6d401 41820 * commands/sleep.c: Fix warning about implicit declaration.
41821 * disk/memdisk.c: Likewise.
41822 * loader/aout.c: Likewise.
41823 * loader/i386/bsd_normal.c: Likewise.
41824 * util/grub-probe.c: Likewise.
41825
7cdacf97 41826 * commands/i386/cpuid.c (has_longmode): Make static.
41827 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
41828 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
41829
17c74c21 41830 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
41831 GDT. This is more robust, as %ds can change.
41832 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
41833 calling real_to_prot().
41834 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
41835
80a3e68b 418362008-03-28 Pavel Roskin <proski@gnu.org>
41837
41838 * kern/i386/pc/startup.S: Assert that uncompressed functions
41839 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
41840 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
41841 code, as they push parts of the code (error handlers) beyond
41842 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
41843 code as correctness and size.
41844
77bcd272 418452008-03-28 Pavel Roskin <proski@gnu.org>
41846
41847 * kern/i386/pc/startup.S
41848 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
41849 data block address to the real mode, keep offset minimal. This
41850 works around a bug in AWARD BIOS on old Athlon systems, which
41851 makes CD detection hang.
41852
c5dfd43b 418532008-03-26 Pavel Roskin <proski@gnu.org>
41854
41855 * normal/color.c (grub_parse_color_name_pair): Make `name' a
41856 const.
41857 * include/grub/normal.h: Add grub_parse_color_name_pair()
41858 declaration.
41859
bf962df2 418602008-03-24 Bean <bean123ch@gmail.com>
41861
41862 * disk/i386/pc/biosdisk.c (cd_start): Removed.
41863 (cd_count): Removed.
41864 (cd_drive): New variable.
41865 (grub_biosdisk_get_drive): Don't check for (cdN) device.
41866 (grub_biosdisk_call_hook): Likewise.
41867 (grub_biosdisk_iterate): Change cdrom detection method.
41868 (grub_biosdisk_open): Replace cd_start with cd_drive.
41869 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
41870 detect cdrom device.
41871
41872 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
41873 Removed.
41874 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
41875 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
41876 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
41877 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
41878 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
41879 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
41880 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
41881 (grub_biosdisk_cdrp): New structure.
41882 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
41883
41884 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
41885
41886 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
41887 device.
41888
41889 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
41890 New function.
41891
68e7fc7a 418922008-03-20 Robert Millan <rmh@aybabtu.com>
41893
41894 Remove 2 TiB limit in ata.mod.
41895 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
41896 (grub_ata_dumpinfo): Print sector count with 0x%llx.
41897 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
41898 grub_uint64_t instead of grub_uint32_t.
41899
38ad2cf5 419002008-03-05 Bean <bean123ch@gmail.com>
41901
41902 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
41903 (grub_multiboot): Set boot device.
41904
41905 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
41906
2b89344e 419072008-03-02 Bean <bean123ch@gmail.com>
41908
41909 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
41910 symlink_buffer.
41911
87a95d1f 419122008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
41913
41914 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
41915 texinfo.tex.
41916
41917 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
41918 modified.
41919
41920 * docs/fdl.texi: New file.
f19dbdb7 41921
87a95d1f 41922 * docs/mdate-sh: New file. Copied from gnulib.
41923 * docs/texinfo.tex: Likewise.
41924
41925 * config.guess: Updated from gnulib.
41926 * install-sh: Likewise.
41927
7dc15d8e 419282008-02-28 Robert Millan <rmh@aybabtu.com>
41929
41930 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
41931 (aout_mod_SOURCES): New variable.
41932 (aout_mod_CFLAGS): Likewise.
41933 (aout_mod_LDFLAGS): Likewise.
41934
41935 * conf/i386-ieee1275.rmk: Likewise.
41936
b00ab696 419372008-02-28 Robert Millan <rmh@aybabtu.com>
41938
41939 * util/update-grub.in: Reorganise terminal validity check. Accept
41940 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
41941 Based on suggestion by Franklin PIAT.
41942
79ca2d78 419432008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
41944
41945 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
41946 function.
41947 * util/getroot.c (grub_util_check_block_device): New function that
41948 returns the given argument if it is a block device and returns NULL else.
41949 * util/grub-probe.c (argument_is_device): New variable.
41950 (probe): Promote device_name from a variable to an argument. Receive
41951 device_name from grub_util_check_block_device() if path is NULL and from
41952 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 41953 (options): Introduce new parameter '-d, --device'.
79ca2d78 41954 (main): Add description of the new parameter to the help screen.
41955 Rename path variable to argument. Set argument_is_device if the '-d'
41956 option is given. Pass argument to probe() depending on
41957 argument_is_device.
41958
0d16e571 419592008-02-24 Bean <bean123ch@gmail.com>
41960
41961 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
41962 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
41963 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
41964 (GRUB_ISO9660_VOLDESC_PART): Likewise.
41965 (GRUB_ISO9660_VOLDESC_END): Likewise.
41966 (grub_iso9660_primary_voldesc): New member escape.
41967 (grub_iso9660_data): New member joliet.
41968 (grub_iso9660_convert_string): New function.
41969 (grub_iso9660_mount): Detect joliet extension.
41970 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
41971 (grub_iso9660_iso9660_label): Likewise.
41972
41973 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
41974 (grub_setup_SOURCES): Add fs/udf.c.
41975 (grub_fstest_SOURCES): Likewise.
41976 (udf_mod_SOURCES): New variable.
41977 (udf_mod_CFLAGS): Likewise.
41978 (udf_mod_LDFLAGS): Likewise.
41979
41980 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
41981 (grub_emu_SOURCES): Likewise.
41982
41983 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41984
41985 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41986
41987 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41988
41989 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41990
41991 * fs/udf.c: New file.
41992
8a594a17 419932008-02-24 Robert Millan <rmh@aybabtu.com>
41994
41995 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
41996 (normal/lexer.c_DEPENDENCIES): New variables.
41997 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41998 (normal/lexer.c_DEPENDENCIES): Likewise.
41999 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
42000 (normal/lexer.c_DEPENDENCIES): Likewise.
42001 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
42002 (normal/lexer.c_DEPENDENCIES): Likewise.
42003 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
42004 (normal/lexer.c_DEPENDENCIES): Likewise.
42005 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
42006 (normal/lexer.c_DEPENDENCIES): Likewise.
42007
2dc33c03 420082008-02-23 Robert Millan <rmh@aybabtu.com>
42009
42010 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
42011 since they were intended to be in hex. This didn't break previously
42012 because of a bug in gpt_partition_map_iterate() (see below).
42013
42014 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
42015 when checking the validity of GPT header.
42016 Remove `partno', since it always provides the same information as `i'.
42017
f6f4cfb0 420182008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
42019
42020 * include/grub/efi/time.h: Fix a wrong comment.
42021
79ff665f 420222008-02-19 Pavel Roskin <proski@gnu.org>
42023
42024 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
42025 message.
42026
d38e24c2 420272008-02-19 Bean <bean123ch@gmail.com>
42028
42029 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
42030 (aout_mod_SOURCES): New variable.
42031 (aout_mod_CFLAGS): Likewise.
42032 (aout_mod_LDFLAGS): Likewise.
42033 (_bsd_mod_SOURCES): New variable.
42034 (_bsd_mod_CFLAGS): Likewise.
42035 (_bsd_mod_LDFLAGS): Likewise.
42036 (bsd_mod_SOURCES): New variable.
42037 (bsd_mod_CFLAGS): Likewise.
42038 (bsd_mod_LDFLAGS): Likewise.
42039
42040 * include/grub/aout.h: New file.
42041
42042 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
42043
42044 * include/grub/i386/bsd.h: New file.
42045
42046 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
42047 to make it public.
42048
42049 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
42050 function is called, so that it's possible to change it inside the hook.
42051 (grub_elf64_load): Likewise.
42052 (grub_elf_file): Don't close the file if elf header is not found.
42053 (grub_elf_close): Close the file if grub_elf_file fails (The new
42054 grub_elf_file won't close it).
42055 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
42056 (grub_elf64_size): Likewise.
42057
42058 * kern/i386/loader.S (grub_unix_real_boot): New function.
42059
42060 * loader/aout.c: New file.
42061
42062 * loader/i386/bsd.c: New file.
42063
42064 * loader/i386/bsd_normal.c: New file.
42065
42066 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
42067
42068 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 42069 can test other formats.
d38e24c2 42070
b93bdb0f 420712008-02-19 Robert Millan <rmh@aybabtu.com>
42072
42073 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
42074 (grub_gpt_partition_type_empty): Redefine with macro from
42075 `<grub/gpt_partition.h>'.
42076 (gpt_partition_map_iterate): Adjust partition type comparison.
42077
42078 Export `entry' as partmap-specific `part.data' struct.
42079 (grub_gpt_header, grub_gpt_partentry): Move from here ...
42080
42081 * include/grub/gpt_partition.h (grub_gpt_header)
42082 (grub_gpt_partentry): ... to here (new file).
42083
42084 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
42085
42086 (grub_gpt_partition_type_bios_boot): New const variable, defined
42087 with macro from `<grub/gpt_partition.h>'.
42088
42089 (setup): Replace `first_start' with `embed_region', which keeps
42090 track of the embed region (and is partmap-agnostic).
42091
42092 Replace find_first_partition_start() with find_usable_region(),
42093 which finds a usable region for embedding using partmap-specific
42094 knowledge (supports PC/MSDOS and GPT).
42095
42096 Fix all assumptions that the embed region start at sector 1, using
42097 `embed_region.start' from now on. Similarly, use `embed_region.end'
42098 rather than `first_start' to calculate available size.
42099
42100 In grub_util_info() message, replace "into after the MBR" with an
42101 indication of the specific sector our embed region starts at.
42102
66cb40f6 421032008-02-19 Robert Millan <rmh@aybabtu.com>
42104
42105 * DISTLIST: Replace `commands/ieee1275/halt.c' and
42106 `commands/ieee1275/reboot.c' with `commands/halt.c' and
42107 `commands/reboot.c'.
42108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
42109 (halt_mod_SOURCES): Likewise.
42110 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
42111 (halt_mod_SOURCES): Likewise.
42112
b7202015 421132008-02-17 Christian Franke <franke@computer.org>
42114
42115 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
42116
32b0fc49 421172008-02-17 Robert Millan <rmh@aybabtu.com>
42118
42119 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
42120 set `first_start' to 0 for non-PC/MSDOS partition maps.
42121
aca63502 421222008-02-16 Robert Millan <rmh@aybabtu.com>
42123
42124 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
42125 do not assume partition map is PC/MSDOS before performing checks that
42126 are specific to that layout.
42127
0de8be86 421282008-02-13 Robert Millan <rmh@aybabtu.com>
42129
42130 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
42131 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
42132 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
42133
c3db8364 421342008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
42135
42136 * configure.ac: Only a cosmetic change on the handling of
42137 -fno-stack-protector.
42138
f714229e 421392008-02-12 Alexandre Boeglin <alex@boeglin.org>
42140
c3db8364 42141 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
42142 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
42143 reboot.c.
f714229e 42144 (grub_install_SOURCES): Add halt.mod and reboot.mod.
42145 (halt_mod_SOURCES): New variable.
42146 (halt_mod_CFLAGS): Likewise.
42147 (halt_mod_LDFLAGS): Likewise.
42148 (reboot_mod_SOURCES): Likewise.
42149 (reboot_mod_CFLAGS): Likewise.
42150 (reboot_mod_LDFLAGS): Likewise.
42151
c3db8364 42152 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
42153 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
42154 reboot.c.
f714229e 42155 (halt_mod_SOURCES): Likewise.
42156 (reboot_mod_SOURCES): Likewise.
42157
c3db8364 42158 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
42159 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 42160 (reboot_mod_SOURCES): Likewise.
42161
42162 * commands/i386/pc/reboot.c: merge this file ...
42163
42164 * commands/ieee1275/reboot.c: ... and this file ...
42165
42166 * commands/reboot.c: ... to this file.
c3db8364 42167 Add some precompiler directive to include the correct header for
42168 each machine.
f714229e 42169
42170 * commands/ieee1275/halt.c: move this file ...
42171
42172 * commands/halt.c: ... to here.
c3db8364 42173 Add some precompiler directive to include the correct header for
42174 each machine.
f714229e 42175
42176 * include/grub/efi/efi.h (grub_reboot): New function declaration.
42177 (grub_halt): Likewise.
42178
42179 * kern/efi/efi.c (grub_reboot): New function.
42180 (grub_halt): Likewise.
42181
c74493e0 421822008-02-12 Robert Millan <rmh@aybabtu.com>
42183
42184 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
42185 /dev (like it is done for /dev/mapper). This doesn't provide support
42186 for EVMS, but at least it is now easy to identify the problem when it
42187 arises.
42188
d0db4b04 421892008-02-11 Robert Millan <rmh@aybabtu.com>
42190
42191 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
42192 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
42193 comparing it with -1, not 0.
42194
bf748642 421952008-02-10 Robert Millan <rmh@aybabtu.com>
42196
42197 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
42198 `disk/lvm.c'.
42199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42200 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
42201
42202 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
42203 `disk/lvm.c' to the end of the list.
42204 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42205 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42206
b5db202a 422072008-02-10 Robert Millan <rmh@aybabtu.com>
42208
42209 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
42210 grub_print_error() instead. This will let user know why we're entering
42211 rescue mode.
42212 Based on suggestions from Sam Morris.
42213
83abee31 422142008-02-10 Alexandre Boeglin <alex@boeglin.org>
42215
42216 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
42217 on remaining N args, instead of "--" arg N times.
42218
78d5a08b 422192008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
42220
42221 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
42222 (fill_with_default_glyph): Changed to use unknown_glyph for fill
42223 pattern for unknown glyphs.
42224
68807e5f 422252008-02-09 Robert Millan <rmh@aybabtu.com>
42226
42227 * configure.ac: Probe for `help2man'.
42228 * Makefile.in (builddir): New variable.
42229 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
42230 or otherwise add a few flags/options to it.
42231 (install-local): For every executable utility or script that is
42232 installed, invoke $(HELP2MAN) to install a manpage based on --help
42233 output.
42234
42235 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
42236 that it doesn't prevent --help from working in build tree.
42237
42238 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
42239 with `bug-grub@gnu.org'.
42240 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
42241 * util/update-grub.in (usage): New function.
42242 Implement proper argument check, with support for --help and --version
42243 (as well as existing -y).
42244
422452008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 42246
42247 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
42248 avoid overwriting previous output.
42249 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
42250
c1962162 422512008-02-09 Robert Millan <rmh@aybabtu.com>
42252
42253 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
42254 drawing the menu.
42255
3dac2e3f 422562008-02-09 Robert Millan <rmh@aybabtu.com>
42257
42258 * commands/sleep.c: New file.
42259 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
42260 (sleep_mod_SOURCES): New variable.
42261 (sleep_mod_CFLAGS): Likewise.
42262 (sleep_mod_LDFLAGS): Likewise.
42263
7a634e08 422642008-02-09 Robert Millan <rmh@aybabtu.com>
42265
42266 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
42267 situations in which we can deduce the RAID size and the superblock
42268 doesn't match it.
42269
b92f0c18 422702008-02-09 Robert Millan <rmh@aybabtu.com>
42271
42272 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
42273 and return a grub_diskmemberlist_t composed of LVM physical volumes.
42274 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
42275
42276 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
42277 and return a grub_diskmemberlist_t composed of physical array members.
42278 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
42279
42280 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
42281 prototype.
42282 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
42283 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
42284 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
42285
42286 * util/grub-probe.c (probe): Move partmap probing code from here ...
42287 (probe_partmap): ... to here.
42288 (probe): Use probe_partmap() once for the disk we're probing, and
42289 additionally, when such disk contains a memberlist() struct member,
42290 once for each disk that is contained in the structure returned by
42291 memberlist().
42292
91a4bf68 422932008-02-09 Robert Millan <rmh@aybabtu.com>
42294
42295 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
42296 environment variable to 'all' in order to obtain debug output from
42297 non-util/ code.
42298 * util/i386/pc/grub-setup.c (main): Likewise.
42299
a96f9caa 423002008-02-08 Robert Millan <rmh@aybabtu.com>
42301
42302 * disk/raid.c (grub_raid_scan_device): Check for
42303 `array->device[sb.this_disk.number]' rather than for
42304 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 42305 guaranteed to be accessible.
a96f9caa 42306
b37a9222 423072008-02-08 Robert Millan <rmh@aybabtu.com>
42308
42309 * disk/raid.c: Update copyright.
42310 * fs/cpio.c: Likewise.
42311 * include/grub/raid.h: Likewise.
42312 * loader/i386/pc/multiboot.c: Likewise.
42313 * util/hostfs.c: Likewise.
42314
5626aee1 423152008-02-08 Robert Millan <rmh@aybabtu.com>
42316
42317 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
42318 to a grub_disk_t array.
42319 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
42320 `device[x]'.
42321 (grub_raid_scan_device): Replace `device[x].name' accesses with
42322 `device[x]->name'. Simplify initialization of `array->device[x]'.
42323
554f0187 423242008-02-08 Robert Millan <rmh@aybabtu.com>
42325
42326 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
42327 grub_dprintf() calls.
42328 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
42329 error message.
42330
1ec8425d 423312008-02-07 Christian Franke <franke@computer.org>
42332
42333 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
42334 instead of fseek and ftell to support large files.
42335 (grub_hostfs_read): Likewise.
42336
f2156fda 423372008-02-07 Robert Millan <rmh@aybabtu.com>
42338
42339 Patch from Jeroen Dekkers.
42340 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 42341 failure, since successfully reading all array members might not be
f2156fda 42342 required.
42343
9216e0e7 423442008-02-06 Robert Millan <rmh@aybabtu.com>
42345
42346 * util/grub-probe.c (probe): Simplify partmap probing (with the
42347 assumption that the first word up to the underscore equals to
42348 the module name).
42349
b0dfd29a 423502008-02-06 Christian Franke <franke@computer.org>
42351
42352 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
42353 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
42354 last block of a cpio or tar stream.
42355 Check for "TRAILER!!!" instead of any empty data
42356 block to detect last block of a cpio stream.
42357 (grub_cpio_dir): Fix constness of variable np.
42358 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
42359 cpio or tar trailer is detected. This fixes a crash
42360 on open of a non existing file.
42361
c32865bf 423622008-02-05 Bean <bean123ch@gmail.com>
42363
42364 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
42365 address of entry.
42366 (grub_multiboot_load_elf64): Likewise.
42367 (grub_multiboot): Initialize mbi structure.
42368
42369 * util/grub-fstest.c: Don't include unused header file script.h.
42370
fe6b695a 42371 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 42372 of file.
42373 (grub_fstest_SOURCES): Likewise.
42374
409480b7 423752008-02-05 Robert Millan <rmh@aybabtu.com>
42376
42377 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
42378 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
42379 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
42380 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
42381
42382 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
42383 (translation_table): Replace hardcoded values with macros
42384 provided by `<grub/term.h>'.
42385
42386 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
42387 (keyboard_map): Correct/add a few values, with macros provided
42388 by `<grub/term.h>'.
42389 (keyboard_map_shift): Zero values that don't differ from their
42390 `keyboard_map' equivalents.
42391 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
42392 Discard the second scan code that is always sent by Caps lock.
42393 Only use `keyboard_map_shift' when it provides a non-zero value,
42394 otherwise fallback to `keyboard_map'.
42395
99fadbaa 423962008-02-04 Bean <bean123ch@gmail.com>
42397
42398 * Makefile.in (enable_grub_fstest): New variable.
42399
42400 * conf/common.rmk (grub_fstest_init.lst): New rule.
42401 (grub_fstest_init.h): Likewise.
42402 (grub_fstest_init.c): Likewise.
42403 (util/grub-fstest.c_DEPENDENCIES): New variable.
42404 (grub_fstest_SOURCES): Likewise.
42405
42406 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
42407
42408 * util/grub-fstest.c: New file.
42409
bf567c50 424102008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42411
42412 Make grub-setup handle a separate root device.
f19dbdb7 42413
bf567c50 42414 * util/i386/pc/grub-setup.c (setup): Always open the root device,
42415 so that the root device can be compared with the destination
42416 device.
42417 When embedding the core image, if the root and destination devices
42418 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
42419 0xFF.
42420 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 42421
9be6b98b 424222008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42423
42424 Add support for having a grub directory in a different drive. This
42425 is still only the data handling part.
f19dbdb7 42426
9be6b98b 42427 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
42428 (codestart): Save %dh in GRUB_ROOT_DRIVE.
42429 (grub_root_drive): New variable.
42430
42431 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
42432 instead of GRUB_BOOT_DRIVE to construct a device name. Set
42433 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
42434 as it was.
42435
42436 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
42437
42438 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
42439 macro.
42440 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
42441
42442 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
42443 is bogus, because PXE booting does not specify any drive
42444 correctly.
42445
42446 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
42447 am not sure if this is really correct.
42448
42449 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
42450 is always identical to the boot drive when booting from a CD.
42451
42452 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
42453 longer.
42454 (root_drive): New variable.
42455 (real_start): Unconditionally set %dh to ROOT_DRIVE.
42456 (setup_sectors): Push %dx right after popping it, because %dh will
42457 be modified later.
42458 (copy_buffer): Restore %dx.
42459
e0ca0677 424602008-02-03 Robert Millan <rmh@aybabtu.com>
42461
42462 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
42463 use `cdboot.img' for cdrom images.
42464
3b3f6629 424652008-02-03 Robert Millan <rmh@aybabtu.com>
42466
42467 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
42468 only setup gfxterm when `font' command has succeeded.
42469
d42b3672 424702008-02-03 Robert Millan <rmh@aybabtu.com>
42471
42472 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
42473 (grub_rescue_cmd_multiboot_loader)
42474 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
42475
fa370ea6 424762008-02-03 Pavel Roskin <proski@gnu.org>
42477
e0c5dacb 42478 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 42479 %edx and %esi from stack only after grub_gate_a20() is called.
42480 grub_gate_a20() clobbers %edx.
42481
f2a76e1d 424822008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42483
42484 * configure.ac (AC_INIT): Bumped to 1.96.
42485
42486 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
42487 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
42488 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
42489 video/readers/png.c.
42490
90fd32d1 424912008-02-03 Bean <bean123ch@gmail.com>
9be665dd 42492
42493 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
42494 (cdboot_img_SOURCES): New variable.
42495 (cdboot_img_ASFLAGS): New variable.
42496 (cdboot_img_LDFLAGS): New variable.
42497
42498 * boot/i386/pc/cdboot.S: New file.
42499
42500 * disk/i386/pc/biosdisk.c (cd_start): New variable.
42501 (cd_count): Likewise.
42502 (grub_biosdisk_get_drive): Add support for cd device.
42503 (grub_biosdisk_call_hook): Likewise.
42504 (grub_biosdisk_iterate): Likewise.
42505 (grub_biosdisk_open): Likewise.
42506 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
42507 (grub_biosdisk_rw): Support reading from cd device.
42508 (GRUB_MOD_INIT): Iterate cd devices.
42509
42510 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
42511 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
42512 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
42513
42514 * kern/i386/pc/init.c (make_install_device): Check for cd device.
42515
4020aa53 425162008-02-02 Robert Millan <rmh@aybabtu.com>
42517
42518 * commands/read.c: New file.
42519 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
42520 (read_mod_SOURCES): New variable.
42521 (read_mod_CFLAGS): Likewise.
42522 (read_mod_LDFLAGS): Likewise.
42523
e03a1132 425242008-02-02 Robert Millan <rmh@aybabtu.com>
42525
42526 * normal/main.c (grub_normal_execute): Check for `menu->size' when
42527 determining whether menu has to be displayed.
42528
58c69220 425292008-02-02 Marco Gerards <marco@gnu.org>
42530
42531 * bus/pci.c: New file.
42532
42533 * include/grub/pci.h: Likewise.
42534
42535 * include/grub/i386/pc/pci.h: Likewise.
42536
42537 * commands/lspci.c: Likewise.
42538
42539 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
42540 `lspci.mod'.
42541 (pci_mod_SOURCES): New variable.
42542 (pci_mod_CFLAGS): Likewise.
42543 (pci_mod_LDFLAGS): Likewise.
42544 (lspci_mod_SOURCES): Likewise.
42545 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 42546 (lspci_mod_LDFLAGS): Likewise.
58c69220 42547
c004e1b4 425482008-02-02 Bean <bean123ch@gmail.com>
42549
42550 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
42551 (grub_ufs_get_file_block): Fix indirect block calculation problem.
42552
42553 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
42554 (grub_xfs_btree_node): New structure.
42555 (grub_xfs_btree_root): New structure.
42556 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
42557 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
42558 (GRUB_XFS_EXTENT_BLOCK): Likewise.
42559 (GRUB_XFS_EXTENT_SIZE): Likewise.
42560 (grub_xfs_read_block): Support btree format type.
42561 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
42562 Use directory block as basic unit.
42563
42564 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
42565
42566 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
42567 __attribute__ ((__regparm__ (1))).
42568
f95562bf 425692008-02-01 Robert Millan <rmh@aybabtu.com>
42570
42571 Correct a mistake in previous commit.
42572
42573 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
42574 top.
42575 (normal/command.c_DEPENDENCIES): New variable.
42576
7d31f41f 425772008-02-01 Robert Millan <rmh@aybabtu.com>
42578
42579 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
42580 top.
42581 (normal/command.c_DEPENDENCIES): New variable.
42582 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
42583 * conf/i386-ieee1275.rmk: Likewise.
42584 * conf/i386-linuxbios.rmk: Likewise.
42585 * conf/i386-pc.rmk: Likewise.
42586 * conf/sparc64-ieee1275.rmk: Likewise.
42587 * conf/powerpc-ieee1275.rmk: Likewise.
42588 (grub_emu_SOURCES): Add `fs/fshelp.c'.
42589
42590 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
42591
60b6be74 425922008-02-01 Robert Millan <rmh@aybabtu.com>
42593
42594 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
42595 call at beginning of function.
42596
078522ab 425972008-01-31 Pavel Roskin <proski@gnu.org>
42598
42599 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 42600 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
42601 (grub_mkrescue_SOURCES): Likewise.
078522ab 42602 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
42603
ccaa8a5f 426042008-01-30 Robert Millan <rmh@aybabtu.com>
42605
42606 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
42607 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
42608 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
42609 (grub_probe_SOURCES): ... to here.
42610
42611 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
42612 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
42613 * conf/i386-ieee1275.rmk: Likewise.
42614 * conf/i386-linuxbios.rmk: Likewise.
42615 * conf/powerpc-ieee1275.rmk: Likewise.
42616
ae5a9cd7 426172008-01-30 Tristan Gingold <gingold@free.fr>
42618
42619 * kern/rescue.c: Silently accept empty lines.
42620
70bc2ef2 426212008-01-29 Bean <bean123ch@gmail.com>
42622
42623 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
42624 (real_code_2): Code cleanup and change comment style.
42625 (move_memory): Avoid using 32-bit address mode.
42626
6a4d50ea 426272008-01-29 Bean <bean123ch@gmail.com>
42628
42629 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
42630 (png_mod_SOURCES): New variable.
42631 (png_mod_CFLAGS): Likewise.
42632 (png_mod_LDFLAGS): Likewise.
42633
42634 * video/readers/png.c: New file.
42635
11cc30ac 426362008-01-28 Robert Millan <rmh@aybabtu.com>
42637
42638 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
42639 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
42640 `ifndef GRUB_MOD_GAP' hack.
42641 * util/elf/grub-mkimage.c (add_segments): Likewise.
42642
3abc589f 426432008-01-27 Robert Millan <rmh@aybabtu.com>
42644
42645 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
42646 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 42647 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 42648
e1907778 426492008-01-27 Robert Millan <rmh@aybabtu.com>
42650
42651 Get grub-emu to build again (including parallel builds).
42652
42653 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
42654 Split into ...
42655 (util/grub-emu.c_DEPENDENCIES): ... this, ...
42656 (normal/execute.c_DEPENDENCIES): ... this, ...
42657 (grub-emu_DEPENDENCIES): ... and this.
42658
42659 * conf/i386-efi.rmk: Likewise.
42660 * conf/i386-linuxbios.rmk: Likewise.
42661 * conf/i386-ieee1275.rmk: Likewise.
42662 * conf/powerpc-ieee1275.rmk: Likewise.
42663 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
42664
2216b101 426652008-01-27 Robert Millan <rmh@aybabtu.com>
42666
42667 * NEWS: Add a few items.
42668
f75172d9 426692008-01-27 Robert Millan <rmh@aybabtu.com>
42670
42671 Fix parallel builds with grub-emu. Based on earlier commit for
42672 grub-probe and grub-setup.
42673
42674 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42675 (util/grub-emu.c_DEPENDENCIES): ... this.
42676 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42677 (util/grub-emu.c_DEPENDENCIES): ... this.
42678 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42679 (util/grub-emu.c_DEPENDENCIES): ... this.
42680 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42681 (util/grub-emu.c_DEPENDENCIES): ... this.
42682 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42683 (util/grub-emu.c_DEPENDENCIES): ... this.
42684
3f51de77 426852008-01-27 Pavel Roskin <proski@gnu.org>
42686
42687 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
42688 to create a gap between _end and the modules added to the image
42689 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
42690 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
42691 * util/elf/grub-mkimage.c (add_segments): Likewise.
42692
2033f53e 426932008-01-26 Pavel Roskin <proski@gnu.org>
42694
42695 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
42696 just return an error.
42697
22da1f6f 426982008-01-26 Bean <bean123ch@gmail.com>
42699
42700 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
42701 (grub_reiserfs_get_item): Save offset of the next item.
42702 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
42703
2a9525e6 427042008-01-25 Robert Millan <rmh@aybabtu.com>
42705
42706 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
42707 make all filesystem sources appear together (possibly fixing omissions
42708 while at it).
42709 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42710 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42711 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42712 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42713
42714 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
42715 add `kern/file.c'.
42716 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
42717 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42718 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
42719 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42720
42721 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
42722 (probe): Add a sanity check to make sure of our ability to read
42723 requested files when probing for filesystem type.
42724
42725 * genmk.rb: Update copyright year (2007).
42726
42727 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
42728 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
42729 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
42730 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
42731 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
42732 : Remove function prototypes.
42733
b95f71b5 427342008-01-25 Robert Millan <rmh@aybabtu.com>
42735
42736 Revert my previous commits (based on wrong assumption of how grub_errno
42737 works).
42738
fe6b695a 42739 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 42740 * kern/file.c (grub_file_open): Likewise.
42741
d08bbb49 427422008-01-24 Pavel Roskin <proski@gnu.org>
42743
42744 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
42745 that hang if GRUB tries to setup colors.
42746 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
42747 colors for firmwares that don't support it.
42748 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
42749 Recognize Open Hack'Ware, set flags to work around its
42750 limitations.
42751
605e36ed 427522008-01-24 Robert Millan <rmh@aybabtu.com>
42753
42754 * kern/file.c (grub_file_open): Do not account previous failures of
42755 unrelated functions when grub_errno is checked for.
42756 Reported by Oleg Strikov.
42757
bac332a1 427582008-01-24 Bean <bean123ch@gmail.com>
42759
42760 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
42761 (grub_ufs_sblock): New member volume name.
42762 (grub_ufs_find_file): Fix string copy bug.
42763 (grub_ufs_label): Implement this function properly.
42764
42765 * fs/hfs.c (grub_hfs_cnid_type): New enum.
42766 (grub_hfs_iterate_records): Use the correct file number for extents
42767 and catalog file. Fix problem in next index calculation.
42768 (grub_hfs_find_node): Replace recursive function call with loop.
42769 (grub_hfs_iterate_dir): Replace recursive function call with loop.
42770
15c80c09 427712008-01-23 Robert Millan <rmh@aybabtu.com>
42772
42773 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
42774 `<grub/symbol.h>' and `<grub/multiboot.h>'.
42775 (grub_multiboot2_real_boot): New function prototype.
42776
42777 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
42778 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
42779
42780 * kern/i386/ieee1275/init.c (grub_os_area_addr)
42781 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
42782
305338fd 427832008-01-23 Robert Millan <rmh@aybabtu.com>
42784
42785 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
42786 #ifdef'ed out grub_printf().
42787
3ea52685 427882008-01-23 Robert Millan <rmh@aybabtu.com>
42789
42790 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
42791 grub_dprintf calls, since they make "debug=all" mode unusable.
42792 (grub_console_checkkey): Likewise.
42793
5882ae4b 427942008-01-23 Robert Millan <rmh@aybabtu.com>
42795
42796 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
42797 `term/i386/pc/at_keyboard.c'.
42798 (pkglib_MODULES): Add `serial.mod'.
42799 (serial_mod_SOURCES): New variable.
42800 (serial_mod_CFLAGS): Likewise.
42801 (serial_mod_LDFLAGS): Likewise.
42802
42803 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
42804 `<grub/powerpc/ieee1275/console.h>'.
42805 (grub_keyboard_controller_init): New function prototype.
42806 (grub_console_checkkey): Likewise.
42807 (grub_console_getkey): Likewise.
42808
42809 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
42810 keyboard on i386.
42811
42812 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
42813 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
42814
06ab5303 428152008-01-23 Robert Millan <rmh@aybabtu.com>
42816
42817 * kern/i386/pc/init.c (make_install_device): When memdisk image is
42818 present, "(memdisk)/boot/grub" becomes the default prefix.
42819
42820 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
42821 a memdisk tarball with all the modules. Add --overlay=DIR option that
42822 allows users to overlay additional files into the image.
42823
dbb475a4 428242008-01-23 Robert Millan <rmh@aybabtu.com>
42825
42826 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
42827 and `machine/memory.h'.
42828 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
42829 (_multiboot_mod_SOURCES): New variable.
42830 (_multiboot_mod_CFLAGS): Likewise.
42831 (_multiboot_mod_LDFLAGS): Likewise.
42832 (multiboot_mod_SOURCES): Likewise.
42833 (multiboot_mod_CFLAGS): Likewise.
42834 (multiboot_mod_LDFLAGS): Likewise.
42835
42836 * include/grub/i386/ieee1275/loader.h: New file.
42837
42838 * include/grub/i386/ieee1275/machine.h: Likewise.
42839
42840 * include/grub/i386/ieee1275/memory.h: Likewise.
42841
42842 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
42843 variable declaration.
42844 (grub_os_area_size): Likewise.
42845
42846 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
42847 (grub_lower_mem, grub_upper_mem): New variables.
42848 (grub_stop_floppy): New function (just to make
42849 grub_multiboot2_real_boot() happy).
42850
42851 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
42852 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
42853 (grub_stop): New function.
42854 Include `"../realmode.S"' and `"../loader.S"'.
42855
42856 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
42857 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
42858
42859 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
42860 rely on grub_multiboot2_real_boot() for final boot.
42861
25638629 428622008-01-22 Robert Millan <rmh@aybabtu.com>
42863
42864 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
42865 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
42866 device that doesn't look like an SD card.
42867 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42868 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
42869 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
42870 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
42871 found.
42872
9dad816d 428732008-01-22 Robert Millan <rmh@aybabtu.com>
42874
42875 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
42876 avoid claiming over our own code.
42877
34842f2d 428782008-01-22 Bean <bean123ch@gmail.com>
42879
42880 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
42881 (jpeg_mod_SOURCES): New variable.
42882 (jpeg_mod_CFLAGS): Likewise.
42883 (jpeg_mod_LDFLAGS): Likewise.
42884
42885 * video/readers/jpeg.c : New file.
42886
44023a28 428872008-01-22 Bean <bean123ch@gmail.com>
42888
42889 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
42890 there are no more items.
42891
bc2d8ac6 428922008-01-21 Robert Millan <rmh@aybabtu.com>
42893
42894 * kern/mm.c (grub_mm_init_region): Improve debug message.
42895
261bd4bc 428962008-01-21 Robert Millan <rmh@aybabtu.com>
42897
42898 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
42899 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
42900 address.
42901 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
42902 a C macro.
42903 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
42904 Indicates start of upper memory.
42905 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
42906 (generate_image): Abort when image size is big enough to corrupt
42907 upper memory.
42908
42909 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
42910 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
42911 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42912 instead of hardcoding 0xA0000.
42913 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
42914 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42915 instead of hardcoding 0xA0000.
42916
f970b55e 429172008-01-21 Robert Millan <rmh@aybabtu.com>
42918
42919 * disk/memdisk.c (memdisk_size): New variable.
42920 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
42921 `memdisk_size'.
42922 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
42923 image to dynamic memory.
42924 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
42925 `memdisk_size'. Free memdisk block.
42926
1a8b0526 429272008-01-21 Robert Millan <rmh@aybabtu.com>
42928
42929 Fix detection of very small filesystems (like tar).
42930
42931 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
42932 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
42933 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
42934 a problem with this disk).
42935
6e9b4aab 429362008-01-21 Robert Millan <rmh@aybabtu.com>
42937
42938 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
42939 on grub_biosdisk_rw_standard() error.
42940
0d8837b2 429412008-01-21 Robert Millan <rmh@aybabtu.com>
42942
42943 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
42944 recent changes.
42945 * kern/elf.c: Likewise.
42946 * kern/ieee1275/ieee1275.c: Likewise.
42947 * kern/powerpc/ieee1275/openfw.c: Likewise.
42948 * term/ieee1275/ofconsole.c: Likewise.
42949
ffd36e34 429502008-01-21 Robert Millan <rmh@aybabtu.com>
42951
42952 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
42953
3f0093d0 42954 * include/grub/kernel.h (grub_arch_memdisk_addr)
42955 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 42956
3f0093d0 42957 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
42958 (grub_arch_memdisk_size): ... to here.
ffd36e34 42959
6c391b21 429602008-01-21 Robert Millan <rmh@aybabtu.com>
42961
42962 Mostly based on bugfix from Bean.
42963
42964 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
42965 attribute with hook() parameter.
42966 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
42967 declaration.
42968 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
42969 attribute with hook() parameter.
42970 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
42971 declaration.
42972
55a581dc 429732008-01-21 Robert Millan <rmh@aybabtu.com>
42974
42975 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
42976 (pkglib_MODULES): Add `memdisk.mod'.
42977 (memdisk_mod_SOURCES): New variable.
42978 (memdisk_mod_CFLAGS): Likewise.
42979 (memdisk_mod_LDFLAGS): Likewise.
42980
42981 * disk/memdisk.c: New file.
42982
42983 * include/grub/disk.h (grub_disk_dev_id): Add
42984 `GRUB_DISK_DEVICE_MEMDISK_ID'.
42985
42986 * include/grub/i386/pc/kernel.h
42987 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
42988 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
42989 (grub_kernel_image_size): New variable declaration.
42990 (grub_total_module_size): Likewise.
42991 (grub_memdisk_image_size): Likewise.
42992
42993 * include/grub/i386/pc/memory.h
42994 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
42995
42996 * include/grub/kernel.h: Include `<grub/symbol.h>'.
42997 (grub_arch_memdisk_addr): New variable declaration.
42998 (grub_arch_memdisk_size): Likewise.
42999
43000 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
43001 (grub_arch_memdisk_size): Likewise.
43002
43003 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
43004 (codestart): Replace hardcoded `0x100000' with
43005 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
43006
43007 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
43008 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
43009 not NULL, append the contents of the file it refers to, at the end of
43010 the compressed kernel image. Initialize `grub_memdisk_image_size'
43011 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
43012 (options): Add "memdisk"|'m' option.
43013 (main): Parse --memdisk|-m option, and pass user-provided path as
43014 parameter to generate_image().
43015
3d7f54c9 430162008-01-20 Robert Millan <rmh@aybabtu.com>
43017
43018 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
43019 grub_dprintf() calls from here ...
43020 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
43021
0bf74728 430222008-01-20 Robert Millan <rmh@aybabtu.com>
43023
43024 Fix detection of "real mode" when /options/real-mode? doesn't exist.
43025
43026 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
43027 declaration.
43028 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
43029 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
43030 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 43031 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 43032 property).
43033 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
43034 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
43035
33bf70a7 430362008-01-19 Robert Millan <rmh@aybabtu.com>
43037
fe6b695a 43038 Get rid of confusing function (superseded by
33bf70a7 43039 `grub_ieee1275_get_integer_property')
43040 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
43041 prototype.
43042 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
43043 function.
43044 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
43045 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 43046 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 43047
e2da7d26 430482008-01-19 Robert Millan <rmh@aybabtu.com>
43049
43050 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
43051 command after "shut-down", since implementations differ on which
43052 the command for halt is.
43053
59f1fd8d 430542008-01-19 Robert Millan <rmh@aybabtu.com>
43055
43056 * include/grub/i386/linuxbios/console.h: Add header protection.
43057 (grub_keyboard_controller_init): New function prototype.
43058 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
43059 (KEYBOARD_COMMAND_READ): Likewise.
43060 (KEYBOARD_COMMAND_WRITE): Likewise.
43061 (KEYBOARD_SCANCODE_SET1): Likewise.
43062 (grub_keyboard_controller_write): New function.
43063 (grub_keyboard_controller_read): Likewise.
43064 (grub_keyboard_controller_init): Likewise.
43065
43066 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
43067 (grub_console_init): On coreboot/LinuxBIOS, call
43068 grub_keyboard_controller_init().
43069
5f5a7c15 430702008-01-19 Robert Millan <rmh@aybabtu.com>
43071
43072 PowerPC changes provided by Pavel Roskin.
43073
43074 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
43075 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
43076 don't rely on cmain() doing it.
43077 * kern/i386/ieee1275/startup.S (_start): Store %eax in
43078 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
43079
1210e168 430802008-01-16 Robert Millan <rmh@aybabtu.com>
43081
43082 * include/grub/i386/linuxbios/memory.h
43083 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
43084 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
43085 receive `table_header' as argument. Instead, probe for it in the
43086 known memory ranges where it can be present.
43087 (grub_available_iterate): Do not pass a fixed `table_header' address
43088 to grub_linuxbios_table_iterate().
43089
3d04eab8 430902008-01-15 Robert Millan <rmh@aybabtu.com>
43091
43092 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
43093 * conf/i386-ieee1275.rmk: New file.
43094 * include/grub/i386/ieee1275/console.h: Likewise.
43095 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
43096 * include/grub/i386/ieee1275/kernel.h: Likewise.
43097 * include/grub/i386/ieee1275/time.h: Likewise.
43098 * kern/i386/ieee1275/init.c: Likewise.
43099 * kern/i386/ieee1275/startup.S: Likewise.
43100
d1bc1b73 431012008-01-15 Robert Millan <rmh@aybabtu.com>
43102
43103 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
43104 when pointers are 32-bit (but still do set it to one when they are
43105 64-bit).
43106
66a65807 431072008-01-15 Robert Millan <rmh@aybabtu.com>
43108
43109 * include/grub/ieee1275/ieee1275.h
43110 (grub_ieee1275_get_integer_property): New function prototype.
43111
43112 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
43113 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 43114 grub_ieee1275_get_property() to handle endianness.
66a65807 43115
43116 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
43117 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 43118 where appropriate.
66a65807 43119 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
43120 (grub_map): Likewise.
43121 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
43122
a83ccafd 431232008-01-15 Bean <bean123ch@gmail.com>
43124
43125 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
43126 (grub_script_execute_cmdline): Reset grub_errno.
43127
43128 * normal/main.c (read_config_file): Reset grub_errno.
43129
43130 * normal/parse.y (script_init): New.
43131 (script): Move function and menuentry here.
43132 (delimiter): New.
43133 (command): Add delimiter at the end of command.
43134 (commands): Adjust to match the new command.
43135 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 43136 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 43137 (if): Use the new commands.
43138
43139 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
43140
df6ecfc6 431412008-01-15 Robert Millan <rmh@aybabtu.com>
43142
43143 * normal/menu.c (run_menu): Move timeout message from here ...
43144 (print_timeout): ... to here.
43145 (run_menu): Use print_timeout() once during initial draw to print
43146 the whole message, and again in every clock tick to update only
43147 the number of seconds.
43148
87ae25eb 431492008-01-15 Robert Millan <rmh@aybabtu.com>
43150
43151 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
43152 actual size of `available' from grub_ieee1275_get_property(), and
43153 restrict parsing to that bound.
43154
47bf09a4 431552008-01-15 Christian Franke <franke@computer.org>
43156
43157 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
43158 (argp_program_version): Remove variable.
43159 (argp_program_bug_address): Likewise.
43160 (options): Convert from struct argp_option to struct option.
43161 (struct arguments): Remove.
43162 (parse_opt): Remove.
43163 (usage): New function.
43164 (main): Replace struct args members by simple variables.
43165 Replace argp_parse() by getopt_long().
43166 Add switch to evaluate options.
43167 Add missing "(...)" around root_dev in prefix string.
43168
c86f1469 431692008-01-14 Robert Millan <rmh@aybabtu.com>
43170
43171 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
43172 for grub_ieee1275_exit(), in order to improve portability.
43173
e622c559 431742008-01-14 Robert Millan <rmh@aybabtu.com>
43175
43176 * util/grub.d/10_linux.in (prefix): Define.
43177 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
43178
44cb1ec8 431792008-01-13 Pavel Roskin <proski@gnu.org>
43180
43181 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
43182 grub_errno if no errors have been detected.
43183
1eb8c802 431842008-01-12 Robert Millan <rmh@aybabtu.com>
43185
43186 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
43187 (grub_util_get_dev_abstraction): New function prototype.
43188
43189 * util/getroot.c: Include `<grub/util/getroot.h>'
43190 (grub_util_get_grub_dev): Move detection of abstraction type to ...
43191 (grub_util_get_dev_abstraction): ... here (new function).
43192
43193 * util/grub-probe.c: Convert PRINT_* to an enum. Add
43194 `PRINT_ABSTRACTION'.
43195 (probe): Probe for abstraction type when requested.
43196 (main): Understand `--target=abstraction'.
43197
43198 * util/i386/efi/grub-install.in: Add abstraction module to core
43199 image when it is found to be necessary.
43200 * util/i386/pc/grub-install.in: Likewise.
43201 * util/powerpc/ieee1275/grub-install.in: Likewise.
43202
43203 * util/update-grub_lib.in (font_path): Return system path without
43204 converting to GRUB path.
43205 * util/update-grub.in: Convert system path returned by font_path()
43206 to a GRUB path. Use `grub-probe -t abstraction' to determine what
43207 abstraction module is needed for loading fonts (if any). Export
43208 that as `GRUB_PRELOAD_MODULES'.
43209 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
43210 insmod commands).
43211
52bd3de9 432122008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
43213
43214 Remove some unused code from reiserfs.
f19dbdb7 43215
52bd3de9 43216 * fs/reiserfs.c (struct grub_reiserfs_key)
43217 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
43218 (struct grub_reiserfs_node_body): Removed.
43219 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
43220 Likewise.
43221 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43222 Likewise.
43223 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43224 Likewise.
43225 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43226 Likewise.
43227 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
43228 Likewise.
43229 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
43230 Likewise.
43231 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43232 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43233 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43234
2f80039d 432352008-01-10 Robert Millan <rmh@aybabtu.com>
43236
43237 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
43238 Determines if a file is garbage left by packaging systems, etc.
43239 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
43240 for processing /etc/grub.d scripts.
43241 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
43242 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
43243 as a condition for processing Linux images.
43244
87888032 432452008-01-10 Pavel Roskin <proski@gnu.org>
43246
43247 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
43248 to compile reiserfs.c on PowerPC.
43249
7e54fced 432502008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 43251
43252 * kern/device.c (grub_device_iterate): Do not abort device iteration
43253 when one of the devices cannot be opened.
43254 * kern/disk.c (grub_disk_open): Do not account previous failures of
43255 unrelated functions when grub_errno is checked for.
43256
5aa541e6 432572008-01-08 Robert Millan <rmh@aybabtu.com>
43258
43259 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
43260 `! grub_linux_is_bzimage', change order of address comparison to make
43261 it more intuitive, and improve "too big zImage" error message.
43262
7076340d 432632008-01-08 Robert Millan <rmh@aybabtu.com>
43264
43265 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
43266 `$(update-grub_DATA)'.
43267 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
43268 targets.
43269
9ca70333 432702008-01-07 Robert Millan <rmh@aybabtu.com>
43271
43272 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
43273 which instruction is modified by grub-setup during installation
43274 (since it wasn't obvious by only looking at this file).
43275
38ccf575 432762008-01-07 Robert Millan <rmh@aybabtu.com>
43277
43278 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
43279 listing actual TODO items.
43280
f5db4291 432812008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43282
868967cf 43283 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
43284 correctly.
43285 (grub_reiserfs_get_key_offset): Likewise.
43286 (grub_reiserfs_set_key_offset): Likewise.
43287 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 43288 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 43289
43290 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
43291 better to remove the bitfield version completely.
f19dbdb7 43292
868967cf 432932008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43294
f5db4291 43295 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
43296 allocated from the heap, due to the fshelp implementation.
43297 (grub_reiserfs_dir): Free NODE, due to the same reason.
43298
492e6d9d 432992008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43300
43301 Mostly from Vincent Pelletier:
f19dbdb7 43302
492e6d9d 43303 * fs/reiserfs.c: New file.
f19dbdb7 43304
492e6d9d 43305 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
43306 (reiserfs_mod_SOURCES): New variable.
43307 (reiserfs_mod_CFLAGS): Likewise.
43308 (reiserfs_mod_LDFLAGS): Likewise.
43309
43310 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
43311 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
43312 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
43313 normal/color.c.
43314
9ce3e7c1 433152008-01-06 Robert Millan <rmh@aybabtu.com>
43316
43317 * normal/color.c: Remove `<grub/env.h>'.
43318
f3b58148 433192008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
43320
43321 * include/grub/normal.h: Include <grub/env.h>.
43322
7ac3bcfa 433232008-01-05 Robert Millan <rmh@aybabtu.com>
43324
43325 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
43326 usage example with `(hd0,1)'.
fb358190 43327 Reported by Samuel Thibault.
7ac3bcfa 43328
c8ee99d7 433292008-01-05 Robert Millan <rmh@aybabtu.com>
43330
43331 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
43332 (grub_linux_boot_zimage): Rename to ...
43333 (grub_linux_boot): ... this.
43334 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
43335 (grub_linux_boot_zimage): Conditionalize zImage copy.
43336
43337 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
43338 (grub_linux_boot_bzimage): Remove prototype.
43339 (grub_linux_boot_zimage): Rename to ...
43340 (grub_linux_boot): ... this.
43341
43342 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
43343 (grub_linux_boot): Remove function.
43344
0ece25b1 433452008-01-05 Robert Millan <rmh@aybabtu.com>
43346
43347 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
43348 (grub_env_write_color_highlight): Likewise.
43349 (grub_wait_after_message): Likewise.
43350
43351 * normal/color.c: New file.
43352
43353 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43354 (normal_mod_DEPENDENCIES): Likewise.
43355
43356 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43357 (normal_mod_DEPENDENCIES): Likewise.
43358
43359 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43360 (normal_mod_DEPENDENCIES): Likewise.
43361
43362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43363 (normal_mod_DEPENDENCIES): Likewise.
43364
43365 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
43366 for waiting after a message is printed.
43367 * normal/main.c (read_config_file): Likewise.
43368 (grub_normal_init): Register grub_env_write_color_normal() and
43369 grub_env_write_color_highlight() hooks. Mark `color_normal' and
43370 `color_highlight' variables as global.
43371
43372 * normal/menu.c (grub_wait_after_message): New function.
43373 (grub_color_menu_normal): New variable. Replaces ...
43374 (GRUB_COLOR_MENU_NORMAL): ... this macro.
43375 (grub_color_menu_highlight): New variable. Replaces ...
43376 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
43377 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
43378 `GRUB_TERM_COLOR_STANDARD'.
43379 (print_message): Use `grub_setcolorstate' to reload colors. Rename
43380 `normal_code' and `highlight_code' to `old_color_normal' and
43381 `old_color_highlight', respectively.
43382 (grub_menu_init_page): Update colors when drawing the menu, based on
43383 `menu_color_normal' and `menu_color_highlight' variables.
43384 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
43385 a message is printed.
43386
182dd4e5 433872008-01-05 Robert Millan <rmh@aybabtu.com>
43388
43389 * kern/env.c (grub_env_context_open): Propagate hooks for global
43390 variables to new context.
43391
43392 * kern/main.c (grub_set_root_dev): Export `root' variable.
43393
ddf8f6ad 433942008-01-05 Robert Millan <rmh@aybabtu.com>
43395
43396 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 43397 discs unconditionally, since udev and others have options to provide
ddf8f6ad 43398 them.
43399
d8b43d9b 434002008-01-05 Robert Millan <rmh@aybabtu.com>
43401
43402 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
43403
2bff2de3 434042008-01-04 Christian Franke <franke@computer.org>
43405
43406 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
43407 of eisa_mmap.
43408
97eab917 434092008-01-03 Pavel Roskin <proski@gnu.org>
43410
43411 * kern/i386/linuxbios/init.c: Put "void" to all function
43412 declarations with no arguments.
43413 * kern/powerpc/ieee1275/init.c: Likewise.
43414 * term/i386/pc/at_keyboard.c: Likewise.
43415 * term/i386/pc/vga_text.c: Likewise.
43416 * util/grub-mkdevicemap.c: Likewise.
43417
b9416d00 434182008-01-02 Robert Millan <rmh@aybabtu.com>
43419
43420 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
43421 message when loaded image is out of bounds.
43422 (grub_multiboot_load_elf64): Likewise.
43423
92695df9 434242008-01-02 Pavel Roskin <proski@gnu.org>
43425
43426 * util/grub.d/10_linux.in: Try version without ".old" when
43427 looking for initrd. It's better to use initrd from the newer
43428 kernel of the same version than no initrd at all.
43429
d98d9cad 434302008-01-01 Robert Millan <rmh@aybabtu.com>
43431
43432 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
43433
dbfdce36 434342008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
43435
f19dbdb7 43436 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 43437 grub_video_get_active_render_target.
43438 (grub_video_adapter): Added unmap_color and get_active_render_target.
43439
f19dbdb7 43440 * video/video.c: Added grub_video_unmap_color and
dbfdce36 43441 grub_video_get_active_render_target.
43442 (grub_video_get_info): Changed method to accept NULL pointer as an
43443 argument to allow detection of active video adapter.
43444
43445 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
43446 grub_video_vbe_unmap_color_int.
43447 Added grub_video_vbe_unmap_color and
43448 grub_video_vbe_get_active_render_target.
43449 (grub_video_vbe_adapter): Added unmap_color and
43450 get_active_render_target.
43451
f19dbdb7 43452 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 43453 with grub_video_vbe_unmap_color_int.
43454
43455 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
43456 (DEFAULT_NORMAL_COLOR): Likewise.
43457 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
43458 (DEFAULT_FG_COLOR): Removed.
43459 (DEFAULT_BG_COLOR): Likewise.
43460 (DEFAULT_CURSOR_COLOR): Changed value.
43461 (grub_virtual_screen): Added standard_color_setting,
43462 normal_color_setting, highlight_color_setting and term_color.
43463 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
43464 (bitmap_width): Added.
43465 (bitmap_height): Likewise.
43466 (bitmap): Likewise.
43467 (set_term_color): Likewise.
43468 (grub_virtual_screen_setup): Changed to use new terminal coloring
43469 settings.
43470 (grub_gfxterm_init): Added init for bitmap.
43471 (grub_gfxterm_fini): Added destroy for bitmap.
43472 (redraw_screen_rect): Updated to use background bitmap and new
43473 terminal coloring.
43474 (scroll_up): Added optimization for case when there is no bitmap.
43475 (grub_gfxterm_cls): Fixed to use correct background color.
43476 (grub_virtual_screen_setcolorstate): Changed to use new terminal
43477 coloring.
43478 (grub_virtual_screen_setcolor): Likewise.
43479 (grub_virtual_screen_getcolor): Added.
43480 (grub_gfxterm_background_image_cmd): Likewise.
43481 (grub_video_term): Added setcolor and getcolor.
43482 (MOD_INIT): Added registration of background_image command.
43483 (MOD_TERM): Added unregistration for background_image command.
43484
c3c20931 434852007-12-30 Pavel Roskin <proski@gnu.org>
43486
43487 * loader/multiboot_loader.c: Fix multiboot command
43488 unregistration. Fix all typos in the word "multiboot".
43489
df266716 434902007-12-29 Pavel Roskin <proski@gnu.org>
94239199 43491
43492 * util/grub.d/10_linux.in: Refactor search for initrd. Add
43493 support for initrd names used in Fedora.
43494
fc6e896c 434952007-12-26 Bean <bean123ch@gmail.com>
43496
43497 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
43498 (cpio_mod_SOURCES): New variable.
43499 (cpio_mod_CFLAGS): Likewise.
43500 (cpio_mod_LDFLAGS): Likewise.
43501
43502 * fs/cpio.c: New file.
43503
43504 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
43505
43506 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43507
43508 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43509
43510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43511
533110ad 435122007-12-25 Robert Millan <rmh@aybabtu.com>
43513
43514 * include/grub/term.h (struct grub_term): Add `getcolor' function.
43515 (grub_getcolor): New function.
43516
43517 * kern/term.c (grub_getcolor): New function.
43518 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
43519 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
43520 (print_entry): Set normal and highlight colors to
43521 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
43522 respectively, before printing and restore them to old
43523 values afterwards.
43524 (grub_menu_init_page): Likewise. Fill an additional colored space
43525 that would otherwise be left blank.
43526
43527 * term/efi/console.c (grub_console_getcolor): New function.
43528 (struct grub_console_term.getcolor): New variable.
43529 * term/i386/pc/console.c (grub_console_getcolor): New function.
43530 (struct grub_console_term.getcolor): New variable.
43531 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
43532 (struct grub_console_term.getcolor): New variable.
43533
43534 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
43535 (struct grub_console_term.setcolor): Remove variable.
43536 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
43537 (struct grub_console_term.setcolor): Remove variable.
43538 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
43539 (struct grub_console_term.setcolor): Remove variable.
43540 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
43541 (struct grub_console_term.setcolor): Remove variable.
43542
4931827f 435432007-12-25 Robert Millan <rmh@aybabtu.com>
43544
43545 * configure.ac: Search for possible unifont.hex locations, and
43546 define UNIFONT_HEX if found.
43547
43548 * Makefile.in (UNIFONT_HEX): Define variable.
43549 (DATA): Rename to ...
43550 (PKGLIB): ... this. Update all users.
43551 (PKGDATA): New variable.
43552 (pkgdata_IMAGES): Rename to ...
43553 (pkglib_IMAGES): ... this. Update all users.
43554 (pkgdata_MODULES): Rename to ...
43555 (pkglib_MODULES): ... this. Update all users.
43556 (pkgdata_PROGRAMS): Rename to ...
43557 (pkglib_PROGRAMS): ... this. Update all users.
43558 (pkgdata_DATA): Rename to ...
43559 (pkglib_DATA): ... this. Update all users.
43560 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
43561 (unicode.pff, ascii.pff): New rules.
43562 (all-local): Add `$(PKGDATA)' dependency.
43563 (install-local): Process `$(PKGDATA)'.
43564
43565 * util/update-grub_lib.in (font_path): Search for *.pff files in
43566 a few more locations, including `${pkgdata}'.
43567
57e57e31 435682007-12-23 Robert Millan <rmh@aybabtu.com>
43569
43570 Patch from Bean <bean123ch@gmail.com>:
43571 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
43572 `size'.
43573
4bc72aa9 435742007-12-21 Bean <bean123ch@gmail.com>
43575
43576 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
43577 (ntfscomp_mod_SOURCES): New variable.
43578 (ntfscomp_mod_CFLAGS): Likewise.
43579 (ntfscomp_mod_LDFLAGS): Likewise.
43580
43581 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
43582 (grub_probe_SOURCES): Likewise.
43583 (grub_emu_SOURCES): Likewise.
43584
43585 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43586 (grub_emu_SOURCES): Likewise.
43587
43588 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43589 (grub_emu_SOURCES): Likewise.
43590
43591 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43592 (grub_emu_SOURCES): Likewise.
43593
43594 * fs/ntfs.c (grub_ntfscomp_func): New variable.
43595 (read_run_list): Renamed to grub_ntfs_read_run_list.
43596 (decomp_nextvcn): Moved to ntfscomp.c.
43597 (decomp_getch): Likewise.
43598 (decomp_get16): Likewise.
43599 (decomp_block): Likewise.
43600 (read_block): Likewise.
43601 (read_data): Partially moved to ntfscomp.c.
43602 (fixup): Change unsigned to grub_uint16_t.
43603 (read_mft): Change unsigned long to grub_uint32_t.
43604 (read_attr): Likewise.
43605 (read_data): Likewise.
43606 (read_run_data): Likewise.
43607 (read_run_list): Likewise.
43608 (read_mft): Likewise.
43609
43610 * fs/ntfscomp.c: New file.
43611
43612 * include/grub/ntfs.h: New file.
43613
af680a87 436142007-12-16 Robert Millan <rmh@aybabtu.com>
43615
43616 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
43617 IDE disk check, since Linux is known to support 20 IDE disks.
43618 Reported by Colin Watson.
43619
84be7599 436202007-12-15 Bean <bean123ch@gmail.com>
43621
43622 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
43623 (lnxboot_img_SOURCES): New variable.
43624 (lnxboot_img_ASFLAGS): Likewise.
43625 (lnxboot_img_LDFLAGS): Likewise.
43626
43627 * boot/i386/pc/lnxboot.S: New file.
43628
6af9db01 436292007-11-24 Pavel Roskin <proski@gnu.org>
43630
43631 * configure.ac: Test if '--build-id=none' is supported by the
43632 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
43633 objcopy to generate incorrect binary files (binutils
43634 2.17.50.0.18-1 as shipped by Fedora 8).
43635 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
43636 linking, so that build ID doesn't break the test.
43637
7361cfe6 436382007-11-24 Pavel Roskin <proski@gnu.org>
43639
43640 * include/grub/i386/time.h: use "void" in the argument list
43641 of grub_cpu_idle().
43642 * include/grub/powerpc/time.h: Likewise.
43643 * include/grub/sparc64/time.h: Likewise.
43644
1593e10c 436452007-11-18 Christian Franke <franke@computer.org>
43646
43647 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
43648 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
43649 This fixes the problem that function keys did not work in grub-emu.
43650
3b8db1a8 436512007-11-18 Christian Franke <franke@computer.org>
43652
43653 * disk/host.c (grub_host_open): Remove attribute unused from
43654 name parameter. Add check for "host". This fixes the problem
43655 that grub-emu does not find partitions.
43656
2e29408d 436572007-11-18 Christian Franke <franke@computer.org>
43658
43659 * util/hostfs.c (is_dir): New function.
43660 (grub_hostfs_dir): Handle missing dirent.d_type case.
43661 (grub_hostfs_read): Add missing fseek().
43662 (grub_hostfs_label): Clear label pointer. This fixes a crash
43663 of grub-emu on "ls (host)".
43664
398cd047 436652007-11-18 Christian Franke <franke@computer.org>
43666
43667 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
43668 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
43669 to 64 bit boundary by default.
43670
c405c391 436712007-11-18 Bean <bean123ch@gmail.com>
43672
43673 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
43674 (hexdump_mod_SOURCES): New variable.
43675 (hexdump_mod_CFLAGS): Likewise.
43676 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 43677
c405c391 43678 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43679
43680 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43681
43682 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43683
43684 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43685
43686 * include/grub/hexdump.h: New file.
43687
43688 * commands/hexdump.c: New file.
43689
5cced7fd 436902007-11-10 Robert Millan <rmh@aybabtu.com>
43691
43692 * commands/i386/pc/play.c (beep_off): Switch order of arguments
43693 in grub_outb() calls.
43694 (beep_on): Likewise.
43695
8b714eb0 436962007-11-10 Christian Franke <franke@computer.org>
43697
43698 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
43699 (grub_menu_run): Likewise.
43700
ce0f1839 437012007-11-10 Robert Millan <rmh@aybabtu.com>
43702
43703 * include/grub/i386/efi/machine.h: New file.
43704 * include/grub/i386/linuxbios/machine.h: Likewise.
43705 * include/grub/i386/pc/machine.h: Likewise.
43706 * include/grub/powerpc/ieee1275/machine.h: Likewise.
43707 * include/grub/sparc64/ieee1275/machine.h: Likewise.
43708
43709 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
43710 (serial_hw_io_addr): New variable.
43711 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
43712 instead of `(unsigned short *) 0x400'.
43713
270c237d 437142007-11-10 Bean <bean123ch@gmail.com>
43715
43716 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
43717
a87783bf 437182007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43719
43720 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
43721 (vga_mod_SOURCES): Added.
43722 (vga_mod_CFLAGS): Likewise.
43723 (vga_mod_LDFLAGS): Likewise.
43724
43725 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
43726 grub_outb() calls.
43727 (set_map_mask): Likewise.
43728 (set_read_map): Likewise.
43729 (set_read_address): Likewise.
43730 (vga_font): Removed variable.
43731 (get_vga_glyph): Removed function.
43732 (invalidate_char): Likewise.
43733 (write_char): Changed to use grub_font_get_glyph() for font
43734 information.
43735 (grub_vga_putchar): Likewise.
43736 (grub_vga_getcharwidth): Likewise.
43737
6433b448 437382007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43739
43740 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
43741 flags.
43742 (pxeboot_img_LDFLAGS): Likewise.
43743 (diskboot_img_LDFLAGS): Likewise.
43744 (kernel_img_LDFLAGS): Likewise.
43745
49178511 437462007-11-06 Robert Millan <rmh@aybabtu.com>
43747
43748 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
43749 in grub_outb() calls.
43750 (serial_hw_init): Likewise.
43751
53b052de 437522007-11-05 Robert Millan <rmh@aybabtu.com>
43753
43754 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
43755 spaces. Skip non-regular files.
43756
5ab33bba 437572007-11-05 Robert Millan <rmh@aybabtu.com>
43758
43759 * kern/disk.c (grub_disk_firmware_fini)
43760 (grub_disk_firmware_is_tainted): New variables.
43761
43762 * include/grub/disk.h (grub_disk_firmware_fini)
43763 (grub_disk_firmware_is_tainted): Likewise.
43764
43765 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
43766 (grub_disk_biosdisk_fini): ... to here.
43767 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
43768 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
43769 is set. Register grub_disk_biosdisk_fini() in
43770 `grub_disk_firmware_fini'.
43771
43772 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
43773 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
43774 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
43775 to finish existing firmware disk interface.
43776
43777 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
43778 (ata_mod_SOURCES): New variable.
43779 (ata_mod_CFLAGS): Likewise.
43780 (ata_mod_LDFLAGS): Likewise.
43781
0149ab7c 437822007-11-05 Robert Millan <rmh@aybabtu.com>
43783
43784 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
43785 (grub_ata_wait): Reimplement using grub_millisleep().
43786
43787 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
43788 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
43789
be7ac41e 437902007-11-03 Marco Gerards <marco@gnu.org>
43791
43792 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
43793 (CRTC_ADDR_PORT): New macro.
43794 (CRTC_DATA_PORT): Likewise.
43795 (CRTC_CURSOR): Likewise.
43796 (CRTC_CURSOR_ADDR_HIGH): Likewise.
43797 (CRTC_CURSOR_ADDR_LOW): Likewise.
43798 (update_cursor): New function.
43799 (grub_console_real_putchar): Call `update_cursor'.
43800 (grub_console_gotoxy): Likewise.
43801 (grub_console_cls): Set the default color when clearing the
43802 screen.
43803 (grub_console_setcursor): Implemented.
43804
bb06ab2e 438052007-11-03 Marco Gerards <marco@gnu.org>
43806
43807 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
43808 become activate.
43809 (grub_ata_pio_write): Likewise.
43810
43811 (grub_atapi_identify): Wait after issuing an ATA command.
43812 (grub_atapi_packet): Likewise.
43813 (grub_ata_identify): Likewise.
43814 (grub_ata_readwrite): Likewise.
43815
cf8f780b 438162007-11-03 Marco Gerards <marco@gnu.org>
43817
43818 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
43819 (grub_ata_pio_write): Likewise.
43820 (grub_ata_readwrite): Use `grub_error', instead of
43821 returning `grub_errno'.
43822
ed649e54 438232007-11-03 Marco Gerards <marco@gnu.org>
43824
43825 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
43826 grub_ata_pio_write once for every single sector, instead of for
43827 multiple sectors.
43828
ca25d8f0 438292007-10-31 Robert Millan <rmh@aybabtu.com>
43830
43831 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
43832
43833 * conf/i386-linuxbios.rmk: New file.
43834
43835 * kern/i386/pc/hardware.c: Likewise.
43836 * term/i386/pc/at_keyboard.c: Likewise.
43837 * term/i386/pc/vga_text.c: Likewise.
43838
43839 * include/grub/i386/linuxbios/boot.h: Likewise.
43840 * include/grub/i386/linuxbios/console.h: Likewise.
43841 * include/grub/i386/linuxbios/init.h: Likewise.
43842 * include/grub/i386/linuxbios/kernel.h: Likewise.
43843 * include/grub/i386/linuxbios/loader.h: Likewise.
43844 * include/grub/i386/linuxbios/memory.h: Likewise.
43845 * include/grub/i386/linuxbios/serial.h: Likewise.
43846 * include/grub/i386/linuxbios/time.h: Likewise.
43847
43848 * kern/i386/linuxbios/init.c: Likewise.
43849 * kern/i386/linuxbios/startup.S: Likewise.
43850 * kern/i386/linuxbios/table.c: Likewise.
43851
e911ecc1 438522007-10-31 Marco Gerards <marco@gnu.org>
43853
43854 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
43855 (ata_mod_SOURCES): New variable.
43856 (ata_mod_CFLAGS): Likewise.
43857 (ata_mod_LDFLAGS): Likewise.
43858
43859 * disk/ata.c: New file.
43860
43861 * include/grub/disk.h (grub_disk_dev_id): Add
43862 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 43863
7f66d0e0 438642007-10-31 Robert Millan <rmh@aybabtu.com>
43865
43866 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
43867 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
43868
43869 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
43870 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
43871
43872 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
43873 `<grub/types.h>'.
43874
43875 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
43876
5cd7dd46 438772007-10-27 Robert Millan <rmh@aybabtu.com>
43878
3236ca65 43879 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 43880
2ebfc90f 438812007-10-22 Robert Millan <rmh@aybabtu.com>
43882
43883 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
43884 `"../realmode.S"'.
43885 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
43886
73fcb0f3 438872007-10-22 Robert Millan <rmh@aybabtu.com>
43888
43889 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
43890 (pkgdata_MODULES): Add `biosdisk.mod'.
43891 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
43892 variables.
43893
43894 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
43895 (grub_biosdisk_init): Replace with ...
43896 (GRUB_MOD_INIT(biosdisk)): ... this.
43897 (grub_biosdisk_fini): Replace with ...
43898 (GRUB_MOD_FINI(biosdisk)): ... this.
43899
43900 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
43901 (grub_machine_init): Remove call to grub_biosdisk_init().
43902 (grub_machine_fini): Remove call to grub_machine_fini().
43903
43904 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
43905
3381d274 439062007-10-22 Robert Millan <rmh@aybabtu.com>
43907
43908 * include/grub/time.h: New file.
43909 * include/grub/i386/time.h: Likewise.
43910 * include/grub/powerpc/time.h: Likewise.
43911 * include/grub/sparc64/time.h: Likewise.
43912
43913 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
43914 instances to ...
43915 (KERNEL_MACHINE_TIME_HEADER): ... this.
43916 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43917 instances to ...
43918 (KERNEL_MACHINE_TIME_HEADER): ... this.
43919 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43920 instances to ...
43921 (KERNEL_MACHINE_TIME_HEADER): ... this.
43922
43923 * kern/i386/efi/init.c: Include `<grub/time.h>'.
43924 (grub_millisleep): New function.
43925 * kern/i386/pc/init.c: Include `<grub/time.h>'.
43926 (grub_millisleep): New function.
43927 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
43928 Remove `grub/machine/time.h' include.
43929 (grub_millisleep): New function.
43930 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
43931 Remove `grub/machine/time.h' include.
43932 (grub_millisleep): New function.
43933
43934 * include/grub/misc.h (grub_div_roundup): New function.
43935
43936 * kern/misc.c: Include `<grub/time.h>'.
43937 (grub_millisleep_generic): New function.
43938
43939 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
43940 Add `time.h'.
43941 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
43942 Add `time.h'.
43943 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
43944 `machine/time.h'. Add `time.h'.
43945 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43946
a39a0312 439472007-10-21 Robert Millan <rmh@aybabtu.com>
43948
43949 * include/grub/misc.h (grub_max): New function.
43950
2aad70e2 439512007-10-21 Robert Millan <rmh@aybabtu.com>
43952
43953 * util/misc.c (grub_util_info): Call fflush() before returning.
43954
54b71c4b 439552007-10-20 Robert Millan <rmh@aybabtu.com>
43956
43957 * genmk.rb (Image): Copy `extra_flags' from here ...
43958 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
43959
43960 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
43961 to `argc' and `args' arguments.
43962
a979f513 439632007-10-17 Robert Millan <rmh@aybabtu.com>
43964
43965 * kern/i386/loader.S: New file.
43966
43967 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
43968 * kern/i386/loader.S (grub_linux_prot_size)... to here.
43969 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
43970 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
43971 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
43972 * kern/i386/loader.S (grub_linux_real_addr)... to here.
43973 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
43974 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
43975 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
43976 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
43977 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
43978 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
43979 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
43980 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
43981
43982 * kern/i386/realmode.S: New file.
43983
43984 * kern/i386/pc/startup.S (protstack): Moved from here ...
43985 * kern/i386/realmode.S (protstack)... to here.
43986 * kern/i386/pc/startup.S (gdt): Moved from here ...
43987 * kern/i386/realmode.S (gdt)... to here.
43988 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
43989 * kern/i386/realmode.S (prot_to_real)... to here.
43990
43991 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
43992 `kern/i386/realmode.S'.
43993
825fc8fd 439942007-10-17 Robert Millan <rmh@aybabtu.com>
43995
43996 * include/grub/i386/loader.h: New file.
43997
43998 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
43999 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
44000 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
44001 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
44002 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
44003 * include/grub/i386/loader.h (grub_linux_prot_size)
44004 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
44005 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
44006 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
44007 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
44008
44009 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
44010
e179b2f4 440112007-10-15 Robert Millan <rmh@aybabtu.com>
44012
44013 * normal/misc.c (grub_normal_print_device_info): Do not probe for
44014 filesystem when dev->disk is unset.
44015 Do probe for filesystem even when dev->disk->has_partitions is set.
44016 In case a filesystem is found, always report it.
44017 In case it isn't, if dev->disk->has_partitions is set, report that
44018 a partition table was found instead of reporting that no filesystem
44019 could be identified.
44020
5db82af6 440212007-10-12 Robert Millan <rmh@aybabtu.com>
44022
44023 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
44024 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
44025
68f6ac74 44026 * include/grub/types.h (grub_host_to_target16): New macro.
44027 (grub_host_to_target32): Likewise.
44028 (grub_host_to_target64): Likewise.
44029 (grub_target_to_host16): Likewise.
44030 (grub_target_to_host32): Likewise.
44031 (grub_target_to_host64): Likewise.
5db82af6 44032
44033 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44034 Renamed from to ...
44035 (GRUB_MOD_ALIGN): ...this. Update all users.
44036
68f6ac74 44037 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
44038 grub_host_to_target32.
44039 Replace grub_be_to_cpu32 with grub_target_to_host32.
44040 (load_modules): Likewise.
44041 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
44042 Replace grub_be_to_cpu32 with grub_target_to_host32.
44043 Replace grub_cpu_to_be16 with grub_host_to_target16.
44044 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 44045
3cf497cc 440462007-10-12 Robert Millan <rmh@aybabtu.com>
44047
44048 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
44049 * util/elf/grub-mkimage.c: ... here.
44050
44051 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
44052 `util/powerpc/ieee1275/grub-mkimage.c'.
44053
c8cc3692 440542007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 44055
c8cc3692 44056 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
44057 and make it easier to figure out.
44058 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
44059 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
44060 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
44061 leave us with less than HEAP_MIN_SIZE total heap.
44062 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 44063
5c58b791 440642007-10-03 Robert Millan <rmh@aybabtu.com>
44065
44066 * include/grub/i386/io.h: New file.
44067 * commands/i386/pc/play.c (inb): Removed.
44068 (outb): Removed.
44069 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44070 with grub_outb().
afcd2ef8 44071 * term/i386/pc/serial.c (inb): Removed.
44072 (outb): Removed.
44073 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44074 with grub_outb().
44075 * term/i386/pc/vga.c (inb): Removed.
44076 (outb): Removed.
44077 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44078 with grub_outb().
5c58b791 44079
1a477ed6 440802007-10-02 Robert Millan <rmh@aybabtu.com>
44081
44082 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
44083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44084 Reported by Marcin Kurek.
44085
6b5d80fa 440862007-09-07 Robert Millan <rmh@aybabtu.com>
44087
44088 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
44089 SmartFirmware version updates (as released by Sven Luther), and avoid
44090 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
44091 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
44092 known broken.
44093
5618afbf 440942007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44095
44096 From Hitoshi Ozeki:
44097 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
44098 when merging two regions.
44099
6139dcd9 441002007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44101
508e39ee 44102 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
44103 * normal/completion.c (grub_normal_do_completion): Likewise.
44104 Reported by Hitoshi Ozeki.
44105
441062007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44107
6139dcd9 44108 Do not use devices at boot in chainloading.
f19dbdb7 44109
6139dcd9 44110 * loader/i386/pc/chainloader.c (boot_drive): New variable.
44111 (boot_part_addr): Likewise.
44112 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
44113 with BOOT_DRIVE and BOOT_PART_ADDR.
44114 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
44115 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
44116
38da6516 441172007-08-29 Robert Millan <rmh@aybabtu.com>
44118
44119 Patch from Simon Peter <dn.tlp@gmx.net>:
44120 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
44121 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
44122 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
44123 util/i386/pc/grub-setup.c_DEPENDENCIES.
44124 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
44125 util/grub-probe.c_DEPENDENCIES.
44126 * conf/powerpc-ieee1275.rmk: Likewise.
44127
29d0928c 441282007-08-28 Robert Millan <rmh@aybabtu.com>
44129
44130 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
44131 to tell grub-mkdevicemap how to name devices.
44132 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
44133 feature).
44134
44135 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
44136 util/i386/get_disk_name.c.
44137 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
44138 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
44139 util/ieee1275/get_disk_name.c.
44140
44141 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
44142
44143 * DISTLIST: Add util/i386/get_disk_name.c and
44144 util/ieee1275/get_disk_name.c.
44145
44146 * util/grub-mkdevicemap.c: Replace device naming logic with
44147 grub_util_get_disk_name() calls.
44148
5a0d3cca 441492007-08-20 Robert Millan <rmh@aybabtu.com>
44150
44151 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
44152 (so that it works for both plural and singular quantities).
44153
8b72db2f 441542007-08-05 Robert Millan <rmh@aybabtu.com>
44155
44156 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
44157 so that [xz] isn't taken into account when determining order.
44158
352466bf 441592007-08-02 Marco Gerards <marco@gnu.org>
44160
44161 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
44162 `include/multiboot2.h', `include/grub/elfload.h',
44163 `include/multiboot.h', `include/grub/multiboot.h',
44164 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
44165 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
44166 `kern/elf.c', `loader/multiboot_loader.c',
44167 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
44168 `loader/i386/pc/multiboot2.c',
44169 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
44170 `util/i386/pc/grub-mkrescue.in'. Remove
44171 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
44172 `include/grub/i386/pc/util/biosdisk.h' and
44173 `include/grub/powerpc/ieee1275/multiboot.h'.
44174
8f096014 441752007-08-02 Bean <bean123ch@gmail.com>
44176
44177 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
44178 (ntfs_mod_SOURCES): New variable.
44179 (ntfs_mod_CFLAGS): Likewise.
44180 (ntfs_mod_LDFLAGS): Likewise.
44181
44182 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
44183 (grub_probe_SOURCES): Likewise.
44184 (grub_emu_SOURCES): Likewise.
44185
44186 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
44187 (grub_emu_SOURCES): Likewise.
44188
44189 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
44190 (grub_emu_SOURCES): Likewise.
f19dbdb7 44191
8f096014 44192 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
44193
44194 * fs/ntfs.c: New file.
44195
9959f7db 441962007-08-02 Bean <bean123ch@gmail.com>
44197
44198 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
44199
44200 * file.h (grub_file): Likewise.
44201
44202 * fshelp.h (grub_fshelp_read_file): Likewise.
44203
44204 * util/i386/pc/grub-setup.c (setup): Likewise.
44205 (save_first_sector): Likewise.
44206 (save_blocklists): Likewise.
f19dbdb7 44207
9959f7db 44208 * fs/affs.c (grub_affs_read_file): Likewise.
44209
44210 * fs/ext2.c (grub_ext2_read_file): Likewise.
44211
44212 * fs/fat.c (grub_fat_read_data): Likewise.
44213
44214 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
44215
44216 * fs/hfs.c (grub_hfs_read_file): Likewise.
44217
44218 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44219
44220 * fs/jfs.c (grub_jfs_read_file): Likewise.
44221
44222 * fs/minix.c (grub_minix_read_file): Likewise.
44223
44224 * fs/sfs.c (grub_sfs_read_file): Likewise.
44225
44226 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 44227
9959f7db 44228 * fs/xfs.c (grub_xfs_read_file): Likewise.
44229
44230 * command/blocklist.c (read_blocklist): Likewise.
44231 (print_blocklist): Likewise.
44232
0a203f83 442332007-08-02 Marco Gerards <marco@gnu.org>
44234
44235 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
44236 `util/hostfs.c'.
44237
44238 * disk/host.c: New file.
44239
44240 * util/hostfs.c: Likewise.
44241
44242 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
44243 return `GRUB_ERR_BAD_FS'.
44244 * fs/sfs.c (grub_sfs_mount): Likewise.
44245 * fs/xfs.c (grub_xfs_mount): Likewise.
44246
44247 * include/grub/disk.h (enum grub_disk_dev_id): Add
44248 `GRUB_DISK_DEVICE_HOST_ID'.
44249
44250 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
44251
e5dfe777 442522007-07-24 Jerone Young <jerone@gmail.com>
44253
f19dbdb7 44254 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 44255 modules for compilation.
44256 * conf/powerpc-ieee1275.rmk: Likewise.
44257
44258 * include/multiboot.h: Move multiboot definitions to one file. Rename
44259 many definitions to not get grub specific.
44260 * include/multiboot2.h: Create header with multiboot 2 definitions.
44261 * include/grub/multiboot.h: Header for grub specific function
44262 prototypes and definitions.
44263 * include/grub/multiboot2.h: Likewise.
44264 * include/grub/multiboot_loader.h: Likewise.
44265 * include/grub/i386/pc/multiboot.h: Removed.
44266 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
44267
44268 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
44269 and 2 to allow for one multiboot and module commands.
44270 * loader/multiboot2.c: Add multiboot2 functionality.
44271 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
44272 and definition names.
44273 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
44274 2 functions.
44275 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
44276 ieee1275 specific multiboot2 code.
44277
44278 * kern/i386/pc/startup.S: Change headers and definition names for
44279 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
44280
daf0f0ba 442812007-07-22 Robert Millan <rmh@aybabtu.com>
44282
44283 * geninitheader.sh: Process file specified in first parameter rather
44284 than hardcoding grub_modules_init.lst.
fe6b695a 44285 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 44286 than hardcoding grub_modules_init.h.
44287
44288 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
44289 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
44290 grub_probe_init.[ch] and grub_setup_init.[ch].
44291
44292 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
44293 grub_modules_init.h with grub_emu_init.h.
44294 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
44295 grub_probe_init.[ch] files.
44296 * conf/i386-efi.rmk: Likewise.
44297 * conf/i386-pc.rmk: Likewise.
44298 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
44299 grub_setup_init.[ch] files.
44300
44301 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
44302 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
44303 to initialize modules rather than a list of hardcoded functions.
44304 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
44305 grub_init_all() to initialize modules rather than a list of hardcoded
44306 functions.
44307
54cdc1cc 443082007-07-22 Robert Millan <rmh@aybabtu.com>
44309
44310 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
44311 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
44312
ad0686cc 443132007-07-22 Robert Millan <rmh@aybabtu.com>
44314
44315 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44316 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
44317 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
44318 flag when running on SmartFirmware.
44319 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
44320 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
44321 was set.
44322
44323 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44324 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
44325 rather than decreasing it.
44326
44327 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
44328 there's not enough space to do it, fail in the same way as when it
44329 can't be done because there are no partitions.
44330
44331 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
44332 when nvsetenv failed.
44333
969c02ec 443342007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
44335
44336 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
44337 because this rule is automatically generated.
44338 (grub-mkrescue): Removed for the same reason as above.
44339
5a79f472 443402007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
44341
44342 Migrate to GNU General Public License Version 3.
f19dbdb7 44343
5a79f472 44344 * COPYING: Replaced with the plain text version of GPLv3.
44345
44346 * config.guess: Updated from gnulib.
44347 * config.sub: Likewise.
44348
44349 * geninit.sh: Output a GPLv3 copyright notice.
44350 * geninitheader.sh: Likewise.
44351 * genmodsrc.sh: Likewise.
44352 * gensymlist.sh.in: Likewise.
44353
44354 * boot/i386/pc/boot.S: Upgraded to GPLv3.
44355 * boot/i386/pc/diskboot.S: Likewise.
44356 * boot/i386/pc/pxeboot.S: Likewise.
44357 * commands/blocklist.c: Likewise.
44358 * commands/boot.c: Likewise.
44359 * commands/cat.c: Likewise.
44360 * commands/cmp.c: Likewise.
44361 * commands/configfile.c: Likewise.
44362 * commands/echo.c: Likewise.
44363 * commands/help.c: Likewise.
44364 * commands/ls.c: Likewise.
44365 * commands/search.c: Likewise.
44366 * commands/terminal.c: Likewise.
44367 * commands/test.c: Likewise.
44368 * commands/videotest.c: Likewise.
44369 * commands/i386/cpuid.c: Likewise.
44370 * commands/i386/pc/halt.c: Likewise.
44371 * commands/i386/pc/play.c: Likewise.
44372 * commands/i386/pc/reboot.c: Likewise.
44373 * commands/i386/pc/vbeinfo.c: Likewise.
44374 * commands/i386/pc/vbetest.c: Likewise.
44375 * commands/ieee1275/halt.c: Likewise.
44376 * commands/ieee1275/reboot.c: Likewise.
44377 * commands/ieee1275/suspend.c: Likewise.
44378 * disk/loopback.c: Likewise.
44379 * disk/lvm.c: Likewise.
44380 * disk/raid.c: Likewise.
44381 * disk/efi/efidisk.c: Likewise.
44382 * disk/i386/pc/biosdisk.c: Likewise.
44383 * disk/ieee1275/ofdisk.c: Likewise.
44384 * font/manager.c: Likewise.
44385 * fs/affs.c: Likewise.
44386 * fs/ext2.c: Likewise.
44387 * fs/fat.c: Likewise.
44388 * fs/fshelp.c: Likewise.
44389 * fs/hfs.c: Likewise.
44390 * fs/hfsplus.c: Likewise.
44391 * fs/iso9660.c: Likewise.
44392 * fs/jfs.c: Likewise.
44393 * fs/minix.c: Likewise.
44394 * fs/sfs.c: Likewise.
44395 * fs/ufs.c: Likewise.
44396 * fs/xfs.c: Likewise.
44397 * hello/hello.c: Likewise.
44398 * include/grub/acorn_filecore.h: Likewise.
44399 * include/grub/arg.h: Likewise.
44400 * include/grub/bitmap.h: Likewise.
44401 * include/grub/boot.h: Likewise.
44402 * include/grub/cache.h: Likewise.
44403 * include/grub/device.h: Likewise.
44404 * include/grub/disk.h: Likewise.
44405 * include/grub/dl.h: Likewise.
44406 * include/grub/elfload.h: Likewise.
44407 * include/grub/env.h: Likewise.
44408 * include/grub/err.h: Likewise.
44409 * include/grub/file.h: Likewise.
44410 * include/grub/font.h: Likewise.
44411 * include/grub/fs.h: Likewise.
44412 * include/grub/fshelp.h: Likewise.
44413 * include/grub/gzio.h: Likewise.
44414 * include/grub/hfs.h: Likewise.
44415 * include/grub/kernel.h: Likewise.
44416 * include/grub/loader.h: Likewise.
44417 * include/grub/lvm.h: Likewise.
44418 * include/grub/misc.h: Likewise.
44419 * include/grub/mm.h: Likewise.
44420 * include/grub/net.h: Likewise.
44421 * include/grub/normal.h: Likewise.
44422 * include/grub/parser.h: Likewise.
44423 * include/grub/partition.h: Likewise.
44424 * include/grub/pc_partition.h: Likewise.
44425 * include/grub/raid.h: Likewise.
44426 * include/grub/rescue.h: Likewise.
44427 * include/grub/script.h: Likewise.
44428 * include/grub/setjmp.h: Likewise.
44429 * include/grub/symbol.h: Likewise.
44430 * include/grub/term.h: Likewise.
44431 * include/grub/terminfo.h: Likewise.
44432 * include/grub/tparm.h: Likewise.
44433 * include/grub/types.h: Likewise.
44434 * include/grub/video.h: Likewise.
44435 * include/grub/efi/api.h: Likewise.
44436 * include/grub/efi/chainloader.h: Likewise.
44437 * include/grub/efi/console.h: Likewise.
44438 * include/grub/efi/console_control.h: Likewise.
44439 * include/grub/efi/disk.h: Likewise.
44440 * include/grub/efi/efi.h: Likewise.
44441 * include/grub/efi/pe32.h: Likewise.
44442 * include/grub/efi/time.h: Likewise.
44443 * include/grub/i386/linux.h: Likewise.
44444 * include/grub/i386/setjmp.h: Likewise.
44445 * include/grub/i386/types.h: Likewise.
44446 * include/grub/i386/efi/kernel.h: Likewise.
44447 * include/grub/i386/efi/loader.h: Likewise.
44448 * include/grub/i386/efi/time.h: Likewise.
44449 * include/grub/i386/pc/biosdisk.h: Likewise.
44450 * include/grub/i386/pc/boot.h: Likewise.
44451 * include/grub/i386/pc/chainloader.h: Likewise.
44452 * include/grub/i386/pc/console.h: Likewise.
44453 * include/grub/i386/pc/init.h: Likewise.
44454 * include/grub/i386/pc/kernel.h: Likewise.
44455 * include/grub/i386/pc/loader.h: Likewise.
44456 * include/grub/i386/pc/memory.h: Likewise.
44457 * include/grub/i386/pc/multiboot.h: Likewise.
44458 * include/grub/i386/pc/serial.h: Likewise.
44459 * include/grub/i386/pc/time.h: Likewise.
44460 * include/grub/i386/pc/vbe.h: Likewise.
44461 * include/grub/i386/pc/vbeblit.h: Likewise.
44462 * include/grub/i386/pc/vbefill.h: Likewise.
44463 * include/grub/i386/pc/vbeutil.h: Likewise.
44464 * include/grub/i386/pc/vga.h: Likewise.
44465 * include/grub/ieee1275/ieee1275.h: Likewise.
44466 * include/grub/ieee1275/ofdisk.h: Likewise.
44467 * include/grub/powerpc/libgcc.h: Likewise.
44468 * include/grub/powerpc/setjmp.h: Likewise.
44469 * include/grub/powerpc/types.h: Likewise.
44470 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
44471 * include/grub/powerpc/ieee1275/console.h: Likewise.
44472 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
44473 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
44474 * include/grub/powerpc/ieee1275/loader.h: Likewise.
44475 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
44476 * include/grub/powerpc/ieee1275/time.h: Likewise.
44477 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
44478 * include/grub/sparc64/libgcc.h: Likewise.
44479 * include/grub/sparc64/setjmp.h: Likewise.
44480 * include/grub/sparc64/types.h: Likewise.
44481 * include/grub/sparc64/ieee1275/console.h: Likewise.
44482 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44483 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44484 * include/grub/sparc64/ieee1275/time.h: Likewise.
44485 * include/grub/util/biosdisk.h: Likewise.
44486 * include/grub/util/getroot.h: Likewise.
44487 * include/grub/util/lvm.h: Likewise.
44488 * include/grub/util/misc.h: Likewise.
44489 * include/grub/util/raid.h: Likewise.
44490 * include/grub/util/resolve.h: Likewise.
44491 * io/gzio.c: Likewise.
44492 * kern/device.c: Likewise.
44493 * kern/disk.c: Likewise.
44494 * kern/dl.c: Likewise.
44495 * kern/elf.c: Likewise.
44496 * kern/env.c: Likewise.
44497 * kern/err.c: Likewise.
44498 * kern/file.c: Likewise.
44499 * kern/fs.c: Likewise.
44500 * kern/loader.c: Likewise.
44501 * kern/main.c: Likewise.
44502 * kern/misc.c: Likewise.
44503 * kern/mm.c: Likewise.
44504 * kern/parser.c: Likewise.
44505 * kern/partition.c: Likewise.
44506 * kern/rescue.c: Likewise.
44507 * kern/term.c: Likewise.
44508 * kern/efi/efi.c: Likewise.
44509 * kern/efi/init.c: Likewise.
44510 * kern/efi/mm.c: Likewise.
44511 * kern/i386/dl.c: Likewise.
44512 * kern/i386/efi/init.c: Likewise.
44513 * kern/i386/efi/startup.S: Likewise.
44514 * kern/i386/pc/init.c: Likewise.
44515 * kern/i386/pc/lzo1x.S: Likewise.
44516 * kern/i386/pc/startup.S: Likewise.
44517 * kern/ieee1275/ieee1275.c: Likewise.
44518 * kern/powerpc/cache.S: Likewise.
44519 * kern/powerpc/dl.c: Likewise.
44520 * kern/powerpc/ieee1275/cmain.c: Likewise.
44521 * kern/powerpc/ieee1275/crt0.S: Likewise.
44522 * kern/powerpc/ieee1275/init.c: Likewise.
44523 * kern/powerpc/ieee1275/openfw.c: Likewise.
44524 * kern/sparc64/cache.S: Likewise.
44525 * kern/sparc64/dl.c: Likewise.
44526 * kern/sparc64/ieee1275/init.c: Likewise.
44527 * kern/sparc64/ieee1275/openfw.c: Likewise.
44528 * loader/efi/chainloader.c: Likewise.
44529 * loader/efi/chainloader_normal.c: Likewise.
44530 * loader/i386/efi/linux.c: Likewise.
44531 * loader/i386/efi/linux_normal.c: Likewise.
44532 * loader/i386/pc/chainloader.c: Likewise.
44533 * loader/i386/pc/chainloader_normal.c: Likewise.
44534 * loader/i386/pc/linux.c: Likewise.
44535 * loader/i386/pc/linux_normal.c: Likewise.
44536 * loader/i386/pc/multiboot.c: Likewise.
44537 * loader/i386/pc/multiboot_normal.c: Likewise.
44538 * loader/powerpc/ieee1275/linux.c: Likewise.
44539 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
44540 * normal/arg.c: Likewise.
44541 * normal/cmdline.c: Likewise.
44542 * normal/command.c: Likewise.
44543 * normal/completion.c: Likewise.
44544 * normal/execute.c: Likewise.
44545 * normal/function.c: Likewise.
44546 * normal/lexer.c: Likewise.
44547 * normal/main.c: Likewise.
44548 * normal/menu.c: Likewise.
44549 * normal/menu_entry.c: Likewise.
44550 * normal/misc.c: Likewise.
44551 * normal/parser.y: Likewise.
44552 * normal/script.c: Likewise.
44553 * normal/i386/setjmp.S: Likewise.
44554 * normal/powerpc/setjmp.S: Likewise.
44555 * normal/sparc64/setjmp.S: Likewise.
44556 * partmap/acorn.c: Likewise.
44557 * partmap/amiga.c: Likewise.
44558 * partmap/apple.c: Likewise.
44559 * partmap/gpt.c: Likewise.
44560 * partmap/pc.c: Likewise.
44561 * partmap/sun.c: Likewise.
44562 * term/gfxterm.c: Likewise.
44563 * term/terminfo.c: Likewise.
44564 * term/efi/console.c: Likewise.
44565 * term/i386/pc/console.c: Likewise.
44566 * term/i386/pc/serial.c: Likewise.
44567 * term/i386/pc/vesafb.c: Likewise.
44568 * term/i386/pc/vga.c: Likewise.
44569 * term/ieee1275/ofconsole.c: Likewise.
44570 * util/biosdisk.c: Likewise.
44571 * util/console.c: Likewise.
44572 * util/genmoddep.c: Likewise.
44573 * util/getroot.c: Likewise.
44574 * util/grub-emu.c: Likewise.
44575 * util/grub-mkdevicemap.c: Likewise.
44576 * util/grub-probe.c: Likewise.
44577 * util/lvm.c: Likewise.
44578 * util/misc.c: Likewise.
44579 * util/raid.c: Likewise.
44580 * util/resolve.c: Likewise.
44581 * util/update-grub.in: Likewise.
44582 * util/update-grub_lib.in: Likewise.
44583 * util/grub.d/00_header.in: Likewise.
44584 * util/grub.d/10_hurd.in: Likewise.
44585 * util/grub.d/10_linux.in: Likewise.
44586 * util/i386/efi/grub-install.in: Likewise.
44587 * util/i386/efi/grub-mkimage.c: Likewise.
44588 * util/i386/pc/grub-install.in: Likewise.
44589 * util/i386/pc/grub-mkimage.c: Likewise.
44590 * util/i386/pc/grub-mkrescue.in: Likewise.
44591 * util/i386/pc/grub-setup.c: Likewise.
44592 * util/i386/pc/misc.c: Likewise.
44593 * util/powerpc/ieee1275/grub-install.in: Likewise.
44594 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
44595 * util/powerpc/ieee1275/misc.c: Likewise.
44596 * video/bitmap.c: Likewise.
44597 * video/video.c: Likewise.
44598 * video/i386/pc/vbe.c: Likewise.
44599 * video/i386/pc/vbeblit.c: Likewise.
44600 * video/i386/pc/vbefill.c: Likewise.
44601 * video/i386/pc/vbeutil.c: Likewise.
44602 * video/readers/tga.c: Likewise.
44603
3572d015 446042007-07-02 Robert Millan <rmh@aybabtu.com>
44605
44606 * conf/i386-efi.rmk: Replace obsolete reference to
44607 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
44608 with util/getroot.c.
44609 * conf/powerpc-ieee1275.rmk: Likewise.
44610 * conf/sparc64-ieee1275.rmk: Likewise.
44611
44612 * util/grub-emu.c (main): Fix unchecked pointer handling.
44613
2c2a681b 446142007-07-02 Robert Millan <rmh@aybabtu.com>
44615
44616 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
44617 invocation to fail, in order to support partition-less media.
44618
44619 * util/i386/pc/grub-install.in: Likewise.
44620
44621 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
44622 which fs or partmap modules are needed (akin to its sister scripts).
44623
44624 Also use grub-probe to get rid of unportable /proc/mounts check.
44625
44626 Print the same informational message that the other scripts do, before
fe6b695a 44627 exiting.
2c2a681b 44628
6193defe 446292007-06-23 Robert Millan <rmh@aybabtu.com>
44630
fe6b695a 44631 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 44632 a font file can be found and, if so, echo the GRUB path to it.
44633
44634 * util/update-grub.in: Handle multiple terminals depending on user
44635 input, platform availability and font file presence. Propagate
44636 variables of our findings to /etc/grub.d/ children.
44637
44638 * util/grub.d/00_header.in: Handle multiple terminals, based on
44639 environment setup by update-grub.
44640
eface1dc 446412007-06-23 Robert Millan <rmh@aybabtu.com>
44642
ba50d28f 44643 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 44644
bf697e28 446452007-06-21 Robert Millan <rmh@aybabtu.com>
44646
44647 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
44648 indicate end of data section in kernel image.
44649 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
44650 GRUB_KERNEL_MACHINE_DATA_END.
44651
44652 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
44653 space for it.
44654 * kern/i386/efi/startup.S: Likewise.
44655
44656 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
44657 during image generation. Implement --prefix option to override this
44658 patch.
44659 * util/i386/efi/grub-mkimage.c: Likewise.
44660
44661 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
44662 code to make path relative to its root into a separate function.
44663
44664 * util/i386/pc/grub-install.in: Use newly provided
44665 make_system_path_relative_to_its_root() to convert ${grubdir}, then
44666 pass the result to grub-install --prefix.
44667
baa574b4 446682007-06-13 Robert Millan <rmh@aybabtu.com>
44669
44670 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
44671 DEFAULT_DEVICE_MAP.
44672 * util/grub-emu.c: Use above definitions from misc.h instead of
44673 defining them.
44674 * util/grub-mkdevicemap.c: Likewise.
44675 * util/i386/pc/grub-setup.c: Likewise.
44676 * util/grub-probe.c: Likewise.
44677 (probe): Abort with grub_util_error() when either
44678 grub_guess_root_device or grub_util_get_grub_dev fails.
44679
0215dcbf 446802007-06-12 Robert Millan <rmh@aybabtu.com>
44681
44682 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
44683 "pager" assignment.
44684 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
44685 "pcdata".
44686 * util/grub-probe.c (probe): Likewise for "drive_name".
44687
8af2ab7b 446882007-06-11 Robert Millan <rmh@aybabtu.com>
44689
44690 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
44691 not just the cdrom one.
44692
59d31694 446932007-06-11 Robert Millan <rmh@aybabtu.com>
44694
44695 * util/i386/pc/grub-mkrescue.in: Add "set -e".
44696 Add --pkglibdir=DIR option to override pkglibdir.
44697 Mention --image-type=TYPE in help output.
44698 Fix --grub-mkimage (it was a no-op).
fe6b695a 44699 Abort gracefully when no parameter is given.
59d31694 44700
7ee367e4 447012007-06-11 Robert Millan <rmh@aybabtu.com>
44702
44703 * util/i386/pc/grub-mkrescue.in: New file.
44704 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
44705 * Makefile.in: Handle bin_SCRIPTS.
44706
29b0ed46 447072007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
44708
44709 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
44710 list of video modes.
44711
c0f90770 447122007-06-06 Robert Millan <rmh@aybabtu.com>
44713
44714 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
44715 file doesn't exist, or if it is in a filesystem grub can't read.
44716
44717 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
44718 not abort if GRUB_DRIVE could not be defined. Rearrange generated
44719 header comment to fit in 80 columns when the variables are resolved.
44720
44721 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
44722 could be identified by update-grub. Remove redundant check for
fe6b695a 44723 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 44724 handles that).
44725
fb36dc26 447262007-06-04 Robert Millan <rmh@aybabtu.com>
44727
44728 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
44729
44730 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
44731
44732 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
44733
0c68c93e 447342007-06-04 Robert Millan <rmh@aybabtu.com>
44735
44736 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
44737
44738 * include/grub/partition.h: Declare grub_apple_partition_map_init and
44739 grub_apple_partition_map_fini.
44740
44741 * util/biosdisk.c
44742 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
44743 to access >2 TiB disks).
44744
44745 Print disk->total_sectors with %llu instead of %lu, since this
44746 variable is always 64-bit (prevents wrong disk size from being displayed
44747 on either >2 TiB disk or big-endian CPU).
44748
44749 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
44750 into a generic case that supports all (sane) partition maps.
44751
44752 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
44753 breaks big-endian.
44754
44755 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
44756 and grub_apple_partition_map_fini() after that.
44757
0f23eb74 447582007-06-01 Robert Millan <rmh@aybabtu.com>
44759
44760 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
44761
44762 * util/grub.d/00_header.in: Only enable gfxterm when
44763 convert_system_path_to_grub_path() succeeds.
44764
42c71976 447652007-05-20 Robert Millan <rmh@aybabtu.com>
44766
44767 * util/update-grub_lib.in: New file.
44768 * DISTLIST: Add update-grub_lib.in.
44769 * conf/common.rmk: Generate update-grub_lib and install it in
44770 $(lib_DATA).
44771 * Makefile.in: Add install routine for $(lib_DATA).
44772
44773 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
44774 function provided by update-grub_lib to support arbitrary paths of
44775 unifont.pff.
44776 * util/update-grub.in: Use convert_system_path_to_grub_path() to
44777 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
44778
5beb2291 447792007-05-19 Robert Millan <rmh@aybabtu.com>
44780
44781 * commands/i386/cpuid.c: New module.
44782 * DISTLIST: Add it.
44783 * conf/i386-efi.rmk: Enable cpuid.mod.
44784 * conf/i386-pc.rmk: Likewise.
44785
7262eca1 447862007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44787
44788 * kern/disk.c (grub_disk_read): Check return value of
44789 grub_realloc().
44790
260ba823 447912007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44792
44793 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
44794 arrays.
44795 * disk/raid.c (grub_raid_open): Likewise.
44796
1ecb6cf2 447972007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44798
44799 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
44800 stack instead of on the heap.
44801
44802 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
44803 before doing a read on it.
44804
44805 * configure.ac: Only use -fno-stack-protector for the target
44806 environment.
f19dbdb7 44807
21c8cbb1 448082007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44809
44810 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
44811 __attribute_ ((unused)) to mode_type argument.
44812
44813 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 44814
21c8cbb1 44815 * kern/misc.c (memcmp): Fix prototype.
44816
44817 * include/grub/partition.h [GRUB_UTIL]
44818 (grub_gpt_partition_map_init): Add prototype.
44819 (grub_gpt_partition_map_fini): Likewise.
44820
44821 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
44822 at the right place.
44823
44824 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
44825 (grub_fat_read_data): Likewise.
44826 (grub_fat_find_dir): Likewise.
44827
44828 * font/manager.c (find_glyph): Make table a const.
44829 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 44830
849d55d3 448312007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
44832
44833 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
44834 code, first search for device in /dev/mapper, then in /dev.
44835 (grub_util_get_grub_dev): New function.
44836 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
44837 prototype.
44838 * util/grub-probe.c (probe): Remove check for RAID, call
44839 grub_util_get_grub_dev() instead of
44840 grub_util_biosdisk_get_grub_dev().
44841 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
44842 grub_util_biosdisk_get_grub_dev().
44843 * util/i386/pc/grub-setup.c (main): Likewise.
44844
8fff7c2f 448452007-05-16 Robert Millan <rmh@aybabtu.com>
44846
44847 * DISTLIST: Update for the latest changes.
44848 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
44849 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
44850 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
44851 grub/util/biosdisk.h.
44852 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
44853 grub/util/biosdisk.h.
44854
48e12b52 448552007-05-16 Robert Millan <rmh@aybabtu.com>
44856
44857 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
44858
46b9d128 448592007-05-16 Robert Millan <rmh@aybabtu.com>
44860
44861 * util/i386/efi/grub-install.in: New.
44862 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
44863 newly added grub-install.
44864 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
44865 include.
44866 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
44867 grub/util/biosdisk.h.
44868 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
44869 grub/util/biosdisk.h.
44870
2d1a40a9 448712007-05-16 Robert Millan <rmh@aybabtu.com>
44872
44873 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
44874 * include/grub/util/biosdisk.h: ... here.
44875 * util/i386/pc/biosdisk.c: Moved to ...
44876 * util/biosdisk.c: ... here.
44877 * util/i386/pc/getroot.c: Moved to ...
44878 * util/getroot.c: ... here.
44879 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
44880 * util/grub-mkdevicemap.c: ... here.
44881 * util/i386/pc/grub-probe.c: Moved to ...
44882 * util/grub-probe.c: ... here.
44883
9e26e3bc 448842007-05-15 Robert Millan <rmh@aybabtu.com>
44885
44886 * util/update-grub.in: Remove duplicated line in grub.cfg header
44887 message.
44888
57f96397 448892007-05-13 Robert Millan <rmh@aybabtu.com>
44890
44891 * util/update-grub.in: Fix a few assumptions about the devices holding
44892 /, /boot and /boot/grub being the same.
44893 * util/grub.d/00_header.in: Likewise.
44894 * util/grub.d/10_hurd.in: Likewise.
44895 * util/grub.d/10_linux.in: Likewise.
44896
44897 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
44898 patterns. Use that to define the `.old' suffix as older than `'.
44899
44900 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
44901
44902 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
44903 the grub.cfg header message.
44904
2e610d62 449052007-05-11 Robert Millan <rmh@aybabtu.com>
44906
44907 * util/update-grub.in: Create device.map if it doesn't already exist,
44908 before attempting to run grub-probe.
44909 Check for grub-probe and grub-mkdevicemap with the same code
44910 grub-install is using.
44911 Remove test mode.
44912
3f6a10ef 449132007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
44914
44915 * Makefile.in: Add the datarootdir autoconf variable.
44916
02e7b75e 449172007-05-09 Robert Millan <rmh@aybabtu.com>
44918
44919 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 44920 fail gracefully if dev->disk->partition == NULL.
02e7b75e 44921
75f396cc 449222007-05-07 Robert Millan <rmh@aybabtu.com>
44923
44924 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
44925 determine partition map module.
44926 * util/i386/pc/grub-install.in: Use this feature to decide which
44927 partition module to load, instead of hardcoding pc and gpt.
44928
da65cb36 449292007-05-07 Robert Millan <rmh@aybabtu.com>
44930
44931 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
44932 source directory differs from build directory.
44933
b57d6a91 449342007-05-05 Robert Millan <rmh@aybabtu.com>
44935
44936 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
44937 initialisation.
44938
509d00f1 449392007-05-05 Robert Millan <rmh@aybabtu.com>
44940
44941 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
44942
c48f23ef 449432007-05-05 Robert Millan <rmh@aybabtu.com>
44944
44945 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
44946 command-line arguments via ${GRUB_CMDLINE_LINUX}.
44947
20b97658 449482007-05-05 Robert Millan <rmh@aybabtu.com>
44949
44950 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
44951 (grub_probe_SOURCES): Likewise.
44952 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
44953 GPT and initialize dos_part and bsd_part accordingly.
44954 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
44955 install_bsd_part.
44956 (main): Activate gpt module for use during partition identification,
44957 and deactivate it afterwards.
44958 * util/i386/pc/grub-install.in: Add gpt module to core.img.
44959 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
44960 partition identification, and deactivate it afterwards.
44961
99123174 449622007-05-05 Robert Millan <rmh@aybabtu.com>
44963
44964 * term/i386/pc/console.c (grub_console_fini): Call
44965 grub_term_set_current() before grub_term_unregister().
44966
ebd97f6e 449672007-05-04 Robert Millan <rmh@aybabtu.com>
44968
44969 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
44970 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
44971 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
44972 and update-grub_DATA.
44973 * conf/common.rmk: Build and install update-grub components.
44974 * conf/common.mk: Regenerate.
44975 * util/update-grub.in: New. Core of update-grub.
44976 * util/grub.d/00_header.in: New. Generates grub.cfg header.
44977 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
44978 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
44979 * util/grub.d/README: New. Document grub.d directory layout.
44980
b06a264d 449812007-05-01 Robert Millan <rmh@aybabtu.com>
44982
44983 * util/grub-emu.c: Move initialization functions
44984 grub_util_biosdisk_init() and grub_init_all() before
44985 grub_util_biosdisk_get_grub_dev(), which relies on them.
44986
41f0050e 449872007-04-19 Robert Millan <rmh@aybabtu.com>
44988
44989 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
44990 it is used later.
44991
04582bb3 449922007-04-18 Jerone Young <jerone@gmail.com>
44993
f19dbdb7 44994 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 44995 stanza.
44996
08db4632 449972007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 44998
08db4632 44999 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
45000 continue on and look for device node with real device name.
45001
801b76be 450022007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 45003
fe6b695a 45004 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 45005 ability.
45006 * Makefile.in: Add autoconf package transformation code.
45007 * util/i386/pc/grub-install.in: Likewise.
45008 * util/powerpc/ieee1275/grub-install.in: Likewise.
45009
6795c4e1 450102007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
45011
45012 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
45013 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
45014 (EXT2_REVISION): Likewise.
45015 (EXT2_INODE_SIZE): Likewise.
45016 (struct grub_ext2_block_group): Added a missing member
45017 "used_dirs".
45018 (grub_ext2_read_inode): Divide by the inode size in a superblock
45019 instead of 128 to obtain INODES_PER_BLOCK.
45020 Use the macro EXT2_INODE_SIZE instead of directly using
45021 SBLOCK->INODE_SIZE.
45022
d70af616 450232007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
45024
45025 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
45026 superblock instead of the structure size to compute an
45027 offset. This fixes the problem that GRUB could not read a
45028 filesystem when inode size is different from 128-byte.
45029
3b801603 450302007-03-05 Marco Gerards <marco@gnu.org>
45031
45032 * normal/main.c (read_config_file): When "menu" is not set, create
45033 an initial context.
45034
4785bfe4 450352007-02-21 Hollis Blanchard <hollis@penguinppc.org>
45036
45037 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
45038 (HEAP_LIMIT): New macro.
45039 (grub_claim_heap): Claim memory up to `heaplimit'.
45040
a0cbb023 450412007-02-21 Hollis Blanchard <hollis@penguinppc.org>
45042
45043 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
45044 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
45045 (_start): Likewise.
45046 (grub_arch_modules_addr): Return address after `_end'.
45047 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
45048 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
45049 (add_segments): Calculate `_end' from phdr size and location.
45050 (ALIGN_UP): Moved to ...
45051 * include/grub/misc.h: here.
45052 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45053 New macro.
45054 (GRUB_IEEE1275_MODULE_BASE): Removed.
45055
fd7d8eba 450562007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45057
45058 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
45059 loop boundary.
45060
9b09e6fc 450612007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45062
45063 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
45064 All users updated.
45065 (grub_elf64_load_hook_t): Likewise.
45066 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
45067 debug output.
45068
3ce27299 450692007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45070
45071 * kern/mm.c: Update copyright.
45072 (grub_mm_debug): Correct syntax error.
45073 (grub_mm_dump_free): New function.
45074 (grub_debug_free): Call `grub_free'.
45075 * include/grub/mm.h: Update copyright.
45076 (grub_mm_dump_free): Add declaration.
45077
077d5fee 450782007-02-12 Hollis Blanchard <hollis@penguinppc.org>
45079
45080 * include/grub/ieee1275/ieee1275.h: Update copyright.
45081 * kern/powerpc/ieee1275/init.c: Likewise.
45082 * kern/powerpc/ieee1275/openfw.c: Likewise.
45083
45084 * loader/powerpc/ieee1275/linux.c: Likewise.
45085 * include/grub/elfload.h: Likewise.
45086 * kern/elf.c: Likewise.
45087 (grub_elf32_load): Pass `base' and `size' parameters. Update all
45088 callers.
45089 (grub_elf64_load): Likewise.
45090 (grub_elf32_load_segment): Move to a nested function.
45091 (grub_elf64_load_segment): Likewise.
45092
dc946850 450932007-02-12 Hollis Blanchard <hollis@penguinppc.org>
45094
45095 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
45096 prototype.
45097 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
45098 (grub_heap_len): Likewise.
45099 (HEAP_SIZE): New macro.
45100 (grub_claim_heap): New function.
45101 (grub_machine_init): Don't claim heap directly. Call
45102 `grub_claim_heap'.
45103 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
45104 (grub_available_iterate): New function.
45105
baa2a121 451062007-02-03 Thomas Schwinge <tschwinge@gnu.org>
45107
45108 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
45109 * configure.ac: Use it for testing the HOST and TARGET compilers.
45110
4fe9862e 451112006-12-13 Thomas Schwinge <tschwinge@gnu.org>
45112
45113 * Makefile.in (enable_grub_emu): New variable.
45114 * configure.ac (--enable-grub-emu): New option.
45115 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
45116 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
45117 * conf/i386-pc.rmk: Likewise.
45118 * conf/powerpc-ieee1275.rmk: Likewise.
45119 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
45120
a8aa5762 451212006-12-12 Marco Gerards <marco@gnu.org>
45122
45123 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
45124
45125 * kern/env.c (grub_env_unset): Don't free the member `value' when
45126 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
45127 pointer.
45128
45129 * normal/main.c (current_menu): Removed.
45130 (free_menu): Unset the `menu' environment variable.
45131 (grub_normal_menu_addentry): Make use of the environment variable
45132 `menu', instead of using the global `current_menu'. Allocate
45133 memory for the sourcecode of this entry.
45134 (read_config_file): New argument `nested', changed all callers.
45135 Only in the case of a new context, initialize a new menu. Set the
45136 `menu' environment variable.
45137 (grub_normal_execute): Don't set and unset the environment
45138 variable `menu' here anymore. Only free the menu when leaving the
45139 context.
45140
45141 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
45142 leak.
45143
957b3a3e 451442006-12-11 Marco Gerards <marco@gnu.org>
45145
45146 * normal/menu_entry.c (run): Fix off by one bug so the last line
45147 is executed. Move the loader check to outside the loop.
45148
ef875714 451492006-12-08 Hollis Blanchard <hollis@penguinppc.org>
45150
45151 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
45152
4e739985 451532006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
45154
45155 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
45156 the number of sectors. Reported by Andrey Shuvikov
45157 <mr_hyro@yahoo.com>.
f19dbdb7 45158
790707f2 451592006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
45160
45161 * kern/disk.c (grub_disk_read): When there is a read error, always
45162 try to read only the necessary data.
f19dbdb7 45163
790707f2 45164 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
45165 disk/raid.c.
45166 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
45167 prototype.
45168 [GRUB_UTIL] (grub_raid_fini): Likewise.
45169 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 45170 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 45171 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
45172 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
45173 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
45174 and grub_raid_fini().
f19dbdb7 45175
03e58196 451762006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
45177
45178 * include/grub/types.h (__unused): Rename to UNUSED.
45179 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
45180 (grub_elf64_size): Likewise.
f19dbdb7 45181
ae4f23bf 451822006-11-03 Hollis Blanchard <hollis@penguinppc.org>
45183
45184 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
45185 grub_error_push and grub_error_pop in the error-handling path.
45186 (grub_elf32_load_segment): Only call grub_file_read with non-zero
45187 length.
45188
2166cc83 451892006-11-03 Hollis Blanchard <hollis@penguinppc.org>
45190
45191 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
45192 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45193 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45194 (kernel_elf_SOURCES): Likewise.
45195 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
45196 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
45197 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45198 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45199 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
45200 (elf_mod_SOURCES): New variable.
45201 (elf_mod_CFLAGS): Likewise.
45202 (elf_mod_LDFLAGS): Likewise.
45203 * include/grub/types.h (__unused): New macro.
45204 * include/grub/elfload.h: New file.
45205 * kern/elf.c: Likewise.
45206 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
45207 (ELF32_LOADMASK): New macro.
45208 (ELF64_LOADMASK): Likewise.
45209 (vmlinux): Removed.
45210 (grub_linux_load32): New function.
45211 (grub_linux_load64): Likewise.
45212 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
45213 Use grub_elf_t instead of grub_file_t.
45214
a09d5aa5 452152006-11-02 Hollis Blanchard <hollis@penguinppc.org>
45216
45217 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
45218 `catch_result' to struct set_color_args.
45219
d976fc51 452202006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
45221
45222 * normal/menu.c: Include grub/script.h.
45223 * normal/menu_entry.c: Likewise.
45224 * include/grub/normal.h: Do not include grub/script.h.
45225
67507549 452262006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45227
45228 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
45229
69203a99 452302006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45231
45232 * kern/disk.c (grub_disk_open): Print debug messages when opening a
45233 disk.
45234 (grub_disk_close): Print debug messages when closing a disk.
45235 (grub_disk_read): Print debug messages when disk read fails.
45236 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
45237 filesystem type.
45238 * kern/partition.c: Include misc.h.
45239 (grub_partition_iterate): Print debug messages when detecting
45240 partition type.
45241
e2b8278c 452422006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45243
45244 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
45245 is negative.
45246 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
45247
97b2f2ff 452482006-10-26 Hollis Blanchard <hollis@penguinppc.org>
45249
45250 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45251 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
45252
6555d655 452532006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
45254
45255 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
45256 instead of sizeof(lv). Patch by Michael Guntsche.
45257
4d42b77f 452582006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
45259
45260 * disk/lvm.c: Rename VGS to VG_LIST.
45261 (grub_lvm_iterate): Change VGS->LV to VG-LV.
45262 (grub_lvm_open): Likewise.
45263 Thanks to Michael Guntsche for finding this bug.
45264
5d74d927 452652006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45266
45267 * configure.ac (AC_INIT): Bumped to 1.95.
45268
a1bb27e4 452692006-10-14 Robert Millan <rmh@aybabtu.com>
45270
45271 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
45272 with "/dev/.static/dev/md".
45273
e0994b8b 452742006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
45275
45276 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
45277 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
45278 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
45279 DRIVE_NAME are always freed.
45280
45281 * util/i386/pc/biosdisk.c (make_device_name): Add one into
45282 DOS_PART, as a DOS partition is counted from one instead of zero
45283 now. Reported by Robert Millan.
45284
ddd5cee9 452852006-10-14 Robert Millan <rmh@aybabtu.com>
45286
45287 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
45288 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
45289 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
45290 string returned by grub_guess_root_device.
45291 * util/i386/pc/grub-setup.c: Likewise.
45292 * util/i386/pc/grub-probefs.c: Likewise.
45293
45294 * util/i386/pc/grub-probefs.c: Rename to ...
45295 * util/i386/pc/grub-probe.c: ... this.
45296 * DISTLIST: Remove grub-probefs, add grub-probe.
45297 * conf/i386-efi.rmk: Likewise.
45298 * conf/i386-pc.rmk: Likewise.
45299 * util/i386/pc/grub-install.in: Likewise.
45300
45301 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
45302 choose which information we want to print.
45303
2b002173 453042006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
45305
45306 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
45307 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
45308 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
45309 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
45310 video/readers/tga.c and video/i386/pc/vbeutil.c.
45311
453122006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
45313
45314 Added support for RAID and LVM.
f19dbdb7 45315
2b002173 45316 * disk/lvm.c: New file.
45317 * disk/raid.c: Likewise.
45318 * include/grub/lvm.h: Likewise.
f19dbdb7 45319 * include/grub/raid.h: Likewise.
2b002173 45320 * include/grub/util/lvm.h: Likewise.
45321 * include/grub/util/raid.h: Likewise.
45322 * util/lvm.c: Likewise.
45323 * util/raid.c: Likewise.
45324
45325 * include/grub/disk.h (grub_disk_dev_id): Add
45326 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
45327 (grub_disk_get_size): New prototype.
45328 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
45329 returns a partition.
45330 (grub_disk_get_size): New function.
f19dbdb7 45331
2b002173 45332 * kern/i386/pc/init.c (make_install_device): Copy the prefix
45333 verbatim if grub_install_dos_part is -2.
45334
45335 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
45336 and LVM devices.
45337
45338 * util/i386/pc/grub-setup.c (setup): New argument
45339 MUST_EMBED. Force embedding of GRUB when the argument is
45340 true. Close FILE before returning.
45341 (main): Add support for RAID and LVM.
f19dbdb7 45342
2b002173 45343 * conf/common.rmk: Add RAID and LVM modules.
45344 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
45345 util/lvm.c.
45346 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
45347
45348 * kern/misc.c (grub_strstr): New function.
45349 * include/grub/misc.h (grub_strstr): New prototype.
45350
050548d0 453512006-10-10 Tristan Gingold <tristan.gingold@bull.net>
45352
45353 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
45354
da849d2d 453552006-10-05 Tristan Gingold <tristan.gingold@bull.net>
45356
45357 * kern/misc.c (grub_strtoull): Guess the base only if not
45358 specified.
45359
97b2f2ff 453602006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 45361
45362 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
45363 PowerMac support.
45364
97b2f2ff 453652006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 45366
45367 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
45368
45369 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
45370 Remove `flags' argument. All callers changed.
45371 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
45372 (IEEE1275_IHANDLE_INVALID): New variable.
45373 (IEEE1275_CELL_INVALID): New variable.
45374 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
45375 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
45376 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
45377 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
45378 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
45379 codes from Open Firmware. All callers updated.
45380 (grub_ieee1275_next_property): Directly return Open Firmware return
45381 code.
45382 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
45383 Standardize error checking from `grub_ieee1275_get_property'.
45384 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
45385 `devalias' to `aliases'. Correct comments. Consolidate error paths.
45386
97b2f2ff 453872006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 45388
45389 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
45390 `instance_to_package_args' to `instance_to_path_args'.
45391
45392 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
45393 `grub_ieee1275_chosen'.
45394
45395 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
45396 `grub_ieee1275_interpret'.
45397
97b2f2ff 453982006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 45399
45400 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
45401
97b2f2ff 454022006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 45403
45404 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
45405 (__cmpdi): Likewise.
45406
45407 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
45408 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
45409 `grub_ssize_t'.
45410
02bb8acc 45411 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 45412
45413 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
45414 to type `grub_ssize_t'.
45415 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
45416
7f9a8531 454172006-09-22 Marco Gerards <marco@gnu.org>
45418
45419 * normal/script.c (grub_script_create_cmdmenu): Skip leading
45420 newlines.
45421
b5ef1102 454222006-09-22 Marco Gerards <marco@gnu.org>
45423
45424 * commands/echo.c: New file.
45425
45426 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
45427
45428 * conf/common.rmk (echo_mod_SOURCES): New variable.
45429 (echo_mod_CFLAGS): Likewise.
45430 (echo_mod_LDFLAGS): Likewise.
45431
2cff3677 454322006-09-22 Marco Gerards <marco@gnu.org>
45433
45434 * normal/main.c (get_line): Malloc memory instead of using
45435 preallocated memory. Removed the arguments `cmdline' and
45436 `max_len'. Updated all callers.
45437
6ba4688b 454382006-09-22 Marco Gerards <marco@gnu.org>
45439
45440 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
45441 (normal_mod_DEPENDENCIES): Likewise.
45442
45443 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
45444 (normal_mod_DEPENDENCIES): Likewise.
45445
45446 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
45447
e02ac02c 454482006-09-22 Johan Rydberg <jrydberg@gnu.org>
45449
45450 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
45451 programs.
45452 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
45453 (normal_mod_DEPENDENCIES): Likewise.
45454 * conf/i386-pc.mk: Regenerate.
45455 * conf/i386-efi.mk: Likewise
45456 * conf/common.mk: Likewise.
45457 * conf/powerpc-ieee1275.mk: Likewise.
45458 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 45459
8d252e44 454602006-09-22 Robert Millan <rmh@aybabtu.com>
45461
45462 Sync with i386 version.
45463 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
45464 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
45465
209bf7ac 454662006-09-21 Robert Millan <rmh@aybabtu.com>
45467
45468 Import from GRUB Legacy (lib/device.c):
45469 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
45470 (init_device_map) [__linux__]: Add support for I2O devices.
45471
6b146090 454722006-09-14 Marco Gerards <marco@gnu.org>
45473
45474 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
45475 `-melf_i386'.
45476
e38600a8 454772006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 45478
45479 * util/i386/pc/grub-install.in: Skip menu.lst when removing
45480 /boot/grub/*.lst.
78fa1790 45481
2952da5d 45482 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 45483
2952da5d 45484 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
45485 before adding it to device.map.
45486
01b82a64 454872006-08-15 Johan Rydberg <jrydberg@gnu.org>
45488
fe6b695a 45489 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 45490 compiles a file; using the -MD option.
45491 * conf/common.mk: Regenerate.
45492 * conf/i386-pc.mk: Likewise.
45493 * conf/i386-efi.mk: Likewise.
45494 * conf/powerpc-ieee1275.mk: Likewise.
45495 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 45496
1064790d 454972006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
45498
45499 Move the prototypes of grub_setjmp and grub_longjmp to
45500 cpu/setjmp.h, so that each architecture may specify different
45501 attributes.
f19dbdb7 45502
1064790d 45503 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
45504 (grub_longjmp): Likewise.
45505 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
45506 (grub_longjmp): Likewise.
45507 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
45508 (grub_longjmp): Likewise.
45509
45510 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
45511 [!GRUB_UTIL] (grub_longjmp): Removed.
45512
29dda3ed 455132006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
45514
45515 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
45516 "color!" method does not return any value.
45517
ad2a06ed 455182006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45519
45520 * include/grub/bitmap.h: New file.
45521
45522 * include/grub/i386/pc/vbeutil.h: Likewise.
45523
45524 * video/bitmap.c: Likewise.
45525
45526 * video/readers/tga.c: Likewise.
45527
45528 * video/i386/pc/vbeutil.c: Likewise.
45529
45530 * commands/videotest.c: Code cleanup and updated to reflect to new
45531 video API.
45532
45533 * term/gfxterm.c: Likewise.
45534
45535 * video/video.c: Likewise.
45536
45537 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
45538 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
45539 (bitmap_mod_SOURCES): New entry.
45540 (bitmap_mod_CFLAGS): Likewise.
45541 (bitmap_mod_LDFLAGS): Likewise.
45542 (tga_mod_SOURCES): Likewise.
45543 (tga_mod_CFLAGS): Likewise.
45544 (tga_mod_LDFLAGS): Likewise.
45545
45546 * include/grub/video.h (grub_video_blit_operators): New enum type.
45547 (grub_video_render_target): Changed as forward declaration and moved
45548 actual definition to be video driver specific.
45549 (grub_video_adapter.blit_bitmap): Added blitting operator.
45550 (grub_video_adapter.blit_render_target): Likewise.
45551 (grub_video_blit_bitmap): Likewise.
45552 (grub_video_blit_render_target): Likewise.
45553
45554 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
45555 driver specific render target definition.
45556 (grub_video_vbe_map_rgba): Added driver internal helper.
45557 (grub_video_vbe_unmap_color): Updated to use
45558 grub_video_i386_vbeblit_info.
45559 (grub_video_vbe_get_video_ptr): Likewise.
45560
45561 * include/grub/i386/pc/vbeblit.h
45562 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
45563 grub_video_i386_vbeblit_info.
45564 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
45565 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
45566 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
45567 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
45568 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
45569 (grub_video_i386_vbeblit_index_index): Likewise.
45570 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
45571 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
45572 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
45573 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
45574 operator.
45575 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
45576 operator.
45577
45578 * video/i386/pc/vbeblit.c: Updated to reflect changes on
45579 include/grub/i386/pc/vbeblit.h.
45580
45581 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
45582 Updated to use grub_video_i386_vbeblit_info.
45583 (grub_video_i386_vbefill_R8G8B8): Likewise.
45584 (grub_video_i386_vbefill_index): Likewise.
45585 (grub_video_i386_vbefill): Added generic filler.
45586
45587 * video/i386/pc/vbefill.c: Updated to reflect changes on
45588 include/grub/i386/pc/vbefill.h.
45589
45590 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
45591 grub_video_i386_vbeblit_info.
45592 (grub_video_vbe_unmap_color): Likewise.
45593 (grub_video_vbe_blit_glyph): Likewise.
45594 (grub_video_vbe_scroll): Likewise.
45595 (grub_video_vbe_draw_pixel): Removed function.
45596 (grub_video_vbe_get_pixel): Likewise.
45597 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
45598 updated code to use it.
45599 (common_blitter): Added common blitter for render target and bitmap.
45600 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
45601 (grub_video_vbe_blit_render_target): Likewise.
45602
bc8c036d 456032006-07-30 Johan Rydberg <jrydberg@gnu.org>
45604
45605 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
45606 is in text mode if there is no console control protocol instance
45607 available.
45608
684a8eff 456092006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45610
45611 * include/grub/video.h: Code cleanup.
45612
45613 * include/grub/i386/pc/vbe.h: Likewise.
45614
45615 * video/i386/pc/vbe.c: Likewise.
45616
45617 * video/i386/pc/vbeblit.c: Likewise.
45618
45619 * video/i386/pc/vbefill.c: Likewise.
45620
45621 * video/video.c: Likewise. Also added more comments.
45622
5915059b 456232006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45624
45625 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
45626 (struct grub_biosdisk_dap): Likewise.
45627
45628 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
45629 linkage settings for all functions.
45630
90ce5d56 456312006-07-12 Marco Gerards <marco@gnu.org>
45632
45633 * configure.ac (--enable-mm-debug): Fix typo.
45634
45635 * genkernsyms.sh.in: Use proper quoting for `CC'.
45636
43e7f879 456372006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
45638
45639 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
45640 (normal_mod_ASFLAGS): Remove "-m32".
45641
4889bdec 456422006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
45643
45644 * util/misc.c: Include config.h.
45645 [!HAVE_MEMALIGN]: Do not include malloc.h.
45646 (grub_memalign): Use posix_memalign, if present. Then, use
45647 memalign, if present. Otherwise, emit an error.
45648
45649 * util/grub-emu.c: Do not include malloc.h.
45650
45651 * include/grub/util/misc.h: Include unistd.h. This is required for
45652 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
45653 D. Eades III <hde@foobar-qux.org>.
45654
45655 * configure.ac (AC_GNU_SOURCE): Added.
45656 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
45657 type.
45658
fd39d4da 456592006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
45660
45661 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
45662 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
45663
b786f3b5 456642006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
45665
45666 * include/grub/types.h (grub_host_addr_t): Rename to
45667 grub_target_addr_t.
45668 (grub_host_off_t): Rename to grub_target_off_t.
45669 (grub_host_size_t): Rename to grub_target_size_t.
45670 (grub_host_ssize_t): Rename to grub_target_ssize_t.
45671 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
45672
45673 * include/grub/kernel.h (struct grub_module_header): Change type
45674 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
45675 (grub_module_info): Likewise.
f19dbdb7 45676
051988bb 456772006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45678
45679 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
45680 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
45681 Velazquez <jesus.velazquez@gmail.com>.
45682
deae281b 456832006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45684
45685 Count partitions from 1 instead of 0 in the string representation
45686 of partitions. Still use 0-based internally.
f19dbdb7 45687
deae281b 45688 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
45689 (sun_partition_map_iterate): Use grub_partition_t instead of
45690 struct grub_partition *. Cast DESC->START_CYLINDER to
45691 grub_uint64_t after converting the endian.
45692 (sun_partition_map_probe): Subtract 1 for PARTNUM.
45693 (sun_partition_map_get_name): Add 1 to P->INDEX.
45694
45695 * partmap/pc.c (grub_partition_parse): Subtract 1 for
45696 PCDATA->DOS_PART.
45697 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
45698
45699 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
45700 zero instead of one.
45701 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
45702 (gpt_partition_map_get_name): Add 1 into P->INDEX.
45703
45704 * partmap/apple.c (apple_partition_map_iterate): Change the type
45705 of POS to unsigned.
45706 (apple_partition_map_probe): Subtract 1 for PARTNUM.
45707 (apple_partition_map_get_name): Add 1 into P->INDEX.
45708
45709 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
45710 of POS to unsigned.
45711 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
45712 calculate the offset of a partition.
45713 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
45714 (amiga_partition_map_get_name): Add 1 into P->INDEX.
45715
45716 * partmap/acorn.c (acorn_partition_map_find): Change the type of
45717 SECTOR to grub_disk_addr_t.
45718 (acorn_partition_map_iterate): Likewise.
45719 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
45720 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
45721 top.
45722 (acorn_partition_map_get_name): Add 1 into P->INDEX.
45723
45724 * kern/i386/pc/init.c (make_install_device): Add 1 into
45725 GRUB_INSTALL_DOS_PART.
45726
45727 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
45728 conditional.
45729
524a1e6a 457302006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45731
45732 Clean up the code to support 64-bit addressing in disks and
45733 files. This change is not enough for filesystems yet.
f19dbdb7 45734
524a1e6a 45735 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
45736 type of "start" to grub_uint64_t.
45737 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
45738 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
45739 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
45740 convert addresses.
45741
45742 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
45743 to grub_disk_addr_t.
45744
45745 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
45746 string.
45747
45748 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45749
45750 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
45751 to char *.
45752
45753 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
45754
45755 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
45756
45757 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
45758
45759 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
45760 to grub_off_t, to detect an error from grub_file_seek.
45761 (grub_multiboot_load_elf32): Likewise.
45762
45763 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
45764 maximum unsigned long value when an overflow is detected.
45765 (grub_strtoull): New function.
45766 (grub_divmod64): Likewise.
45767 (grub_lltoa): use grub_divmod64.
45768
45769 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
45770 grub_disk_addr_t.
45771 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
45772 the pointer to next character. Use grub_strtoull instead of
45773 grub_strtoul.
45774 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
45775 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
45776 respectively.
45777
fe6b695a 45778 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 45779 return value is signed.
45780 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
45781 test if OFFSET is less than zero, as OFFSET is unsigned now.
45782
45783 * kern/disk.c (struct grub_disk_cache): Change the type of
45784 "sector" to grub_disk_addr_t.
45785 (grub_disk_cache_get_index): Change the type of SECTOR to
45786 grub_disk_addr_t. Calculate the hash with SECTOR casted to
45787 unsigned after shifting.
45788 (grub_disk_cache_invalidate): Change the type of SECTOR to
45789 grub_disk_addr_t.
45790 (grub_disk_cache_unlock): Likewise.
45791 (grub_disk_cache_store): Likewise.
45792 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
45793 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
45794 grub_disk_addr_t and grub_uint64_t, respectively.
45795 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
45796 body, as the value of OFFSET is tweaked by
45797 grub_disk_check_range. Change the types of START_SECTOR, LEN and
45798 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
45799 respectively.
45800 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
45801 body, as the value of OFFSET is tweaked by
45802 grub_disk_check_range. Change the types of LEN and N to
45803 grub_size_t.
45804
45805 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
45806 and "saved_offset" to grub_off_t.
45807 (test_header): Cast BUF to char *.
45808 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
45809 to char *.
45810 (grub_gzio_read): Change the types of OFFSET and SIZE to
45811 grub_off_t and grub_size_t, respectively.
45812
45813 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
45814 Removed.
45815 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
45816 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
45817 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
45818 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
45819 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
45820
45821 * include/grub/types.h (grub_off_t): Unconditionally set to
45822 grub_uint64_t.
45823 (grub_disk_addr_t): Changed to grub_uint64_t.
45824
45825 * include/grub/partition.h (struct grub_partition): Change the
45826 types of "start", "len" and "offset" to grub_disk_addr_t,
45827 grub_uint64_t and grub_disk_addr_t, respectively.
45828 (grub_partition_get_start): Return grub_disk_addr_t.
45829 (grub_partition_get_len): Return grub_uint64_t.
45830
45831 * include/grub/misc.h (grub_strtoull): New prototype.
45832 (grub_divmod64): Likewise.
45833
45834 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
45835 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
45836 grub_off_t, respectively.
45837 All callers and references changed.
45838
45839 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
45840 grub_size_t in "read".
45841 All callers and references changed.
45842
45843 * include/grub/file.h (struct grub_file): Change the types of
45844 "offset" and "size" to grub_off_t and grub_off_t,
45845 respectively. Change the type of SECTOR to grub_disk_addr_t in
45846 "read_hook".
45847 (grub_file_read): Change the type of LEN to grub_size_t.
45848 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
45849 grub_off_t.
45850 (grub_file_size): Return grub_off_t.
45851 (grub_file_tell): Likewise.
45852 All callers and references changed.
45853
45854 * include/grub/disk.h (struct grub_disk_dev): Change the types of
45855 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
45856 "write".
45857 (struct grub_disk): Change the type of "total_sectors" to
45858 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 45859 "read_hook".
524a1e6a 45860 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
45861 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
45862 (grub_disk_write): Likewise.
45863 All callers and references changed.
45864
45865 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
45866 char * for grub_strncmp to silence gcc.
45867 (grub_iso9660_mount): Likewise.
45868 (grub_iso9660_mount): Likewise.
45869 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
45870 return statement.
45871 (grub_iso9660_iterate_dir): Likewise.
45872 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
45873
45874 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
45875 LEN to grub_disk_addr_t and grub_size_t, respectively.
45876
45877 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45878
45879 * fs/jfs.c (grub_jfs_read_file): Likewise.
45880
45881 * fs/minix.c (grub_jfs_read_file): Likewise.
45882
45883 * fs/sfs.c (grub_jfs_read_file): Likewise.
45884
45885 * fs/ufs.c (grub_jfs_read_file): Likewise.
45886
45887 * fs/xfs.c (grub_jfs_read_file): Likewise.
45888
45889 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
45890 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
45891 respectively.
45892
45893 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
45894 BLKNR to -1 instead of returning GRUB_ERRNO.
45895 (grub_ext2_read_file): Change the types of SECTOR and
45896 LEN to grub_disk_addr_t and grub_size_t, respectively.
45897
45898 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
45899 LEN to grub_disk_addr_t and grub_size_t, respectively.
45900
45901 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
45902 grub_file_read.
45903
45904 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
45905 string. Do not cast SECTOR explicitly.
45906
45907 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
45908 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
45909 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
45910 grub_disk_addr_t and grub_size_t, respectively. If the sector is
45911 over 2TB and LBA mode is not supported, raise an error.
45912 (get_safe_sectors): New function.
45913 (grub_biosdisk_read): Use get_safe_sectors.
45914 (grub_biosdisk_write): Likewise.
45915
45916 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
45917 (grub_efidisk_write): Likewise.
45918
45919 * disk/loopback.c (delete_loopback): Cosmetic changes.
45920 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
45921 correctly.
45922 (grub_loopback_open): Likewise.
45923 (grub_loopback_read): Likewise. Also, change the type of POS to
45924 grub_off_t, and fix the usage of grub_memset.
45925
45926 * commands/i386/pc/play.c: Include grub/machine/time.h.
45927
45928 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
45929 print FILE->SIZE.
45930
45931 * commands/configfile.c: Include grub/env.h.
45932
45933 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
45934 GRUB_ERRNO directly instead. Change the type of POS to
45935 grub_off_t. Follow the coding standard.
45936
45937 * commands/blocklist.c: Include grub/partition.h.
45938 (grub_cmd_blocklist): Return an error if the underlying device is
45939 not a disk. Take the starting sector of a partition into account,
45940 if a partition is used.
45941
45942 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
45943 a length field.
45944 (lba_mode): Support 64-bit addresses.
45945 (chs_mode): Likewise.
45946 (copy_buffer): Adapted to the new offsets of a length field and a
45947 segment field.
45948 (blocklist_default_start): Allocate 64-bit space.
45949
45950 * boot/i386/pc/boot.S (force_lba): Removed.
45951 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 45952 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 45953 space.
45954 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
45955 is useless.
45956 (lba_mode): Refactored to support a 64-bit address. More size
45957 optimization.
45958 (setup_sectors): Likewise.
45959
53af98ad 459602006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45961
45962 * DISTLIST: Added include/grub/i386/linux.h. Removed
45963 include/grub/i386/pc/linux.h
45964
45965 * configure.ac (AC_INIT): Bumped to 1.94.
45966
45967 * config.guess: Updated from gnulib.
45968 * config.sub: Likewise.
45969 * install-sh: Likewise.
45970 * mkinstalldirs: Likewise.
45971
b4c1940a 459722006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45973
45974 * conf/common.rmk (grub_modules_init.lst): Depended on
45975 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
45976 MODSRCFILES.
45977
45978 * genmk.rb (PModule::rule): Reverted the previous change.
45979
cfca1cfd 459802006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45981
45982 * conf/common.rmk (grub_modules_init.lst): Depends on
45983 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
45984 that the target does not exist before producing.
45985 (grub_modules_init.h): Remove the target before generating.
45986 (grub_emu_init.c): Likewise.
45987
45988 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
45989
aa6d7826 459902006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
45991
45992 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
45993 for the target-specific tests. Make sure that we also have the
45994 up-to-date target variables for those tests.
45995
26c607b9 459962006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45997
45998 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
45999 (PModule::rule): Likewise.
46000
0162321a 460012006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
46002
46003 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
46004 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
46005 target-specific flags should be prefixed.
46006 (PModule::rule): Likewise.
46007
6c826348 460082006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
46009
46010 * configure.ac (CMP): Check if cmp is available explicitly.
46011
b977bf01 460122006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
46013
46014 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
46015 (target_cpu): New variable.
46016 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 46017
b977bf01 46018 * util/i386/pc/grub-install.in (host_cpu): Removed.
46019 (target_cpu): New variable.
46020 (pkglibdir): Use target_cpu instead of host_cpu.
46021
46022 * util/genmoddep.c: Removed.
f19dbdb7 46023
b977bf01 46024 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
46025 instead of GRUB_HOST_SIZEOF_VOID_P.
46026 * kern/dl.c: Likewise.
46027
46028 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
46029 ...
46030 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46031 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46032 (GRUB_TARGET_SIZEOF_LONG): ... this.
46033 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46034 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46035 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
46036 to ...
46037 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46038 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46039 (GRUB_TARGET_SIZEOF_LONG): ... this.
46040 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46041 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46042 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
46043 to ...
46044 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46045 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46046 (GRUB_TARGET_SIZEOF_LONG): ... this.
46047 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46048 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46049
46050 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
46051 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
46052 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
46053 instead of GRUB_HOST_SIZEOF_LONG.
46054 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
46055 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
46056 GRUB_CPU_WORDS_BIGENDIAN.
46057 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
46058 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
46059 grub_host_ssize_t.
46060
46061 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
46062 (genmoddep_SOURCES): Likewise.
46063 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
46064 (genmoddep_SOURCES): Likewise.
46065 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
46066 (genmoddep_SOURCES): Likewise.
46067 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
46068 Likewise.
46069 (genmoddep_SOURCES): Likewise.
46070
46071 * genmoddep.awk: New file.
46072
46073 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
46074 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
46075 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
46076 (PModule::rule): Likewise.
46077 (Program::rule): Likewise.
46078 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
46079 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
46080 respectively.
46081
46082 * configure.ac: Rewritten intensively to use host and target
46083 instead of build and host, respectively.
46084
46085 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
46086 (host_cpu): Removed.
46087 (target_cpu): New variable.
46088 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
46089 (BUILD_CC): Removed.
46090 (BUILD_CFLAGS): Likewise.
46091 (BUILD_CPPFLAGS): Likewise.
46092 (TARGET_CC): New variable.
46093 (TARGET_CFLAGS): Likewise.
46094 (TARGET_CPPFLAGS): Likewise.
46095 (TARGET_LDFLAGS): Likewise.
46096 (AWK): Likewise.
46097 (include): Use target_cpu instead of host_cpu.
46098 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 46099
b977bf01 46100 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
46101
f09771a1 461022006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
46103
46104 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
46105 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
46106 field 'false' to 'exec_on_false'.
46107 (grub_script_create_cmdif): Renamed argument names to reflect above
46108 changes.
46109
46110 * normal/execute.c (grub_script_execute_cmdif): Likewise.
46111
46112 * normal/script.c (grub_script_create_cmdif): Likewise.
46113
118f4fb3 461142006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
46115
46116 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
46117 top.
46118 (grub_hfsplus_btree_recptr): Likewise.
46119 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
46120 FILEBLOCK both to pass a block number and store next block
46121 number.
46122 (grub_hfsplus_read_block): Rewritten heavily to support an extent
46123 overflow file correctly. Specify errors appropriately, because
46124 fshelp expects that GRUB_ERRNO is set when fails. Reuse
46125 grub_hfsplus_btree_recptr to get the pointer to a found key.
46126 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
46127 is found.
46128
46129 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
46130 linux.mod.
46131 (_linux_mod_SOURCES): New variable.
46132 (_linux_mod_CFLAGS): Likewise.
46133 (_linux_mod_LDFLAGS): Likewise.
46134 (linux_mod_SOURCES): Likewise.
46135 (linux_mod_CFLAGS): Likewise.
46136 (linux_mod_LDFLAGS): Likewise.
46137
46138 * DISTLIST: Added loader/i386/efi/linux.c,
46139 loader/i386/efi/linux_normal.c and
46140 include/grub/i386/efi/loader.h.
46141
46142 * loader/i386/efi/linux.c: New file.
46143 * loader/i386/efi/linux_normal.c: Likewise.
46144 * include/grub/i386/efi/loader.h: Likewise.
46145
89a7d726 461462006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
46147
46148 * commands/blocklist.c: New file.
46149
46150 * DISTLIST: Added commands/blocklist.c.
46151
46152 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 46153 color for the background, and a darker color for the foreground.
89a7d726 46154 (grub_console_checkkey): Return READ_KEY.
46155 (grub_console_cls): Set the background to
46156 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
46157
46158 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
46159
46160 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
46161 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
46162
46163 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
46164 prototype.
46165
46166 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
46167 BG. The spec is wrong again.
46168
46169 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
46170 prototype.
46171 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
46172
46173 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46174 commands/blocklist.c.
46175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 46176
89a7d726 46177 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
46178 (blocklist_mod_SOURCES): New variable.
46179 (blocklist_mod_CFLAGS): Likewise.
46180 (blocklist_mod_LDFLAGS): Likewise.
46181
75c8f258 461822006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
46183
46184 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
46185 duplication.
46186 (lba_mode): Use %eax more intensively to reduce the code size.
46187
da2eb181 461882006-05-20 Marco Gerards <marco@gnu.org>
46189
46190 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
46191
46192 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
46193 for `menuentry'.
46194 (script): Accept leading newlines.
46195 (newlines): New rule to describe 0 or more newlines.
46196 (commands): Accept `command' with trailing newline. Fixed the
46197 order in which arguments were passed to `grub_script_add_cmd'.
46198 Accept commands separated by newlines.
46199 (function): Changed to accept newlines.
46200 (menuentry) Rewritten.
46201
46202 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
46203 front of the list, instead of to the end.
46204
577b4050 462052006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
46206
46207 * util/i386/pc/grub-install.in (bindir): New variable.
46208 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
46209 Shaver <lbgwjl@gmail.com>.
46210
0d6e1189 462112006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
46212
46213 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
46214 grub/machine/linux.h
46215 * loader/i386/pc/linux.c: Likewise.
46216
46217 * include/grub/i386/pc/linux.h: Moved to ...
46218 * include/grub/i386/linux.h: ... here.
46219
46220 * include/grub/i386/linux.h (struct linux_kernel_params): New
46221 struct.
f19dbdb7 46222
31b86e9f 462232006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
46224
46225 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
46226 checking.
46227 (grub_video_vbe_blit_glyph): Likewise.
46228 (grub_video_vbe_blit_bitmap): Likewise.
46229 (grub_video_vbe_blit_render_target): Likewise.
46230
83b984de 462312006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
46232
46233 * configure.ac (--with-platform): Properly quote the square
46234 brackets.
46235
5f0413bd 462362006-05-08 Marco Gerards <marco@gnu.org>
46237
46238 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
46239 this...
46240 (kernel_elf_HEADERS): ...to this. Updated all users.
46241 (grubof_symlist.c): Renamed from this...
46242 (kernel_elf_symlist.c): ...to this. Updated all users.
46243 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
46244 (grubof_SOURCES): Renamed from this...
46245 (kernel_elf_SOURCES): ...to this.
46246 (grubof_HEADERS): Renamed from this...
46247 (kernel_elf_HEADERS): ...to this.
46248 (grubof_CFLAGS): Renamed from this...
46249 (kernel_elf_CFLAGS): ...to this.
46250 (grubof_ASFLAGS): Renamed from this...
46251 (kernel_elf_ASFLAGS): ...to this.
46252 (grubof_LDFLAGS): Renamed from this...
46253 (kernel_elf_LDFLAGS): ...to this.
46254
46255 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
46256 this...
46257 (kernel_elf_HEADERS): ...to this. Updated all users.
46258 (grubof_symlist.c): Renamed from this...
46259 (kernel_elf_symlist.c): ...to this. Updated all users.
46260 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
46261 (grubof_SOURCES): Renamed from this...
46262 (kernel_elf_SOURCES): ...to this.
46263 (grubof_HEADERS): Renamed from this...
46264 (kernel_elf_HEADERS): ...to this.
46265 (grubof_CFLAGS): Renamed from this...
46266 (kernel_elf_CFLAGS): ...to this.
46267 (grubof_ASFLAGS): Renamed from this...
46268 (kernel_elf_ASFLAGS): ...to this.
46269 (grubof_LDFLAGS): Renamed from this...
46270 (kernel_elf_LDFLAGS): ...to this.
46271
46272 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
46273 `kernel.elf' instead of `grubof'.
46274
05568c2e 462752006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
46276
46277 Add --with-platform to configure. Use pkglibdir instead of
46278 pkgdatadir. This is reported by Roger Leigh.
46279
46280 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
46281 (host_vendor): Likewise.
46282 (host_os): Likewise.
46283 (pkgdatadir): Likewise.
46284 (platform): New variable.
46285 (pkglibdir): Likewise.
46286 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 46287
05568c2e 46288 * util/i386/pc/grub-install.in (datadir): Removed.
46289 (host_vendor): Likewise.
46290 (host_os): Likewise.
46291 (pkgdatadir): Likewise.
46292 (platform): New variable.
46293 (pkglibdir): Likewise.
46294 Use PKGLIBDIR instead of PKGDATADIR.
46295
46296 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
46297 instead of GRUB_DATADIR.
46298 (main): Likewise.
46299 * util/i386/pc/grub-mkimage.c (usage): Likewise.
46300 (main): Likewise.
46301 * util/i386/efi/grub-mkimage.c (usage): Likewise.
46302 (main): Likewise.
46303
46304 * configure.ac (--with-platform): New option.
46305 Use PLATFORM instead of HOST_VENDOR to specify a platform.
46306
46307 * Makefile.in: Include a makefile based on PLATFORM instead of
46308 HOST_VENDOR.
46309 (pkgdatadir): Not appended by the machine type.
46310 (pkglibdir): Appended by the machine type.
46311 (host_vendor): Removed.
46312 (platform): New variable.
46313 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
46314 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
46315 (uninstall): Likewise.
46316
4e93851c 463172006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
46318
46319 Use the environment context in the menu. Remove the commands
46320 "default" and "timeout", and use variables instead.
f19dbdb7 46321
4e93851c 46322 * normal/menu.c: Include grub/env.h.
46323 (print_entry): Cast TITLE to silence gcc.
46324 (get_timeout): New function.
46325 (set_timeout): Likewise.
46326 (get_entry_number): Likewise.
46327 (run_menu): Use a default entry, a fallback entry and a timeout
46328 in the environment variables "default", "fallback" and
46329 "timeout". Also, tweak the default entry if it is not within the
46330 current menu entries.
46331 (grub_menu_run): Use a fallback entry in the environment variable
46332 "fallback".
46333
46334 * normal/main.c (read_config_file): Do not initialize
46335 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
46336 NEWMENU->TIMEOUT.
46337 (grub_normal_execute): Use a data slot to store the menu.
46338
46339 * include/grub/normal.h (struct grub_menu): Removed default_entry,
46340 fallback_entry and timeout.
46341 (struct grub_menu_list): Removed.
46342 (grub_menu_list_t): Likewise.
46343 (struct grub_context): Likewise.
46344 (grub_context_t): Likewise.
46345 (grub_context_get): Likewise.
46346 (grub_context_get_current_menu): Likewise.
46347 (grub_context_push_menu): Likewise.
46348 (grub_context_pop_menu): Likewise.
46349 (grub_default_init): Likewise.
46350 (grub_default_fini): Likewise.
46351 (grub_timeout_init): Likewise.
46352 (grub_timeout_fini): Likewise.
46353
46354 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
46355 and timeout.mod.
46356 (normal_mod_SOURCES): Removed normal/context.c.
46357
46358 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
46359 commands/default.c, commands/timeout.c and normal/context.c.
46360 (normal_mod_SOURCES): Removed normal/context.c.
46361
46362 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
46363 commands/timeout.c and normal/context.c.
46364 (normal_mod_SOURCES): Removed normal/context.c.
46365
46366 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
46367 commands/default.c, commands/timeout.c and normal/context.c.
46368 (normal_mod_SOURCES): Removed normal/context.c.
46369
46370 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
46371 timeout.mod.
46372 (default_mod_SOURCES): Removed.
46373 (default_mod_CFLAGS): Likewise.
46374 (default_mod_LDFLAGS): Likewise.
46375 (timeout_mod_SOURCES): Removed.
46376 (timeout_mod_CFLAGS): Likewise.
46377 (timeout_mod_LDFLAGS): Likewise.
46378
46379 * DISTLIST: Removed commands/default.c, commands/timeout.c and
46380 normal/context.c.
46381
46382 * commands/default.c: Removed.
46383 * commands/timeout.c: Likewise.
46384 * normal/context.c: Likewise.
46385
1eb9cc1d 463862006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
46387
46388 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
46389
385bd9c1 463902006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
46391
46392 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
46393 "next" to "prev" for readability.
46394 (struct grub_env_sorted_var): New struct.
46395 (grub_env_context): Renamed to ...
46396 (initial_context): ... this.
46397 (grub_env_var_context): Renamed to ...
46398 (current_context): ... this.
46399 (grub_env_find): Look only at CURRENT_CONTEXT.
46400 (grub_env_context_open): Rewritten to copy exported variables from
46401 previous context.
46402 (grub_env_context_close): Rewritten according to the new
46403 scheme. Also, add an assertion to prevent the initial context from
46404 removed.
46405 (grub_env_insert): Removed the code for the sorted list.
46406 (grub_env_remove): Likewise.
46407 (grub_env_export): Simply mark the variable with
46408 GRUB_ENV_VAR_GLOBAL.
46409 (grub_env_set): A cosmetic change for naming consistency.
46410 (grub_env_get): Likewise.
46411 (grub_env_unset): Likewise.
46412 (grub_env_iterate): Rewritten to sort variables within this
46413 function.
46414 (grub_register_variable_hook): Fixed for naming consistency. Call
46415 grub_env_find again, only if NAME is not found at the first time.
46416 (mangle_data_slot_name): New function.
46417 (grub_env_set_data_slot): Likewise.
46418 (grub_env_get_data_slot): Likewise.
46419 (grub_env_unset_data_slot): Likewise.
46420
46421 * include/grub/env.h (grub_env_var_type): New enum.
46422 (GRUB_ENV_VAR_LOCAL): New constant.
46423 (GRUB_ENV_VAR_GLOBAL): Likewise.
46424 (GRUB_ENV_VAR_DATA): Likewise.
46425 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
46426 "type".
46427 (grub_env_set): Replace VAR with NAME for consistency.
46428 (grub_register_variable_hook): Likewise.
46429 (grub_env_export): Specify the name of the argument.
46430 (grub_env_set_data_slot): New prototype.
46431 (grub_env_get_data_slot): Likewise.
46432 (grub_env_unset_data_slot): Likewise.
46433
7f362539 464342006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46435
46436 Extend the loader so that GRUB can accept a loader which comes
46437 back to GRUB when a loaded image exits. Also, this change adds
46438 support for a chainloader on EFI.
f19dbdb7 46439
7f362539 46440 * term/efi/console.c: Include grub/misc.h.
46441 (grub_console_checkkey): Display a scan code on the top for
46442 debugging. This will be removed once the EFI port gets stable.
46443 Correct the scan code mapping.
46444
46445 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
46446 allocate memory from larger regions, in order to reduce the number
46447 of allocated regions. Otherwise, the MacOSX loader panics.
46448 (filter_memory_map): Avoid less than 1MB for compatibility with
46449 other loaders.
46450 (add_memory_regions): Allocate from the tail of a region, if
46451 possible, to avoid allocating a region near to 1MB, for the MacOSX
46452 loader.
46453
46454 * kern/efi/init.c (grub_efi_set_prefix): Specify
46455 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
46456
46457 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
46458 argument IMAGE_HANDLE and specify it to get a loaded image.
46459 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
46460 grub_efi_get_loaded_image.
fe6b695a 46461 (grub_efi_get_filename): Divide the length by the size of
7f362539 46462 grub_efi_char16_t.
46463 (grub_efi_get_device_path): New function.
46464 (grub_efi_print_device_path): Print End Device Path nodes. Divide
46465 the length by the size of grub_efi_char16_t for a file path device
46466 path node.
46467
46468 * kern/loader.c (grub_loader_noreturn): New variable.
46469 (grub_loader_set): Accept a new argument NORETURN. Set
46470 GRUB_LOADER_NORETURN to NORETURN.
46471 All callers changed.
46472 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
46473 grub_machine_fini.
46474
46475 * include/grub/efi/efi.h (grub_efi_get_device_path): New
46476 prototype.
46477 (grub_efi_get_loaded_image): Take an argument to specify an image
46478 handle.
46479
46480 * include/grub/loader.h (grub_loader_set): Added one more argument
46481 NORETURN.
46482
46483 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
46484 instead of grub_efi_open_protocol.
46485 (grub_efidisk_get_device_name): Likewise.
46486 (grub_efidisk_close): Print a newline.
46487 (grub_efidisk_get_device_handle): Fixed to use
46488 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
46489 GRUB_EFI_DEVICE_PATH_TYPE.
46490
46491 * disk/efi/efidisk.c (device_path_guid): Moved to ...
46492 * kern/efi/efi.c (device_path_guid): ... here.
46493
46494 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
46495 chain.mod.
46496 (kernel_mod_HEADERS): Added efi/disk.h.
46497 (_chain_mod_SOURCES): New variable.
46498 (_chain_mod_CFLAGS): Likewise.
46499 (_chain_mod_LDFLAGS): Likewise.
46500 (chain_mod_SOURCES): Likewise.
46501 (chain_mod_CFLAGS): Likewise.
46502 (chain_mod_LDFLAGS): Likewise.
46503
46504 * DISTLIST: Added include/grub/efi/chainloader.h,
46505 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
46506
46507 * include/grub/efi/chainloader.h: New file.
46508 * loader/efi/chainloader.c: Likewise.
46509 * loader/efi/chainloader_normal.c: Likewise.
46510
c0111d6e 465112006-04-30 Marco Gerards <marco@gnu.org>
46512
46513 * commands/configfile.c (grub_cmd_source): New function.
46514 (GRUB_MOD_INIT): Register the commands `source' and `.'.
46515 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
46516
df5341da 465172006-04-30 Marco Gerards <marco@gnu.org>
46518
46519 * normal/execute.c (grub_script_execute_cmd): Change the return
46520 type to `grub_err_t'. Correctly return the error.
46521 (grub_script_execute_cmdline): In case a command line is not a
46522 command or a function, try to interpret it as an assignment.
46523
f85934bd 465242006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46525
46526 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
46527 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
46528 skip a node whose name is obviously invalid as UTF-16,
46529 i.e. contains a NUL character. Stop the iteration when the last
46530 directory entry is found. Instead of using the return value of
46531 grub_hfsplus_btree_iterate_node, store the value in RET and use
46532 it, because the iterator can be stopped by the last directory
46533 entry.
46534
8f8a2cf8 465352006-04-30 Marco Gerards <marco@gnu.org>
46536
46537 * include/grub/env.h (grub_env_export): New prototype. Reported
46538 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
46539
a27e84ce 465402006-04-30 Marco Gerards <marco@gnu.org>
46541
46542 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
46543 size of the extents in a catalog file record.
46544
eaef0553 465452006-04-29 Marco Gerards <marco@gnu.org>
46546
46547 * commands/configfile.c (grub_cmd_configfile): Execute the
46548 configfile within its own context.
46549
46550 * include/grub/env.h (grub_env_context_open): New prototype.
46551 (grub_env_context_close): Likewise.
46552
46553 * kern/env.c (grub_env): Removed.
46554 (grub_env_sorted): Likewise.
46555 (grub_env_context): New variable.
46556 (grub_env_var_context): Likewise.
46557 (grub_env_find): Search both the active context and the global
46558 context.
46559 (grub_env_context_open): New function.
46560 (grub_env_context_close): Likewise.
46561 (grub_env_insert): Likewise.
46562 (grub_env_remove): Likewise.
46563 (grub_env_export): Likewise.
46564 (grub_env_set): Changed to use helper functions to avoid code
46565 duplication.
46566 (grub_env_iterate): Rewritten so both the current context and the
46567 global context are being used.
46568
46569 * normal/command.c (export_command): New function.
46570 (grub_command_init): Register the `export' function.
46571
7b455f4d 465722006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
46573
46574 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
46575 explicitly to suppress gcc's warnings.
46576 * fs/fat.c (grub_fat_find_dir): Likewise.
46577 (grub_fat_label): Likewise.
46578 * fs/xfs.c (grub_xfs_read_inode): Likewise.
46579 (grub_xfs_mount): Likewise.
46580 (grub_xfs_label): Likewise.
46581 * fs/affs.c (grub_affs_mount): Likewise.
46582 (grub_affs_label): Likewise.
46583 (grub_affs_iterate_dir): Likewise.
46584 * fs/sfs.c (grub_sfs_mount): Likewise.
46585 (grub_sfs_iterate_dir): Likewise.
46586 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
46587 * fs/hfs.c (grub_hfs_mount): Likewise.
46588 (grub_hfs_cmp_catkeys): Likewise.
46589 (grub_hfs_find_dir): Likewise.
46590 (grub_hfs_dir): Likewise.
46591 (grub_hfs_label): Likewise.
46592 * fs/jfs.c (grub_jfs_mount): Likewise.
46593 (grub_jfs_opendir): Likewise.
46594 (grub_jfs_getent): Likewise.
46595 (grub_jfs_lookup_symlink): Likewise.
46596 (grub_jfs_label): Likewise.
46597 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
46598 (grub_hfsplus_iterate_dir): Likewise.
46599 (grub_hfsplus_btree_iterate_node): Made static.
46600
46601 * util/grub-emu.c (prefix): New variable.
46602 (grub_machine_set_prefix): New function.
46603 (main): Do not set the environment variable "prefix" here. Only
46604 set PREFIX, which is used later by grub_machine_set_prefix.
46605
46606 * include/grub/video.h: Do not include grub/symbol.h.
46607 (grub_video_register): Not exported. This symbol is not defined in
46608 the kernel.
46609 (grub_video_unregister): Likewise.
46610 (grub_video_iterate): Likewise.
46611 (grub_video_setup): Likewise.
46612 (grub_video_restore): Likewise.
46613 (grub_video_get_info): Likewise.
46614 (grub_video_get_blit_format): Likewise.
46615 (grub_video_set_palette): Likewise.
46616 (grub_video_get_palette): Likewise.
46617 (grub_video_set_viewport): Likewise.
46618 (grub_video_get_viewport): Likewise.
46619 (grub_video_map_color): Likewise.
46620 (grub_video_map_rgb): Likewise.
46621 (grub_video_map_rgba): Likewise.
46622 (grub_video_fill_rect): Likewise.
46623 (grub_video_blit_glyph): Likewise.
46624 (grub_video_blit_bitmap): Likewise.
46625 (grub_video_blit_render_target): Likewise.
46626 (grub_video_scroll): Likewise.
46627 (grub_video_swap_buffers): Likewise.
46628 (grub_video_create_render_target): Likewise.
46629 (grub_video_delete_render_target): Likewise.
46630 (grub_video_set_active_render_target): Likewise.
46631
46632 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
46633 Undefined.
46634 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
46635
46636 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
46637 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46638 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46639 instead of $(srcdir)/genkernsyms.sh.
46640
46641 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
46642 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46643 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46644 instead of $(srcdir)/genkernsyms.sh.
46645
46646 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
46647 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46648 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46649 instead of $(srcdir)/genkernsyms.sh.
46650
46651 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
46652 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46653 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46654 instead of $(srcdir)/genkernsyms.sh.
46655
46656 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
46657 genkernsyms.sh.
46658
46659 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
46660 genkernsyms.sh.
46661 (gensymlist.sh): New target.
46662 (genkernsyms.sh): Likewise.
46663
46664 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
46665 genkernsyms.sh.in and gensymlist.sh.in.
46666
46667 * genkernsyms.sh: Removed.
46668 * gensymlist.sh: Likewise.
f19dbdb7 46669
7b455f4d 46670 * genkernsyms.sh.in: New file.
46671 * gensymlist.sh.in: Likewise.
46672
1885bb27 466732006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46674
46675 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
46676 clobber "prefix", since we may have already set it manually.
46677
71538dff 466782006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46679
46680 * kern/misc.c (abort): New alias for grub_abort.
46681
2965c7cc 466822006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
46683
46684 A new machine-specific function "grub_machine_set_prefix" is
46685 defined. This is called after loading modules, so that a prefix
46686 initialization can use modules. Also, this change adds an
46687 intensive debugging feature for the memory manager via the
46688 configure option "--enable-mm-debug".
f19dbdb7 46689
2965c7cc 46690 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
46691 PART.LEN.
46692
46693 * kern/sparc64/ieee1275/init.c (abort): Removed.
46694 (grub_stop): Likewise.
46695 (grub_exit): New function.
46696 (grub_set_prefix): Renamed to ...
46697 (grub_machine_set_prefix): ... this.
46698 (grub_machine_init): Do not call grub_set_prefix.
46699
46700 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
46701 (grub_machine_set_prefix): ... this.
46702 (grub_machine_init): Do not call grub_set_prefix.
46703
46704 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
46705 (grub_machine_init): Do not set the prefix here.
46706
46707 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
46708
46709 * kern/efi/init.c: Include grub/mm.h.
46710 (grub_efi_set_prefix): New function.
46711
46712 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
46713 (grub_efi_get_filename): New function.
46714 (grub_print_device_path): Renamed to ...
46715 (grub_efi_print_device_path): ... this.
46716
46717 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
46718 [MM_DEBUG] (grub_realloc): Likewise.
46719 [MM_DEBUG] (grub_free): Likewise.
46720 [MM_DEBUG] (grub_memalign): Likewise.
46721 [MM_DEBUG] (grub_mm_debug): New variable.
46722 [MM_DEBUG] (grub_debug_malloc): New function.
46723 [MM_DEBUG] (grub_debug_free): New function.
46724 [MM_DEBUG] (grub_debug_realloc): New function.
46725 [MM_DEBUG] (grub_debug_memalign): New function.
46726
46727 * kern/misc.c (grub_abort): Print a newline to distinguish
46728 the message.
46729
46730 * kern/main.c (grub_main): Call grub_machine_set_prefix and
46731 grub_set_root_dev after loading modules. This is necessary when
46732 setting a prefix depends on modules.
46733
46734 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
46735 (grub_efi_print_device_path): ... this.
46736 (grub_efi_get_filename): New prototype.
46737 (grub_efi_set_prefix): Likewise.
46738
46739 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
46740 and grub/disk.h.
46741 (grub_efidisk_get_device_handle): New prototype.
46742 (grub_efidisk_get_device_name): Likewise.
46743
46744 * include/grub/mm.h: Include config.h.
46745 (MM_DEBUG): Removed.
46746 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
46747 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
46748 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
46749 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
46750 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
46751 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
46752 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
46753 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
46754 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
46755
46756 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
46757
46758 * disk/efi/efidisk.c: Include grub/partition.h.
46759 (iterate_child_devices): New function.
46760 (add_device): First, compare only last device path nodes, so that
46761 devices are sorted by the types.
46762 (grub_efidisk_get_device_handle): New function.
46763 (grub_efidisk_get_device_name): Likewise.
46764
46765 * configure.ac (--enable-mm-debug): New option to enable the
46766 memory manager debugging feature. This makes the binary much
46767 bigger, so is disabled by default.
46768
9cacaa17 467692006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
46770
46771 Use grub_abort instead of grub_stop, and grub_exit must be
46772 define in each architecture now. Also, this change adds support
46773 for EFI disks.
f19dbdb7 46774
9cacaa17 46775 * util/i386/pc/grub-probefs.c: Include grub/term.h.
46776 (grub_getkey): New function.
46777 (grub_term_get_current): Likewise.
46778
46779 * util/i386/pc/grub-setup.c: Include grub/term.h.
46780 (grub_getkey): New function.
46781 (grub_term_get_current): Likewise.
46782
46783 * util/misc.c (grub_stop): Renamed to ...
46784 (grub_exit): ... this.
46785
46786 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
46787 (grub_exit): ... this.
46788 (grub_machine_init): Use grub_abort instead of abort.
46789 (grub_stop): Removed.
46790
46791 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
46792 abort.
46793
46794 * kern/i386/pc/startup.S (grub_exit): New function.
46795 (cold_reboot): New label.
46796
46797 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
46798 (grub_efi_init): Call grub_efidisk_init.
46799 (grub_efi_fini): Call grub_efidisk_fini.
46800
46801 * kern/efi/efi.c: Include grub/mm.h.
46802 (grub_efi_console_control_guid): Renamed to ...
46803 (console_control_guid): ... this.
46804 (grub_efi_loaded_image_guid): Renamed to ...
46805 (loaded_image_guid): ... this.
46806 (grub_efi_locate_handle): New function.
46807 (grub_efi_open_protocol): Likewise.
46808 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
46809 GRUB_EFI_CONSOLE_CONTROL_GUID.
46810 (grub_efi_exit): Removed.
46811 (grub_stop): Likewise.
46812 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
46813 (grub_exit): New function.
46814 (grub_print_device_path): Likewise.
46815
46816 * kern/rescue.c (grub_rescue_cmd_exit): New function.
46817 (grub_enter_rescue_mode): Register "exit".
46818
46819 * kern/misc.c (grub_real_dprintf): A cosmetic change.
46820 (grub_abort): New function.
46821
46822 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
46823
46824 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
46825
46826 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
46827
46828 * include/grub/efi/efi.h (grub_efi_exit): Removed.
46829 (grub_print_device_path): New prototype.
46830 (grub_efi_locate_handle): Likewise.
46831 (grub_efi_open_protocol): Likewise.
46832
46833 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
46834 * disk/efi/efidisk.c: Likewise.
46835
46836 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
46837
46838 * include/grub/efi/console_control.h
46839 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
46840
46841 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
46842 last 8 bytes as an array.
46843 (GRUB_EFI_DISK_IO_GUID): New macro.
46844 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
46845 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
46846 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
46847 grub_uint8_t.
46848 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
46849 (struct grub_efi_device_path): Rename the member "sub_type" to
46850 "subtype".
46851 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
46852 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
46853 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
46854 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
46855 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
46856 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
46857 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
46858 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
46859 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
46860 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
46861 (struct grub_efi_pci_device_path): New structure.
46862 (grub_efi_pci_device_path_t): New type.
46863 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
46864 (struct grub_efi_pccard_device_path): New structure.
46865 (grub_efi_pccard_device_path_t): New type.
46866 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
46867 (struct grub_efi_memory_mapped_device_path): New structure.
46868 (grub_efi_memory_mapped_device_path_t): New type.
46869 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
46870 (struct grub_efi_vendor_device_path): New structure.
46871 (grub_efi_vendor_device_path_t): New type.
46872 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
46873 (struct grub_efi_controller_device_path): New structure.
46874 (grub_efi_controller_device_path_t): New type.
46875 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
46876 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
46877 (struct grub_efi_acpi_device_path): New structure.
46878 (grub_efi_acpi_device_path_t): New type.
46879 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
46880 (struct grub_efi_expanded_acpi_device_path): New structure.
46881 (grub_efi_expanded_acpi_device_path_t): New type.
46882 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
46883 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
46884 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
46885 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
46886 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
46887 (struct grub_efi_atapi_device_path): New structure.
46888 (grub_efi_atapi_device_path_t): New type.
46889 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
46890 (struct grub_efi_fibre_channel_device_path): New structure.
46891 (grub_efi_fibre_channel_device_path_t): New type.
46892 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
46893 (struct grub_efi_1394_device_path): New structure.
46894 (grub_efi_1394_device_path_t): New type.
46895 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
46896 (struct grub_efi_usb_device_path): New structure.
46897 (grub_efi_usb_device_path_t): New type.
46898 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
46899 (struct grub_efi_usb_class_device_path): New structure.
46900 (grub_efi_usb_class_device_path_t): New type.
46901 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
46902 (struct grub_efi_i2o_device_path): New structure.
46903 (grub_efi_i2o_device_path_t): New type.
46904 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
46905 (struct grub_efi_mac_address_device_path): New structure.
46906 (grub_efi_mac_address_device_path_t): New type.
46907 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
46908 (struct grub_efi_ipv4_device_path): New structure.
46909 (grub_efi_ipv4_device_path_t): New type.
46910 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
46911 (struct grub_efi_ipv6_device_path): New structure.
46912 (grub_efi_ipv6_device_path_t): New type.
46913 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
46914 (struct grub_efi_infiniband_device_path): New structure.
46915 (grub_efi_infiniband_device_path_t): New type.
46916 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
46917 (struct grub_efi_uart_device_path): New structure.
46918 (grub_efi_uart_device_path_t): New type.
46919 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
46920 (struct grub_efi_vendor_messaging_device_path): New structure.
46921 (grub_efi_vendor_messaging_device_path_t): New type.
46922 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
46923 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
46924 (struct grub_efi_hard_drive_device_path): New structure.
46925 (grub_efi_hard_drive_device_path_t): New type.
46926 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
46927 (struct grub_efi_cdrom_device_path): New structure.
46928 (grub_efi_cdrom_device_path_t): New type.
46929 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
46930 (struct grub_efi_vendor_media_device_path): New structure.
46931 (grub_efi_vendor_media_device_path_t): New type.
46932 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
46933 (struct grub_efi_file_path_device_path): New structure.
46934 (grub_efi_file_path_device_path_t): New type.
46935 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
46936 (struct grub_efi_protocol_device_path): New structure.
46937 (grub_efi_protocol_device_path_t): New type.
46938 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
46939 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
46940 (struct grub_efi_bios_device_path): New structure.
46941 (grub_efi_bios_device_path_t): New type.
46942 (struct grub_efi_disk_io): New structure.
46943 (grub_efi_disk_io_t): New type.
46944 (struct grub_efi_block_io_media): New structure.
46945 (grub_efi_block_io_media_t): New type.
46946 (struct grub_efi_block_io): New structure.
46947 (grub_efi_block_io_t): New type.
46948
46949 * include/grub/misc.h (grub_stop): Removed.
46950 (grub_exit): New prototype.
46951 (grub_abort): Likewise.
46952
46953 * include/grub/disk.h (enum grub_disk_dev_id): Added
46954 GRUB_DISK_DEVICE_EFIDISK_ID.
46955
46956 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
46957 disk/efi/efidisk.c.
46958 (kernel_syms.lst): Remove the target if an error occurs.
46959
49986a9f 469602006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
46961
46962 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
46963 as it was simply too buggy.
46964
970d3b8a 469652006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
46966
46967 * kern/misc.c (grub_lltoa): New function.
46968 (grub_vsprintf): Added support for the long long suffix,
46969 i.e. "ll".
46970
ff04ec24 469712006-04-20 Hollis Blanchard <hollis@penguinppc.org>
46972
46973 * Makefile.in (LDFLAGS): Add variable.
46974 (LD): Remove variable.
46975 * configure.ac: Add -m32 to LDFLAGS.
46976 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
46977 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
46978 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
46979 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
46980 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
46981 variables.
46982 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
46983 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
46984 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
46985
37e5e1a4 469862006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
46987
46988 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
46989 length for unknown glyph.
46990
c352d8dd 469912006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
46992
2eab1c0d 46993 Add support for pre-loaded modules into the EFI port.
f19dbdb7 46994
2eab1c0d 46995 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
46996 completely. Accept one more argument DIR. The caller has changed.
46997
46998 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
46999
47000 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
47001 (grub_efi_loaded_image_guid): New variable.
47002 (grub_efi_get_loaded_image): New function.
47003 (grub_arch_modules_addr): Likewise.
47004
47005 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
47006 prototype.
47007
47008 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
47009 (struct grub_efi_loaded_image): New structure.
47010 (grub_efi_loaded_image_t): New type.
47011
470122006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 47013
c352d8dd 47014 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
47015 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
47016 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
47017
6d01d6b4 470182006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
47019
47020 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
47021
976a4ea0 470222006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
47023
47024 * DISTLIST: Added include/grub/efi/console.h,
47025 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
47026 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
47027
47028 * include/grub/efi/console.h: New file.
47029 * include/grub/efi/time.h: Likewise.
47030 * include/grub/i386/efi/kernel.h: Likewise.
47031 * kern/efi/init.c: Likewise.
47032 * kern/efi/mm.c: Likewise.
47033 * term/efi/console.c: Likewise.
f19dbdb7 47034
976a4ea0 47035 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
47036 (grub_stop): Removed.
47037 (grub_get_rtc): Likewise.
47038 (grub_machine_init): Simply call grub_efi_init.
47039 (grub_machine_fini): Call grub_efi_fini.
47040
47041 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
47042 (grub_efi_output_string): Removed.
47043 (grub_efi_stall): New function.
47044 (grub_stop): Likewise.
47045 (grub_get_rtc): Likewise.
47046
47047 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
47048 (grub_efi_stall): New prototype.
47049 (grub_efi_allocate_pages): Likewise.
47050 (grub_efi_free_pages): Likewise.
47051 (grub_efi_get_memory_map): Likewise.
47052 (grub_efi_mm_init): Likewise.
47053 (grub_efi_mm_fini): Likewise.
47054 (grub_efi_init): Likewise.
47055 (grub_efi_fini): Likewise.
47056
47057 * include/grub/i386/efi/time.h: Do not include
47058 grub/symbol.h. Include grub/efi/time.h.
47059 (GRUB_TICKS_PER_SECOND): Removed.
47060 (grub_get_rtc): Likewise.
47061
47062 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
47063 Added padding. The EFI spec is buggy.
47064 (GRUB_EFI_BLACK): New macro.
47065 (GRUB_EFI_BLUE): Likewise.
47066 (GRUB_EFI_GREEN): Likewise.
47067 (GRUB_EFI_CYAN): Likewise.
47068 (GRUB_EFI_RED): Likewise.
47069 (GRUB_EFI_MAGENTA): Likewise.
47070 (GRUB_EFI_BROWN): Likewise.
47071 (GRUB_EFI_LIGHTGRAY): Likewise.
47072 (GRUB_EFI_BRIGHT): Likewise.
47073 (GRUB_EFI_DARKGRAY): Likewise.
47074 (GRUB_EFI_LIGHTBLUE): Likewise.
47075 (GRUB_EFI_LIGHTGREEN): Likewise.
47076 (GRUB_EFI_LIGHTCYAN): Likewise.
47077 (GRUB_EFI_LIGHTRED): Likewise.
47078 (GRUB_EFI_LIGHTMAGENTA): Likewise.
47079 (GRUB_EFI_YELLOW): Likewise.
47080 (GRUB_EFI_WHITE): Likewise.
47081 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
47082 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
47083 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
47084 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
47085 (GRUB_EFI_BACKGROUND_RED): Likewise.
47086 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
47087 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
47088 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
47089 (GRUB_EFI_TEXT_ATTR): Likewise.
47090
47091 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
47092 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
47093 (kernel_mod_HEADERS): Added efi/time.h.
47094
83709125 470952006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
47096
47097 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
47098 include/grub/efi/api.h, include/grub/efi/console_control.h,
47099 include/grub/efi/efi.h, include/grub/efi/pe32.h,
47100 include/grub/i386/efi/time.h, kern/efi/efi.c,
47101 kern/i386/efi/init.c, kern/i386/efi/startup.S,
47102 and util/i386/efi/grub-mkimage.c.
47103
47104 * Makefile.in (RMKFILES): Added i386-efi.rmk.
47105
47106 * genmk.rb (PModule#rule): Do not export symbols if
47107 #{prefix}_EXPORTS is set to "no".
47108
47109 * conf/i386-efi.mk: New file.
47110 * conf/i386-efi.rmk: Likewise.
47111 * include/grub/efi/api.h: Likewise.
47112 * include/grub/efi/console_control.h: Likewise.
47113 * include/grub/efi/efi.h: Likewise.
47114 * include/grub/efi/pe32.h: Likewise.
47115 * include/grub/i386/efi/time.h: Likewise.
47116 * kern/efi/efi.c: Likewise.
47117 * kern/i386/efi/init.c: Likewise.
47118 * kern/i386/efi/startup.S: Likewise.
47119 * util/i386/efi/grub-mkimage.c: Likewise.
47120
471212006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 47122
47123 * include/grub/script.h: Include <grub/parser.h> and
47124 "grub_script.tab.h".
47125 (struct grub_lexer_param): New struct.
47126 (struct grub_parser_param): Likewise.
47127 (grub_script_create_arglist): Pass the state in an argument.
47128 (grub_script_add_arglist): Likewise.
47129 (grub_script_create_cmdline): Likewise.
47130 (grub_script_create_cmdblock): Likewise.
47131 (grub_script_create_cmdif): Likewise.
47132 (grub_script_create_cmdmenu): Likewise.
47133 (grub_script_add_cmd): Likewise.
47134 (grub_script_arg_add): Likewise.
47135 (grub_script_lexer_ref): Likewise.
47136 (grub_script_lexer_deref): Likewise.
47137 (grub_script_lexer_record_start): Likewise.
47138 (grub_script_lexer_record_stop): Likewise.
47139 (grub_script_mem_record): Likewise.
47140 (grub_script_mem_record_stop): Likewise.
47141 (grub_script_malloc): Likewise.
47142 (grub_script_yylex): Likewise.
47143 (grub_script_yyparse): Likewise.
47144 (grub_script_yyerror): Likewise.
47145 (grub_script_yylex): Likewise.
47146 (grub_script_lexer_init): Return the state.
47147
47148 * normal/lexer.c (grub_script_lexer_state): Removed variable.
47149 (grub_script_lexer_done): Likewise.
47150 (grub_script_lexer_getline): Likewise.
47151 (grub_script_lexer_refs): Likewise.
47152 (script): Likewise.
47153 (newscript): Likewise.
47154 (record): Likewise.
47155 (recording): Likewise.
47156 (recordpos): Likewise.
47157 (recordlen): Likewise.
47158 (grub_script_lexer_init): Return the state instead of setting
47159 global variables.
47160 (grub_script_lexer_ref): Use the newly added argument for state
47161 instead of globals.
47162 (grub_script_lexer_deref): Likewise.
47163 (grub_script_lexer_record_start): Likewise.
47164 (grub_script_lexer_record_stop): Likewise.
47165 (recordchar): Likewise.
47166 (nextchar): Likewise.
47167 (grub_script_yylex2): Likewise.
47168 (grub_script_yylex): Likewise.
47169 (grub_script_yyerror): Likewise.
47170
47171 * normal/parser.y (func_mem): Removed variable.
47172 (menu_entry): Likewise.
47173 (err): Likewise.
47174 (%lex-param): New parser option.
47175 (%parse-param): Likewise.
47176 (script): Always return the AST.
47177 (argument): Pass the state around.
47178 (arguments): Likewise.
47179 (grubcmd): Likewise.
47180 (commands): Likewise.
47181 (function): Likewise.
47182 (menuentry): Likewise.
47183 (if_statement): Likewise.
47184 (if): Likewise.
47185
47186 * normal/script.c (grub_script_memused): Removed variable.
47187 (grub_script_parsed): Likewise.
47188 (grub_script_malloc): Added a state argument. Use that instead of
47189 global variables.
47190 (grub_script_mem_record): Likewise.
47191 (grub_script_mem_record_stop): Likewise.
47192 (grub_script_arg_add): Likewise.
47193 (grub_script_add_arglist): Likewise.
47194 (grub_script_create_cmdline): Likewise.
47195 (grub_script_create_cmdif): Likewise.
47196 (grub_script_create_cmdmenu): Likewise.
47197 (grub_script_add_cmd): Likewise.
47198 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 47199
e2a8c904 472002006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 47201
47202 * normal/command.c (grub_command_init): Remove the title command.
47203
47204 * normal/lexer.c (grub_script_yylex): Renamed from this...
47205 (grub_script_yylex2): ... to this.
47206 (grub_script_yylex): New function. Temporary
47207 introduced to filter some tokens.
47208 (grub_script_yyerror): Print a newline.
47209
47210 * normal/main.c (read_config_file): Output information about the
47211 lines that contain errors. Wait for a key after all lines have
47212 been processed. Don't return an empty menu.
47213
47214 * normal/parser.y (func_mem): Don't initialize.
47215 (menu_entry): Likewise.
47216 (err): New variable.
47217 (script): Don't return anything when an error was encountered.
47218 (ws, returns): Removed rules.
47219 (argument): Disabled concatenated variable support.
47220 (arguments): Remove explicit separators.
47221 (grubcmd): Likewise.
47222 (function): Likewise.
47223 (menuentry): Likewise.
47224 (if): Likewise.
47225 (commands): Likewise. Add error handling.
47226
47227 * normal/script.c (grub_script_create_cmdline): If
47228 `grub_script_parsed' is 0, assume the parser encountered an error.
47229
c9a86192 472302006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
47231
47232 * configure.ac: Add support for EFI. Fix the typo
47233 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
47234
70f3b243 472352006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
47236
47237 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
47238 foreign multibyte characters should be shown correctly.
47239
65f201ad 472402006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
47241
47242 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
47243 calculation.
47244 (read_config_file): Made it to close file before returning.
47245
b4b93674 472462006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
47247
47248 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
47249 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
47250 video/i386/pc/vbefill.c.
47251
47252 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
47253 video/i386/pc/vbefill.c.
47254
47255 * include/grub/video.h (grub_video_blit_format): New enum.
47256 (grub_video_mode_info): Added new member blit_format.
47257 (grub_video_get_blit_format): New function prototype.
47258
47259 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
47260 function prototype.
47261 (grub_video_vbe_map_rgb): Likewise.
47262 (grub_video_vbe_unmap_color): Likewise.
47263
47264 * include/grub/i386/pc/vbeblit.h: New file.
47265
47266 * include/grub/i386/pc/vbefill.h: New file.
47267
47268 * video/video.c (grub_video_get_blit_format): New function.
47269 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
47270 (grub_video_vbe_map_rgb): Likewise.
47271 (grub_video_vbe_unmap_color): Likewise.
47272
47273 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
47274 optimized fills.
47275 (grub_video_vbe_blit_render_target): Changed to use more optimized
47276 blits.
47277 (grub_video_vbe_setup): Added detection for optimized settings.
47278 (grub_video_vbe_create_render_target): Likewise.
47279
47280 * video/i386/pc/vbeblit.c: New file.
47281
47282 * video/i386/pc/vbefill.c: New file.
47283
c2379b9c 472842006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
47285
47286 * font/manager.c (grub_font_get_glyph): Removed font fixup from
47287 here...
47288
47289 * util/unifont2pff.rb: ... and moved it to here. Improved argument
47290 parsing to support both hex and dec ranges. If filename was missing
47291 show usage information.
47292
bd0d7896 472932006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
47294
47295 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
47296 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
47297
47298 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
47299 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
47300 (video_mod_SOURCES): Added.
47301 (video_mod_CFLAGS): Likewise.
47302 (video_mod_LDFLAGS): Likewise.
47303 (gfxterm_mod_SOURCES): Likewise.
47304 (gfxterm_mod_CFLAGS): Likewise.
47305 (gfxterm_mod_LDFLAGS): Likewise.
47306 (videotest_mod_SOURCES): Likewise.
47307 (videotest_mod_CFLAGS): Likewise.
47308 (videotest_mod_LDFLAGS): Likewise.
47309 (vesafb_mod_SOURCES): Removed.
47310 (vesafb_mod_CFLAGS): Likewise.
47311 (vesafb_mod_LDFLAGS): Likewise.
47312 (vga_mod_SOURCES): Likewise.
47313 (vga_mod_CFLAGS): Likewise.
47314 (vga_mod_LDFLAGS): Likewise.
47315
47316 * commands/videotest.c: New file.
47317
47318 * font/manager.c (fill_with_default_glyph): Modified to use
47319 grub_font_glyph.
47320 (grub_font_get_glyph): Likewise.
47321 (fontmanager): Renamed from this...
47322 (font_manager): ... to this.
47323
47324 * include/grub/font.h (grub_font_glyph): Added new structure.
47325 (grub_font_get_glyph): Modified to use grub_font_glyph.
47326
47327 * include/grub/misc.h (grub_abs): Added as inline function.
47328
47329 * include/grub/video.h: New file.
47330
47331 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
47332 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
47333 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
47334 (grub_vbe_get_controller_info): Renamed from this...
47335 (grub_vbe_bios_get_controller_info): ... to this.
47336 (grub_vbe_get_mode_info): Renamed from this...
47337 (grub_vbe_bios_get_mode_info): ... to this.
47338 (grub_vbe_set_mode): Renamed from this...
47339 (grub_vbe_bios_set_mode): ... to this.
47340 (grub_vbe_get_mode): Renamed from this...
47341 (grub_vbe_bios_get_mode): ... to this.
47342 (grub_vbe_set_memory_window): Renamed from this...
47343 (grub_vbe_bios_set_memory_window): ... to this.
47344 (grub_vbe_get_memory_window): Renamed from this...
47345 (grub_vbe_bios_get_memory_window): ... to this.
47346 (grub_vbe_set_scanline_length): Renamed from this...
47347 (grub_vbe_set_scanline_length): ... to this.
47348 (grub_vbe_get_scanline_length): Renamed from this...
47349 (grub_vbe_bios_get_scanline_length): ... to this.
47350 (grub_vbe_set_display_start): Renamed from this...
47351 (grub_vbe_bios_set_display_start): ... to this.
47352 (grub_vbe_get_display_start): Renamed from this...
47353 (grub_vbe_bios_get_display_start): ... to this.
47354 (grub_vbe_set_palette_data): Renamed from this...
47355 (grub_vbe_bios_set_palette_data): ... to this.
47356 (grub_vbe_set_pixel_rgb): Removed.
47357 (grub_vbe_set_pixel_index): Likewise.
47358
47359 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
47360 from this...
47361 (grub_vbe_bios_get_controller_info): ... to this.
47362 (grub_vbe_get_mode_info): Renamed from this...
47363 (grub_vbe_bios_get_mode_info): ... to this.
47364 (grub_vbe_set_mode): Renamed from this...
47365 (grub_vbe_bios_set_mode): ... to this.
47366 (grub_vbe_get_mode): Renamed from this...
47367 (grub_vbe_bios_get_mode): ... to this.
47368 (grub_vbe_set_memory_window): Renamed from this...
47369 (grub_vbe_bios_set_memory_window): ... to this.
47370 (grub_vbe_get_memory_window): Renamed from this...
47371 (grub_vbe_bios_get_memory_window): ... to this.
47372 (grub_vbe_set_scanline_length): Renamed from this...
47373 (grub_vbe_set_scanline_length): ... to this.
47374 (grub_vbe_get_scanline_length): Renamed from this...
47375 (grub_vbe_bios_get_scanline_length): ... to this.
47376 (grub_vbe_set_display_start): Renamed from this...
47377 (grub_vbe_bios_set_display_start): ... to this.
47378 (grub_vbe_get_display_start): Renamed from this...
47379 (grub_vbe_bios_get_display_start): ... to this.
47380 (grub_vbe_set_palette_data): Renamed from this...
47381 (grub_vbe_bios_set_palette_data): ... to this.
47382 (grub_vbe_bios_get_controller_info): Fixed problem with registers
47383 getting corrupted after calling it. Added more pushes and pops.
47384 (grub_vbe_bios_set_mode): Likewise.
47385 (grub_vbe_bios_get_mode): Likewise.
47386 (grub_vbe_bios_get_memory_window): Likewise.
47387 (grub_vbe_bios_set_scanline_length): Likewise.
47388 (grub_vbe_bios_get_scanline_length): Likewise.
47389 (grub_vbe_bios_get_display_start): Likewise.
47390 (grub_vbe_bios_set_palette_data): Likewise.
47391
47392 * normal/cmdline.c (cl_set_pos): Refresh the screen.
47393 (cl_insert): Likewise.
47394 (cl_delete): Likewise.
47395
47396 * term/gfxterm.c: New file.
47397
47398 * term/i386/pc/vesafb.c: Removed file.
47399
47400 * video/video.c: New file.
47401
47402 * video/i386/pc/vbe.c (real2pm): Added new function.
47403 (grub_video_vbe_draw_pixel): Likewise.
47404 (grub_video_vbe_get_video_ptr): Likewise.
47405 (grub_video_vbe_get_pixel): Likewise
47406 (grub_video_vbe_init): Likewise.
47407 (grub_video_vbe_fini): Likewise.
47408 (grub_video_vbe_setup): Likewise.
47409 (grub_video_vbe_get_info): Likewise.
47410 (grub_video_vbe_set_palette): Likewise.
47411 (grub_video_vbe_get_palette): Likewise.
47412 (grub_video_vbe_set_viewport): Likewise.
47413 (grub_video_vbe_get_viewport): Likewise.
47414 (grub_video_vbe_map_color): Likewise.
47415 (grub_video_vbe_map_rgb): Likewise.
47416 (grub_video_vbe_map_rgba): Likewise.
47417 (grub_video_vbe_unmap_color): Likewise.
47418 (grub_video_vbe_fill_rect): Likewise.
47419 (grub_video_vbe_blit_glyph): Likewise.
47420 (grub_video_vbe_blit_bitmap): Likewise.
47421 (grub_video_vbe_blit_render_target): Likewise.
47422 (grub_video_vbe_scroll): Likewise.
47423 (grub_video_vbe_swap_buffers): Likewise.
47424 (grub_video_vbe_create_render_target): Likewise.
47425 (grub_video_vbe_delete_render_target): Likewise.
47426 (grub_video_vbe_set_active_render_target): Likewise.
47427 (grub_vbe_set_pixel_rgb): Remove function.
47428 (grub_vbe_set_pixel_index): Likewise.
47429 (index_color_mode): Remove static variable.
47430 (active_mode): Likewise.
47431 (framebuffer): Likewise.
47432 (bytes_per_scan_line): Likewise.
47433 (grub_video_vbe_adapter): Added new static variable.
47434 (framebuffer): Likewise.
47435 (render_target): Likewise.
47436 (initial_mode): Likewise.
47437 (mode_in_use): Likewise.
47438 (mode_list): Likewise.
47439
5f97350b 474402006-03-10 Marco Gerards <marco@gnu.org>
47441
47442 * configure.ac (AC_INIT): Bumped to 1.93.
47443
47444 * DISTLIST: Added `include/grub/hfs.h'.
47445
a3c5c6f8 474462006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
47447
47448 * boot/i386/pc/boot.S (general_error): Before looping, try INT
47449 18H, which might help the BIOS falling back to next boot media.
47450
6de53d26 474512006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
47452
47453 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
47454 Poe Chen <poe.poechen@gmail.com>.
47455
77c4a393 474562006-01-17 Marco Gerards <marco@gnu.org>
47457
47458 * include/grub/normal.h: Include <grub/script.h>.
47459 (grub_command_list): Removed struct.
47460 (grub_command_list_t): Removed type.
47461 (grub_menu_entry): Remove members `num' and `command_list'. Add
47462 members `commands' and `sourcecode'.
47463 * include/grub/script.h: Add inclusion guards.
47464 (grub_script_cmd_menuentry): New struct.
47465 (grub_script_execute_menuentry): New prototype.
47466 (grub_script_lexer_record_start): Likewise.
47467 (grub_script_lexer_record_stop): Likewise.
47468 * normal/execute.c (grub_script_execute_menuentry): New function.
47469 * normal/lexer.c (record, recording, recordpos, recordlen): New
47470 variables.
47471 (grub_script_lexer_record_start): New function.
47472 (grub_script_lexer_record_stop): Likewise.
47473 (recordchar): Likewise.
47474 (nextchar): Likewise.
47475 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
47476 2048 as the buffer size. Add the tokens `menuentry' and `@'.
47477 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
47478 (current_menu): New variable.
47479 (free_menu): Mainly rewritten.
47480 (grub_normal_menu_addentry): New function.
47481 (read_config_file): Rewritten.
47482 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 47483 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 47484 the menu entry.
47485 (run): Mainly rewritten.
47486 * normal/parser.y (menu_entry): New variable.
47487 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
47488 (menuentry): New rule.
47489 (command): Add `menuentry'.
47490 (if_statement): Allow additional returns before `fi'.
47491 * normal/script.c (grub_script_create_cmdmenu): New function.
47492
144f1f98 474932006-01-03 Marco Gerards <marco@gnu.org>
47494
47495 * INSTALL: GNU Bison is required.
47496 * configure.ac: Rewritten the test to detect Bison.
47497 * Makefile.in (YACC): New variable. Reported by Xun Sun
47498 <xun.sun.cn@gmail.com>.
47499
af4b2d89 475002006-01-03 Marco Gerards <marco@gnu.org>
47501
47502 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
47503 the HFS+ filesystem to filesystem blocks.
47504 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
47505 GCC warning is silenced.
47506
15643b71 475072006-01-03 Marco Gerards <marco@gnu.org>
47508
47509 * partmap/apple.c (apple_partition_map_iterate): Convert the data
47510 read from disk from big endian to host byte order.
47511
00905879 475122006-01-03 Hollis Blanchard <hollis@penguinppc.org>
47513
47514 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
47515 documentation.
47516 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
47517 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
47518 embedded HFS+ filesystem.
47519 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
47520 (grub_hfs_sblock): Move from here...
47521 * include/grub/hfs.h: To here... New file.
47522 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
47523 documentation.
47524 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
47525 New macros.
47526 (grub_hfsplus_volheader): Change type of member `magic' to
47527 `grub_uint16_t'.
47528 (grub_hfsplus_data): Add new member `embedded_offset'.
47529 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
47530 returned block.
47531 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
47532 Calculate the offset.
47533
8899bc3e 475342005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47535
47536 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
47537 Removed.
47538 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
47539
ae8c0277 475402005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47541
47542 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
47543 ENV->NAME is NULL after allocating ENV->VALUE.
47544
07084456 475452005-12-25 Marco Gerards <marco@gnu.org>
47546
47547 * kern/env.c (grub_env_set): Rewritten the error handling code.
47548
4750f5f1 475492005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47550
47551 * geninit.sh: Made more robust, and more portable.
47552
50214199 475532005-12-25 Marco Gerards <marco@gnu.org>
47554
47555 Add support for Apple HFS+ filesystems.
f19dbdb7 47556
50214199 47557 * fs/hfsplus.c: New file.
47558
47559 * DISTLIST: Added `fs/hfsplus.c'.
47560
47561 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
47562 (hfsplus_mod_SOURCES): New variable.
47563 (hfsplus_mod_CFLAGS): Likewise.
47564 (hfsplus_mod_LDFLAGS): Likewise.
47565 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
47566 (grub_setup_SOURCES): Likewise.
47567 (grub_mkdevicemap_SOURCES): Likewise.
47568 (grub_emu_SOURCES): Likewise.
47569 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47570
47571 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
47572
47573 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
47574
befaed6c 475752005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47576
47577 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
47578 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
47579 include/grub/parser.h, include/grub/script.h, kern/parser.c,
47580 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
47581 normal/lexer.c, normal/parser.y, normal/script.c, and
47582 partmap/gpt.c.
47583 Removed kern/sparc64/cache.c.
47584
47585 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
47586 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
47587 grub_emu_init.c.
47588
47589 * configure.ac (AC_INIT): Bumped to 1.92.
47590
6a124103 475912005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
47592
47593 * kern/err.c (grub_error_push): Added new function to support error
47594 stacks.
47595 (grub_error_pop): Likewise.
47596 (grub_error_stack_items): New local variable to support error stacks.
47597 (grub_error_stack_pos): Likewise.
47598 (grub_error_stack_assert): Likewise.
47599 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
47600 stack depth.
47601 (grub_print_error): Added support to print errors from error stack.
47602
47603 * include/grub/err.h (grub_error_push): Added function prototype.
47604 (grub_error_pop): Likewise.
47605
be973c1b 476062005-12-09 Hollis Blanchard <hollis@penguinppc.org>
47607
47608 * configure.ac: Accept `powerpc64' as host_cpu.
47609 (amd64): Rename to `biarch32'.
47610
47611 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
47612 non-cacheline-aligned addresses.
47613
47614 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
47615 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
47616 if `size' is non-zero.
47617
b04216ab 476182005-12-03 Marco Gerards <mgerards@xs4all.nl>
47619
47620 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
47621 and `cd' to make sure the filename is not prefixed with a
47622 directory name.
47623 (pkgdata_MODULES): Add `gpt.mod'.
47624 (gpt_mod_SOURCES): New variable.
47625 (gpt_mod_CFLAGS): Likewise.
47626 (gpt_mod_LDFLAGS): Likewise.
47627
47628 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
47629
47630 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
47631 New macro.
47632
47633 * partmap/gpt.c: New file.
47634
47635 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
47636 GPT partition map is detected.
47637
41730ed9 476382005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
47639
47640 * commands/i386/pc/play.c: New file.
47641 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
47642 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
47643 macros.
f19dbdb7 47644
95dc3643 476452005-11-27 Marco Gerards <mgerards@xs4all.nl>
47646
47647 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
47648 ((unused))' to silence gcc warning.
47649
1569ec51 476502005-11-26 Hollis Blanchard <hollis@penguinppc.org>
47651
47652 * configure.ac: Correct `AC_PROG_YACC' test.
47653
9abde152 476542005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47655
47656 * util/powerpc/ieee1275/grub-install.in: Run the mount point
47657 check before installing files.
47658
44b83271 476592005-11-22 Mike Small <smallm@panix.com>
47660
47661 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
47662 number regex so multidigit numbers are recognized correctly.
47663
476642005-11-22 Mike Small <smallm@panix.com>
47665
47666 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
47667 debugging message before attempting to claim memory.
47668 (grub_rescue_cmd_initrd): Add a claim debugging message and try
47669 multiple addresses in case of failure.
47670
9c12956b 476712005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47672
47673 * term/tparm.c (get_space): Remove empty `if' statement.
47674
47675 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
47676
47677 * kern/parser.c (check_varstate): Rename `state' to 's'.
47678
aeaf81d9 476792005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47680
47681 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
47682 variable definitions to the beginning of each function. Sort stack
47683 variables by size.
47684 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
47685 `buf' argument to `char *'.
47686
79bbb63f 476872005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47688
47689 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
47690 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47691 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 47692 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47693 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47694 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47695 configfile.mod, search.mod, gzio.mod and test.mod.
47696 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47697 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47698 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47699 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47700 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47701 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47702 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47703 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47704 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47705 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47706 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47707 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47708 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47709 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47710 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47711 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47712 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47713 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47714 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47715 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47716 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47717 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47718 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
47719
47720 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
47721 `grep --include'.
47722 (pkgdata_MODULES): Add test.mod.
47723
233b1628 477242005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47725
47726 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
47727 appending to variables with "+=".
47728 (PModule): Use full pathname to generate *.lst filenames.
47729
47730 * Makefile.in: Fixed list rules moved from genmk.rb.
47731 (.DELETE_ON_ERROR): New special target.
47732 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
47733
47734 * conf/i386-pc.rmk: Include conf/common.mk.
47735 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47736 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 47737 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47738 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47739 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47740 configfile.mod, search.mod, gzio.mod and test.mod.
47741 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47742 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47743 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47744 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47745 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47746 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47747 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47748 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47749 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47750 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47751 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47752 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47753 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47754 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47755 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47756 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47757 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47758 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47759 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47760 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47761 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47762 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47763 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
47764 here...
47765 * conf/common.rmk: ... to here. New file.
47766
47767 * conf/common.mk: New file.
47768
16f820c8 477692005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
47770
47771 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
47772 (grub_script.tab.c): ... here.
47773
47774 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
47775 (grub_script.tab.c): ... here.
47776
47777 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
47778 (grub_script.tab.c): ... here.
47779
47780 * normal/command.c (grub_command_find): Fixed a memory leak of
47781 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
47782
63ba1554 477832005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47784
47785 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
47786 "@" which marks the start of a comment on ARM.
47787 (VARIABLE): Likewise.
47788
7f67dc13 477892005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47790
79bbb63f 47791 Add support for Linux/ADFS partition tables.
7f67dc13 47792
47793 * partmap/acorn.c: New file.
47794
47795 * include/grub/acorn_filecore.h: Likewise.
47796
47797 * DISTLIST: Added `partmap/acorn.c' and
47798 `include/grub/acorn_filecore.h'.
f19dbdb7 47799
7f67dc13 47800 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47801 `partmap/acorn.c'.
47802 (pkgdata_MODULES): Add `acorn.mod'.
47803 (acorn_mod_SOURCES): New variable.
47804 (acorn_mod_CFLAGS): Likewise.
47805
47806 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47807 `partmap/acorn.c'.
47808 (pkgdata_MODULES): Add `acorn.mod'.
47809 (acorn_mod_SOURCES): New variable.
47810 (acorn_mod_CFLAGS): Likewise.
47811
47812 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
47813 (pkgdata_MODULES): Add `acorn.mod'.
47814 (acorn_mod_SOURCES): New variable.
47815 (acorn_mod_CFLAGS): Likewise.
47816 (acorn_mod_LDFLAGS): Likewise.
47817
47818 * include/types.h (grub_disk_addr_t): New typedef.
47819
6d099807 478202005-11-13 Marco Gerards <mgerards@xs4all.nl>
47821
47822 * geninit.sh: New file.
47823
47824 * geninitheader.sh: Likewise.
47825
47826 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
47827 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
47828 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
47829 * commands/configfile.c (grub_configfile_init)
47830 (grub_configfile_fini): Likewise.
47831 * commands/default.c (grub_default_init, grub_default_fini):
47832 Likewise.
47833 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
47834 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
47835 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
47836 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
47837 Likewise.
47838 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
47839 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
47840 Likewise.
47841 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 47842 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 47843 Likewise.
47844 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
47845 Likewise.
fe6b695a 47846 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 47847 Likewise.
47848 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
47849 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
47850 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
47851 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
47852 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
47853 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
47854 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
47855 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
47856 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
47857 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
47858 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
47859 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
47860 * partmap/amiga.c (grub_amiga_partition_map_init)
47861 (grub_amiga_partition_map_fini): Likewise.
47862 * partmap/apple.c (grub_apple_partition_map_init)
47863 (grub_apple_partition_map_fini): Likewise.
47864 * partmap/pc.c (grub_pc_partition_map_init)
47865 (grub_pc_partition_map_fini): Likewise.
47866 * partmap/sun.c (grub_sun_partition_map_init,
47867 grub_sun_partition_map_fini): Likewise.
47868 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
47869 Likewise.
47870
47871 * util/grub-emu.c: Include <grub_modules_init.h>.
47872 (main): Don't initialize and de-initialize any modules directly,
47873 use `grub_init_all' and `grub_fini_all' instead.
47874
47875 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
47876 `grub_vesafb_mod_init'.
47877 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
47878 all users.
47879 * term/i386/pc/vga.c (grub_vga_init): Renamed to
47880 `grub_vga_mod_init'. Updated all users.
47881 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 47882
6d099807 47883 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
47884 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
47885 rules.
47886
47887 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
47888 Generate a function to initialize the module in utilities.
47889 Updated all callers.
47890 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
47891 initialize the module in utilities. Updated all callers.
47892
9046bcf0 478932005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47894
47895 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
47896 escape sequence and a literal ^L to clear the screen.
47897
47898 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
47899 when returning from Open Firmware.
47900
d13ea639 479012005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47902
47903 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
47904 (grub_ofconsole_height): Likewise.
47905 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
47906 manually insert a '\n'.
47907 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
47908 `grub_ofconsole_height'. Return early if these are already set.
47909
a8fcf206 479102005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
47911
47912 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47913 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
47914 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
47915 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
47916 and `normal/script.c'.
47917 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47918 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47919 (test_mod_SOURCES): New variable.
47920 (test_mod_CFLAGS): Likewise.
47921 (test_mod_LDFLAGS): Likewise.
47922 (pkgdata_MODULES): Add `test.mod'.
47923 (grub_script.tab.c): New rule.
47924 (grub_script.tab.h): Likewise.
47925
b6b32745 479262005-11-07 Marco Gerards <mgerards@xs4all.nl>
47927
47928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47929 `commands/test.c', `normal/execute.c', `normal/lexer.c',
47930 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47931 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47932 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47933 (test_mod_SOURCES): New variable.
47934 (test_mod_CFLAGS): Likewise.
47935 (pkgdata_MODULES): Add `test.mod'.
47936 (grub_script.tab.c): New rule.
47937 (grub_script.tab.h): Likewise.
47938
daac212a 479392005-11-06 Marco Gerards <mgerards@xs4all.nl>
47940
47941 Add initial scripting support.
47942
47943 * commands/test.c: New file.
47944 * include/grub/script.h: Likewise.
47945 * normal/execute.c: Likewise.
47946 * normal/function.c: Likewise.
47947 * normal/lexer.c: Likewise.
47948 * normal/parser.y: Likewise.
47949 * normal/script.c: Likewise.
47950
47951 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 47952
daac212a 47953 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
47954 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
47955 `normal/function.c' and `normal/script.c'.
47956 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47957 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 47958 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
47959 variables.
daac212a 47960 (pkgdata_MODULES): Add `test.mod'.
47961 (grub_script.tab.c): New rule.
47962 (grub_script.tab.h): Likewise.
47963
47964 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
47965
47966 * include/grub/normal.h (grub_test_init): New prototype.
47967 (grub_test_fini): Likewise.
f19dbdb7 47968
daac212a 47969 * normal/command.c: Include <grub/script.h>.
47970 (grub_command_execute): Rewritten.
f19dbdb7 47971
daac212a 47972 * util/grub-emu.c (main): Call `grub_test_init' and
47973 `grub_test_fini'.
47974
77500b2b 479752005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47976
47977 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
47978 to 0.
47979 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
47980 there are no pending characters.
47981
e45deb9e 479822005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47983
47984 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
47985 `grub_strndup' to drop device arguments. Replace unnecessary
47986 `grub_strndup' with `grub_strdup'.
47987
4ce32619 479882005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47989
47990 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
47991 `debug' environment variable has been set.
47992
479932005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47994
4ce32619 47995 * Makefile.in (install-local): Use $(DATA).
47996 (uninstall): Likewise.
47997 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
47998 (sbin_UTILITIES): ... to here.
47999 (sbin_SCRIPTS): New variable.
48000 (grub_install_SOURCES): New variable.
48001 * util/powerpc/ieee1275/grub-install.in: New file.
48002 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
48003 variable.
48004 (add_segments): Call `grub_util_get_path'.
48005
25fe6f03 480062005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48007
48008 From Timothy Baldwin:
48009 * commands/ls.c (grub_ls_list_files): Close FILE with
48010 grub_file_close.
48011 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
48012
04ccf3ec 480132005-10-24 Marco Gerards <mgerards@xs4all.nl>
48014
48015 * include/grub/parser.h: New file.
48016
48017 * kern/parser.c: Likewise.
48018
48019 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
48020 (grub_setup_SOURCES): Likewise.
48021 (grub_probefs_SOURCES): Likewise.
48022 (grub_emu_SOURCES): Likewise.
48023 (kernel_img_HEADERS): Add `parser.h'.
48024
48025 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
48026 (grub_emu_SOURCES): Add `kern/parser.c'.
48027 (grubof_SOURCES): Likewise.
48028
48029 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
48030 (grubof_SOURCES): Add `kern/parser.c'.
48031
48032 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
48033
48034 * kern/misc.c (grub_split_cmdline): Removed function.
48035
48036 * kern/rescue.c: Include <grub/parser.h>.
48037 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
48038 of `grub_split_cmdline'.
48039
48040 * normal/command.c: Include <grub/parser.h>.
48041 (grub_command_execute): Use `grub_parser_split_cmdline' instead
48042 of `grub_split_cmdline'.
48043
48044 * normal/completion.c: Include <grub/parser.h>.
48045 (cmdline_state): New variable.
48046 (iterate_dir): End the filename with a quote depending on the
48047 command line state.
48048 (get_state): new function.
48049 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
48050 split the arguments and determine the current argument. When the
48051 argument string is not quoted, escape all spaces.
48052
6d8f4b0e 480532005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48054
48055 * normal/sparc64/setjmp.S: New file.
48056
15cf03ed 480572005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48058
48059 * include/grub/sparc64/libgcc.h: New file.
48060 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
48061 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
48062 normal/sparc64/setjmp.c.
48063
03e8661a 480642005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48065
48066 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
48067 * kern/sparc64/cache.S: New file.
48068 * kern/sparc64/cache.c: Removed.
48069 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
48070 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
48071 -mtune=ultrasparc.
48072 (COMMON_LDFLAGS): Add -melf64_sparc.
48073 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
48074 (grubof_SOURCES): Use cache.S instead of cache.c.
48075 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
48076 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
48077 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
48078 commented though.
48079 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
48080 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
48081 (linux_mod_CFLAGS): Commented out.
48082 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
48083 out because module isn't built.
48084 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
48085 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
48086 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
48087 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
48088 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
48089 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
48090 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
48091 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
48092 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
48093 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
48094 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48095 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48096 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
48097 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
48098
34eeec8a 480992005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
48100
48101 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
48102 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
48103 longer, because HFS should not be used on PC.
48104
708367a3 481052005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48106
48107 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
48108 consistently within the loop.
48109
6fa1251a 481102005-10-15 Marco Gerards <mgerards@xs4all.nl>
48111
48112 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
48113 directory can not be read.
48114
4801580b 481152005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48116
48117 * configure.ac (AC_INIT): Increase the version number to 1.91.
48118
48119 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
48120 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
48121 term/i386/pc/serial.c.
48122
219ad426 481232005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48124
48125 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
48126 file size must be permitted.
48127
48128 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
48129 between %ah and %al.
48130
688e5699 481312005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48132
48133 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
48134 grub_uint64_t.
48135 Call the hook with a NUL-terminated filename.
48136 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
48137 grub_cpu_to_be32.
48138
48139 * kern/term.c (cursor_state): New variable.
48140 (grub_term_set_current): Reset the cursor state on a new
48141 terminal.
48142 (grub_setcursor): Rewritten to use CURSOR_STATE.
48143 (grub_getcursor): New function.
48144
48145 * include/grub/term.h (grub_getcursor): New prototype.
48146
48147 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
48148 integers on ARM. Reported by Timothy Baldwin
48149 <T.E.Baldwin99@members.leeds.ac.uk>.
48150
bb34586c 481512005-10-11 Marco Gerards <mgerards@xs4all.nl>
48152
48153 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
48154 allocated.
48155 (grub_sfs_dir): Likewise.
48156
9a909877 481572005-10-09 Marco Gerards <mgerards@xs4all.nl>
48158
48159 Add support for the SFS filesystem.
48160
48161 * fs/sfs.c: New file.
48162
48163 * DISTLIST: Added `fs/sfs.c'.
48164
48165 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
48166 (grub_probefs_SOURCES): Likewise.
48167 (grub_emu_SOURCES): Likewise.
48168 (pkgdata_MODULES): Add `sfs.mod'.
48169 (sfs_mod_SOURCES): New variable.
48170 (sfs_mod_CFLAGS): Likewise.
48171 (sfs_mod_LDFLAGS): Likewise.
48172
48173 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
48174 (pkgdata_MODULES): Add `sfs.mod'.
48175 (sfs_mod_SOURCES): New variable.
48176 (sfs_mod_CFLAGS): Likewise.
48177
48178 * util/grub-emu.c (main): Call `grub_sfs_init' and
48179 `grub_sfs_fini'.
48180
48181 * include/grub/fs.h (grub_sfs_init): New prototype.
48182 (grub_sfs_fini): Likewise.
48183
57bdbde3 481842005-10-07 Marco Gerards <mgerards@xs4all.nl>
48185
48186 Add support for the AFFS filesystem.
48187
48188 * fs/affs.c: New file.
48189
48190 * DISTLIST: Added `fs/affs.c'.
48191
48192 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
48193 (grub_probefs_SOURCES): Likewise.
48194 (grub_emu_SOURCES): Likewise.
48195 (pkgdata_MODULES): Add `affs.mod'.
48196 (affs_mod_SOURCES): New variable.
48197 (affs_mod_CFLAGS): Likewise.
48198 (affs_mod_LDFLAGS): Likewise.
48199
48200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
48201 (pkgdata_MODULES): Add `affs.mod'.
48202 (affs_mod_SOURCES): New variable.
48203 (affs_mod_CFLAGS): Likewise.
48204
48205 * util/grub-emu.c (main): Call `grub_affs_init' and
48206 `grub_affs_fini'.
48207
48208 * include/grub/fs.h (grub_affs_init): New prototype.
48209 (grub_affs_fini): Likewise.
48210
047b67e0 482112005-10-01 Marco Gerards <mgerards@xs4all.nl>
48212
48213 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
48214
59b8208a 482152005-10-01 Marco Gerards <mgerards@xs4all.nl>
48216
48217 * configure.ac: Accept `x86_64' as host_cpu. In that case add
48218 `-m32' to CFLAGS.
48219
48220 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
48221 linking.
f19dbdb7 48222
59b8208a 48223 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
48224 (COMMON_LDFLAGS): New variable.
48225 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
48226 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
48227 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
48228 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
48229 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
48230 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
48231 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
48232 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
48233 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
48234 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
48235 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
48236 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
48237 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
48238 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
48239 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
48240 variables.
48241 (normal_mod_ASFLAGS): Add `-m32'.
48242
48243 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
48244 (grub_host_size_t, grub_host_ssize_t): New types.
48245 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 48246 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 48247 `GRUB_HOST_SIZEOF_VOID_P'.
48248
48249 * include/grub/kernel.h (struct grub_module_header): Type of
48250 member offset changed to `grub_host_off_t'. Type of member size
48251 changed to `grub_host_size_t'.
48252 (struct grub_module_info): Type of member offset changed to
48253 `grub_host_off_t'. Type of member size changed to
48254 `grub_host_size_t'.
48255
b4093103 482562005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
48257
48258 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 48259
b4093103 48260 * kern/i386/pc/startup.S (multiboot_header): New label.
48261 (multiboot_entry): Likewise.
48262 (multiboot_trampoline): Likewise.
48263
48264 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48265 Increased to 0x4A0.
48266
48267 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
48268 put parentheses after a question mark.
48269 [!GRUB_UTIL] (my_mod): New variable.
48270
48271 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
48272
b2499b29 482732005-09-28 Marco Gerards <mgerards@xs4all.nl>
48274
48275 Adds support for the XFS filesystem. Btrees are not supported
48276 yet.
48277
48278 * fs/xfs.c: New file.
48279
48280 * DISTLIST: Added `fs/xfs.c'.
48281
48282 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
48283 (grub_probefs_SOURCES): Likewise.
48284 (grub_emu_SOURCES): Likewise.
48285 (pkgdata_MODULES): Add `xfs.mod'.
48286 (xfs_mod_SOURCES): New variable.
48287 (xfs_mod_CFLAGS): Likewise.
48288
48289 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
48290 (pkgdata_MODULES): Add `xfs.mod'.
48291 (xfs_mod_SOURCES): New variable.
48292 (xfs_mod_CFLAGS): Likewise.
48293
48294 * util/grub-emu.c (main): Call `grub_xfs_init' and
48295 `grub_xfs_fini'.
48296
48297 * include/grub/fs.h (grub_xfs_init): New prototype.
48298 (grub_xfs_fini): Likewise.
48299
f19dbdb7 48300
83d37a62 483012005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
48302
48303 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
48304 color modes, allow greater than 16 colors to be configured as
48305 a default palette.
48306
47d2d65e 483072005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
48308
48309 * normal/completion.c (complete_arguments): Add the qualifier
48310 const into OPTIONS.
48311
48312 From Omniflux <omniflux+lists@omniflux.com>:
48313 * include/grub/terminfo.h: New file.
48314 * include/grub/tparm.h: Likewise.
48315 * include/grub/i386/pc/serial.h: Likewise.
48316 * term/terminfo.c: Likewise.
48317 * term/tparm.c: Likewise.
48318 * term/i386/pc/serial.c: Likewise.
48319 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
48320 serial.mod.
48321 (terminfo_mod_SOURCES): New variable.
48322 (terminfo_mod_CFLAGS): Likewise.
48323 (serial_mod_SOURCES): Likewise.
48324 (serial_mod_CFLAGS): Likewise.
48325
48b671ff 483262005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
48327
48328 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
48329 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
48330 and kern/powerpc/ieee1275/cmain.c, respectively.
48331
48332 * boot/powerpc/ieee1275/crt0.S: Moved to ...
48333 * kern/powerpc/ieee1275/crt0.S: ... here.
48334
48335 * boot/powerpc/ieee1275/cmain.c: Moved to ...
48336 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 48337
48b671ff 48338 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
48339 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
48340 instead of boot/powerpc/ieee1275/crt0.S and
48341 boot/powerpc/ieee1275/cmain.c, respectively.
48342
48343 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
48344 sectors. It was not used anyway.
48345
09fc77a7 483462005-08-30 Hollis Blanchard <hollis@penguinppc.org>
48347
48348 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
48349 `unused parameter' warning.
48350
003789c7 483512005-08-30 Hollis Blanchard <hollis@penguinppc.org>
48352
48353 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
48354 function.
48355 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
48356 getcharwidth.
48357
67f44c86 483582005-08-28 Marco Gerards <metgerards@student.han.nl>
48359
48360 * include/grub/normal.h (enum grub_completion_type): Added
48361 `GRUB_COMPLETION_TYPE_ARGUMENT'.
48362
48363 * normal/cmdline.c (print_completion): Handle
48364 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
48365 * normal/menu_entry.c (store_completion): Likewise.
48366
48367 * normal/completion.c (complete_arguments): New function.
48368 (grub_normal_do_completion): Call `complete_arguments' when the
48369 current words start with a dash.
48370
0b5abe02 483712005-08-27 Marco Gerards <metgerards@student.han.nl>
48372
48373 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
48374 `gzio.mod' instead of `io.mod').
48375
d9864ee1 483762005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
48377
48378 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
48379 (DISTDIRS): Added io and video.
48380 Rewrite the search routine to make an output consistently.
48381
48382 * DISTLIST: Added conf/sparc64-ieee1275.mk,
48383 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
48384 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
48385 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
48386 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
48387 util/powerpc/ieee1275/misc.c.
f19dbdb7 48388
d9864ee1 48389 * include/grub/gzio.h: New file.
48390 * io/gzio.c: Likewise.
f19dbdb7 48391
d9864ee1 48392 * kern/file.c (grub_file_close): Call grub_device_close only if
48393 FILE->DEVICE is not NULL.
48394
48395 * include/grub/mm.h [!NULL] (NULL): New macro.
48396
48397 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
48398
48399 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
48400 (pkgdata_MODULES): Added gzio.mod.
48401 (gzio_mod_SOURCES): New variable.
48402 (gzio_mod_CFLAGS): Likewise.
48403
48404 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
48405 (pkgdata_MODULES): Added gzio.mod.
48406 (gzio_mod_SOURCES): New variable.
48407 (gzio_mod_CFLAGS): Likewise.
48408
48409 * commands/cat.c: Include grub/gzio.h.
48410 (grub_cmd_cat): Use grub_gzfile_open instead of
48411 grub_file_open.
f19dbdb7 48412
d9864ee1 48413 * commands/cmp.c: Include grub/gzio.h.
48414 (grub_cmd_cmp): Use grub_gzfile_open instead of
48415 grub_file_open.
48416
48417 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
48418 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
48419 grub_file_open.
48420 (grub_rescue_cmd_module): Likewise.
48421
fa46f4b5 484222005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
48423
48424 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
48425 kern/sparc64/ieee1275/init.c because it contains _start.
48426 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
48427
e9211b5d 484282005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
48429
48430 * configure.ac: Add support for sparc64 host with ieee1275
48431 firmware.
48432 * configure: Generated from configure.ac.
48433 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
48434 instead of int.
48435 (grub_ofdisk_read): Likewise.
48436 (grub_ofdisk_open): Use %p to print pointer values, and cast the
48437 pointers as (void *) to remove a warning.
48438 (grub_ofdisk_close): Likewise.
48439 (grub_ofdisk_read): Likewise.
48440 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
48441 returns, so make it return void to remove a warning.
48442 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
48443 Corresponding prototype change.
48444 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
48445 values, and cast the pointers as (void *) to remove a warning.
48446 (grub_mm_dump): Likewise.
48447 * conf/sparc64-ieee1275.mk: New file.
48448 * conf/sparc64-ieee1275.rmk: Likewise.
48449 * include/grub/sparc64/setjmp.h: Likewise.
48450 * include/grub/sparc64/types.h: Likewise.
48451 * include/grub/sparc64/ieee1275/console.h: Likewise.
48452 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
48453 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
48454 * include/grub/sparc64/ieee1275/time.h: Likewise.
48455 * kern/sparc64/cache.c: Likewise.
48456 * kern/sparc64/dl.c: Likewise.
48457 * kern/sparc64/ieee1275/init.c: Likewise.
48458 * kern/sparc64/ieee1275/openfw.c: Likewise.
48459
385c6a92 484602005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48461
48462 * util/console.c (grub_ncurses_putchar): If C is greater than
48463 0x7f, set C to a question mark.
48464 (grub_ncurses_getcharwidth): New function.
48465 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
48466 getcharwidth.
48467
48468 * normal/menu.c (print_entry): Made aware of Unicode. First,
48469 convert TITLE to UCS-4, and predict the cursor position by
48470 grub_getcharwidth.
48471
48472 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
48473 const to SRC.
48474 * kern/misc.c (grub_utf16_to_utf8): Likewise.
48475
16ccb8b1 484762005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48477
48478 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
48479 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48480 grub_strcat.
48481
48482 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
48483 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48484 grub_strcpy and grub_strlen. Take it into account that a space
48485 character is inserted as a delimiter.
48486
6a85ce79 484872005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48488
48489 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 48490 invalid magic in the error.
6a85ce79 48491
48492 * commands/search.c: New file.
f19dbdb7 48493
6a85ce79 48494 * util/grub-emu.c (main): Call grub_search_init and
48495 grub_search_fini.
48496
48497 * kern/rescue.c (grub_rescue_print_disks): Removed.
48498 (grub_rescue_print_devices): New function.
48499 (grub_rescue_cmd_ls): Use grub_device_iterate with
48500 grub_rescue_print_devices instead of grub_disk_dev_iterate with
48501 grub_rescue_print_disks.
48502
48503 * kern/partition.c (grub_partition_iterate): Return the result of
48504 PARTMAP->ITERATE instead of GRUB_ERRNO.
48505
48506 * kern/device.c: Include grub/partition.h.
48507 (grub_device_iterate): New function.
48508
48509 * include/grub/partition.h (grub_partition_iterate): Return int
48510 instead of grub_err_t.
48511
48512 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
48513 prototype.
48514 [GRUB_UTIL] (grub_search_fini): Likewise.
48515
48516 * include/grub/device.h (grub_device_iterate): New prototype.
48517
48518 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48519 commands/search.c.
48520 (pkgdata_MODULES): Added search.mod.
48521 (search_mod_SOURCES): New variable.
48522 (search_mod_CFLAGS): Likewise.
48523
48524 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
48525 (pkgdata_MODULES): Added search.mod.
48526 (search_mod_SOURCES): New variable.
48527 (search_mod_CFLAGS): Likewise.
48528
48529 * commands/ls.c (grub_ls_list_disks): Renamed to ...
48530 (grub_ls_list_devices): ... this, and use grub_device_iterate.
48531 All callers changed.
48532
48533 * DISTLIST: Added commands/search.c.
48534
ef095434 485352005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48536
48537 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
48538 conversion.
48539 (grub_getcharwidth): New function.
48540
48541 * kern/misc.c (grub_utf8_to_ucs4): New function.
48542
48543 * include/grub/term.h (struct grub_term): Added a new member
48544 "getcharwidth".
48545 (grub_getcharwidth): New prototype.
48546
48547 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
48548
48549 * term/i386/pc/console.c (map_char): New function. Segregated from
48550 grub_console_putchar.
48551 (grub_console_putchar): Use map_char.
48552 (grub_console_getcharwidth): New function.
48553 (grub_console_term): Specified grub_console_getcharwidth as
48554 getcharwidth.
48555
48556 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
48557 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
48558
48559 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
48560 GRUB_ERRNO.
48561 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
48562 on grub_strtoul completely.
48563 (write_char): Declare local variables in the beginning of the
48564 function.
48565 (grub_vesafb_getcharwidth): New function.
48566 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
48567 getcharwidth.
48568
1f0a95e4 485692005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
48570
48571 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
48572 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
48573 commands/i386/pc/vbetest.c.
48574
48575 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
48576 call grub_vbe_get_controller_info again, because the returned
48577 information is volatile.
48578 (grub_vbe_set_video_mode): Mostly rewritten.
48579 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
48580 grub_vbe_status_t correctly.
48581 (grub_vbe_get_video_mode_info): Likewise.
48582 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
48583 several if statements.
48584
48585 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
48586 * commands/i386/pc/vbeinfo.c: ... this.
48587
48588 * commands/i386/pc/vbe_test.c: Renamed to ...
48589 * commands/i386/pc/vbetest.c: ... this.
48590
48591 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
48592 ...
48593 (grub_cmd_vbeinfo): ... this. Save video modes before
48594 iterating. Skip a video mode, if it is not available, not enough
48595 information is given or it is monochrome. Show the memory
48596 model. Leave the interpretation of MODEVAR to grub_strtoul
48597 completely.
48598 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
48599 (GRUB_MOD_FINI): Likewise.
48600
48601 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
48602 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
48603 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
48604 duplicated grub_env_get. Leave the interpretation of MODEVAR to
48605 grub_strtoul completely.
48606 (real2pm): Removed.
48607 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
48608 (GRUB_MOD_FINI): Likewise.
48609
48610 * normal/misc.c: Include grub/mm.h.
48611
48612 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
48613 vbe_list_modes with vbetest.mod and vbeinfo.mod.
48614 (vbe_list_modes_mod_SOURCES): Removed.
48615 (vbe_list_modes_mod_CFLAGS): Likewise.
48616 (vbe_test_mod_SOURCES): Likewise.
48617 (vbe_test_mod_CFLAGS): Likewise.
48618 (vbeinfo_mod_SOURCES): New variable.
48619 (vbeinfo_mod_CFLAGS): Likewise.
48620 (vbetest_mod_SOURCES): Likewise.
48621 (vbetest_mod_CFLAGS): Likewise.
48622
992ffbbe 486232005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
48624
48625 * normal/misc.c: New file.
48626
48627 * DISTLIST: Added normal/misc.c.
f19dbdb7 48628
992ffbbe 48629 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
48630 DISK to HOOK. Call HOOK with DISK.
48631 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48632 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48633 * partmap/sun.c (sun_partition_map_iterate): Likewise.
48634
48635 * normal/menu_entry.c (struct screen): Added a new member
48636 "completion_shown".
48637 (completion_buffer): New global variable.
48638 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
48639 (store_completion): New function.
48640 (complete): Likewise.
48641 (clear_completions): Likewise.
48642 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
48643 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
48644 a tab, call complete.
48645
48646 * normal/completion.c (disk_dev): Removed.
48647 (print_simple_completion): Likewise.
48648 (print_partition_completion): Likewise.
48649 (print_func): New global variable.
48650 (add_completion): Do not take the arguments WHAT or PRINT any
48651 longer. Added a new argument TYPE. Instead of printing directly,
48652 call PRINT_FUNC if not NULL.
48653 All callers changed.
48654 (complete_device): Use a local variable DEV instead of
48655 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
48656 (grub_normal_do_completion): Take a new argument HOOK. Do not
48657 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
48658 empty string, return NULL instead.
48659 All callers changed.
48660
48661 * normal/cmdline.c (print_completion): New function.
48662
48663 * kern/partition.c (grub_partition_iterate): Add an argument DISK
48664 to HOOK.
48665 All callers changed.
48666
48667 * kern/disk.c (grub_print_partinfo): Removed.
48668
48669 * include/grub/partition.h (struct grub_partition_map): Add a new
48670 argument DISK into HOOK of ITERATE.
48671 (grub_partition_iterate): Add a new argument DISK to HOOK.
48672
48673 * include/grub/normal.h (enum grub_completion_type): New enum.
48674 (grub_completion_type_t): New type.
48675 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
48676 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
48677 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
48678 (GRUB_COMPLETION_TYPE_FILE): Likewise.
48679 (grub_normal_do_completion): Added a new argument HOOK.
48680 (grub_normal_print_device_info): New prototype.
48681
48682 * include/grub/disk.h (grub_print_partinfo): Removed.
48683
48684 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
48685 (normal_mod_SOURCES): Likewise.
48686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48687 (normal_mod_SOURCES): Likewise.
48688
48689 * commands/ls.c (grub_ls_list_disks): Use
48690 grub_normal_print_device_info instead of grub_print_partinfo. Free
48691 PNAME.
48692 (grub_ls_list_files): Use grub_normal_print_device_info instead of
48693 duplicating the code.
48694
0bd41162 486952005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48696
48697 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 48698 follow GCS more precisely.
48699 * commands/i386/pc/vbe_test.c: Likewise.
48700 * include/grub/i386/pc/vbe.h: Likewise.
48701 * term/i386/pc/vesafb.c: Likewise.
48702 * video/i386/pc/vbe.c: Likewise.
0bd41162 48703
6323696a 487042005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48705
48706 * DISTLIST: Added term/i386/pc/vesafb.c
48707 DISTLIST: Added video/i386/pc/vbe.c
48708 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
48709 DISTLIST: Added commands/i386/pc/vbe_test.c.
48710 * commands/i386/pc/vbe_list_modes.c: New file.
48711 * commands/i386/pc/vbe_test.c: Likewise.
48712 * term/i386/pc/vesafb.c: Likewise.
48713 * video/i386/pc/vbe.c: Likewise.
48714 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
48715 (grub_vbe_probe) Added prototype.
48716 (grub_vbe_set_video_mode) Likewise.
48717 (grub_vbe_get_video_mode) Likewise.
48718 (grub_vbe_get_video_mode_info) Likewise.
48719 (grub_vbe_set_pixel_rgb) Likewise.
48720 (grub_vbe_set_pixel_index) Likewise.
48721 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
48722 (pkgdata_MODULES): Added vesafb.mod.
48723 (pkgdata_MODULES): Added vbe_list_modes.mod.
48724 (pkgdata_MODULES): Added vbe_test.mod.
48725 (vbe_mod_SOURCES): Added.
48726 (vbe_mod_CFLAGS): Likewise.
48727 (vesafb_mod_SOURCES): Likewise.
48728 (vesafb_mod_CFLAGS): Likewise.
48729 (vbe_list_modes_mod_SOURCES): Likewise.
48730 (vbe_list_modes_mod_CFLAGS): Likewise.
48731 (vbe_test_mod_SOURCES): Likewise.
48732 (vbe_test_mod_CFLAGS): Likewise.
48733
0a74e62f 487342005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
48735
0a74e62f 48736 * normal/command.c (grub_command_execute): If INTERACTIVE is
48737 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
48738 CMDLINE. Disable the pager if INTERACTIVE is true.
48739 All callers are changed.
48740
48741 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
48742 before reading a config file.
48743 * normal/main.c (read_config_file): Even if a command is not
48744 found, register it if it is within an entry.
48745
48746 * util/grub-emu.c: Include sys/types.h and unistd.h.
48747 (options): Added --hold.
48748 (struct arguments): Added a new member "hold".
48749 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
48750 missing.
48751 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
48752 cleared by a debugger, if it is not zero.
48753
48754 * include/grub/normal.h (grub_command_execute): Add an argument
48755 INTERACTIVE.
48756
e51f85ae 487572005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
48758
48759 * DISTLIST: Added include/grub/i386/pc/vbe.h.
48760
e9c6f39b 487612005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
48762
48763 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
48764 program with another one, because the old one didn't detect a bug
48765 in gcc-3.4. Always use regparm 2, because the new test is still
48766 not enough for gcc-4.0. Someone must investigate a simple test
48767 case which detects a bug in gcc-4.0.
48768
8de3495c 487692005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
48770
48771 * DISTLIST: Added normal/completion.c.
48772
48773 * normal/completion.c: New file.
f19dbdb7 48774
8de3495c 48775 * term/i386/pc/console.c (grub_console_getwh): New function.
48776 (grub_console_term): Assign grub_console_getwh to getwh.
48777
48778 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
48779 function is defined in normal/completion.c as
48780 grub_normal_do_completion.
48781 (grub_cmdline_get): Use grub_normal_do_completion instead of
48782 grub_tab_complete.
48783
48784 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
48785 returns non-zero, otherwise return 0.
48786 (grub_partition_iterate): First, probe the partition map. Then,
48787 call ITERATE only for this partition map.
48788
48789 * kern/misc.c (grub_strncmp): Rewritten.
48790
48791 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
48792 returns non-zero. Otherwise return 0.
48793
48794 * include/grub/partition.h (grub_partition_map_iterate): Return
48795 int instead of void.
48796
48797 * include/grub/normal.h (grub_normal_do_completion): New prototype.
48798
48799 * include/grub/misc.h (grub_strncmp): Change the type of N to
48800 grub_size_t.
48801
48802 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
48803 of void.
48804
48805 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 48806 unsigned explicitly before comparing it with I.
8de3495c 48807
48808 * kern/main.c (grub_env_write_root): Add the attribute unused into
48809 VAR.
48810
48811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48812 normal/completion.c.
48813 (normal_mod_SOURCES): Likewise.
48814 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48815 (normal_mod_SOURCES): Likewise.
48816
48817 * normal/command.c (grub_iterate_commands): If ITERATE returns
48818 non-zero, return one immediately.
48819
e85e144b 488202005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
48821
48822 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
48823 * kern/i386/pc/startup.S: Updated Global Descriptor table's
48824 descriptions.
48825 (grub_vbe_get_controller_info): New function.
48826 (grub_vbe_get_mode_info): Likewise.
48827 (grub_vbe_set_mode): Likewise.
48828 (grub_vbe_get_mode): Likewise.
48829 (grub_vbe_set_memory_window): Likewise.
48830 (grub_vbe_get_memory_window): Likewise.
48831 (grub_vbe_set_scanline_length): Likewise.
48832 (grub_vbe_get_scanline_length): Likewise.
48833 (grub_vbe_set_display_start): Likewise.
48834 (grub_vbe_get_display_start): Likewise.
48835 (grub_vbe_set_palette_data): Likewise.
48836 * include/grub/i386/pc/vbe.h: New file.
48837
c46153d2 488382005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48839
48840 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48841 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
48842 * DISTLIST: Likewise.
48843 * kern/ieee1275/of.c: Moved to ...
48844 * kern/ieee1275/ieee1275.c: ... here.
48845
0cb90c45 488462005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48847
48848 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
48849 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
48850 Pass 0 as `end' parameter to grub_strtoul().
48851
a19fb360 488522005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48853
48854 * include/grub/powerpc/ieee1275/console.h: Do not include
48855 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
48856 ifdef.
48857 (grub_console_cur_color): Remove i386-specific prototype.
48858 (grub_console_real_putchar): Likewise.
48859 (grub_console_checkkey): Likewise.
48860 (grub_console_getkey): Likewise.
48861 (grub_console_getxy): Likewise.
48862 (grub_console_gotoxy): Likewise.
48863 (grub_console_cls): Likewise.
48864 (grub_console_setcursor): Likewise.
48865 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
48866 Include <grub/machine/console.h>.
48867 * term/ieee1275/ofconsole.c: Likewise.
48868
4ac9bd04 488692005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
48870
48871 * Makefile.in (LIBLZO): New variable.
48872
48873 * configure.ac: Check for LZO version 2.
48874
48875 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
48876 lzo/lzo1x.h instead of lzo1x.h.
48877
48878 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
48879 of -llzo.
48880
48881 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
48882 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
48883
48884 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
48885 copying the data from PARTITION to P.
48886
f4917dfd 488872005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48888
48889 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
48890 negative, unload the module.
48891
48892 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
48893 map is "pc_partition_map" but not "pc".
48894 (usage): Fix the description. The options are --boot-image and
48895 --core-image but not --boot-file or --core-file.
48896 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
48897 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
48898 DEFAULT_DIRECTORY.
48899
48900 * util/i386/pc/grub-install.in: Do not specify --boot-file or
48901 --core-file. Specify INSTALL_DEVICE as an argument.
48902
48903 * util/console.c: Include config.h.
48904 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
48905 [HAVE_NCURSES_H]: Include ncurses.h.
48906 [HAVE_CURSES_H]: Include curses.h.
48907 [!A_NORMAL] (A_NORMAL): Defined as zero.
48908 [!A_STANDOUT] (A_STANDOUT): Likewise.
48909
48910 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
48911 -lncurses.
48912 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
48913
48914 * configure.ac: Check for curses libraries and headers.
48915
48916 * Makefile.in (LIBCURSES): New variable.
48917
48918 * genmk.rb (Script::rule): Set the executable bits.
48919
48920 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
48921 name of the PC partition map is "pc_partition_map" but not "pc".
48922
0e143073 489232005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48924
48925 * util/i386/pc/grub-install.in (grub_probefs): New variable.
48926 (modules): Likewise.
48927 (usage): Added descriptions for --modules and --grub-probefs.
48928 Handle --modules and --grub-probefs. Save the arguments in MODULES
48929 and GRUB_PROBEFS, respectively.
48930 Auto-detect a filesystem module against GRUBDIR. If the result is
48931 empty and modules are not specified explicitly, abort the
48932 installation. Add the result to MODULES.
48933
48934 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
48935 disk/powerpc/ieee1275/ofdisk.c,
48936 include/grub/powerpc/ieee1275/init.h and
48937 term/powerpc/ieee1275/ofconsole.c.
48938 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
48939 term/ieee1275/ofconsole.c.
48940
48941 * include/grub/powerpc/ieee1275/console.h: Resurrected.
48942
48943 * COPYING: Upgraded to the latest version. Only the address of the
48944 FSF office has changed.
f19dbdb7 48945
efd6e6d5 489462005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48947
48948 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48949 kern/ieee1275.c with kern/ieee1275/of.c.
48950
48951 * kern/ieee1275.c: Moved to ...
48952 * kern/ieee1275/of.c: ... here.
48953
8ceafda2 489542005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
48955
48956 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 48957 readability.
8ceafda2 48958
48959 * config.guess: Updated to the latest version from gnulib.
48960 * config.sub: Likewise.
48961 * install.sh: Likewise.
48962 * mkinstalldirs: Likewise.
48963
48964 * include/grub/console.h: Removed. This file is arch-specific. Do
48965 not put this in include/grub.
48966
48967 * include/grub/i386/pc/console.h: Resurrected.
48968
48969 * util/console.c: Include grub/machine/console.h instead of
48970 grub/console.h.
48971 * util/grub-emu.c: Likewise.
48972
267f6cd9 489732005-08-04 Marco Gerards <metgerards@student.han.nl>
48974
48975 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
48976 hardcoded value.
f19dbdb7 48977
267f6cd9 48978 From Vincent Pelletier <subdino2004@yahoo.fr>
48979 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
48980 Redefined to use grub_getwh.
48981 (grub_term): New member named getwh.
48982 (grub_getwh): New prototype.
48983 * kern/term.c (grub_getwh): New function.
48984 * term/i386/pc/console.c (grub_console_getwh): New function.
48985 (grub_console_term): New member `getwh'.
48986 * term/i386/pc/vga.c (grub_vga_getwh): New function.
48987 (grub_vga_term): New member `getwh'.
0b5abe02 48988 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 48989 grub_ssize_t.
48990 (grub_ofconsole_getw): New function.
48991 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
48992 (grub_ofconsole_term): New field named getwh and new initial
48993 value.
48994
3be7266d 489952005-08-03 Hollis Blanchard <hollis@penguinppc.org>
48996
48997 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
48998 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
48999 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
49000 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
49001 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
49002 of <grub/machine/ieee1275.h>.
49003 * commands/ieee1275/reboot.c: Likewise.
49004 * boot/powerpc/ieee1275/ieee1275.c: Move ...
49005 * kern/ieee1275.c: ... to here. All users updated. Change all
49006 parameter structs to use new type `grub_ieee1275_cell_t'.
49007 * term/powerpc/ieee1275/ofconsole.c: Move ...
49008 * term/ieee1275/ofconsole.c: ... to here. All users updated.
49009 * disk/powerpc/ieee1275/ofdisk.c: Move ...
49010 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
49011 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
49012 to return int.
49013 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
49014 Remove unused prototypes. All users updated.
49015 * include/grub/powerpc/ieee1275/console.h: Removed.
49016 * include/grub/powerpc/ieee1275/ieee1275.h: Define
49017 `grub_ieee1275_cell_t'.
49018 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
49019 Cast comparisons with -1 to the correct type.
49020 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
49021 type to match `grub_ieee1275_entry_fn'.
49022
8b5f3938 490232005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
49024
49025 * DISTLIST: Added util/i386/pc/grub-probefs.c.
49026
49027 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
49028 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
49029 partmap/sun.c.
49030 (grub_probefs_SOURCES): New variable.
49031
49032 * util/i386/pc/grub-probefs.c: New file.
49033
49034 * util/i386/pc/grub-setup.c (main): Call
49035 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
49036 grub_hfs_init and grub_jfs_init to initialize the system. Call
49037 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
49038 grub_pc_partition_map_fini to finish the system.
49039
ea409713 490402005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
49041
49042 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
49043 function.
49044 (grub_multiboot_load_elf32): Likewise.
49045 (grub_multiboot_is_elf64): Likewise.
49046 (grub_multiboot_load_elf64): Likewise.
49047 (grub_multiboot_load_elf): Likewise.
49048 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
49049 an ELF32 or ELF64 file.
49050 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
49051
49052 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
49053 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
49054 NULL before calling FS->LABEL.
49055 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
49056 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
49057 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
49058 before calling FS->LABEL.
49059
141a288b 490602005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
49061
49062 * util/i386/pc/grub-install.in (datadir): New variable.
49063 (libdir): Removed.
49064 (pkgdatadir): New variable.
49065 (pkglibdir): Removed.
49066
0d5f8a54 490672005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
49068
49069 * DISTLIST: Added util/i386/pc/grub-install.in.
49070
49071 * util/i386/pc/grub-install.in: New file.
49072
49073 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
49074 (grub_install_SOURCES): Likewise.
49075
49076 * genmk.rb: Added support for scripts.
49077 (Script): New class.
49078 (scripts): New variable.
49079
49080 * Makefile.in (install-local): Install sbin_SCRIPTS by
49081 INSTALL_SCRIPT.
49082 (uninstall): Remove sbin_SCRIPTS.
49083
49084 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
49085 device, try to get a GRUB device by
49086 grub_util_biosdisk_get_grub_dev.
49087 Free DEST_DEV.
49088
49089 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
49090 description for --device-map.
49091
5f968e1e 490922005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
49093
49094 Change the semantics of variable hooks. They now return strings
49095 instead of error values.
f19dbdb7 49096
5f968e1e 49097 * util/i386/pc/grub-setup.c: Include grub/env.h.
49098 (setup): Use grub_device_set_root instead of grub_env_set.
49099
49100 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
49101 grub_env_get instead of grub_device_set_root and
49102 grub_device_get_root, respectively.
49103
49104 * kern/main.c (grub_env_write_root): New function.
49105 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
49106 grub_env_set instead of grub_device_set_root.
49107
49108 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
49109 many variables.
49110 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
49111 rather than calling ENV->WRITE_HOOK afterwards.
49112 (grub_env_get): Return the result of ENV->READ_HOOK rather than
49113 passing a pointer of a pointer.
49114 (grub_register_variable_hook): Change the types of "read_hook" and
49115 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
49116 respectively.
49117 Allocate the default empty string on the heap, because this string
49118 may be freed later.
49119
49120 * kern/device.c: Include grub/env.h.
49121 (grub_device_set_root): Removed.
49122 (grub_device_get_root): Likewise.
49123 (grub_device_open): Use grub_env_get instead of
49124 grub_device_get_root.
49125
49126 * include/grub/env.h (grub_env_read_hook_t): New type.
49127 (grub_env_write_hook_t): Likewise.
49128 (grub_env_var): Change the types of "read_hook" and "write_hook"
49129 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
49130 (grub_register_variable_hook): Likewise.
49131
49132 * include/grub/device.h (grub_device_set_root): Removed.
49133 (grub_device_set_root): Likewise.
49134
49135 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
49136 make sure that DIRNAME terminates with '/', so that
49137 grub_fat_find_dir will fail if PATH is not a directory.
49138
49139 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
49140 from DIRNAME.
49141 Use the qualifier auto for print_files and print_files_long.
49142 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
49143 as a regular file.
49144 Put a newline only if there is no error.
49145 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
49146 used.
49147
896f0afd 491482005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
49149
49150 * kern/partition.c (grub_partition_probe): Initialize PART to
49151 NULL. Otherwise, when no partition map is registered, this returns
49152 a garbage.
49153
b28b81b2 491542005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
49155
49156 * partmap/apple.c (apple_partition_map_iterate): Check if POS
49157 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
49158 valid.
49159
5f3607e0 491602005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
49161
49162 * commands/ls.c (grub_ls_list_disks): Print the filesystem
49163 information on each device, if it does not have partitions. Print
49164 "Device" instead of "Disk", because this function is not specific
49165 to disk devices.
49166
49167 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
49168 static to ensure that it is put on the memory rather than a
49169 register.
49170
502c87e8 491712005-07-17 Yoshinori Okuji <okuji@enbug.org>
49172
49173 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
49174 (grub_cat_init): Likewise.
49175 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
49176 (options): Likewise.
49177 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
49178 (grub_configfile_init): Likewise.
49179 * font/manager.c (GRUB_MOD_INIT): Likewise.
49180 * commands/help.c (GRUB_MOD_INIT): Likewise.
49181 (grub_help_init): Likewise.
49182 * normal/command.c (grub_command_init): Likewise.
49183 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
49184 * disk/loopback.c (grub_loop_init): Likewise.
49185 (GRUB_MOD_INIT): Likewise.
49186 * commands/ls.c (grub_ls_init): Likewise.
49187 (GRUB_MOD_INIT): Likewise.
49188 (options): Likewise.
49189 * commands/boot.c (grub_boot_init): Likewise.
49190 (GRUB_MOD_INIT): Likewise.
49191 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
49192 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
49193 (GRUB_MOD_INIT): Likewise.
49194 * commands/cmp.c (grub_cmp_init): Likewise.
49195 (GRUB_MOD_INIT): Likewise.
49196
49197 * normal/arg.c: Use <> instead of "" to include header files.
49198 (SHORT_ARG_HELP): New macro.
49199 (SHORT_ARG_USAGE): Likewise.
49200 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
49201 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
49202 descriptions.
49203 (find_short): Check if C is 'h' or 'u' explicitly.
49204 (grub_arg_show_help): Use space characters instead of tabs. Treat
49205 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
49206 are shown with --help and --usage only if they are not used for
49207 the command itself.
49208 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
49209 'h' and 'u'.
49210
49211 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
49212 const into "longarg". Change the type of "shortarg" to int.
49213
f806d18e 492142005-07-17 Yoshinori Okuji <okuji@enbug.org>
49215
49216 * boot/i386/pc/boot.S (boot_drive_check): New label.
49217
49218 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
49219 macro.
49220
49221 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
49222 which do not pass a boot drive correctly. Copied from GRUB Legacy.
49223
e293232b 492242005-07-17 Yoshinori Okuji <okuji@enbug.org>
49225
49226 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
49227 When turning off Gate A20, skip the check and return immediately,
49228 because this is not fatal usually.
49229
ebedfd00 492302005-07-17 Yoshinori Okuji <okuji@enbug.org>
49231
49232 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
49233 be 0x7C00 instead of 0x8000.
49234
49235 * boot/i386/pc/pxeboot.S: Rewritten.
49236
49237 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
49238 EXT_C.
49239 (gate_a20_check_state): Read a byte from 0x108000. Invert the
49240 result.
49241
654fc59f 492422005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
49243
49244 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
49245 robustness. This routine now supports a BIOS call and System
49246 Control Port A to modify the gate A20.
49247
49248 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49249 Increased to 0x440.
49250
09f9923f 492512005-07-12 Hollis Blanchard <hollis@penguinppc.org>
49252
49253 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
49254 device path and resulting ihandle.
49255 (grub_ofdisk_close): dprintf the ihandle being closed.
49256 (grub_ofdisk_read): dprintf function parameters.
49257 * kern/mm.c (grub_mm_init_region): Likewise.
49258 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
49259 (grub_linux_boot): dprintf the Linux entry point, initrd address and
49260 size, and boot arguments.
49261 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
49262 before loading into memory.
49263 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
49264 before loading into memory.
49265
7ef504d8 492662005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
49267
49268 * kern/mm.c: Added much documentation.
49269 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
49270 8, set to 5 instead of 8.
49271
e0f050c2 492722005-07-10 Yoshinori Okuji <okuji@enbug.org>
49273
49274 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
49275
49276 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
49277 (grub_mkdevicemap_SOURCES): New variable.
49278
49279 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
49280 lib/device.c of GRUB Legacy.
49281
7224189a 492822005-07-10 Yoshinori Okuji <okuji@enbug.org>
49283
49284 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
49285 instead of PATH is NULL.
49286
68c864eb 492872005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
49288
49289 * commands/cmp.c (BUFFER_SIZE): New macro.
49290 (grub_cmd_cmp): Close the right file at the right time. Compare
49291 only data just read. Don't report files of different size as
49292 identical. Dynamically allocate buffers. Move variable
49293 declarations at the beginning of function.
49294
e6f3e614 492952005-07-09 Yoshinori Okuji <okuji@enbug.org>
49296
49297 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
49298 reverse.
49299
f8f1559a 493002004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
49301
49302 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
49303 when backspace is pressed at beginning of line.
49304
39c9d41d 493052005-07-03 Yoshinori Okuji <okuji@enbug.org>
49306
49307 * DISTLIST: Added genfslist.sh.
49308
49309 * normal/main.c (fs_module_list): New variable.
49310 (autoload_fs_module): New function.
49311 (read_fs_list): Likewise.
49312 (grub_normal_execute): Call read_fs_list.
49313
49314 * kern/fs.c (grub_fs_autoload_hook): New variable.
49315 (grub_fs_probe): Added support for auto-loading.
49316
49317 * include/grub/normal.h (struct grub_fs_module_list): New struct.
49318 (grub_fs_module_list_t): New type.
49319
49320 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
49321 (grub_fs_autoload_hook): New prototype.
49322
49323 * genfslist.sh: New file.
f19dbdb7 49324
39c9d41d 49325 * genmk.rb: Added a rule to generate a filesystem list.
49326
121c1d83 493272005-06-30 Marco Gerards <metgerards@student.han.nl>
49328
49329 * configure.ac: Fix the test for cross-compiling.
49330
49331 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
49332 define GRUB_UTIL anymore.
49333
49334 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
49335 so this function works on other systems than just big endian.
49336 (load_modules): Likewise.
49337 (add_segments): Likewise.
49338
e75d76e1 493392005-06-23 Hollis Blanchard <hollis@penguinppc.org>
49340
49341 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
49342 contains `l' modifier, get a long from va_arg().
49343
50b5a0a7 493442005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
49345
49346 * kern/mm.c (grub_free): If the next free block which is being
49347 merged is the first free block, set the first block to the block
49348 being freed.
49349 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
49350
89371b20 493512005-05-08 Hollis Blanchard <hollis@penguinppc.org>
49352
49353 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
49354 `grub_ieee1275_chosen'.
49355
168d6e58 493562005-05-08 Hollis Blanchard <hollis@penguinppc.org>
49357
49358 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
49359 (grub_ieee1275_chosen): New variable.
49360 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
49361 `chosen'.
49362 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
49363 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49364 Rename first argument to `phandle' for consistency.
49365 (grub_ieee1275_get_property_length): Likewise.
49366 (grub_ieee1275_next_property): Likewise. Change type of first argument
49367 to grub_ieee1275_phandle_t.
49368 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
49369 Move export next to declaration.
49370 (grub_ieee1275_chosen): New variable.
49371 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
49372 Correct cosmetic typo.
49373 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
49374 `grub_ieee1275_chosen'.
49375 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
49376 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
49377 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
49378 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
49379 `grub_ieee1275_chosen'.
49380
ca5baa3f 493812005-05-10 Hollis Blanchard <hollis@penguinppc.org>
49382
49383 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
49384 /chosen/bootargs.
49385 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
49386 /chosen/bootargs as "variable=value" pairs.
49387
708b345f 493882005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
49389
49390 * include/grub/misc.h (grub_dprintf): New macro.
49391 (grub_real_dprintf): New prototype.
49392 (grub_strword): Likewise.
49393 (grub_iswordseparator): Likewise.
49394 * kern/misc.c (grub_real_dprintf): New function.
49395 (grub_strword): Likewise.
49396 (grub_iswordseparator): Likewise.
49397
f4c5e67c 493982005-04-30 Hollis Blanchard <hollis@penguinppc.org>
49399
49400 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
49401 (roundup): Remove macro.
49402 (grub_ieee1275_flags): Make static.
49403 (grub_ieee1275_realmode): Remove.
49404 (grub_ieee1275_test_flag): New function.
49405 (grub_ieee1275_set_flag): Likewise.
49406 (find_options): Rename to `grub_ieee1275_find_options'; update
49407 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
49408 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
49409 (cmain): New prototype.
49410 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
49411 `grub_ieee1275_flags' directly.
49412 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
49413 machine/biosdisk.h.
49414 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
49415 Don't include grub/machine/init.h.
49416 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
49417 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49418 Remove prototype.
49419 (grub_ieee1275_realmode): Likewise.
49420 (grub_ieee1275_flag): New enum.
49421 (grub_ieee1275_test_flag): New prototype.
49422 (grub_ieee1275_set_flag): New prototype.
49423 * include/grub/powerpc/ieee1275/init.h: Remove file.
49424 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
49425 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
49426 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
49427 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
49428 comment.
49429 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
49430 `grub_ieee1275_test_flag'.
49431 (grub_ieee1275_encode_devname): Likewise.
49432
ed16607e 494332005-04-21 Hollis Blanchard <hollis@penguinppc.org>
49434
49435 * include/grub/powerpc/ieee1275/ieee1275.h
49436 (grub_ieee1275_encode_devname): New prototype.
49437 (grub_ieee1275_get_filename): Likewise.
49438 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
49439 function.
49440 (grub_set_prefix): Likewise.
49441 (grub_machine_init): Call grub_set_prefix.
49442 * kern/powerpc/ieee1275/openfw.c: Fix typos.
49443 (grub_parse_type): New enum.
49444 (grub_ieee1275_get_devargs): New function.
49445 (grub_ieee1275_get_devname): Likewise.
49446 (grub_ieee1275_parse_args): Likewise.
49447 (grub_ieee1275_get_filename): Likewise.
49448 (grub_ieee1275_encode_devname): Likewise.
49449
be369920 494502005-03-30 Marco Gerards <metgerards@student.han.nl>
49451
49452 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
49453 `grub_loader_unset'.
49454
a5ce3a4a 494552005-03-26 Hollis Blanchard <hollis@penguinppc.org>
49456
49457 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
49458 instead of grub_ieee1275_interpret.
49459 (grub_halt_init): New function.
49460 (grub_halt_fini): Likewise.
49461 (GRUB_MOD_INIT): Correct message grammar.
49462 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
49463 instead of grub_ieee1275_interpret.
49464 (grub_reboot_init): New function.
49465 (grub_reboot_fini): Likewise.
49466 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
49467 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
49468 util/i386/pc/misc.c with commands/ieee1275/halt.c,
49469 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
49470 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
49471 function.
49472 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
49473 Add prototype.
49474 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
49475 prototype.
49476 (grub_halt): Likewise.
49477 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
49478 (cmain): Remove __attribute__((unused)).
49479 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
49480 (grub_heap_len): Likewise.
49481 (grub_machine_fini): New function.
49482 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
49483 (grub_halt): Likewise.
49484 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
49485 function.
49486 * util/powerpc/ieee1275/misc.c: New file.
49487
0058f771 494882005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
49489
49490 * DISTLIST: New file.
49491 * gendistlist.sh: Likewise.
f19dbdb7 49492
0058f771 49493 * Makefile.in (COMMON_DISTFILES): Removed.
49494 (BOOT_DISTFILES): Likewise.
49495 (CONF_DISTFILES): Likewise.
49496 (DISK_DISTFILES): Likewise.
49497 (FS_DISTFILES): Likewise.
49498 (INCLUDE_DISTFILES): Likewise.
49499 (KERN_DISTFILES): Likewise.
49500 (LOADER_DISTFILES): Likewise.
49501 (TERM_DISTFILES): Likewise.
49502 (UTIL_DISTFILES): Likewise.
49503 (DISTFILES): Likewise.
49504 (uninstall): Uninstall files in $(pkgdata_DATA).
49505 (DISTLIST): New target.
49506 (distdir): Use the contents of the file DISTLIST to get a list of
49507 distributed files.
49508
46b3b8a5 495092005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
49510
49511 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
49512 descriptor. This is ported from GRUB Legacy.
49513
49514 * gencmdlist.sh: Added an extra semicolon to make it work with
49515 old sed versions. Reported by Robert Bihlmeyer
49516 <robbe@orcus.priv.at>.
49517
5822ff87 495182005-03-08 Yoshinori Okuji <okuji@enbug.org>
49519
49520 Automatic loading of commands is supported.
f19dbdb7 49521
5822ff87 49522 * normal/main.c (read_command_list): New function.
49523 (grub_normal_execute): Call read_command_list.
49524
49525 * normal/command.c (grub_register_command): Return zero or CMD.
49526 Allocate CMD->NAME from the heap.
49527 Initialize CMD->MODULE_NAME to zero.
49528 Find the same name as well. If the same command is found and it is
49529 a dummy command, overwrite members. If it is not a dummy command,
49530 return zero.
49531 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
49532 (grub_command_find): If a dummy command is found, load a module
49533 and retry to find a command only once.
49534
49535 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
49536 make sure that each command is loaded.
49537
49538 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
49539 macro.
49540 (struct grub_command): Remove const from the member `name'.
49541 Add a new member `module_name'.
49542 (grub_register_command): Return grub_command_t.
49543
49544 * commands/help.c (grub_cmd_help): Call grub_command_find to make
49545 sure that each command is loaded.
49546
49547 * genmk.rb (PModule::rule): Specify a module name without the
49548 suffix ".mod" to gencmdlist.sh.
49549
7b1f4b57 495502005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49551
49552 * gencmdlist.sh: New file.
f19dbdb7 49553
7b1f4b57 49554 * genmk.rb (PModule::rule): Generate a rule for a command list.
49555 Clean command.lst.
49556 Generate command.lst from $(COMMANDFILES).
49557
49558 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
49559 (DATA): Added $(pkgdata_DATA).
49560 (install-local): Install files in $(pkgdata_DATA).
49561
062aaf39 495622005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49563
49564 * term/i386/pc/vga.c (debug_command): Removed.
49565 (GRUB_MOD_INIT): Do not register the command "debug".
49566
49567 From Hollis Blanchard:
49568 * commands/configfile.c: New file.
49569 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49570 commands/configfile.c.
49571 (pkgdata_MODULES): Added configfile.mod.
49572 (configfile_mod_SOURCES): New variable.
49573 (configfile_mod_CFLAGS): Likewise.
49574 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49575 commands/configfile.c.
49576 (pkgdata_MODULES): Added configfile.mod.
49577 (configfile_mod_SOURCES): New variable.
49578 (configfile_mod_CFLAGS): Likewise.
49579 * util/grub-emu.c (main): Call grub_configfile_init and
49580 grub_configfile_fini.
49581 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
49582 prototype.
49583 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 49584
cee01aa6 495852005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49586
49587 * normal/arg.c (grub_arg_show_help): Do not show the bug report
49588 address.
49589
49590 * commands/help.c (grub_cmd_help): Do not print newlines after
49591 the last command in print_command_help.
49592
93f3a1d8 495932005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49594
49595 * commands/default.h: New file.
49596 * commands/timeout.h: Likewise.
49597 * normal/context.c: Likewise.
f19dbdb7 49598
93f3a1d8 49599 * util/misc.c: Do not include sys/times.h.
49600 Include sys/time.h and grub/machine/time.h.
49601 (grub_get_rtc): Rewritten with gettimeofday.
49602
49603 * util/grub-emu.c (main): Call grub_default_init and
49604 grub_timeout_init before grub_normal_init, and call
49605 grub_timeout_fini and grub_default_fini after grub_main.
49606
49607 * util/console.c (grub_ncurses_checkkey): Return the read
49608 character or -1.
49609
49610 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
49611 timeouts.
49612
49613 * normal/main.c (read_config_file): Push MENU. If this fails,
49614 print an error and wait for a user input.
49615 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
49616 If a menu is empty or an error occurs, pop MENU.
49617 (grub_normal_execute): Pop and free MENU after grub_menu_run
49618 returns.
49619
49620 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
49621
49622 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
49623 include time.h.
49624 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49625 without GRUB_UTIL.
49626 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
49627 time.h.
49628 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49629 without GRUB_UTIL.
49630
49631 * include/grub/normal.h (struct grub_menu_list): New struct.
49632 (grub_menu_list_t): New type.
49633 (struct grub_context): New struct.
49634 (grub_context_t): New type.
49635 (grub_register_command): Got rid of EXPORT_FUNC.
49636 (grub_unregister_command): Likewise.
49637 (grub_context_get): New prototype.
49638 (grub_context_get_current_menu): Likewise.
49639 (grub_context_push_menu): Likewise.
49640 (grub_context_pop_menu): Likewise.
49641 [GRUB_UTIL] (grub_default_init): Likewise.
49642 [GRUB_UTIL] (grub_default_fini): Likewise.
49643 [GRUB_UTIL] (grub_timeout_init): Likewise.
49644 [GRUB_UTIL] (grub_timeout_fini): Likewise.
49645
49646 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
49647 commands/timeout.c and normal/context.c.
49648 (pkgdata_MODULES): Added default.mod and timeout.mod.
49649 (normal_mod_SOURCES): Added normal/context.c.
49650 (default_mod_SOURCES): New variable.
49651 (default_mod_CFLAGS): Likewise.
49652 (timeout_mod_SOURCES): Likewise.
49653 (timeout_mod_CFLAGS): Likewise.
49654 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
49655 conf/i386-pc.rmk.
49656 (pkgdata_MODULES): Added default.mod and timeout.mod.
49657 (normal_mod_SOURCES): Added normal/context.c.
49658 (default_mod_SOURCES): New variable.
49659 (default_mod_CFLAGS): Likewise.
49660 (timeout_mod_SOURCES): Likewise.
49661 (timeout_mod_CFLAGS): Likewise.
49662
49663 * Makefile.in (all-local): Added $(MKFILES).
49664
4ed2e1dd 496652005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
49666
49667 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
49668 (grub_emu_SOURCES): Likewise.
49669 (pkgdata_MODULES): Add `sun.mod'.
49670 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49671 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49672 `partmap/sun.c'.
49673 (pkgdata_MODULES): Add `sun.mod'.
49674 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49675 * include/grub/partition.h (grub_sun_partition_map_init): New
49676 prototype.
49677 (grub_sun_partition_map_fini): Likewise.
49678 * partmap/sun.c: New file.
49679 * util/grub-emu.c (main): Initialize and de-initialize the sun
49680 partitionmap support.
49681
4d4e372e 496822005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
49683
49684 This implements an Emacs-like menu entry editor.
f19dbdb7 49685
4d4e372e 49686 * normal/menu_entry.c: New file.
f19dbdb7 49687
4d4e372e 49688 * util/console.c (grub_ncurses_putchar): Translate some Unicode
49689 characters to ASCII.
49690 (saved_char): New variable.
49691 (grub_ncurses_checkkey): Rewritten completely.
49692 (grub_ncurses_getkey): Likewise.
49693 (grub_ncurses_init): Call raw instead of cbreak.
49694
49695 * normal/menu.c (print_entry): Do not put a space.
49696 (init_page): Renamed to ...
49697 (grub_menu_init_page): ... this. All callers changed.
49698 (edit_menu_entry): Removed.
49699 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
49700
49701 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
49702
49703 * kern/misc.c (grub_vprintf): Call grub_refresh.
49704
49705 * normal/menu.c (DISP_LEFT): Renamed to ...
49706 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
49707 * normal/menu.c (DISP_UP): Renamed to ...
49708 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
49709 * normal/menu.c (DISP_RIGHT): Renamed to ...
49710 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
49711 * normal/menu.c (DISP_DOWN): Renamed to ...
49712 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
49713 * normal/menu.c (DISP_HLINE): Renamed to ...
49714 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
49715 * normal/menu.c (DISP_VLINE): Renamed to ...
49716 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
49717 * normal/menu.c (DISP_UL): Renamed to ...
49718 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
49719 * normal/menu.c (DISP_UR): Renamed to ...
49720 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
49721 * normal/menu.c (DISP_LL): Renamed to ...
49722 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
49723 * normal/menu.c (DISP_LR): Renamed to ...
49724 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
49725 * normal/menu.c (TERM_WIDTH): Renamed to ...
49726 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
49727 * normal/menu.c (TERM_HEIGHT): Renamed to ...
49728 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
49729 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
49730 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
49731 * normal/menu.c (TERM_MARGIN): Renamed to ...
49732 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
49733 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
49734 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
49735 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
49736 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
49737 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
49738 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
49739 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
49740 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
49741 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
49742 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
49743 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
49744 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
49745 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
49746 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
49747 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
49748 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
49749 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
49750 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
49751 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
49752 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
49753 All callers changed.
49754
49755 * include/grub/normal.h: New prototype.
49756
49757 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49758 normal/menu_entry.c.
49759 (normal_mod_SOURCES): Likewise.
49760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49761 (normal_mod_SOURCES): Likewise.
49762
e6b92c8a 497632005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
49764
49765 * include/grub/normal.h (grub_halt_init): New prototype.
49766 (grub_halt_fini): Likewise.
49767 (grub_reboot_init): Likewise.
49768 (grub_reboot_fini): Likewise.
49769
49770 * util/grub-emu.c: Include signal.h.
49771 (main_env): New global variable.
49772 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
49773 catch C-c.
49774 (grub_machine_fini): New function.
49775 (main): Call grub_halt_init and grub_reboot_init before
49776 grub_main, and grub_reboot_fini and grub_halt_fini after it.
49777 Call setjmp with MAIN_ENV to go back afterwards.
49778 Call grub_machine_fini right before return.
49779
49780 * include/grub/util/misc.h: Include setjmp.h.
49781 (main_env): New prototype.
49782
49783 * include/grub/kernel.h (grub_machine_fini): New prototype.
49784 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
49785 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
49786
49787 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
49788 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
49789 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 49790
e6b92c8a 49791 * util/i386/pc/misc.c: New file.
f19dbdb7 49792
e6b92c8a 49793 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49794 util/i386/pc/misc.c, commands/i386/pc/halt.c and
49795 commands/i386/pc/reboot.c.
49796
c642636f 497972005-02-14 Guillem Jover <guillem@hadrons.org>
49798
49799 * include/grub/dl.h (grub_dl_check_header): New prototype.
49800 (grub_arch_dl_check_header): Change return type to grub_err_t,
49801 remove size parameter and export function. Update all callers.
49802 * kern/dl.c (grub_dl_check_header): New function.
49803 (grub_dl_load_core): Use `grub_dl_check_header' instead of
49804 `grub_arch_dl_check_header'. Check ELF type. Check if sections
49805 are inside the core.
49806 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
49807 independent ELF header checks.
49808 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49809 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
49810 `grub_dl_check_header' instead of explicit checks. Check for the
49811 ELF type.
49812 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
49813 `grub_dl_check_header' instead of explicit checks. Remove arch
49814 specific ELF header checks.
49815
e6b92c8a 49816 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
49817 argument SIZE.
49818
5eabe94b 498192005-02-13 Hollis Blanchard <hollis@penguinppc.org>
49820
49821 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
49822 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
49823
1b14a681 498242005-02-12 Hollis Blanchard <hollis@penguinppc.org>
49825
49826 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 49827 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 49828 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 49829 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 49830 * partmap/amiga.c (amiga_partition_map_iterate): Return
49831 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
49832 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49833
aca108aa 498342005-02-01 Guillem Jover <guillem@hadrons.org>
49835
49836 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
49837 help info.
49838
c9f9c556 498392005-01-31 Marco Gerards <metgerards@student.han.nl>
49840
49841 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
49842 Removed prototype.
49843 (grub_rescue_cmd_linux): New prototype.
49844 (grub_rescue_cmd_initrd): Likewise.
49845 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
49846 `bi_rec'.
49847 (grub_linux_release_mem): Release the memory for the initrd.
49848 (grub_load_linux): Renamed from this...
49849 (grub_rescue_cmd_linux): ...To this. Changed all callers.
49850 Changed `entry' not to be static. Loop over memory regions to
49851 find another one when the default fails.
49852 (grub_rescue_cmd_initrd): New function.
49853 (grub_linux_init): Remove function.
49854 (grub_linux_fini): Likewise.
49855 (GRUB_MOD_INIT): Register `initrd'.
49856 (GRUB_MOD_FINI): Unregister `initrd'.
49857 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
49858 Function removed.
49859 (grub_linux_normal_fini): Likewise.
49860 (GRUB_MOD_INIT): Register `initrd'.
49861 (GRUB_MOD_FINI): Unregister `initrd'.
49862
990cf3aa 498632005-01-31 Marco Gerards <metgerards@student.han.nl>
49864
49865 * commands/help.c: New file.
49866 * normal/arg.c (show_help): Renamed to...
49867 (grub_arg_show_help): ... this.
49868 * commands/i386/pc/halt.c: New file.
49869 * commands/i386/pc/reboot.c: Likewise.
49870 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
49871 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
49872 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
49873 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
49874 variables.
49875 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49876 `commands/help.c'.
49877 (pkgdata_MODULES): Add `help.mod'.
49878 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
49879 * grub/i386/pc/init.h (grub_reboot): New prototype.
49880 (grub_halt): Likewise.
49881 * include/grub/normal.h (grub_arg_show_help): New prototype.
49882 (grub_help_init): Likewise.
49883 (grub_help_fini): Likewise.
49884 * util/grub-emu.c (main): Initialize and deinitialize the help
49885 command.
49886
49887 * normal/cmdline.c (grub_cmdline_get): Doc fix.
49888
49889 * normal/command.c (grub_command_init): Fixed the description of
49890 the `set' and `unset' commands.
49891
498922005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 49893
49894 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
49895 function.
49896 * commands/ieee1275/halt.c: New file.
49897 * commands/ieee1275/reboot.c: Likewise.
49898 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
49899 `__attribute__ ((unused))'. Some GCS related fixed.
49900 (grub_suspend_init) [GRUB_UTIL]: Function removed.
49901 (grub_suspend_fini): Likewise.
49902 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
49903 and `halt.mod'.
49904 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
49905 (halt_mod_CFLAGS): New variables.
49906 * include/grub/powerpc/ieee1275/ieee1275.h
49907 (grub_ieee1275_interpret): New prototype.
49908
1ab09cc7 499092005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
49910
49911 * include/grub/misc.h (memmove): New prototype.
49912 (memcpy): Likewise.
49913
8b8cbdb2 499142005-01-22 Hollis Blanchard <hollis@penguinppc.org>
49915
49916 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
49917 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
49918
e3741a27 499192005-01-22 Marco Gerards <metgerards@student.han.nl>
49920
49921 * kern/misc.c (grub_strndup): Function rewritten.
49922
776bd780 499232005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
49924
49925 * normal/menu.c (TERM_WIDTH): Macro redefined.
49926 (TERM_TOP_BORDER_Y): Likewise.
49927 (draw_border): Replaced while-loop by a for-loop. Make the number
49928 of lines consistent with the number of lines displayed in
49929 print_entries. Added a margin below the rectangle.
49930 (print_entry): Make the entry fit in the rectangle.
49931 (print_entries): Display the scroll arrows next to the right
49932 border.
49933
78026bce 499342005-01-21 Marco Gerards <metgerards@student.han.nl>
49935
49936 * fs/minix.c (grub_minix_find_file): Reserve more space for
49937 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
49938 `grub_strncpy' to copy `path' into it.
49939
67bbaf0f 499402005-01-21 Marco Gerards <metgerards@student.han.nl>
49941
49942 Add the loopback device, a device via which files can be accessed
49943 as devices.
f19dbdb7 49944
67bbaf0f 49945 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
49946 (pkgdata_MODULES): Add loopback.mod.
49947 (loopback_mod_SOURCES): New variable.
49948 (loopback_mod_CFLAGS): Likewise.
49949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49950 `disk/loopback.c'.
49951 (pkgdata_MODULES): Add loopback.mod.
49952 (loopback_mod_SOURCES): New variable.
49953 (loopback_mod_CFLAGS): Likewise.
49954 * disk/loopback.c: new file.
49955 * include/grub/normal.h (grub_loop_init): New prototype.
49956 (grub_loop_fini): New prototype.
49957 * util/grub-emu.c (main): Initialize and de-initialize loopback
49958 support.
49959 * include/grub/disk.h (grub_disk_dev_id): Add
49960 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
49961
6f1c18bd 499622005-01-20 Hollis Blanchard <hollis@penguinppc.org>
49963
49964 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
49965 function.
49966 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
49967 (suspend_mod_SOURCES): New variable.
49968 (suspend_mod_CFLAGS): Likewise.
49969 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
49970 New prototype.
49971 * commands/ieee1275/suspend.c: New file.
49972
b38551da 499732005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49974
49975 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 49976 ((unused))' to `__attribute__ ((used))'.
b38551da 49977 (GRUB_MOD_FINI): Likewise.
49978 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
49979 * genmk.rb (PModule): Assign space to common symbols when linking
49980 modules.
49981
777aff39 499822005-01-20 Marco Gerards <metgerards@student.han.nl>
49983
49984 * include/grub/mm.h (grub_mm_init_region): Change the type of the
49985 `unsigned' arguments to `grub_size_t'.
49986 (grub_malloc): Likewise.
49987 (grub_realloc): Likewise.
49988 (grub_memalign): Likewise.
49989 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
49990 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49991 * util/misc.c (grub_malloc): Likewise.
49992 (grub_realloc): Likewise.
49993 * kern/mm.c (get_header_from_pointer): Change the casts to
49994 `unsigned' into a cast to `grub_size_t'.
49995
49996 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
49997 point to `currnode' when `currnode' is changed.
49998
49999 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
50000 Schottelius <nico-linux@schottelius.org>.
50001
d0ff18e1 500022005-01-09 Hollis Blanchard <hollis@penguinppc.org>
50003
50004 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
50005 (note_path): Remove variable.
50006 (GRUB_IEEE1275_NOTE_NAME): New macro.
50007 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
50008 (grub_ieee1275_note_hdr): New structure.
50009 (grub_ieee1275_note_desc): Likewise.
50010 (grub_ieee1275_note): Likewise.
50011 (load_note): Remove `dir' argument. All callers updated. Remove
50012 `note_img' and `path'. Do not load a file from `note_path'.
50013 Initialize a struct grub_ieee1275_note and write that to `out'.
50014 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
50015
4ca7004c 500162005-01-05 Marco Gerards <metgerards@student.han.nl>
50017
50018 * util/misc.c (grub_util_read_image): Revert last change. It
50019 called `grub_util_read_at', which seeks from the beginning of the
50020 file.
50021
0b412211 500222005-01-04 Hollis Blanchard <hollis@penguinppc.org>
50023
50024 * TODO: Add note about endianness in grub-mkimage.
50025 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
50026 section.
50027 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
50028 (grub_mkimage_SOURCES): New target.
50029 * include/grub/kernel.h (grub_start_addr): Remove variable.
50030 (grub_end_addr): Likewise.
50031 (grub_total_module_size): Likewise.
50032 (grub_kernel_image_size): Likewise.
50033 (GRUB_MODULE_MAGIC): New constant.
50034 (grub_module_info): New structure.
50035 (grub_arch_modules_addr): New prototype.
50036 (grub_get_end_addr): Remove prototype.
50037 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
50038 * include/grub/powerpc/ieee1275/kernel.h: New file.
50039 * include/grub/util/misc.h (grub_util_get_fp_size): New
50040 prototype.
50041 (grub_util_read_at): Likewise.
50042 (grub_util_write_image_at): Likewise.
50043 * kern/main.c (grub_get_end_addr): Remove function.
50044 (grub_load_modules): Call grub_arch_modules_addr instead of using
50045 grub_end_addr. Look for a grub_module_info struct in memory. Use
50046 the grub_module_info fields instead of calling grub_get_end_addr
50047 as loop conditions. Move grub_add_unused_region code here.
50048 (grub_add_unused_region): Remove function.
50049 * kern/i386/pc/init.c: Include grub/cache.h.
50050 (grub_machine_init): Remove call to grub_get_end_addr. Remove
50051 one call to add_mem_region.
50052 (grub_arch_modules_addr): New function.
50053 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
50054 (grub_total_module_size): Likewise.
50055 Include grub/machine/kernel.h.
50056 (grub_arch_modules_addr): New function.
50057 * util/grub-emu.c (grub_end_addr): Remove variable.
50058 (grub_total_module_size): Likewise.
50059 (grub_arch_modules_addr): New function.
50060 * util/misc.c: Include unistd.h.
50061 (grub_util_get_fp_size): New function.
50062 (grub_util_read_at): Likewise.
50063 (grub_util_write_image_at): Likewise.
50064 (grub_util_read_image): Call grub_util_read_at.
50065 (grub_util_write_image): Call grub_util_write_image_at.
50066 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
50067 additional memory in kernel_img for a struct grub_module_info.
50068 Fill in that grub_module_info.
50069 * util/powerpc/ieee1275/grub-mkimage.c: New file.
50070
458786f8 500712005-01-03 Hollis Blanchard <hollis@penguinppc.org>
50072
50073 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
50074 New function.
50075 * include/grub/powerpc/ieee1275/ieee1275.h
50076 (grub_ieee1275_milliseconds): New prototype.
50077 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
50078 Change to 1000.
50079 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
50080 grub_ieee1275_milliseconds.
50081
ac507d1b 500822005-01-03 Hollis Blanchard <hollis@penguinppc.org>
50083
50084 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
50085 variable.
50086 (find_options): New function.
50087 (cmain): Call find_options.
50088 * include/grub/powerpc/ieee1275/ieee1275.h
50089 (grub_ieee1275_realmode): New extern variable.
50090 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
50091 grub_map if grub_ieee1275_realmode is false.
50092
6b8fd1c4 500932004-12-29 Marco Gerards <metgerards@student.han.nl>
50094
50095 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
50096 lines are inserted and make it work like readline. Reported by
50097 Vincent Pelletier <subdino2004@yahoo.fr>.
50098
8514a1e0 500992004-12-28 Marco Gerards <metgerards@student.han.nl>
50100
50101 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
50102
50103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
50104 `kern/powerpc/cache.S'.
50105
924b6140 501062004-12-27 Marco Gerards <metgerards@student.han.nl>
50107
50108 * genmk.rb: Handle the `Program' class in the main loop. Written
50109 by Johan Rydberg <jrydberg@gnu.org>.
50110 (Program): New class.
50111 (programs): New variable.
50112 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
50113 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
50114 instead of "grub/kernel.h". Include <grub/machine/init.h>.
50115 (help_arch): Function removed.
50116 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
50117 `powerpc/libgcc.h' and `loader.h'.
50118 (pkgdata_PROGRAMS): New variable.
50119 (sbin_UTILITIES): Variable removed.
50120 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
50121 (grubof_SOURCES): Variable re-defined so it only includes the
50122 core functionality.
50123 (grubof_CFLAGS): Remove `-DGRUBOF'.
50124 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
50125 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
50126 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
50127 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
50128 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
50129 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
50130 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
50131 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
50132 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
50133 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
50134 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50135 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
50136 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
50137 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
50138 (pc_mod_CFLAGS): New variables.
50139 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
50140 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
50141 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
50142 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
50143 Moved from here...
50144 * include/grub/i386/pc/init.h (grub_os_area_addr)
50145 (rub_os_area_size): ... to here.
50146 * include/grub/powerpc/ieee1275/ieee1275.h
50147 (grub_ieee1275_entry_fn): Export symbol.
50148 * include/grub/powerpc/ieee1275/init.h: New file.
50149 * include/grub/powerpc/libgcc.h: Likewise.
50150 * include/grub/cache.h: Likewise.
50151 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
50152 <hollis@penguinppc.org>.
50153 * kern/dl.c: Include <grub/cache.h>.
50154 (grub_dl_flush_cache): New function.
50155 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
50156 for this module.
50157 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
50158 (grub_console_init): Removed prototypes.
50159 (grub_machine_init): Don't initialize the modules anymore.
50160 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
50161 static.
50162 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
50163 Macro undef removed.
50164 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
50165 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
50166 relocation `R_PPC_REL32'. Return an error when the relocation is
50167 unknown.
50168 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
50169 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
50170 * util/misc.c (grub_arch_sync_caches): Likewise.
50171
e4b47e0c 501722004-12-19 Marco Gerards <metgerards@student.han.nl>
50173
50174 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
50175 `symlist.c', add `grubof_symlist.c'.
50176 (symlist.c): Variable removed.
50177 (grubof_HEADERS): Variable added.
50178 (grubof_symlist.c): New target.
50179 (kernel_syms.lst): Use `grubof_HEADERS' instead of
50180 `kernel_img_HEADERS'.
50181 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
50182 * kern/powerpc/dl.c: New file.
50183 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
50184 Function removed.
50185 (grub_arch_dl_relocate_symbols): Likewise.
50186 (grub_register_exported_symbols): Likewise.
50187
4ceb3636 501882004-12-13 Marco Gerards <metgerards@student.han.nl>
50189
50190 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
50191 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
50192 to fail instead. Reported by Vincent Pelletier
50193 <subdino2004@yahoo.fr>.
50194
50195 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
50196 it is not allocated. Reported by Vincent Pelletier
50197 <subdino2004@yahoo.fr>.
50198
50199 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
50200 output so the output looks better.
f19dbdb7 50201
3f1578fe 502022004-12-04 Marco Gerards <metgerards@student.han.nl>
50203
50204 Modulize the partition map support and add support for the amiga
50205 partition map.
f19dbdb7 50206
3f1578fe 50207 * commands/ls.c: Include <grub/partition.h> instead of
50208 <grub/machine/partition.h>.
50209 * kern/disk.c: Likewise.
50210 * kern/rescue.c: Likewise.
50211 * loader/i386/pc/chainloader.c: Likewise.
50212 * normal/cmdline.c: Likewise.
50213 * kern/powerpc/ieee1275/init.c: Likewise.
50214 (grub_machine_init): Call `grub_pc_partition_map_init',
50215 `grub_amiga_partition_map_init' and
50216 `grub_apple_partition_map_init'.
50217 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
50218 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
50219 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
50220 `partition.h' and `pc_partition.h'.
50221 (grub_setup_SOURCES): Remove
50222 `disk/i386/pc/partition.c'. Add `kern/partition.c',
50223 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
50224 (grub_emu_SOURCES): Likewise.
50225 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
50226 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
50227 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
50228 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
50229 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
50230 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
50231 (grubof_SOURCES): Likewise.
50232 * disk/i386/pc/partition.c: File removed.
50233 * disk/powerpc/ieee1275/partition.c: Likewise.
50234 * include/grub/powerpc/ieee1275/partition.h: Likewise.
50235 * include/grub/i386/pc/partition.h: Likewise.
50236 * kern/partition.c: New file.
50237 * partmap/amiga.c: Likewise.
50238 * partmap/apple.c: Likewise.
50239 * partmap/pc.c: Likewise.
50240 * include/grub/partition.h: Likewise..
50241 * include/grub/pc_partition.h: Likewise.
50242 * util/grub-emu.c: Include <grub/partition.h> instead of
50243 <grub/machine/partition.h>.
50244 (main): Call `grub_pc_partition_map_init',
50245 `grub_amiga_partition_map_init' and
50246 `grub_apple_partition_map_init' and deinitialize afterwards.
50247 * util/i386/pc/biosdisk.c: Include `#include
50248 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
50249 `<grub/machine/partition.h>'.
50250 * util/i386/pc/grub-setup.c: Likewise.
50251 * util/i386/pc/biosdisk.c: Likewise.
50252 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
50253 partition information in case of a PC partition.
50254 * util/i386/pc/grub-setup.c: Include `#include
50255 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
50256 `<grub/machine/partition.h>'.
50257 (setup): Only access the PC specific partition information in case
50258 of a PC partition.
50259
0ef4ced9 502602004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 50261
0ef4ced9 50262 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
50263 (grub_longjmp): Likewise.
50264 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
50265 20.
50266 * normal/powerpc/setjmp.S: New file.
50267 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50268 `normal/powerpc/setjmp.S'.
50269 (grubof_CFLAGS): Add `-DGRUBOF'.
50270 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
50271 [GRUB_UTIL && !GRUBOF].
f19dbdb7 50272
19950e29 502732004-11-16 Marco Gerards <metgerards@student.han.nl>
50274
50275 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
50276 property named `name'. Correctly handle the error returned by
50277 `grub_ieee1275_finddevice' if a device can not be opened.
50278
a2fea427 502792004-11-02 Hollis Blanchard <hollis@penguinppc.org>
50280
50281 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
50282 `actual' for negativity.
50283 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
50284 kern/fshelp.c.
50285
41ea0ea3 502862004-11-01 Marco Gerards <metgerards@student.han.nl>
50287
50288 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
50289 (PAGE_OFFSET): New macro.
50290 (CRTC_ADDR_PORT): Likewise.
50291 (CRTC_DATA_PORT): Likewise.
50292 (START_ADDR_HIGH_REGISTER): Likewise.
50293 (START_ADDR_LOW_REGISTER): Likewise.
50294 (GRAPHICS_ADDR_PORT): Likewise.
50295 (GRAPHICS_DATA_PORT): Likewise.
50296 (READ_MAP_REGISTER): Likewise.
50297 (INPUT_STATUS1_REGISTER): Likewise.
50298 (INPUT_STATUS1_VERTR_BIT): Likewise.
50299 (page): New variable.
50300 (wait_vretrace): New function.
50301 (set_read_map): Likewise.
50302 (set_start_address): Likewise.
50303 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
50304 the right page.
50305 (check_vga_mem): Take the page into account.
50306 (write_char): Likewise.
50307 (write_cursor): Likewise.
50308 (scroll_up): Likewise. Copy the page to the page that is not
50309 shown and switch between both pages.
50310 (grub_vga_putchar): Fix off by one error.
50311 (grub_vga_cls): Wait for the vertical retrace. Take the page into
50312 account.
50313
ad0bd20b 503142004-11-01 Marco Gerards <metgerards@student.han.nl>
50315
50316 Add support for iso9660 (including rockridge).
f19dbdb7 50317
ad0bd20b 50318 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
50319 (iso9660_mod_SOURCES): New variable.
50320 (iso9660_mod_CFLAGS): Likewise.
50321 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
50322 * include/grub/fs.h (grub_iso9660_init): New prototype.
50323 * util/grub-emu.c (main): Call `grub_iso9660_init'.
50324 * fs/iso9660.c: New file.
50325
50326 * include/grub/misc.h (grub_strncat): New prototype.
50327 * kern/misc.c (grub_strncat): New function.
f19dbdb7 50328
ad0bd20b 50329 * fs/hfs.c (grub_hfs_mount): Translate the error
50330 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
50331 * fs/jfs.c (grub_jfs_mount): Likewise.
50332 * fs/ufs.c (grub_ufs_mount): Likewise.
50333
a5477a59 503342004-10-28 Hollis Blanchard <hollis@penguinppc.org>
50335
50336 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
50337 which initialized BAT registers.
50338 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
50339 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
50340 Move from here...
50341 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
50342 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
50343 ... to here.
50344 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
50345 (grub_mapclaim): Likewise.
50346 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
50347 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
50348 hand.
50349
9304c1f8 503502004-10-19 Hollis Blanchard <hollis@penguinppc.org>
50351
50352 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
50353 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
50354 -ffreestanding and -msoft-float.
50355
86f4ae25 503562004-10-15 Hollis Blanchard <hollis@penguinppc.org>
50357
50358 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
50359 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
50360 set in grub_ieee1275_flags.
50361
38912228 503622004-10-14 Hollis Blanchard <hollis@penguinppc.org>
50363
50364 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
50365 prototype.
50366 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
50367 grub_console_init first.
50368 Change the memory range used for grub_ieee1275_claim and
50369 grub_mm_init_region.
50370 Print an error message if the claim fails.
50371 Include <grub/misc.h>.
50372
d1923dc8 503732004-10-13 Hollis Blanchard <hollis@penguinppc.org>
50374
50375 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
50376 Call grub_children_iterate for device nodes of type `scsi',
50377 `ide', or `ata'.
50378 (grub_ofdisk_open): Remove manual device alias resolution.
50379 Fix memory leak when device cannot be opened.
f19dbdb7 50380 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 50381 (grub_children_iterate): New prototype.
50382 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
50383 New function.
50384 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50385 Return -1 if args.size was -1.
50386
4512e4f3 503872004-10-11 Hollis Blanchard <hollis@penguinppc.org>
50388
50389 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
50390 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
50391 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
50392 Open Firmware's memory for it; claim memory from _start to _end.
50393 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
50394 (_end): New extern.
50395 (_start): Zero BSS from __bss_start to _end.
50396 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50397 New extern.
50398 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
50399
4d61feb0 504002004-10-11 Hollis Blanchard <hollis@penguinppc.org>
50401
ad0bd20b 50402 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
50403 -1 if args.base was -1.
4d61feb0 50404
026fa2f9 504052004-10-08 Hollis Blanchard <hollis@penguinppc.org>
50406
50407 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
50408 escape sequence instead of a literal ^L. Also call
50409 grub_ofconsole_gotoxy.
50410
9f2220ef 504112004-10-03 Hollis Blanchard <hollis@penguinppc.org>
50412
50413 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
50414 void * arguments to grub_addr_t. All callers updated. Also make
50415 the `result' argument optional.
50416 (grub_ieee1275_release): change void * arguments to grub_addr_t.
50417 All callers updated.
50418
8a572cd7 504192004-09-22 Hollis Blanchard <hollis@penguinppc.org>
50420
50421 * commands/ls.c (grub_ls_list_files): Use the string following the
50422 initial ')', if present, as the filesystem path.
50423 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
50424
50425 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
50426
18aa81f2 504272004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
50428
50429 Make the source code of the menu interface more readable.
f19dbdb7 50430
18aa81f2 50431 * normal/menu.c: Include grub/mm.h.
50432 (TERM_WIDTH): New macro.
50433 (TERM_HEIGHT): Likewise.
50434 (TERM_INFO_HEIGHT): Likewise.
50435 (TERM_MARGIN): Likewise.
50436 (TERM_SCROLL_WIDTH): Likewise.
50437 (TERM_TOP_BORDER_Y): Likewise.
50438 (TERM_LEFT_BORDER_X): Likewise.
50439 (TERM_BORDER_WIDTH): Likewise.
50440 (TERM_MESSAGE_HEIGHT): Likewise.
50441 (TERM_BORDER_HEIGHT): Likewise.
50442 (TERM_NUM_ENTRIES): Likewise.
50443 (TERM_FIRST_ENTRY_Y): Likewise.
50444 (TERM_ENTRY_WIDTH): Likewise.
50445 (TERM_CURSOR_X): Likewise.
50446 (draw_border): Use macros instead of magic numbers.
50447 (print_entry): Likewise.
50448 (print_entries): Likewise.
50449 (run_menu): Likewise. Also, handle the key 'e'.
50450 (run_menu_entry): Ignore empty command lines.
50451 (print_message): Added a new argument EDIT. If EDIT is true,
50452 print a different message.
50453 (init_page): Likewise.
50454 (edit_menu_entry): New function. Not implemented yet.
50455
b47efe30 504562004-09-17 Marco Gerards <metgerards@student.han.nl>
50457
50458 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
50459 can be loaded from normal mode.
f19dbdb7 50460
b47efe30 50461 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
50462 `multiboot.mod'.
50463 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
50464 (multiboot_mod_CFLAGS): New variables.
50465 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 50466 * loader/i386/pc/multiboot_normal.c: Likewise.
50467
b47efe30 50468 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
50469 attribute `unused'.
f19dbdb7 50470
b47efe30 50471 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
50472 `fdiro' to read the mode information from instead of `diro'.
50473
50474 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
50475 looking up a symlink.
50476
50477 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
50478 macro.
50479 * normal/command.c (grub_command_execute): Don't parse the
50480 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
50481 flags of the command.
50482
50483 * normal/menu.c (grub_menu_run): Fix typo.
50484
da75ac71 504852004-09-14 Hollis Blanchard <hollis@penguinppc.org>
50486
50487 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
50488
50489 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
50490 `y + 1' instead of `y - 1'.
50491
50492 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 50493
062b24c2 504942004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
50495
50496 From Hollis Blanchard <hollis@penguinppc.org>:
50497 * kern/misc.c (memmove): New alias for grub_memmove.
50498 (memcmp): New alias for grub_memcmp.
50499 (memset): New alias for grub_memset.
f19dbdb7 50500 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 50501 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 50502 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 50503 (grub_ieee1275_get_property): Likewise.
f19dbdb7 50504
8ddad845 505052004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
50506
50507 Added normal mode command `chainloader' as module chain.mod, which
50508 depends on normal.mod and _chain.mod.
f19dbdb7 50509
8ddad845 50510 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
50511 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
50512 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
50513 Deleted prototype.
50514 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
50515 but arguments parsing moved to ...
50516 (grub_chainloader_cmd): ... here. New function.
50517 * include/grub/i386/pc/chainloader.h: New file.
50518 * loader/i386/pc/chainloader_normal.c: Likewise.
50519
2c1f4ce3 505202004-09-11 Marco Gerards <metgerards@student.han.nl>
50521
50522 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
50523 (grub_mkimage_LDFLAGS): Likewise.
50524 (grub_emu_SOURCES): Likewise.
50525 (kernel_img_HEADERS): Added fshelp.h.
50526 * fs/ext2.c: Include <grub/fshelp.h>.
50527 (FILETYPE_REG): New macro.
50528 (FILETYPE_INO_REG): Likewise.
50529 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
50530 Changed all users.
50531 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
50532 all users.
50533 (grub_fshelp_node): New struct.
50534 (grub_ext2_data): Added member `diropen'. Changed member `inode'
50535 to a pointer.
50536 (grub_ext2_get_file_block): Removed function.
50537 (grub_ext2_read_block): New function.
50538 (grub_ext2_read_file): Replaced parameter `data' by `node'.
50539 This function was written.
50540 (grub_ext2_mount): Read the root inode. Create a diropen struct.
50541 (grub_ext2_find_file): Removed function.
50542 (grub_ext2_read_symlink): New function.
50543 (grub_ext2_iterate_dir): Likewise.
50544 (grub_ext2_open): Rewritten.
50545 (grub_ext2_dir): Rewritten.
50546 * include/grub/fshelp.h: New file.
50547 * fs/fshelp.c: Likewise.
50548
3c52136a 505492004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
50550
50551 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
50552 (print_message): Add a missing newline.
50553 (run_menu): Added timeout support.
50554 (run_menu_entry): New local function.
50555 (grub_menu_run): Added support for booting.
50556
50557 * kern/loader.c (grub_loader_is_loaded): New function.
50558
50559 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
50560 (grub_get_rtc): Exported.
50561
50562 * include/grub/i386/pc/time.h: Include grub/symbol.h.
50563 (grub_get_rtc): Exported.
50564
50565 * include/grub/normal.h (struct grub_command_list): Remove
50566 constant from the member `command'.
50567
50568 * include/grub/loader.h (grub_loader_is_loaded): Declared.
50569
50570 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
50571
50572 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
50573
aa033560 505742004-08-28 Marco Gerards <metgerards@student.han.nl>
50575
50576 Add support for the JFS filesystem.
50577
50578 * fs/jfs.c: New file.
50579 * include/grub/fs.h (grub_jfs_init): New prototype.
50580 (grub_jfs_fini): New prototype.
50581 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
50582 (grub_emu_SOURCES): Likewise.
50583 (pkgdata_MODULES): Add jfs.mod.
50584 (jfs_mod_SOURCES): New variable.
50585 (jfs_mod_CFLAGS): Likewise.
50586 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
50587 (grubof_SOURCES): Likewise.
50588 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
50589
50590 * fs/fat.c (grub_fat_find_dir): Convert the filename little
50591 endian to the host endian.
50592 (grub_fat_utf16_to_utf8): Move function from there...
50593 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 50594 the endianness of the source string anymore.
aa033560 50595 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
50596
94bc45af 505972004-08-24 Marco Gerards <metgerards@student.han.nl>
50598
50599 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
50600 (grub_boot_fini) [GRUB_UTIL]: Likewise.
50601 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
50602 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 50603
94bc45af 50604 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
50605 (grub_hfs_iterate_dir): Make the function static. Add prototypes
50606 for `node_found' and `it_dir'.
50607 (grub_hfs_dir): Add prototype for `dir_hook'.
50608
50609 * fs/minix.c (grub_minix_get_file_block): Add prototype for
50610 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
50611 and `indir32' to silence a gcc warning.
50612
50613 * include/grub/fs.h (grub_hfs_init): New prototype.
50614 (grub_hfs_fini): Likewise.
f19dbdb7 50615
50616
97543f08 506172004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50618
50619 Each disk device has its own id now. This is useful to make use
50620 of multiple disk devices.
f19dbdb7 50621
97543f08 50622 * include/grub/disk.h (grub_disk_dev_id): New enum.
50623 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
50624 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
50625
50626 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
50627 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50628
50629 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
50630 GRUB_DISK_DEVICE_OFDISK_ID as an id.
50631
50632 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
50633 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50634
50635 * include/grub/disk.h (struct grub_disk_dev): Added a new member
50636 "id" which is used by the cache manager.
50637
50638 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
50639 of just "GRUB".
50640
64372eb4 506412004-08-18 Marco Gerards <metgerards@student.han.nl>
50642
50643 * fs/hfs.c: New file.
50644 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
50645 (grub_emu_SOURCES): Likewise.
50646 (pkgdata_MODULES): Add hfs.mod.
50647 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
50648 (grubof_SOURCES): Likewise.
50649 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
50650
50651 * include/grub/misc.h (grub_strncasecmp): Add prototype.
50652 * kern/misc.c (grub_strncasecmp): Add function.
50653
cc61b58f 506542004-08-14 Marco Gerards <metgerards@student.han.nl>
50655
50656 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
50657 with parentheses.
50658
50659 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
50660 (grub_ext2_dir): In case the directory entry type is unknown, read
50661 it from the inode.
50662
0ef123f6 506632004-08-02 Peter Bruin <pjbruin@dds.nl>
50664
50665 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
50666 grub_load_linux instead of grub_rescue_cmd_linux as second
50667 argument of grub_rescue_register_command.
50668
50669 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
50670
a447c5df 506712004-07-27 Marco Gerards <metgerards@student.han.nl>
50672
50673 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
50674 function.
50675 * commands/boot.c: Remove the check for `GRUB_UTIL'.
50676 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50677 `loader/powerpc/ieee1275/linux.c',
50678 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
50679 * include/grub/powerpc/ieee1275/ieee1275.h
50680 (grub_ieee1275_release): New prototype.
50681 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
50682 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
50683 normal, boot, linux and linux_normal.
50684 * loader/powerpc/ieee1275/linux.c: New file.
50685 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
50686
5a9e3546 506872004-07-12 Marco Gerards <metgerards@student.han.nl>
50688
50689 * normal/arg.c (grub_arg_parse): Correct error handling after
50690 reallocating the argumentlist (check if `argl' is not null instead
50691 of checking if `args' is not null).
50692 * kern/mm.c (grub_realloc): Return the same pointer when using the
50693 same region, instead of returning the header address.
50694
e15199cb 506952004-07-11 Marco Gerards <metgerards@student.han.nl>
50696
50697 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
50698 one block instead of two when looking for the initial partition.
50699 (grub_partition_probe): Initialize the local variable `p' with 0.
50700 Use base 10 for the grub_strtoul call.
50701 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
50702 need for one local variable.
50703 (grub_strtoul): Don't add the new value to `num', instead of that
50704 just assign it.
50705
020616c2 507062004-07-11 Marco Gerards <metgerards@student.han.nl>
50707
50708 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
50709 (pxeboot_img_SOURCES): New variable.
50710 (pxeboot_img_ASFLAGS): Likewise.
50711 (pxeboot_img_LDFLAGS): Likewise.
50712 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
50713 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
50714 <lode_leroy@hotmail.com>.
50715
6c51eb64 507162004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50717
50718 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
50719 there was no input.
50720
cfb12aff 507212004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50722
50723 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
50724 the history buffer logic.
50725
6eabba74 507262004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50727
50728 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
50729 (FILETYPE_INO_SYMLINK): New macros.
50730 (grub_ext2_find_file): Check if the node is a directory using the
50731 inode stat information instead of using the filetype in the
50732 dirent. Exclude the first character of an absolute symlink.
50733 (grub_ext2_dir): Mask out the filetype part of the mode member of
50734 the inode.
50735
66e19ef8 507362004-05-24 Marco Gerards <metgerards@student.han.nl>
50737
50738 Add support for UFS version 1 and 2. Add support for the minix
50739 filesystem version 1 and 2, both the variants with 14 and 30 long
50740 filenames.
f19dbdb7 50741
66e19ef8 50742 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
50743 fs/minix.c.
50744 (grub_emu_SOURCES): Likewise.
50745 (pkgdata_MODULES): Add ufs.mod and minix.mod.
50746 (ufs_mod_SOURCES): New variable.
50747 (ufs_mod_CFLAGS): Likewise.
50748 (minix_mod_SOURCES): Likewise.
50749 (minix_mod_CFLAGS): Likewise.
50750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
50751 fs/minix.c.
50752 (grubof_SOURCES): Likewise.
50753 * fs/ufs.c: New file.
50754 * fs/minix.c: New file.
50755 * include/grub/fs.h (grub_ufs_init): New prototype.
50756 (grub_ufs_fini): Likewise.
50757 (grub_minix_init): Likewise.
50758 (grub_minix_fini): Likewise.
50759 * util/grub-emu.c (main): Initialize and deinitialize UFS and
50760 minix fs.
50761
cc2e748a 507622004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
50763
50764 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
50765 commands/ls.c, commands/terminal.c, commands/boot.c,
50766 commands/cmp.c and commands/cat.c.
50767 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
50768
50769 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
50770 "env.h"
50771
4b13b216 507722004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50773
50774 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
50775 and grub_, respectively. Because the conversion is trivial and
50776 mechanical, I omit the details here. Please refer to the CVS
50777 if you need more information.
50778
6a142551 507792004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50780
50781 * include/pupa: Renamed to ...
50782 * include/grub: ... this.
50783 * util/i386/pc/pupa-mkimage.c: Renamed to ...
50784 * util/i386/pc/grub-mkimage.c: ... this.
50785 * util/i386/pc/pupa-setup.c: Renamed to ...
50786 * util/i386/pc/grub-setup.c: ... this.
50787 * util/pupa-emu.c: Renamed to ...
50788 * util/grub-emu.c: ... this.
50789
e56cdf21 507902004-03-29 Marco Gerards <metgerards@student.han.nl>
50791
50792 Add support for the newworld apple macintosh (PPC). This has been
50793 tested on the powerbook 2000 only. It only adds support for
50794 generic ieee1275 functions, console and disk support. This should
50795 be easy to port to other architectures with support for Open
50796 Firmware.
f19dbdb7 50797
e56cdf21 50798 * configure.ac: Accept the powerpc as host_cpu. In the case of
50799 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
50800 specific tests are only executed while building for the i386.
50801 Inverse test for crosscompile.
50802 * genmk.rb (Utility): Allow assembler files.
50803 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
50804 * conf/powerpc-ieee1275.rmk: New file.
50805 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
50806 * disk/powerpc/ieee1275/partition.c: Likewise.
50807 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
50808 * include/pupa/powerpc/ieee1275/console.h: Likewise.
50809 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
50810 * include/pupa/powerpc/ieee1275/time.h: Likewise.
50811 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
50812 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
50813 * include/pupa/powerpc/ieee1275/loader.h
50814 * include/pupa/powerpc/setjmp.h: Likewise.
50815 * include/pupa/powerpc/types.h: Likewise.
50816 * kern/powerpc/ieee1275/init.c: Likewise.
50817 * kern/powerpc/ieee1275/openfw.c: Likewise.
50818 * term/powerpc/ieee1275/ofconsole.c: Likewise.
50819
50820 These files were written by Johan Rydberg
50821 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 50822
e56cdf21 50823 * boot/powerpc/ieee1275/cmain.c: New file.
50824 * boot/powerpc/ieee1275/crt0.S: Likewise.
50825 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
50826 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
50827
8c8cc205 508282004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
50829
50830 * Makefile.in: Update copyright.
50831 * genmodsrc.sh: Likewise.
50832 * gensymlist.sh: Likewise.
50833 * term/i386/pc/vga.c: Indent correctly.
50834
50835 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
50836 bugreporting address.
50837 * util/i386/pc/pupa-setup.c (usage): Likewise,
50838 (main): Call pupa_ext2_init and pupa_ext2_fini.
50839
f19dbdb7 50840 * fs/fat.c (log2): Renamed to ...
8c8cc205 50841 (fat_log2): ... this.
50842 All callers changed.
50843 * kern/misc.c (memcpy): Alias to pupa_memmove.
50844 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
50845 lvalue cast.
50846 * util/console.c (pupa_ncurses_fini): Return 0.
50847
50848 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
50849 Move fail label here.
50850 [__GNU__]: Don't warn when using stat.
50851 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
50852 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
50853 long int. Use strtol instead of strtoul.
f19dbdb7 50854
db1771cf 508552004-03-14 Marco Gerards <metgerards@student.han.nl>
50856
50857 * commands/boot.c: New file.
50858 * commands/cat.c: Likewise.
50859 * commands/cmp.c: Likewise.
50860 * commands/ls.c: Likewise.
50861 * commands/terminal.c: Likewise.
50862 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
50863 (pupa_register_command): Changed interface to match the new
50864 argument parser.
50865 (pupa_command_execute): Changed (almost rewritten) so it uses
50866 pupa_split_command. Added support for setting variables using the
50867 syntax `foo=bar'.
50868 (rescue_command): Changed to work with the new argument parser.
50869 (terminal_command): Moved from here to commands/terminal.c.
50870 (set_command): New function.
50871 (unset_command): New function.
50872 (insmod_command): New function.
50873 (rmmod_command): New function.
50874 (lsmod_command): New function.
50875 (pupa_command_init): Don't initialize the command terminal
50876 anymore. Initialize the commands set, unset, insmod, rmmod and
50877 lsmod.
50878 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
50879 (kernel_img_HEADERS): Add arg.h and env.h.
50880 (pupa_mkimage_LDFLAGS): Add kern/env.c.
50881 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
50882 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
50883 normal/arg.c.
50884 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
50885 terminal.mod.
50886 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
50887 (boot_mod_SOURCES): New variable.
50888 (terminal_mod_SOURCES): Likewise.
50889 (ls_mod_SOURCES): Likewise.
50890 (cmp_mod_SOURCES): Likewise.
50891 (cat_mod_SOURCES): Likewise.
50892
50893 * normal/arg.c: New file.
50894 * kern/env.c: Likewise.
50895 * include/pupa/arg.h: Likewise.
50896 * include/pupa/env.h: Likewise.
50897 * font/manager.c (font_command): Changed to match argument parsing
50898 interface changes.
50899 (PUPA_MOD_INIT): Likewise.
50900 * hello/hello.c (pupa_cmd_hello): Likewise.
50901 (PUPA_MOD_INIT): Likewise.
50902 * include/pupa/disk.h: Include <pupa/device.h>.
50903 (pupa_print_partinfo): New prototype.
50904 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
50905 (pupa_dl_get_prefix): Likewise.
50906 * include/pupa/misc.h: Include <pupa/err.h>.
50907 (pupa_isgraph): New prototype.
50908 (pupa_isdigit): Likewise.
50909 (pupa_split_cmdline): Likewise.
50910 * include/pupa/normal.h: Include <pupa/arg.h>.
50911 (pupa_command): Changed the prototype of the member `func' to
50912 match the argument parsing interface. Added member `options'.
50913 (pupa_register_command): Updated to match function.
50914 (pupa_arg_parse): New prototype.
50915 (pupa_hello_init) [PUPA_UTIL]: New prototype.
50916 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
50917 (pupa_ls_init) [PUPA_UTIL]: Likewise.
50918 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
50919 (pupa_cat_init) [PUPA_UTIL]: Likewise.
50920 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
50921 (pupa_boot_init) [PUPA_UTIL]: Likewise.
50922 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
50923 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
50924 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
50925 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
50926 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
50927 * kern/disk.c: Include <pupa/file.h>.
50928 (pupa_print_partinfo): New function.
50929 * kern/dl.c: Include <pupa/env.h>.
50930 (pupa_dl_dir): Variable removed.
50931 (pupa_dl_load): Use the environment variable `prefix' instead of
50932 the variable pupa_dl_dir.
50933 (pupa_dl_set_prefix): Function removed.
50934 (pupa_dl_get_prefix): Likewise.
50935 * kern/i386/pc/init.c: Include <pupa/env.h>.
50936 (pupa_machine_init): Use the environment variable `prefix' instead of
50937 using pupa_dl_set_prefix to set the prefix.
50938 * kern/main.c: Include <pupa/env.h>.
50939 (pupa_set_root_dev): Use the environment variable `prefix' instead of
50940 using pupa_dl_get_prefix to get the prefix.
50941 * kern/misc.c: Include <pupa/env.h>.
50942 (pupa_isdigit): New function.
50943 (pupa_isgraph): Likewise.
50944 (pupa_ftoa): Likewise.
50945 (pupa_vsprintf): Added support for printing values of the type
50946 `double'. Make it possible to format variable output when using
50947 formatting like `%1.2%f'.
50948 (pupa_split_cmdline): New function.
50949 * kern/rescue.c: Include <pupa/env.h>.
50950 (next_word): Removed function.
50951 (pupa_rescue_cmd_prefix): Likewise.
50952 (pupa_rescue_cmd_set): New function.
50953 (pupa_rescue_cmd_unset): New function.
50954 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
50955 split the command line instead of splitting it here. Added
50956 support for setting variables using the syntax `foo=bar'. Don't
50957 initialize the prefix command anymore. Initialized the set and
50958 unset commands.
50959 * normal/cmdline.c: Include <pupa/env.h>.
50960 (pupa_tab_complete): Added prototypes for print_simple_completion,
50961 print_partition_completion, add_completion, iterate_commands,
50962 iterate_dev, iterate_part and iterate_dir. Moved code to print
50963 partition information from here to kern/disk.c.
fe6b695a 50964 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 50965 * normal/main.c: Include <pupa/env.h>.
50966 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
50967 instead of using pupa_dl_get_prefix to get the prefix.
50968 * term/i386/pc/vga.c: Include <pupa/arg.h>.
50969 (check_vga_mem): Cast pointers to `void *' to silence a gcc
50970 warning.
50971 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
50972 (pupa_vga_setcolor): Declare unused variables with `__attribute__
50973 ((unused))' to silence a gcc warning.
50974 (pupa_vga_setcolor): Likewise.
50975 (debug_command): Changed to match argument parsing
50976 interface changes.
50977 * util/pupa-emu.c: Include <pupa/env.h>.
50978 (options): Added 0's for unused fields to silence a gcc warning.
50979 (argp): Likewise.
50980 (main): Use the environment variable `prefix' instead of using
50981 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
50982 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
50983 and terminal.
50984
50985 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
50986 * util/misc.c: Include <malloc.h>.
50987 (pupa_malloc): Rewritten so errors are correctly reported.
50988 (pupa_realloc): Likewise.
50989 (pupa_memalign): Likewise.
50990 (pupa_mm_init_region): Declare unused variables with
50991 `__attribute__ ((unused))' to silence a gcc warning.
50992 * normal/i386/setjmp.S: Remove tab at the end of the file to
50993 silence a gcc warning.
50994 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
50995 variables with `__attribute__ ((unused))' to silence a gcc
50996 warning.
50997 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
50998 local variable i unsigned to silence a gcc warning.
50999
51000 * kern/term.c: Include <pupa/misc.h>.
51001 (pupa_more_lines): New variable.
51002 (pupa_more): Likewise.
51003 (pupa_putcode): When the pager is active pause at the end of every
51004 screen.
51005 (pupa_set_more): New function.
51006 * include/pupa/term.h (pupa_set_more): New prototype.
51007
51008
3b1139cb 510092004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
51010
51011 Now this project is GRUB 2 rather than PUPA. The location of
51012 the CVS repository was moved to GRUB's.
f19dbdb7 51013
3b1139cb 51014 * configure.ac: Use bug-grub as the reporting address.
51015 Use GRUB instead of PUPA.
51016 Change the version number to 1.90.
51017
8367695c 510182004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
51019
51020 * genkernsyms.sh: Updated copyright information.
51021 * genmk.rb: Likewise.
51022 * genmodsrc.sh: Likewise.
51023 * gensymlist.sh: Likewise.
51024 * boot/i386/pc/boot.S: Likewise.
51025 * boot/i386/pc/diskboot.S: Likewise.
51026 * disk/i386/pc/biosdisk.c: Likewise.
51027 * disk/i386/pc/partition.c: Likewise.
51028 * font/manager.c: Likewise.
51029 * fs/ext2.c: Likewise.
51030 * fs/fat.c: Likewise.
51031 * include/pupa/boot.h: Likewise.
51032 * include/pupa/device.h: Likewise.
51033 * include/pupa/disk.h: Likewise.
51034 * include/pupa/dl.h: Likewise.
51035 * include/pupa/elf.h: Likewise.
51036 * include/pupa/err.h: Likewise.
51037 * include/pupa/file.h: Likewise.
51038 * include/pupa/font.h: Likewise.
51039 * include/pupa/fs.h: Likewise.
51040 * include/pupa/kernel.h: Likewise.
51041 * include/pupa/loader.h: Likewise.
51042 * include/pupa/misc.h: Likewise.
51043 * include/pupa/mm.h: Likewise.
51044 * include/pupa/net.h: Likewise.
51045 * include/pupa/normal.h: Likewise.
51046 * include/pupa/rescue.h: Likewise.
51047 * include/pupa/setjmp.h: Likewise.
51048 * include/pupa/symbol.h: Likewise.
51049 * include/pupa/term.h: Likewise.
51050 * include/pupa/types.h: Likewise.
51051 * include/pupa/i386/setjmp.h: Likewise.
51052 * include/pupa/i386/types.h: Likewise.
51053 * include/pupa/i386/pc/biosdisk.h: Likewise.
51054 * include/pupa/i386/pc/boot.h: Likewise.
51055 * include/pupa/i386/pc/console.h: Likewise.
51056 * include/pupa/i386/pc/init.h: Likewise.
51057 * include/pupa/i386/pc/kernel.h: Likewise.
51058 * include/pupa/i386/pc/linux.h: Likewise.
51059 * include/pupa/i386/pc/loader.h: Likewise.
51060 * include/pupa/i386/pc/memory.h: Likewise.
51061 * include/pupa/i386/pc/multiboot.h: Likewise.
51062 * include/pupa/i386/pc/partition.h: Likewise.
51063 * include/pupa/i386/pc/time.h: Likewise.
51064 * include/pupa/i386/pc/vga.h: Likewise.
51065 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
51066 * include/pupa/util/getroot.h: Likewise.
51067 * include/pupa/util/misc.h: Likewise.
51068 * include/pupa/util/resolve.h: Likewise.
51069 * kern/device.c: Likewise.
51070 * kern/disk.c: Likewise.
51071 * kern/dl.c: Likewise.
51072 * kern/err.c: Likewise.
51073 * kern/file.c: Likewise.
51074 * kern/fs.c: Likewise.
51075 * kern/loader.c: Likewise.
51076 * kern/main.c: Likewise.
51077 * kern/misc.c: Likewise.
51078 * kern/mm.c: Likewise.
51079 * kern/rescue.c: Likewise.
51080 * kern/term.c: Likewise.
51081 * kern/i386/dl.c: Likewise.
51082 * kern/i386/pc/init.c: Likewise.
51083 * kern/i386/pc/lzo1x.S: Likewise.
51084 * kern/i386/pc/startup.S: Likewise.
51085 * loader/i386/pc/chainloader.c: Likewise.
51086 * loader/i386/pc/linux.c: Likewise.
51087 * loader/i386/pc/multiboot.c: Likewise.
51088 * normal/cmdline.c: Likewise.
51089 * normal/command.c: Likewise.
51090 * normal/main.c: Likewise.
51091 * normal/menu.c: Likewise.
51092 * normal/i386/setjmp.S: Likewise.
51093 * term/i386/pc/console.c: Likewise.
51094 * term/i386/pc/vga.c: Likewise.
51095 * util/console.c: Likewise.
51096 * util/genmoddep.c: Likewise.
51097 * util/misc.c: Likewise.
51098 * util/pupa-emu.c: Likewise.
51099 * util/resolve.c: Likewise.
51100 * util/unifont2pff.rb: Likewise.
51101 * util/i386/pc/biosdisk.c: Likewise.
51102 * util/i386/pc/getroot.c: Likewise.
51103 * util/i386/pc/pupa-mkimage.c: Likewise.
51104 * util/i386/pc/pupa-setup.c: Likewise.
51105
e6eced71 511062004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
51107
51108 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
51109 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
51110 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
51111 reading and reset it after reading.
51112 (pupa_ext2_close): Return PUPA_ERR_NONE.
51113
51114 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
51115 Correct value.
51116 (struct linux_kernel_header): Add kernel_version and
51117 initrd_addr_max.
51118 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
51119 pupa_file_read succeeds.
51120 (pupa_rescue_cmd_initrd): Implement.
51121
5aded270 511222003-12-03 Marco Gerards <metgerards@student.han.nl>
51123
51124 * fs/ext2.c (pupa_ext2_label): New function.
51125 (pupa_ext2_fs): Added label.
51126 * fs/fat.c (pupa_fat_label): New function.
51127 (pupa_fat_fs): Added label.
51128 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
51129
51130 * kern/misc.c (pupa_strndup): New function.
51131 * include/pupa/misc.h (pupa_strndup): New prototype.
51132
51133 * include/pupa/normal.h: Include <pupa/err.h>.
51134 (pupa_set_history): New prototype.
51135 (pupa_iterate_commands): New prototype.
51136 * normal/cmdline.c: Include <pupa/machine/partition.h>,
51137 <pupa/disk.h>, <pupa/file.h>.
51138 (hist_size): New variable.
51139 (hist_lines): Likewise.
51140 (hist_end): Likewise.
51141 (hist_used): Likewise.
51142 (pupa_set_history): New function.
51143 (pupa_history_get): Likewise.
51144 (pupa_history_add): Likewise.
51145 (pupa_history_replace): Likewise.
51146 (pupa_tab_complete): Likewise.
51147 (pupa_cmdline_run): Added tab completion and history buffer. Tab
51148 completion shows partitionnames while completing partitions, this
51149 feature was suggested by Jeff Bailey.
51150 * normal/command.c (pupa_iterate_commands): New function.
51151 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
51152 (pupa_normal_init): Initialize history buffer.
51153 (PUPA_MOD_INIT): Likewise.
51154 (pupa_normal_fini): Free the history buffer.
51155 (PUPA_MOD_FINI): Likewise.
51156
51157 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
51158 key.
51159
51160 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
51161 * configure.ac [i386]: Check for regparam bug.
51162 (NESTED_FUNC_ATTR) [! i386]: Defined.
51163
1f7315a3 511642003-11-17 Marco Gerards <metgerards@student.han.nl>
51165
51166 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
51167 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
51168 (pupa_emu_SOURCES): New variable.
51169 (pupa_emu_LDFLAGS): Likewise.
51170 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
51171 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
51172 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
51173 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
51174 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
51175 (pupa_jmp_buf): New typedef.
51176 (pupa_setjmp) [PUPA_UTIL]: New macro.
51177 (pupa_longjmp) [PUPA_UTIL]: Likewise.
51178 * include/pupa/term.h (struct pupa_term): New member `refresh'.
51179 (pupa_refresh): New prototype.
51180 * include/pupa/util/getroot.h: New file.
51181 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
51182 it.
51183 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
51184 (pupa_rescue_cmd_cat): Likewise.
51185 (pupa_rescue_cmd_ls): Likewise.
51186 (pupa_rescue_cmd_testload): Likewise.
51187 (pupa_rescue_cmd_lsmod): Likewise.
51188 * normal/cmdline.c (pupa_cmdline_get): Likewise.
51189 * normal/menu.c (run_menu): Likewise.
51190 * kern/term.c (pupa_cls): Likewise.
51191 (pupa_refresh): New function.
51192 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
51193 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
51194 * util/console.c: New file.
f19dbdb7 51195
1f7315a3 51196 * util/i386/pc/getroot.c: New file.
51197 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
51198 (pupa_putchar): New function.
51199 (pupa_refresh): Likewise.
51200 (xgetcwd): Function moved to ...
51201 (strip_extra_slashes): Likewise.
51202 (get_prefix): Likewise.
f19dbdb7 51203 * util/i386/pc/getroot.c: ... here.
1f7315a3 51204 (find_root_device): Function moved and renamed to...
51205 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
51206 Changed all callers.
51207 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
51208 and renamed to...
51209 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
51210 Changed all callers.
51211 * util/misc.c (pupa_memalign): New function.
51212 (pupa_mm_init_region): Likewise.
51213 (pupa_register_exported_symbols): Likewise.
51214 (pupa_putchar): Function removed.
51215 * util/pupa-emu.c: New file.
51216
9a5c1ade 512172003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
51218
51219 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
51220 (_multiboot_mod_SOURCES): New variable.
51221 (_multiboot_mod_CFLAGS): Likewise.
51222 * loader/i386/pc/multiboot.c: New file.
51223 * include/pupa/i386/pc/multiboot.h: Likewise.
51224 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
51225 (pupa_multiboot_real_boot): New function.
51226 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
51227 (pupa_multiboot_real_boot): New prototype.
51228 (pupa_rescue_cmd_multiboot): Likewise
51229 (pupa_rescue_cmd_module): Likewise.
51230
51231 * kern/loader.c (pupa_loader_set): Continue when
51232 pupa_loader_unload_func() fails.
51233 (pupa_loader_unset): New function.
51234 * include/pupa/loader.h (pupa_loader_unset): New prototype.
51235
51236 * kern/misc.c (pupa_stpcpy): New function.
51237 * include/pupa/misc.h (pupa_stpcpy): New prototype.
51238
8e72a9c0 512392003-11-12 Marco Gerards <metgerards@student.han.nl>
51240
51241 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
51242 for available extensions.
51243
51244 * include/pupa/i386/pc/time.h: New file.
51245 * kern/disk.c: Include <pupa/machine/time.h>.
51246 (PUPA_CACHE_TIMEOUT): New macro.
51247 (pupa_last_time): New variable.
51248 (pupa_disk_open): Flush the cache when there was a timeout.
51249 (pupa_disk_close): Reset the timer.
51250 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
51251 pupa_currticks.
51252 * util/misc.c: Include <sys/times.h>
51253 (pupa_get_rtc): New function.
51254
c4adbd32 512552003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
51256
51257 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
51258 as blocks.
51259 (pupa_ext2_get_file_block): Use blocks member.
51260
51261 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
51262 first block. Return -1 instead of pupa_errno on error.
51263
bfd30f06 512642003-10-27 Marco Gerards <metgerards@student.han.nl>
51265
51266 * README: In the pupa-mkimage example use _chain instead of chain
51267 and ext2 instead of fat.
51268 * TODO: Replace ext2fs with jfs as an example. Add an item for
51269 adding journal playback for ext2fs.
51270 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
51271 (pkgdata_MODULES): Added ext2.mod.
51272 (ext2_mod_SOURCES): New variable.
51273 (ext2_mod_CFLAGS): Likewise.
51274 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
51275 * include/pupa/misc.h (pupa_strncpy): New prototype.
51276 (pupa_strcat): Likewise.
51277 (pupa_strncmp): Likewise.
51278 * kern/misc.c (pupa_strcat): Enable function.
51279 (pupa_strncpy): New function.
51280 (pupa_strncmp): Likewise.
51281 * fs/ext2.c: New file.
f19dbdb7 51282
bfd30f06 51283 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
51284 when the read failed before retrying.
51285 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
51286 (_FILE_OFFSET_BITS): Likewise.
51287 * configure.ac: Added AC_SYS_LARGEFILE.
51288
98d15063 512892003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
51290
51291 * genmk.rb (PModule#rule): Make sure to get only symbol names
51292 from the output of nm.
59cad637 51293 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 51294
18d9c7cd 512952003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
51296
51297 I forgot to check in these changes for a long time. This adds
51298 incomplete support for VGA console, and this is still very
51299 buggy. Also, a lot of consideration is required for I18N,
51300 UNICODE, and VGA font issues. Therefore, assume that this is
51301 such that "better than nothing".
f19dbdb7 51302
18d9c7cd 51303 * font/manager.c: New file.
51304 * include/pupa/font.h: Likewise.
51305 * include/pupa/i386/pc/vga.h: Likewise.
51306 * term/i386/pc/vga.c: Likewise.
51307 * util/unifont2pff.rb: Likewise.
51308
51309 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
51310 (pkgdata_MODULES): Added vga.mod and font.mod.
51311 (vga_mod_SOURCES): New variables.
51312 (vga_mod_CFLAGS): Likewise.
51313 (font_mod_SOURCES): Likewise.
51314 (font_mod_CFLAGS): Likewise.
51315
51316 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
51317
51318 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 51319 (struct pupa_term): Added init and fini.
18d9c7cd 51320 Changed the argument of putchar to pupa_uint32_t.
51321
51322 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
51323 (pupa_console_real_putchar): New prototype.
51324 (pupa_console_putchar): Removed.
51325 (pupa_console_checkkey): Exported.
51326 (pupa_console_getkey): Likewise.
51327
51328 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
51329 characters.
51330
51331 * kern/term.c (pupa_term_set_current): Rewritten.
51332 (pupa_putchar): Likewise.
51333 (pupa_putcode): New function.
51334
51335 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
51336 (pupa_console_real_putchar): ... this.
51337 (pupa_vga_set_mode): New function.
51338 (pupa_vga_get_font): Likewise.
51339
51340 * normal/command.c: Include pupa/term.h.
51341 (terminal_command): New function.
51342 (pupa_command_init): Register the command "terminal".
51343
51344 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
51345 (DISP_UP): Likewise.
51346 (DISP_RIGHT): Likewise.
51347 (DISP_DOWN): Likewise.
51348 (DISP_HLINE): Likewise.
51349 (DISP_VLINE): Likewise.
51350 (DISP_UL): Likewise.
51351 (DISP_UR): Likewise.
51352 (DISP_LL): Likewise.
51353 (DISP_LR): Likewise.
51354
51355 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 51356
977329f5 513572003-02-08 NIIBE Yutaka <gniibe@m17n.org>
51358
51359 * util/resolve.c (pupa_util_resolve_dependencies): BUG
51360 FIX. Reverse the path_list.
51361
51362 * include/pupa/normal.h: Export pupa_register_command and
51363 pupa_unregister_command.
51364
51365 * hello/hello.c (pupa_cmd_hello): New module.
51366 * conf/i386-pc.rmk: Added hello.mod.
51367
1f5ab428 513682003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
51369
51370 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 51371
1f5ab428 51372 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
51373 (compress_kernel): New variable.
51374 (generate_image): Heavily modified to support compressing a
51375 large part of the core image.
51376
51377 * util/misc.c (pupa_util_read_image): Fix a file descriptor
51378 leak.
51379 (pupa_util_load_image): New function.
51380
51381 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
51382 (pupa_compressed_size): New variable.
51383 (codestart): Enable Gate A20 here.
51384 Decompress the compressed part of the core image.
51385 Rearrange the code to put functions and variables which are
51386 required for initialization in the non-compressed part.
51387 Include lzo1x.S.
51388
51389 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
51390 here.
51391
51392 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
51393
f19dbdb7 51394 * include/pupa/i386/pc/kernel.h
1f5ab428 51395 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
51396 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
51397 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
51398 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
51399 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
51400
51401 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
51402
51403 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
51404 (Utility#rule): Likewise.
51405
51406 * configure.ac: Check if LZO is available.
51407
ce5bf700 514082003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
51409
51410 * include/pupa/normal.h: New file.
51411 * include/pupa/setjmp.h: Likewise.
51412 * include/pupa/i386/setjmp.h: Likewise.
51413 * normal/cmdline.c: Likewise.
51414 * normal/command.c: Likewise.
51415 * normal/main.c: Likewise.
51416 * normal/menu.c: Likewise.
51417 * normal/i386/setjmp.S: Likewise.
f19dbdb7 51418
ce5bf700 51419 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
51420 (pupa_rescue_cmd_initrd): Likewise.
51421
51422 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
51423 Likewise.
51424
51425 * kern/i386/pc/startup.S (translation_table): New variable.
51426 (translate_keycode): New function.
51427 (pupa_console_getkey): Call translate_keycode.
51428
51429 * kern/rescue.c (attempt_normal_mode): New function.
51430 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
51431 it failed, print a message.
51432
51433 * kern/mm.c (pupa_real_malloc): Print more information when a
51434 free magic is broken.
51435 (pupa_free): If the first free header is not free actually, set
51436 it to P.
51437
51438 * kern/main.c (pupa_load_normal_mode): Just load the module
51439 "normal".
51440 (pupa_main): Don't print the message
51441 "Entering into rescue mode..." here.
51442
51443 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
51444 Declared.
51445 (pupa_rescue_cmd_initrd): Likewise.
51446 (pupa_rescue_cmd_initrd): Likewise.
51447
51448 * include/pupa/symbol.h (FUNCTION): Specify the type.
51449 (VARIABLE): Likewise.
51450
51451 * include/pupa/err.h (pupa_err_t): Added
51452 PUPA_ERR_UNKNOWN_COMMAND.
51453
51454 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
51455 (pupa_dl_get_prefix): Likewise.
51456
51457 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
51458 Added _chain.mod and _linux.mod instead of chain.mod and
51459 linux.mod.
51460 (chain_mod_SOURCES): Renamed to ...
51461 (_chain_mod_SOURCES): ... this.
51462 (chain_mod_CFLAGS): Renamed to ...
51463 (_chain_mod_CFLAGS): ... this.
51464 (linux_mod_SOURCES): Renamed to ...
51465 (_linux_mod_SOURCES): ... this.
51466 (linux_mod_CFLAGS): Renamed to ...
51467 (_linux_mod_CFLAGS): ... this.
51468 (normal_mod_SOURCES): New variable.
51469 (normal_mod_CFLAGS): Likewise.
51470 (normal_mod_ASFLAGS): Likewise.
51471
514722003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
51473
51474 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
51475 possible.
51476
fe6b695a 51477 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 51478 recursively.
51479 (pupa_dl_unref): Unrefer depending modules recursively.
51480 Don't call pupa_dl_unload implicitly, because PUPA can crash if
51481 a module is unloaded before one depending on that module is
51482 unloaded.
51483 (pupa_dl_unload): Unload depending modules explicitly,
51484 if possible.
51485
c04da074 514862003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
51487
51488 * include/pupa/i386/pc/linux.h: New file.
51489 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 51490
c04da074 51491 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
51492 Removed.
51493 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
51494 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
51495 of PUPA_CHAINLOADER_BOOT_SECTOR.
51496
51497 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
51498 (pupa_linux_prot_size): New variable.
51499 (pupa_linux_tmp_addr): Likewise.
51500 (pupa_linux_real_addr): Likewise.
51501 (pupa_linux_boot_zimage): New function.
51502 (pupa_linux_boot_bzimage): Likewise.
51503
51504 * kern/i386/pc/init.c (struct mem_region): New structure.
51505 (MAX_REGIONS): New macro.
51506 (mem_regions): New variable.
51507 (num_regions): Likewise.
51508 (pupa_os_area_addr): Likewise.
51509 (pupa_os_area_size): Likewise.
51510 (pupa_lower_mem): Likewise.
51511 (pupa_upper_mem): Likewise.
51512 (add_mem_region): New function.
51513 (compact_mem_regions): Likewise.
51514 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
51515 the size of the conventional memory and that of so-called upper
51516 memory (before the first memory hole).
51517 Instead of adding each found region to free memory, use
51518 add_mem_region and add them after removing overlaps.
51519 Also, add only 1/4 of the upper memory to free memory. The rest
51520 is used for loading OS images. Maybe this is ad hoc, but this
51521 makes it much easier to relocate OS images when booting.
51522
51523 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
51524 (pupa_enter_rescue_mode): Don't register initrd and module.
51525
51526 * kern/mm.c: Include pupa/dl.h.
51527
51528 * kern/main.c: Include pupa/file.h and pupa/device.h.
51529
51530 * kern/loader.c (pupa_loader_load_module_func): Removed.
51531 (pupa_loader_load_module): Likewise.
51532
51533 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
51534 ``.o''.
51535
51536 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
51537 (pupa_linux_tmp_addr): Likewise.
51538 (pupa_linux_real_addr): Likewise.
51539 (pupa_linux_boot_zimage): Likewise.
51540 (pupa_linux_boot_bzimage): Likewise.
51541
51542 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
51543 (pupa_upper_mem): Likewise.
51544 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
51545 module is too dangerous.
51546
51547 * include/pupa/loader.h (pupa_os_area_addr): Declared.
51548 (pupa_os_area_size): Likewise.
51549 (pupa_loader_set): Remove the first argument. Loader doesn't
51550 manage modules or initrd any longer.
51551 (pupa_loader_load_module): Removed.
51552
51553 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
51554 (linux_mod_SOURCES): New variable.
51555 (linux_mod_CFLAGS): Likewise.
51556
a13f9237 515572003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
51558
51559 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
51560 the length of a blocklist correctly.
51561
51562 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
51563 Use ioctl only if the OS file is a block device.
51564 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
51565 not very useful for normal files.
51566
51567 * kern/main.c (pupa_set_root_dev): New function.
51568 (pupa_load_normal_mode): Likewise.
51569 (pupa_main): Call those above.
51570
51571 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
51572 pupa_uint16_t.
51573
51574 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
51575
a5ffe966 515762003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
51577
51578 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
51579 (setup): Configure the installed partition information and the
51580 dl prefix.
51581
51582 * loader/i386/pc/chainloader.c (my_mod): New variable.
51583 (pupa_chainloader_unload): New function.
51584 (pupa_rescue_cmd_chainloader): Refer itself.
51585 (PUPA_MOD_INIT): Save its own module in MY_MOD.
51586
51587 * kern/i386/pc/startup.S (install_partition): Removed.
51588 (version_string): Likewise.
51589 (config_file): Likewise.
51590 (pupa_install_dos_part): New variable.
51591 (pupa_install_bsd_part): Likewise.
51592 (pupa_prefix): Likewise.
51593 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
51594
51595 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
51596 and pupa/misc.h.
51597 (make_install_device): New function.
51598 (pupa_machine_init): Set the dl prefix.
51599
51600 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
51601 (buf): Renamed to ...
51602 (linebuf): ... this.
51603 (pupa_rescue_cmd_prefix): New function.
51604 (pupa_rescue_cmd_insmod): Likewise.
51605 (pupa_rescue_cmd_rmmod): Likewise.
51606 (pupa_rescue_cmd_lsmod): Likewise.
51607 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
51608 rmmod and lsmod.
51609
51610 * kern/mm.c (pupa_memalign): If failed even after invalidating
51611 disk caches, unload unneeded modules and retry.
51612
51613 * kern/misc.c (pupa_memmove): New function.
51614 (pupa_memcpy): Removed.
51615 (pupa_strcpy): New function.
51616 (pupa_itoa): Made static.
51617
51618 * kern/dl.c (pupa_dl_iterate): New function.
51619 (pupa_dl_ref): Likewise.
51620 (pupa_dl_unref): Likewise.
51621 (pupa_dl_unload): Return if succeeded or not.
51622 (pupa_dl_unload_unneeded): New function.
51623 (pupa_dl_unload_all): Likewise.
51624 (pupa_dl_init): Renamed to ...
51625 (pupa_dl_set_prefix): ... this.
51626 (pupa_dl_get_prefix): New function.
51627
51628 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
51629 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
51630 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
51631 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
51632 (pupa_install_dos_part): Declared.
51633 (pupa_install_bsd_part): Likewise.
51634 (pupa_prefix): Likewise.
51635 (pupa_boot_drive): Likewise.
51636
51637 * include/pupa/types.h: Fix a typo.
51638
51639 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
51640 pupa_memmove.
51641 (pupa_memmove): Declared.
51642 (pupa_strcpy): Likewise.
51643
51644 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
51645 pupa_mod_init takes one argument, its own module.
51646 (pupa_dl_unload_unneeded): Declared.
51647 (pupa_dl_unload_all): Likewise.
51648 (pupa_dl_ref): Likewise.
51649 (pupa_dl_unref): Likewise.
51650 (pupa_dl_iterate): Likewise.
51651 (pupa_dl_init): Renamed to ...
51652 (pupa_dl_set_prefix): ... this.
51653 (pupa_dl_get_prefix): Declared.
51654
51655 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 51656 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 51657 unloaded.
51658 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
51659 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
51660
51661 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
51662 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
51663
012d7999 516642003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51665
51666 * util/i386/pc/pupa-setup.c (setup): Define the internal
51667 function find_first_partition_start at the top level, because GCC
51668 3.0.x cannot compile internal functions in deeper scopes
51669 correctly.
51670 (find_root_device): Use lstat instead of stat.
51671 Don't follow symbolic links.
51672 Fix the path-constructing code.
51673
51674 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
51675 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
51676 by a BLKGETSIZE ioctl first, because block devices don't fill
51677 the member st_mode of the structure stat on Linux.
51678 [__linux__] (linux_find_partition): Use a temporary buffer
51679 REAL_DEV for the working space. Copy it to DEV before returning.
51680 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
51681 buffer cache consistent.
51682 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
51683 strncmp. The previous value was merely wrong.
51684 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
51685
51686 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
51687 FAT size is 12. The previous value was merely wrong.
51688
51689 * kern/main.c (pupa_main): Don't split the starting message from
51690 newlines.
51691
51692 * kern/term.c (pupa_putchar): Put CR after LF instead of before
51693 LF, because BIOS goes crazy about character attributes in this
51694 case.
51695
1cc73a62 516962003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51697
51698 * include/i386/pc/util/biosdisk.h: New file.
51699 * util/i386/pc/biosdisk.c: Likewise.
51700 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 51701
1cc73a62 51702 * Makefile.in (INCLUDE_DISTFILES): Added
51703 include/pupa/i386/pc/util/biosdisk.h.
51704 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
51705 directory util/i386/pc.
51706 (install-local): Added a rule for sbin_UTILITIES.
51707 (uninstall): Likewise.
51708
51709 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
51710
51711 * util/misc.c (xrealloc): New function.
51712 (pupa_malloc): Likewise.
51713 (pupa_free): Likewise.
51714 (pupa_realloc): Likewise.
51715 (pupa_stop): Likewise.
51716 (pupa_putchar): Likewise.
51717
51718 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
51719
51720 * include/pupa/util/misc.h (xrealloc): Declared.
51721
51722 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
51723 macro.
51724 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
51725 (PUPA_BOOT_MACHINE_BPB_END): ... this.
51726
51727 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
51728 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51729
51730 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
51731 way should be implemented.
51732 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51733
51734 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
51735 the size of NAME for safety.
51736 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
51737 0x88.
51738
51739 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
51740 (pupa_setup_SOURCES): Likewise.
51741
51742 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
51743
08b70fe8 517442002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51745
51746 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
51747 bunch of pushl's from pusha, because this destroys the return
51748 value.
51749
62ddcc8f 517502002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51751
51752 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
51753 This means that any missing prototypes could be fatal. Also, you
51754 must take care when writing assembly code. See the comments at
51755 the beginning of startup.S, for more details.
f19dbdb7 51756
62ddcc8f 51757 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
51758 compilation mechanism.
51759 (pupa_chainloader_real_boot): Likewise.
51760 (pupa_biosdisk_rw_int13_extensions): Likewise.
51761 (pupa_biosdisk_rw_standard): Likewise.
51762 (pupa_biosdisk_check_int13_extensions): Likewise.
51763 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
51764 (pupa_biosdisk_get_diskinfo_standard): Likewise.
51765 (pupa_get_memsize): Likewise.
51766 (pupa_get_mmap_entry): Likewise.
51767 (pupa_console_putchar): Likewise.
51768 (pupa_console_setcursor): Likewise.
51769 (pupa_getrtsecs): Use pushl instead of push.
51770
51771 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
51772 memory instead of the stack for a mmap entry, because some
51773 BIOSes may ignore the maximum size and overflow.
51774
51775 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
51776
51777 * genmk.rb (PModule#rule): Compile automatically generated
51778 sources with module-specific CFLAGS as well as other sources.
51779
9962ed99 517802002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51781
51782 * configure.ac: Check ld.
51783 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
51784 respectively, before checking endianness and sizes.
51785
51786 * Makefile.in (LD): New variable.
f19dbdb7 51787
abdfc3c5 517882002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51789
51790 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
51791
6a161fa9 517922002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51793
51794 * Changelog: New file.
51795