]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
[grub2.git] / ChangeLog
CommitLineData
c7f34744
VS
12013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
4 BIOS disk check.
5
3f63b4d8
VS
62013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
9 type.
10 (grub_ehci_fini_hw): Likewise.
11 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12
dac6ce73
VS
132013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
16 return grub_usb_err_t for cosistency. All users updated.
17
5701750c
VS
182013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
21 assigning to itself.
22
9e236169
GLD
232013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
242013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
25
26 Issue separate DNS queries for ipv4 and ipv6
27
28 Adding multiple questions on a single DNS query is not supportted by
29 most DNS servers. This patch issues two separate DNS queries
30 sequentially for ipv4 and then for ipv6.
31
32 Fixes: https://savannah.gnu.org/bugs/?39710
33
34 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
35 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
36 * (grub_net_dns_lookup): Now using separated dns packages.
37 * (grub_cmd_nslookup): Add error condition.
38 * (grub_cmd_list_dns): Print DNS option.
39 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
40 --prefer-ipv4, and --prefer-ipv6.
41 * include/grub/net.h (grub_dns_option_t): New enum.
42 * (grub_net_network_level_address): option added.
43
339eacce
VT
442013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
45
46 * grub-core/video/fb/video_fb.c: Merge two blit functions
47 into one.
48
810f991b
VS
492013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * grub-core/term/terminfo.c: Add sequences for home and end.
52
386571a2
VS
532013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
56 graphics console.
57
3fe63754
VS
582013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
61 add mode 0x12.
62
76681e71
VS
632013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
66 e-mail by Per Öberg.
67
46522fb7
VS
682013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
71 name.
72
e7d09ac4
AB
732013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
74
75 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
76 emu platforms.
77 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
78
67508925
VS
792013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * docs/grub.texi: Document usage of menuentry id.
82
0c62124e
VS
832013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
84
85 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
86
9b5d4eed
PL
872013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
88
89 * grub-core/commands/i386/nthibr.c: New command.
90
79054c1d
VS
912013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
94
44d47bbe
VS
952013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
98 coordinate.
99
323de05b
VS
1002013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
101
102 Support GRUB_DISABLE_SUBMENU config.
103
104 Inspired by patch from Prarit Bhargava.
105
5a01722e
VS
1062013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * docs/grub.texi: Mention RSA support.
109
1106c3f0
VS
1102013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
111
112 * grub-core/commands/verify.c: Add RSA support.
113
a1dcc2cb
VS
1142013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
117 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
118 device is known to be ATAPI.
119
ee7fb780
MF
1202013-11-03 Mike Frysinger <vapier>
121
122 * configure.ac: Don't add target-prefix.
123
5ade4a42
VS
1242013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
127 variables.
128
6cd66043
VS
1292013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
132 if language is English.
133
090d7c81
VS
1342013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
135
136 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
137
dd614590
VS
1382013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * configure.ac: Don't add -m32/-m64 on emu.
141
a8686589 1422013-11-02 neil
143
144 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
145 broken linux headers.
146
fb9f12a0
VS
1472013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
150
e25f8e1f
VS
1512013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
154 Reed-Solomon recovery if more than half of redundancy info is 0.
155
4685200f
VS
1562013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * util/grub-mount.c: Handle symlinks to directories.
159
1397f0b5
VS
1602013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
161
162 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
163 find_file recursively for symlink.
164
8b3e6eb6
VS
1652013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * tests/util/grub-shell.in: Copy themes.
168
a0c9d5c6
VS
1692013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
172
5cf9459c
VS
1732013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
174
175 * configure.ac: Use 0x8000 for address instead of 8000.
176
e7b66a28
VS
1772013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
178
179 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
180 signature.
181
203f53fb
VS
1822013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
185 variable.
186
02663ee9
VS
1872013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
190
f169f65e
VS
1912013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
194 file_progress_read_hook.
195 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
196
2855a0fc
VS
1972013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
200 and double.
201
bf0f3a8c
VS
2022013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
205
cb72aa18
VS
2062013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
207
208 Rewrite blocklist functions in order to get progress when
209 reading large extents and decrease amount of blocklist hook calls.
210
896f9135
VS
2112013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
212
213 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
214 of SI suffixes.
215
89295a06
VS
2162013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
217
218 Support --base-clock for serial command to handle weird cards with
219 non-standard base clock.
220
eb03ede0
VS
2212013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
224 strncpy.
225 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
226 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
227 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
228 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
229 + strcpy rather than strncpy.
230
8fbe5c7d
VS
2312013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
234 (check_pool_label): Likewise. Fixes overflow.
235 (nvlist_find_value): Fix comparison.
236
e54b8f53
VS
2372013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * include/grub/misc.h (grub_strcat): Removed. All users changed to
240 more appropriate functions.
241
fa9b3dca
VS
2422013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
243
244 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
245 realloc.
246
9a021c55
VS
2472013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * util/grub-mkrescue.in: Do not use UUID search on EFI.
250
80e8b13a
VS
2512013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
254 on core size.
255
b61599ac
VS
2562013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
259
a602dc54
VS
2602013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
263 (initialize_tables): reset tl and td to NULL after freeing.
264
93c12075
VS
2652013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
268
1ca4b75e
VS
2692013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
272 of supported tags.
273
329550c4
VS
2742013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
277
00bfa988
VS
2782013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * grub-core/loader/multiboot.c: Add support for multiboot kernels
281 quirks.
282
81afc5cc
VS
2832013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
286 a page in protected space.
287
cb3c4a47
VS
2882013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
291 allocate space for zero-sized modules.
292
954f7bf5
VS
2932013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
296
526d3d25
FL
2972013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
298
299 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
300
74124c34
VS
3012013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
302
303 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
304 safeguards. Fixes a crash with i386/pc/console.c.
305
5177391e
VS
3062013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
309 and grub_hostfs_init.
310
64db14b0
VS
3112013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
314 windows method on other platforms without good stat as well.
315
effe2036
VS
3162013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
319
82591fa6 3202013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 321
82591fa6
VS
322 Make / in btrfs refer to real root, not the default volume.
323 Modify mkrelpath to work even if device is mounted with subvolid option.
324
3252013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
326
327 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
328 extra_dist.
329 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
330 extra_dist.
331
30fd7198
VS
3322013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
333
334 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
335 fails.
336
8d179dae
BC
3372013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
338
339 * docs/autoiso.cfg: New file.
340
3bc9c8cf
VS
3412013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
344 COND_GRUB_PE2ELF conditions.
345
8b46b0ea
VS
3462013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
349 "vnd", "rd" and "fd" disks.
350
442b86de
VS
3512013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
352
353 Move grub_disk_write out of kernel into disk.mod.
354
04dea7e6
VS
3552013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
358 handling.
359
3602013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
361
362 * grub-core/kern/misc.c (grub_abort): Make static
363
04dea7e6 3642013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
365
366 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
367 transform invalid unicode codepoints.
368
04dea7e6 3692013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
370
371 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
372 \0 checking.
373
03dcac7f
VS
3742013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
377
c81acb7f
VS
3782013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
379
380 Consolidate cpuid code.
381
c1bee646
VS
3822013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
383
384 Move cpuid code to cpuid.h and TSC code to tsc.c.
385
f37bf9c7
GS
3862013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
387
388 * util/grub.d/00_header.in: Don't use LANG if it's not set.
389
4021132b
GS
3902013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
391
392 * util/grub-mkconfig.in: Replace $0 with $self.
393 * util/grub-reboot.in: Likewise.
394 * util/grub-set-default.in: Likewise.
395
3ace8d75
BC
3962013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
397
398 * docs/osdetect.cfg: New file.
399
1e6ad6a6
BC
4002013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
401
402 * tests/util/grub-shell.in: Add new --debug option.
403
188929eb
BC
4042013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
405
406 * tests/test_unset.in: New test.
407
7994a09a
BC
4082013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
409
410 * tests/test_sha512sum.in: New test.
411
2a8a7585
VS
4122013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
413
414 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
415 * include/grub/misc.h: Remove strncat.
416 * grub-core/lib/posix_wrap/string.h: Likewise.
417
cf8d6bbd
VS
4182013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
421 Try to handle more than 0xFFFF packets.
422 Reported by: Bernhard Übelacker <bernhardu>.
423 He also spotted few overflows in first version of this patch.
424
6d1fc99a
VS
4252013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * tests/date_unit_test.c: New test.
428
10bafa1c
VS
4292013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
432 of first three years after start of validity of unixtime.
433
b1c6d037
VS
4342013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
437 division as the one making more sense.
438 (update_screen): Likewise.
439 (complete): Likewise.
440
5f4028d4
VS
4412013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
444
a2856736
VS
4452013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
446
447 Make char and string width grub_size_t rather than grub_ssize_t.
448
0a7e52b2
VS
4492013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
452 unsigned.
453 (grub_history_replace): Likewise.
454
42829573
VS
4552013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
458 appropriate.
459
3523b8d8
VS
4602013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
463 appropriate.
464
d43c6489
VS
4652013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
468 Use unsigned divisions rather than signed variants.
469
f690f8b0
VS
4702013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * grub-core/video/readers/png.c (grub_png_convert_image): Use
473 unsigned arithmetics.
474 Add missing break.
475
74ff2c05
VS
4762013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
479
fb56391e
VS
4802013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
483 rather than signed one.
484 (recovery): Likewise.
485
40f29060
VS
4862013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
489
c64577a5
VS
4902013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
493 than signed.
494
c16535a8
JM
4952013-10-25 Jon McCune <jonmccune@google.com>
496
497 * docs/grub.texi: Cleanup security documentation around signatures.
498
6673d8e7
VS
4992013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
502
a105d375
VS
5032013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
506 than int.
507
af81ed88
VS
5082013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
511 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
512 functions when compiling for kernel.
513
ea899a57
VS
5142013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
515
516 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
517 unsigned long long when using %llu.
518
c6dc6fa1
VS
5192013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
522 terminal after updating progress.
523
ad2dc003
VS
5242013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
527 argument. We don't disable Gate A20 in this code.
528
b46684ae
VS
5292013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
532 Conceptually based on change in branch "vbe-on-coreboot".
533
f70d5c07
RM
5342013-10-24 Robert Millan <rmh@gnu.org>
535
536 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
537 numeric constants with their symbolic equivalent.
538 Taken from branch "vbe-on-coreboot".
539
bca274b4
VS
5402013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * docs/grub.texi: Fix ordering and use pxref rather than xref.
543
238f0489
VS
5442013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
547 divmod64 for offset division.
548
863c590b
PFS
5492013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
550
551 Rename .bzrignore to .gitignore. Add "*.o" rule.
552
553 * .bzrignore: Renamed to...
554 * .gitignore: ...this.
555
84a0e969
PFS
5562013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
557
558 Add new progress module that displays the load progress of files.
559
560 * grub-core/lib/progress.c: New file.
561 * grub-core/Makefile.core.def (progress): New module.
562 * grub-core/kern/file.c (grub_file_open): File name added.
563 * (grub_file_read): Progress hook added.
564 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
565 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
566 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
567 * include/grub/file.h (struct grub_file): Add progress module members.
568 * include/grub/term.h (struct grub_term_output): Likewise.
569 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
570 Terminal velocity added.
571 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
572 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
573 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
574 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
575 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
576 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
577 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
578 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
579 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
580 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
581 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
582 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
583
0d711431
VS
5842013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
585
586 Verify signatures of signatures unless --skip-sig is specified.
587
f8401f76
VS
5882013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
589
590 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
591 \0 checking.
592
593 Saves 70 bytes on compressed image.
594
ac1feb61
VS
5952013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
598 check.
599
600 Saves 10 bytes on compressed image.
601
00f72e89
VS
6022013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * grub-core/kern/misc.c (grub_isprint): Move to ...
605 * include/grub/misc.h (grub_isprint): ... here. Make inline.
606
607 Saves 20 bytes on compressed image due to remving exporting.
608
067e6ae7
VS
6092013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
612
613 Saves 5 bytes on compressed image.
614
64a6c791
VS
6152013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
618 function get_utf8.
619
620 Saves 379 bytes on compressed image.
621
979d9f52
VS
6222013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
625
1437da54
VS
6262013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
629
630 Saves 40 bytes on compressed image.
631
d9ee2269
VS
6322013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
635 mask rather than 64-bit type.
636
637 Saves 20 bytes on compressed image.
638
63efa602
VS
6392013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
642 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
643
47601ffe
VS
644 Saves 273 bytes on compressed image.
645
2cc679ad
VS
6462013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
649 variable length arrays.
650
651 Saves 50 bytes on compressed image.
652
2e4659b8
VS
6532013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
656
2a40badf
VS
6572013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * grub-core/fs/ufs.c: Remove variable length arrays.
660
1ba6b9b9
VS
6612013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
664
f3e39341
VS
6652013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * grub-core/fs/zfs.c: Remove variable length arrays.
668 Reduces zfs.mod by 160 bytes (208 compressed).
669
71523935
VS
6702013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
673
28153eb8
VS
6742013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
675
676 * grub-core/net/arp.c: Remove variable length arrays.
677 * grub-core/net/bootp.c: Likewise.
678 * grub-core/net/dns.c: Likewise.
679 * grub-core/net/icmp6.c: Likewise.
680 * grub-core/net/net.c: Likewise.
681
88ce4cd7
VS
6822013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/fs/ntfs.c: Remove variable length arrays.
685 Increases ntfs.mod by 64 bytes (but decreases by 3 when
686 compressed).
687
66123940
VS
6882013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * grub-core/fs/hfs.c: Remove variable length arrays.
691 Reduces hfs.mod by 8 bytes (52 compressed).
692
0927e5bd
VS
6932013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 696 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
697 compressed).
698
9c12ac97
VS
6992013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
700
701 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 702 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
703 compressed).
704
97ec2d71
VS
7052013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
706
707 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 708 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
709 compressed).
710
156e4ea0
VS
7112013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * grub-core/fs/xfs.c: Remove variable length arrays.
714 Reduces xfs.mod by 40 bytes (43 compressed).
715
3b502c29
VS
7162013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/fs/fshelp.c: Remove variable length arrays.
719 Reduces fshelp.mod by 116 bytes (23 compressed).
720
c7037f1d
VS
7212013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * grub-core/normal/completion.c: Remove variable length arrays.
724 * grub-core/normal/menu_entry.c: Likewise.
725
726 Reduces normal.mod by 496 bytes.
727
a07e6ad0
VS
7282013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
731 by 356 bytes (158 compressed).
732
2359bf88
VS
7332013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
736 by 364 bytes (169 compressed).
737
d28e1163
VS
7382013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
741 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
742 * include/grub/types.h (grub_unaligned_uint64_t): New type.
743
e89c2d48
VS
7442013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
745
746 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
747 bitmasks to small structures of size chosen to fit in registers.
748
7abdac8e
VS
7492013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * conf/Makefile.common: Use -freg-struct-return on i386. This
752 decreases code size and improves performance.
753
518864c0
VS
7542013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
755
756 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
757
bbd2b539
VS
7582013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
761 "(null)" string.
762 Simplify expressions to save around 256 bytes in kernel.img.
763 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
764
99519c15
VS
7652013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
768 Use GRUB_UTIL_FD_O_* rather than O_*.
769
20285765
VS
7702013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
771
772 Add haiku-specific functions.
773
887c0bb6
VS
7742013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
777
cd78a56f
VS
7782013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
779
780 Move stat () and device mode checking into OS-dependent files as
781 long as performance doesn't suffer.
782
a4012f07
VS
7832013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
784
785 Split make_system_path_relative_to_its_root into separate file
786 relpath.c from getroot.c as it's common between unix and haiku
787 but otherwise haiku doesn't use any functions from unix getroot.c.
788
31de274d
VS
7892013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
792 New function.
793 (grub_util_is_special_file): Likewise.
794
40346de6
VS
7952013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
798 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
799
d3923ab9
VS
8002013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
801
802 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
803 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
804
663f6eb1
VS
8052013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
808 (load_image): Likewise.
809
44d1c20a
VS
8102013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * util/grub-render-label.c: Move backend part to ...
813 * util/render-label.c: ... here.
814
d0a116ee
VS
8152013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
818 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
819
b47fcae6
VS
8202013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
823
0f7c00c1
VS
8242013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
825
826 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
827 CD-ROM in case when it's declared as having subpartitions.
828
29013cba
VS
8292013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
830
831 Don't add -lm on haiku.
832
833 * configure.ac: Define BUILD_LIBM to -lm on most platforms
834 and empty on haiku.
835 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
836 -lm.
837
e8559d24
VS
8382013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * configure.ac: Use -melf_*_haiku as target on haiku.
841
8104063c
VS
8422013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * Makefile.util.def: Add util/setup.c to extra_dist.
845
fc3182c7
VS
8462013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
849 unknown types through.
850
f90a3cc0
VS
8512013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
854 (grub_util_check_char_device): Likewise.
855 * include/grub/emu/getroot.h: Likewise.
856
1e3e7419
VS
8572013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
860 memset rather than inline static function.
861
92c88fc8
VS
8622013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
865 not doing embedded decompressor.
866
3cd910a2
VS
8672013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
870 shadowing.
871 * grub-core/kern/disk.c: Likewise.
872 * grub-core/kern/misc.c: Likewise.
873 * include/grub/parser.h: Likewise.
874 * include/grub/script_sh.h: Likewise.
875 * include/grub/zfs/zfs.h: Likewise.
876
7b3aca00
VS
8772013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
880
97dfe7e4
VS
8812013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
882
883 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
884 defined before trying to use it.
885
bf919aa9
VS
8862013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
889 warning.
890
f4ccf29d
VS
8912013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
894 Use __unused__ rather than __used__ on gcc < 3.2.
895
0d3a6f85
VS
8962013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
899 gcc < 4.0.
900 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
901
757e3eb7
VS
9022013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
903
904 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
905
fb320faf
VS
9062013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
909 * include/grub/emu/misc.h: Likewise.
910
ea73acd2
VS
9112013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
914 cur_color.
915
71237a6f
VT
9162013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
917
918 * grub-core/tests/checksums.h: Regenerated due to progress bar
919 get_minimal_size changes.
920
3d46c22f
BC
9212013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
922
923 Added `tr' command support.
924
925 * grub-core/commands/tr.c: New file.
926 * grub-core/Makefile.core.def: Build rules for new module.
927
928 * tests/grub_cmd_tr.in: New test.
929 * Makefile.util.def: Build rules for new test.
930
47e0a61f
VT
9312013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
932
933 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
934
946fd073
VT
9352013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
936
937 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
938 * docs/gurb.texi: Likewise.
939
9c13c576
VT
9402013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
941
942 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
943 Pixmap highlighted section with east and west slices was displayed
944 incorrectly due to negative width of the central slice.
945
ad543f12
VT
9462013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
947
948 * docs/grub.texi: Graphical options information update.
949 Removed outdated. Updated current. Inserted missed.
950
6176a0cd
VS
9512013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * docs/grub.texi: Mention few new platform-specific commands.
954
9688cae2
VS
9552013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
958 currently used so this doesn't really have any effect.
959 Reported by: Douglas Ray <dougray>
960
f7b69a3f
VS
9612013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
964 compilation but prevents gcc from displaying messages in non-Latin
965 alphabets.
966 * conf/Makefile.common: Likewise.
967
ceca6ddf
HY
9682013-10-16 Hiroyuki YAMAMORI
969
970 Handle Japanese special keys.
971 Reported by: Hiroyuki YAMAMORI.
972 Codes supplied by: Hiroyuki YAMAMORI.
973
ac48d334
VT
9742013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
975
976 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
977
b2b71bff
VT
9782013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
979
980 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
981 * docs/grub.texi: Likewise.
982
669fc449
VS
9832013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
986 value in case of incomplete read.
987 (grub_util_fd_write): Likewise.
988
59381678
VS
9892013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
992
bacfefbb
VS
9932013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * util/grub-editenv.c (create_envblk_file): More from here ...
996 * util/editenv.c (grub_util_create_envblk_file): ... to here.
997
f7c49570
VS
9982013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
1001 canonicalize file name before doing the rest.
1002
7b83ca44
VS
10032013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
1006 mingw32.
1007
df1e64c9
VS
10082013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 Define grub_util_is_directory/regular/special_file and
1011 use OS-dependent versions rather than to rely on stat().
1012
ec16e026
VS
10132013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 * util/grub-mkimage.c: Move backend part to ...
1016 * util/mkimage.c: ... here.
1017
4b4eeb3c
VS
10182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 Allow compilation with mingw64 albeit with warnings due to lack of
1021 %llx/%llu.
1022
1023 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
1024 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
1025 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
1026 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
1027 on mingw64.
1028 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
1029
f4e0adc0
VS
10302013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 Remove leftover references to some of the system headers.
1033
e0127364
VS
10342013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
1037 read.
1038
20d53541
VS
10392013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
1042 of strerror.
1043
5a869940
VS
10442013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 Split out blocklist retrieving from setup.c to
1047 grub-core/osdep/blocklist.c and add windows implementation since
1048 generic version doesn't work on NTFS on Windows due to aggressive
1049 unflushable cache.
1050
c06c7520
VS
10512013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
1054 files.
1055
8f53bb3f
VS
10562013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
1059 Cut tailing newline. Remove arbitrary limitation. Always use
1060 grub_util_tchar_to_utf8.
1061
148f1007
VS
10622013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
1065 * tests/printf_unit_test.c (printf_test): Add %% tests.
1066 Reported by: Paulo Flabiano Smorigo.
1067
af3b06be
VS
10682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
1071 implement fsync.
1072
27f9d02e
VS
10732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * configure.ac: Check for nvlist_lookup_string in nvpair since we
1076 use nvlist_lookup_string and don't use nvlist_print.
1077
f6a81f0a
VS
10782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 Add wrappers around rename, unlink, mkdir, opendir, readdir and
1081 closedir to handle filename charset translation.
1082
d7750b32
VS
10832013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 * include/grub/emu/hostdisk.h: Move file operations to
1086 * include/grub/emu/hostfile.h: ... here.
1087
2859196e
VS
10882013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
1091 unicode path.
1092
c018c968
VS
10932013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
1096
7e45abce
VS
10972013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
1100 and remove export.h.
1101
23934da2
VS
11022013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * grub-core/kern/emu/error.c: Removed.
1105 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
1106 explicitly as it's already in libgnu.a.
1107
c11ebcc8
VS
11082013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
1111 config-util.h include.
1112
70671037
VS
11132013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 Split emunet into platform-dependent and GRUB-binding parts. Keep
1116 platform-dependent part in kernel for easy access to OS functions.
1117
25ac643a
VS
11182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
1121 open/read/write.
1122
69ca5876
VS
11232013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * grub-core/osdep/windows/emuconsole.c: New file.
1126
d9d68ef0
AB
11272013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1128
1129 * conf/Makefile.extra-dist: Add osdep/*/init.c
1130
58e211cc
VS
11312013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
1134
588744d0
VS
11352013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * util/grub-probe.c (probe): Separate different drives in hint-str
1138 by spaces and not newlines.
1139 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
1140
44016e52
AB
11412013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1142
1143 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
1144 Handle CD-ROMs.
1145
6de9ee86
VS
11462013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 Pass-through unknown E820 types. It required reorganisation of mmap
1149 module.
1150
f8f3f155
AB
11512013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1152
1153 * Makefile.util.def: Add osdep/init.c to grub-mount files.
1154
b73249d2
VS
11552013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1156
1157 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
1158 fseeko.
1159
dac86b18 11602013-10-14 qwertial <qwertial>
1161
1162 * grub-core/gdb_grub.in: Fix overflow and wrong field.
1163
17614b84
JM
11642013-10-14 Jon McCune <jonmccune@google.com>
1165
1166 * docs/grub.texi: Document new signatures possibility.
1167
6de292cb
VS
11682013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
1171
84379b61
VS
11722013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
1175 missing prototype.
1176 (grub_util_tchar_to_utf8): Likewise.
1177
21d85db1
VS
11782013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
1181 * grub-core/kern/emu/main.c: Add missing include.
1182 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
1183 Don't call grub_util_init_nls.
1184 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
1185 Likewise.
1186
66a1b3ee
VS
11872013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
1190 stat.
1191
e19bec17
VS
11922013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
1195
ee8c1b29
VS
11962013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
1199
bb338aaf
VS
12002013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 Add a wrapper for fopen. On unix-like systems just pass-through. On
1203 windows use unicode version.
1204
ae5540d3
VS
12052013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 Move set_program_name and init_nls to host_init. On windows
1208 fix in this fuction console and argument charset as well.
1209
4cd3c4fe
AB
12102013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
1211
1212 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
1213 GRUB_ENABLE_CRYPTODISK.
1214
1215 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
1216 GRUB_ENABLE_CRYPTODISK.
1217 * util/grub-mkconfig_lib.in: Likewise.
1218
78170f3e
CCZ
12192013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
1220
1221 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
1222
3414b6c0
MC
12232013-10-12 Melki Christian <Christian.melki@saabgroup.com>
1224
1225 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
1226 error when enabling debug.
1227
6d0740e8
IB
12282013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
1229
1230 * configure.ac: Use -melf_*_obsd on openbsd.
1231
ff2d4dc4
VS
12322013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
1235
eac6ae82
VS
12362013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * include/grub/misc.h: Use gnu_printf rather than printf as format
1239 template since our functions are independent of libc.
1240
ba9baabe
VS
12412013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * util/grub-setup.c (setup): Move copying of partition table as
1244 futher up as possible to avoid possible overwrite by floppy routines.
1245
12462013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
1247
1248 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
1249
145e2369
VT
12502013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
1251
1252 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
1253 * docs/grub.texi: Likewise.
1254
3530bc9d
VS
12552013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
1258 it's mostly unused. Move vestiges to the callers.
1259
fb9f59c3
VS
12602013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
1263 version of salt and hash. Use grub_snprintf rather than snprintf.
1264
9be1c255
VS
12652013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * docs/grub.texi: Fix problem with braces.
1268
ed8c0887
VS
12692013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * conf/Makefile.extra-dist: Fix extra-dist list.
1272 * grub-core/Makefile.core.def: Likewise.
1273
f72ab14e
VS
12742013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 * docs/grub.texi: Document disk names used on Windows and AROS.
1277
2fe53a22
VS
12782013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
1281 with AROS devs.
1282 * grub-core/osdep/aros/hostdisk.c: Likewise.
1283
71c1d67a
VS
12842013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 Avoid including hostfile.h when not necessarry as it pulls
1287 in OS-specific headers which may redefine generic names
1288 like "far".
1289
ad297ec7
VT
12902013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
1291
1292 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
1293 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
1294 scrollbar_bottom_pad
1295 * docs/grub.texi: Likewise.
1296
6e9e5dc9
VT
12972013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
1298
1299 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
1300
761c718b
VS
13012013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
1304
37149a2f
VS
13052013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
1308 Removed.
1309 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
1310 Made static.
1311
3837a151
VS
13122013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
1315 leftover.
1316
caca1c70
VS
13172013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 Move OS-specific driver configuration to grub_util_fd_open. This
1320 moves OS-dependent parts from kern/emu/hostdisk.c to
1321 grub-core/osdep/*/hostdisk.c.
1322
f7676b70
VS
13232013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * util/grub-mkimage.c (generate_image): Use size_t instead of
1326 grub_size_t.
1327 * util/grub-mkimagexx.c (locate_sections): Likewise.
1328 (load_image): Likewise.
1329
22f98db2
VS
13302013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
1333 size_t.
1334 (grub_util_write_image): Likewise.
1335
b102ce69
VS
13362013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
1339 get random when no RNG is available.
1340 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
1341
acbbe5cb
VS
13422013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * include/grub/util/lvm.h: Removed.
1345
2112fb3f
VS
13462013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
1349 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
1350
79f78fbf
VS
13512013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * grub-core/osdep/windows/sleep.c: Add missing config.h.
1354
c2e6f705
VS
13552013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
1358
aabe433a
VS
13592013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 * grub-core/net/drivers/emu/emunet.c: Move to ..
1362 * grub-core/osdep/linux/emunet.c: ..here.
1363
9a2c903f
VS
13642013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * util/ieee1275/ofpath.c: Move to ...
1367 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
1368 * grub-core/osdep/basic/ofpath.c: ..here.
1369
4a445f58
VS
13702013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 Move password-querying (util-version) routines to grub-core/osdep.
1373
c1ca4244
VS
13742013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 Move sleep routines to grub-core/osdep.
1377
672fa55e
VS
13782013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 Move OS-dependent files to grub-core/osdep and document it.
1381
a5b0365a
VS
13822013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
1385 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
1386
29072e99
VS
13872013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
1390
f8772ea7
VS
13912013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * util/misc.c: Remove leftover inclusion of malloc.h.
1394
a1a315e7
VS
13952013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * include/grub/setjmp.h: Remove leftover GRUBOF.
1398
cef86fef
VS
13992013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * util/raid.c: Fold into ...
1402 * util/getroot_linux.c: ... here. Make all functions static.
1403
c4cf25ee
VS
14042013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
1407 macros to GRUB ones.
1408
53a5f5c2
VT
14092013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1410
1411 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
1412 occasional bug. If there are too many boot entries or too low
1413 scrollbar height then we need to use another formula to calculate
1414 the position and size of the scrollbar thumb.
1415
de300af2
VS
14162013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1417
c4cf25ee 1418 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 1419
c5827364
VT
14202013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1421
1422 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
1423 * docs/grub.texi: Likewise.
1424
dd2ed8b0
VT
14252013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1426
1427 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
1428 viewport.
1429
7286c384
VT
14302013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1431
ffdfc1f3
VT
1432 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
1433 minimal width calculations.
7286c384 1434
ea547e14
VS
14352013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * docs/grub.texi: Update note on colors on emu console.
1438
b726be76
VS
14392013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
1442 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
1443 it's FS and not GRUB limitation.
1444
a5f6ade6
VS
14452013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
1448
3b0f3aa2
VS
14492013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
1452
1db38304
ST
14532013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1454
1455 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
1456 kernels by version order.
1457
fb295fc0
VS
14582013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
1461
47345010
VS
14622013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 Add AROS hostdisk and getroot routines.
1465
bf25f879
VS
14662013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 Make cryptodisk and diskfilter probe data retrievable programmatically
1469 and not just printable.
1470
24ca4512
VS
14712013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 Split random retrieving code into separate files.
1474
c7c177f0
VS
14752013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
1478 R_ARM_V4BX.
1479
d71b45ae
VS
14802013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
1483 condition.
1484 * grub-core/tests/fake_input.c: Likewise.
1485 * grub-core/tests/cmdline_cat_test.c: Likewise.
1486
e44b9a83
VS
14872013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/video/capture.c: Do not do finalization when .fini
1490 is called as there is explicit capture_end.
1491
4fa60739
VS
14922013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
1495 changing windows to avoid crash.
1496
17c8bc37
VS
14972013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
1500
9d4d7977
VS
15012013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * po/exclude.pot: Add several strings to exclude.
1504
0caa407c
VS
15052013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
1508
9ae393da
VS
15092013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * autogen.sh: Add ./util/grub-gen-widthspec.c and
1512 ./util/grub-gen-asciih.c to exclude list.
1513
498d5033
VS
15142013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
1517 and don't mark error strings for translation.
1518
7d93298f
VS
15192013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
1522 properly in case of missing block size.
1523
b2cae20c
VS
15242013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 * grub-core/lib/arm/setjmp.S: Add missing license section.
1527
3896d6b4
VS
15282013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 * po/swiss.sed: Add replacement for key names and for term computer.
1531
ebc1da55
VT
15322013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
1533
1534 * grub-core/gfxmenu/theme_loader.c: New global options for the
1535 theme background image handling. desktop-image-scale-method,
1536 desktop-image-h-align, desktop-image-v-align.
1537 * grub-core/gfxmenu/view.c: Likewise.
1538 * include/gfxmenu_view.h: Likewise.
1539 * include/bitmap_scale.h: Proportional scale functions introduced.
1540 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
1541 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
1542 cases of unexpected input variables for scale functions.
1543 * docs/grub.texi: Updated documentation for new options.
1544
c5739143
VS
15452013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
1548
be74aeb3
VT
15492013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1550
1551 * grub-core/tests/checksums.h: Corrected due to changes in
1552 bilinear interpolation function.
1553
d999ac72
VT
15542013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1555
1556 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
1557 to eliminate artefacts in bilinear interpolation.
1558
2b131610
VS
15592013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 * grub-core/video/readers/tga.c: Support paletted tga.
1562
de6e5ff8
VS
15632013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
1566 incorrect cbcr setting when in color mode.
1567
fa31ee9c
VS
15682013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 * grub-core/video/readers/png.c: Support paletted images and clean up
1571 greyscale support.
1572
e84f8188
VS
15732013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
1576 usage of wrong table which resulted in mishandling of 4-byte
1577 sequences.
1578
15792013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
1580
1581 * grub-core/term/terminfo.c: Add Home and End key sequences.
1582
d72bff09
VS
15832013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 * grub-core/video/readers/png.c (grub_png_decode_image_header):
1586 Fix formula for computing total number of bytes.
1587
29648c5d
VS
15882013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
1591 image processing, fix big-endian and support grayscale.
1592
4a876492
VS
15932013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
1596 Correctly will with maximum transparency when using index color.
1597
3ccf16df
VS
15982013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * grub-core/video/readers/png.c: Support grayscale
1601
16022013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
1603
1604 * grub-core/video/readers/jpeg.c: Support grayscale.
1605
3ccf16df 16062013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
1607
1608 * grub-core/commands/loadenv.c: Support skipping signature check
1609 and variable names filtering.
1610
30b7f58f
VS
16112013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
1614 * grub-core/kern/emu/hostfs.c: Likewise.
1615 * util/getroot_unix.c: Likewise.
1616
bab7b1eb
VS
16172013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
1620 Migrate all explicit defines to this new one.
1621
43b1c99d
VS
16222013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
1625 grub_util_fd_strerror when using grub_util_fd_*.
1626 (grub_util_fd_open_device): Likewise.
1627 (grub_util_biosdisk_read): Likewise.
1628 (grub_util_biosdisk_write): Likewise.
1629 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
1630 (grub_util_fd_strerror): Likewise.
1631 (grub_util_fd_sync): Likewise.
1632 (grub_util_fd_close): Likewise.
1633 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
1634 (grub_util_fd_close): Likewise.
1635 (grub_util_fd_strerror): Likewise.
1636 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
1637 function proto rather than macro.
1638 (grub_util_fd_sync): Likewise.
1639 (grub_util_fd_open): Likewise.
1640 (grub_util_fd_strerror): New proto.
1641
e8fd80bc
VS
16422013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
1645 platforms on which it doesn't work.
1646
bf645fda
VS
16472013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
1650 stat immediately to where it's used.
1651
5177ba14
VS
16522013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * util/getroot.c (grub_util_check_block_device): Move to ...
1655 * util/getroot_unix.c (grub_util_check_block_device): ... here.
1656 * util/getroot.c (grub_util_check_char_device): Move to ...
1657 * util/getroot_unix.c (grub_util_check_char_device): ... here.
1658
9db826e1
VS
16592013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1660
1661 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
1662 disk closing logic.
1663
49120085
AB
16642013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1665
1666 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
1667
b3328b68
AB
16682013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1669
1670 * docs/grub.texi (File name syntax): Document ZFS filenames
1671 (/volume@snapshot/...).
1672
3fff48ab
VS
16732013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
1676 Always return full path. Fixes a problem with mkrelpath.
1677
39cfdaa9
PFS
16782013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1679
1680 * util/grub-install.in: Add GPT PReP support.
1681 * util/grub-probe.c (probe): Support GPT partition type.
1682 (main): Support -t gpt_parttype.
1683
7c680e1f 16842013-09-23 Aleš Nesrsta <starous@volny.cz>
1685
1686 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
1687
890bdabe
MM
16882013-09-23 Massimo Maggi <me@massimo-maggi.eu>
1689
1690 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
1691
9c262ff9
TH
16922013-09-23 Tim Hardeck <thardeck>
1693
1694 * util/grub.d/10_hurd.in: Filter out character for the class.
1695 * util/grub.d/10_kfreebsd.in: Likewise.
1696 * util/grub.d/10_linux.in: Likewise.
1697 * util/grub.d/20_linux_xen.in: Likewise.
1698
d755342a
MC
16992013-09-23 Melki Christian <Christian.melki@saabgroup.com>
1700
1701 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
1702 "changed".
1703
68b77707
JT
17042013-09-23 Josh Triplett <josh@joshtriplett.org>
1705
1706 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
1707 boot partition.
1708
efa68bfa
VS
17092013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
1712 doesn't use posix_wrap. Keep literal -fno-builtin however.
1713
d9104204
VS
17142013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
1717
c248781a 17182013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17192013-09-23 neil
1720
5830df88 1721 * configure.ac: Do not enable -Wmissing-noreturn as its
1722 usefulness is limited and creates problems on some OS notably with
1723 code generated by bison.
1724
17252013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17262013-09-23 neil
1727
1728 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 1729 supported by all gcc and when it is, it's already enabled by -Wall.
1730
621bed69
VS
17312013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
1734 desactivated use of EDID at all.
1735
71764dc8 17362013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17372013-09-23 neil
1738
1739 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
1740 video if no text is available.
1741
affce7d4 17422013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
17432013-09-23 neil
1744
1745 * configure.ac: Substitute TARGET_RANLIB.
1746
17472013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17482013-09-23 neil
affce7d4
VS
1749
1750 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
1751
1752 Based on patches from AROS.
1753
0e8daad0 17542013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 17552013-09-23 neil
0e8daad0
VS
1756
1757 * grub-core/Makefile.am: Override STRIP and RANLIB.
1758 * configure.ac: compute TARGET_RANLIB.
1759 * INSTALL: Document TARGET_RANLIB
1760
1761 Based on patches from AROS.
1762
3f7d9c82
VS
17632013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
1766 that floppies are unpartitioned.
1767
bca8873a
VS
17682013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
1771 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
1772
17732013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
1776 less nice but more portable.
1777 * grub-core/lib/posix_wrap/wchar.h: Likewise.
1778
a47a78be
VS
17792013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
1782 for cheat_fd.
1783 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
1784 functions.
1785 (grub_cryptodisk_cheat_insert): Likewise.
1786 (grub_cryptodisk_close): Likewise.
1787
e85a5d5c
VS
17882013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
1791 Use windows path for DEFAULT_DIRECTORY.
1792
dad9fa6b
VS
17932013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
1796 difference was likely just gcc version, not anything mingw-related.
1797
7e518ca8
VS
17982013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 Use Winapi on both cygwin and mingw32 to share more code between both.
1801
d68d0157
AB
18022013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1803
1804 * util/grub-install.in: Add --grub-editenv option.
1805 * util/grub-install_header (grub_compress_file): Explicitly check for
1806 plain file to avoid cp error.
1807
775b284d
AB
18082013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1809
1810 * docs/grub.texi (Device syntax): Document new LVM UUID based device
1811 names; fix LVM driver name (lvm, not lv).
1812 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
1813 names.
1814
3ff4063d
VS
18152013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
1818 files rather than one file with loads of #if's.
1819 * util/getroot.c: Likewise.
1820
287faafe
VS
18212013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
1824
d1983764
VS
18252013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
1828 GNU/Hurd to the list of checked PRNG.
1829
15ce95c4
VS
18302013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * configure.ac: On FreeBSD use -melf_*_fbsd format.
1833
207862dd 18342013-09-21 Ales Nesrsta <starous@volny.cz>
1835
7c680e1f 1836 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 1837
63653cfd
VS
18382013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
1841 * grub-core/disk/lvm.c: Add LVM UUIDs.
1842 * util/getroot.c: Use LVM UUIDs whenever possible.
1843
f5d3e7ef
AB
18442013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
1845
1846 * docs/grub.texi (Networking commands): Add documentation for
1847 network related commands.
1848
53c6b7d6
VS
18492013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 * util/getroot.c (grub_util_open_dm): Check major rather than the name
1852 to determine if device is handled by devmapper.
1853 (convert_system_partition_to_system_disk): Likewise.
1854 (get_dm_uuid): Don't check explicitly if device is mapped, it's
1855 already done in grub_util_open_dm.
1856
e70d6736
LL
18572013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
1858
1859 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
1860 Clean up stack manipulation (sync_caches_armv*)
1861
90379808
VS
18622013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * util/lvm.c: Remove since unused. Remove remaining references.
1865
386701a8
VS
18662013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 Handle the case of partitioned LVM properly.
1869
1870 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1871 Stop on meeting LVM, mpath or DMRAID.
1872 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
1873 (read_device_map): Likewise.
1874 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
1875 device is full disk rather than erroring out on LVM and similar cases.
1876
53070787
VS
18772013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
1880
1bc783bd
VS
18812013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
1884 4K before the end.
1885 Reported by: Leif Lindholm
1886
436ad5c3
PW
18872013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
18882013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
1891 codes.
1892
607319c9
CW
18932013-09-18 Colin Watson <cjwatson@ubuntu.com>
1894
1895 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
1896 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
1897
d404d154
DR
18982013-09-18 Douglas Ray <dougray@cpan.org>
1899
1900 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
1901 as secure.
1902
28851ef6
AN
19032013-09-18 Aleš Nesrsta <starous@volny.cz>
1904
1905 * docs/grub.texi: Fix broken link.
1906
897c3bc6
MC
19072013-09-18 Melki Christian <Christian.melki@saabgroup.com>
1908
1909 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
1910 to break endless loop.
1911
f1630459
VS
19122013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * util/grub-fstest.c: Fix several printf formats.
1915 * util/grub-mkimage.c: Likewise.
1916 * util/grub-mkimagexx.c: Likewise.
1917 * util/grub-script-check.c: Likewise.
1918
64463dfd
VS
19192013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
1922 error.
1923
48972495
VS
19242013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
1927
5dd5e64b
VS
19282013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
1931 removed in current versions cygwin_conv_*.
1932
1c1f31e5
VS
19332013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 * configure.ac: Disable efiemu runtime on cygwin.
1936
c546a259
VS
19372013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
1940 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
1941
81690478
VS
19422013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
1945 error message.
1946
6b87c10a
VS
19472013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
1950 windows variant.
1951 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
1952 data.
1953
8f0baaac
VS
19542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
1957 when on x86 and not cygwin.
1958 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
1959 -Wl,-melf_x86_64.
1960
b224c266
VS
19612013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * configure.ac: Set CPP to build one when checkoing for freetype for
1964 build.
1965
506b336b
VS
19662013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
1969 [!GRUB_BUILD]: Remove has_argument.
1970
8c8c87b7
VS
19712013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
1974 Replace with a dummy.
1975
7dc5ca13
VS
19762013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * configure.ac: Don't change host_os from mingw to cygwin.
1979
c3302aa5
VS
19802013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * configure.ac: Change target_os from windows to cygwin.
1983
7b780018
VS
19842013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 Handle grub-pe2elf and grub-mkfont for cases when build != host.
1987
1988 * Makefile.am (build-grub-mkfont): Don't include gnulib.
1989 (build-grub-gen-asciih): Likewise.
1990 (build-grub-gen-widthspec): Likewise.
1991 * Makefile.util.def (grub-pe2elf): Remove.
1992 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
1993 * configure.ac: Separate tests for build.
1994 Move ./build-grub-pe2elf to grub-core.
1995 Fix typo.
1996 * grub-core/Makefile.am (build-grub-pe2elf): New target.
1997 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
1998 defined.
1999 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
2000 constants.
2001 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
2002 * util/grub-pe2elf.c: Simplify not to rely on getopt.
2003 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
2004
984cfd8a
VS
20052013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
2008 mingw32 as well based on grub_util_get_disk_size.
2009 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
2010 grub_util_get_fd_size.
2011 (sync): Removed.
2012 (fsync): Moved to ...
2013 * grub-core/kern/emu/misc.c (fsync): ... here.
2014
f82d79c9
VS
20152013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * include/grub/mm.h (grub_extend_alloc): Remove.
2018 * grub-core/loader/i386/pc/plan9.c: Use own version of
2019 grub_extend_alloc with appropriate types.
2020
fd7dd66d
VS
20212013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
2024
43ffba7c
VS
20252013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2026
2027 * util/getroot.c: Include sys/wait.h only when we need waitpid.
2028
3c7eac44
VS
20292013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 Fix dependencies on cygwin.
2032
2033 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
2034 dependencies when used and defined.
2035 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
2036
bdb5ba47
VS
20372013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
2040 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
2041
ed7fbf43
VS
20422013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
2045 implementation available to cause compile-time rather than runtime
2046 error.
2047
fc46e9fc
VS
20482013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * util/grub-fstest.c: Don't check for symlinks on windows.
2051
7f68269a
VS
20522013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 * INSTALL: Mention unavailability of man pages when cross-compiling.
2055
8ed358e0
VS
20562013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
2059 and gcry_log_bug.
2060 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
2061
fc97214f
VS
20622013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * INSTALL: Document cross-compilation.
2065 * acinclude.m4: Determine whether nm support -P and --defined-only.
2066 * configure.ac: Add TARGET_ to all variables pertaining to target
2067 that don't have it yet.
2068 * gentpl.py: Likewise.
2069 * grub-core/Makefile.am: Likewise.
2070 * grub-core/genmod.sh.in: Likewise.
2071 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
2072 as well.
2073
ca1fb563
IB
20742013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
2075
2076 * configure.ac: Remove -Wempty-body. It's not essential and needs
2077 recent gcc.
2078
0031b229
IB
20792013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
2080
2081 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
2082 * util/getroot.c: Likewise.
2083
54ea2f44
VS
20842013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * grub-core/disk/ahci.c: Add needed explicit cast.
2087 * grub-core/lib/backtrace.c: Likewise.
2088 * grub-core/net/ip.c: Likewise.
2089 * grub-core/net/tcp.c: Likewise.
2090 * grub-core/net/udp.c: Likewise.
2091
3c601f8c
VS
20922013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
2095
1d679dda
VS
20962013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * util/import_gcry.py: Add final newline in visibility.h.
2099
00c28dd9
VS
21002013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * conf/Makefile.common: Fix typo.
2103
32af299a
VS
21042013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
2107
e733cf52
VS
21082013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * Makefile.am (widthspec.h): Fix typo.
2111 * util/grub-gen-widthspec.c: Likewise.
2112
c6b066f2
VS
21132013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 Move ascii.h and widthspec.h generation to a separate build-time-only
2116 tool.
2117
ad1fe3f9 21182013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
2119
2120 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2121 Always fill bootdisk info and improve check for NetBSD disklabel.
2122
92a52dd4
VS
21232013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 * conf/Makefile.extra-dist: Add util/bin2h.c.
2126 Reported by: floppym.
2127
b2e9d276
VS
21282013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
2131
7b966834
VS
21322013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * configure.ac: Disable unifont and starfield if no freetype was found.
2135
d5c1eef1
VS
21362013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
2139 on NetBSD and OpenBSD.
2140
66345b50 21412013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
2142
2143 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
2144
66345b50 21452013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
2146
2147 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
2148 reduced. Inheritant options are processed during the theme loading.
2149
66345b50 21502013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
2151
2152 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
2153
369508b3
AS
21542013-08-14 Avik Sil <aviksil@in.ibm.com>
2155
2156 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
2157
21582013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
2159
2160 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
2161 using qemu.
2162
6f27a3f6
PFS
21632013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2164
2165 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
2166 remove-potcdate.sed.
2167
c6ed362a
AB
21682013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2169
2170 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
2171 unused attribute from pull argument.
2172
5e7d9464
AB
21732013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2174
2175 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
2176 memory leak.
2177
dea55e2a
AB
21782013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2179
2180 * util/getroot.c (pull_lvm_by_command): add --separator option
2181 to vgs call to disable padding of output to 10 characters.
2182
f0b94ded
VS
21832013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
2186 here ...
2187 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
2188 here.
2189
b828fb5d
VS
21902013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
2193 length.
2194
7c9d0c39
VS
21952013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 Fix handling of build-time grub-bin2h and grub-mkfont when doing
2198 full Canadian cross. Tested with build=x86_64, host=arm,
2199 target=ppc-ieee1275.
2200
816719c8
VS
22012013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 * configure.ac: Error if no $BUILD_CC could be found.
2204 Reported by: DevHC.
2205
2af2353b
VS
22062013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
2209 i386-multiboot.
2210
797abd0a
VS
22112013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
2214 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
2215
36e87d25
CW
22162013-08-13 Colin Watson <cjwatson@ubuntu.com>
2217
2218 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
2219 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
2220 falling back to the partition device, otherwise a later call to this
2221 function may fail spuriously.
2222 Reported by Axel Beckert. Fixes Debian bug #708614.
2223
273349fe
GS
22242013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
2225
2226 * autogen.sh: Replace find -not by the POSIX-compliant find !.
2227
418f86c6
GS
22282013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
2229
2230 Prevent shadowing of stdlib's devname(3) on BSD.
2231
2232 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
2233 and devlast to diskname and disklast, respectively.
2234
c137aea0
CW
22352013-08-11 Colin Watson <cjwatson@ubuntu.com>
2236
2237 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
2238
272dc8df 22392013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
2240
2241 * docs/grub.texi: Introduce terminal window position options:
2242 terminal-left: terminal window's left position
2243 terminal-top: terminal window's top position
2244 terminal-width: terminal window's width
2245 terminal-height: terminal window's height
2246 terminal-border: terminal window's border width
2247 * grub-core/gfxmenu/theme-loader.c: Likewise.
2248 * include/grub/gfxmenu_view.h: Likewise.
2249 * po/exlude.pot: Likewise.
2250 * grub-core/gfxmenu/view.c: Likewise.
2251 Also updated minimal window size.
2252 Also terminal_sanity_check function has been introduced.
272dc8df
VT
2253 * grub-core/tests/checksums.h: Update (terminal window height
2254 is adjusted now for low resolution screen)
b4743461 2255
748a4533
VS
22562013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
2259 position).
2260
fca5f944
VS
22612013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * po/exclude.pot: Add few recent exceptions.
2264
4f47d809
VS
22652013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * tests/grub_func_test.in: Add unicode.pf2.
2268
a62ae90c
VS
22692013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
2272 standard rather than noral color, in line with other terminals.
2273
4ed41392
VS
22742013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
2277 analysis.
2278
3719fbc5
VS
22792013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * grub-core/loader/arm/linux.c: Change printf to dprintf.
2282
459b1d91
VS
22832013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
2286 inappropriate printf.
2287
f4e1ab9d
AB
22882013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
2289
2290 * .bzrignore: Remove grub-core/lib/dtc-grub,
2291 grub-core/Makefile.libfdt.def
2292 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
2293
fa471bfa
VS
22942013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * include/grub/video.h (grub_video_register): Keep double-linked as
2297 well as single-linked invariants.
2298 Reported by: qwertial.
2299
d65be02b
VS
23002013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * grub-core/commands/nativedisk.c (get_uuid): Handle
2303 GRUB_DISK_DEVICE_UBOOTDISK_ID.
2304
ba8bc620
VT
23052013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
2306
2307 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
2308 maximum of NW, N, NE heights instead of N's height and maximum of
2309 NW, W, SW widths instead of W's width. (So the box will be always
2310 correctly drawn)
2311
4f0ad029
GS
23122013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2313
2314 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
2315 Fix misuse of variable count.
2316
43d53b72
LL
23172013-07-18 Leif Lindholm <leif.lindholm@arm.com>
23182013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
23192013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 2320
43d53b72
LL
2321 New ports to arm-uboot and arm-efi.
2322 Mostly by Leif Lindholm with some additions from
2323 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 2324
88f8d146
VS
23252013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
2328 and not before.
2329 Reported by: Leon Drugi.
2330
3f42504c
VS
23312013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
2334 Reported by: Paulo Flabiano Smorigo.
2335
d110499b
VT
23362013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
2337
2338 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
2339
a8674ad3
VT
23402013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
2341
2342 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
2343
286fe4b3
VS
23442013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
2347
1bd57aa3
VS
23482013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
2351
7a87d69f
AB
23522013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
2353
2354 * grub-core/net/bootp.c: Export net_* variables.
2355 * grub-core/net/net.c: Likewise.
2356
b2182299
VS
23572013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
2360
795b3dc0
VS
23612013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
2364
68714c43
VS
23652013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
2368
af211bab
VS
23692013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
2372
0036f02d
MM
23732013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2374
2375 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
2376 <= 0.
2377
6d0ddff3
MM
23782013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2379
2380 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
2381 functions.
2382
038016f4
MM
23832013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2384
2385 * grub-core/fs/zfs/zfs_lz4.c: New file.
2386 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
2387
776bdce2
MM
23882013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2389
2390 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
2391
c71dbd40
MM
23922013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2393
2394 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
2395 (check_pool_label): Likewise.
2396 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
2397
23982013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
2399
2400 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
2401
8e67b50f
AB
24022013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2403
2404 * docs/grub.texi (Commands): Document postition parameters
2405 for menuentry command.
2406
f5ae3717
AB
24072013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2408
2409 * util/grub-mknetdir.in: Remove stray line from help output.
2410
9c28da2a
VS
24112013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 Remove early sm712 init as there is no reason for it (the "watchdog"
2414 effect was due to wrong GPIO map).
2415
139072b8
VS
24162013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * grub-core/commands/pcidump.c: Remove static variables.
2419
c6a61bda
VS
24202013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 * grub-core/commands/sleep.c: Refresh screen before sleeping.
2423
51369614
VS
24242013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * configure.ac: Move delimiter after the infos.
2427
efa8640a
VS
24282013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
2431
6f80a7b2
VS
24322013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
2435 not filling whole 8x16 space.
2436
a2371e19
VS
24372013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
2440
64fce2d8
VS
24412013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * configure.ac: Indicate which liblzma is used if any.
2444
eb272d84
PW
24452013-06-21 Paul Wise <pabs3@bonedaddy.net>
24462013-06-21 Craig Sanders <savannah@taz.net.au>
2447
2448 * util/grub-reboot.in: Document submenu usage.
2449
a9e5abee
CW
24502013-06-25 Colin Watson <cjwatson@ubuntu.com>
2451
2452 * .bzrignore: Update with a number of new test-related files.
2453
e639c204
CW
24542013-06-25 Colin Watson <cjwatson@ubuntu.com>
2455
2456 * util/grub-script-check.c: Fail on scripts containing no
2457 commands, to guard against corrupted grub-mkconfig setups that
2458 produce no useful output.
2459 * tests/grub_script_no_commands.in: New test.
2460 * Makefile.util.def (grub_script_no_commands): Add.
2461 Reported by Hans Putter. Fixes Debian bug #713886.
2462
a4c89b17
AB
24632013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2464
2465 * grub-core/disk/diskfilter.c: Forgot to remove comment
2466 from previous commit.
2467
5b06b53c
AB
24682013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2469
2470 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2471 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
2472
702da5c9
AB
24732013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2474
2475 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
2476
aa62a5b7
AB
24772013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2478
2479 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
2480 rescan diskfilter devices until nothing new is found.
2481
4aa237c8
VS
24822013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 Fix casts when compiling coreboot-specific code for 64-bit EFI.
2485
93d8479b
VS
24862013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 Don't try to detect cbfs on *-emu.
2489
837222cc
VS
24902013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 * grub-core/term/gfxterm.c: USe right background color when scrolling.
2493
99c971af
VS
24942013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 Add support for processed coreboot payload chainloading.
2497
e6930a45
VS
24982013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 Enable coreboot information commands even when not loaded as
2501 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
2502
5027af38
VS
25032013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 Support for cbfs. Also factor out the part which is common
2506 for all archives to a separate module. This splits tar from cpio
2507 as they are very different but keeps cpio, cpio_be, odc and newc
2508 together since they're very similar.
2509
a5b55c4b
DM
25102013-06-15 David Michael <fedora.dm0@gmail.com>
2511
2512 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
2513 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
2514
0301a8b3
VS
25152013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * tests/grub_script_eval.in: Really add the eval test.
2518
3d84cb17
VS
25192013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 Move flavour-specific parts out of common cpio.c file and
2522 rename remaining to cpio_common.c
2523
593e430c
AB
25242013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2525
2526 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
2527 off new function grub_script_execute_new_scope. Change callers to use
2528 either of them as appropriate.
2529 * grub-core/commands/eval.c: New command eval.
2530 * docs/grub.texi (Commands): Document it.
2531
63c29849
AB
25322013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2533
2534 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
2535 to fetch values when listing.
2536
cc284112
AB
25372013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2538
2539 Fix make dist on non-pc.
2540
25412013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
2542
2543 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
2544 without a device name.
2545
69544d1e
VS
25462013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 Remove enable_executable_check as it's not needed anymore.
2549 Reported by: dougray.
2550
96dbe648
VS
25512013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
2554 ambigouos RAID before discovering RAIDs on top of it.
2555 Reported by: bodom.
2556
ccfc0bdb
VS
25572013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 Fix typo (failback vs fallback).
2560
f2587088
AB
25612013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
2562
2563 * util/grub.d/30_os-prober.in: Add support for probing EFI
2564 System Partition (as of os-prober 1.58).
2565
cec5cf0c
VS
25662013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 * configure.ac: Add yet another path to unifont. For parabola.
2569
e40b4596
JT
25702013-05-30 Josh Triplett <josh@joshtriplett.org>
2571
2572 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
2573 handling to copy the killed characters to the kill buffer as
2574 UCS4 stored as grub_uint32_t rather than as 8-bit characters
2575 stored as char. Eliminates UCS4 truncation and corruption
2576 observed when killing characters with Ctrl-u and yanking them
2577 back with Ctrl-y.
2578
fc4c4fdd
VS
25792013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 Detach optional parts of gfxterm and integrate in with coreboot init.
2582
6570b205
VS
25832013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 Move blit and fill dispatcher to appropriate files to decrease export
2586 and relocation overhead.
2587
b8323067
VS
25882013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * grub-core/font/font.c, include/grub/font.h: Inline simple font
2591 functions.
2592
3cc1878f
VS
25932013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * grub-core/Makefile.am: Fix compilation problem with some
2596 automake versions.
2597
4b80e43c
VS
25982013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
2601
57e0c20c
VS
26022013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
2605 automake versions.
2606
4fd42c53
VS
26072013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
2610 SSDT.
2611
1e908b34
RS
26122013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
2613
2614 * grub-core/partmap/dfly.c: New partition map.
2615
1359e474
VS
26162013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
2619 checking.
2620 Reported by: Francesco Lavra.
2621
17806392
AB
26222013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
2623
2624 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
2625 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
2626 false conditions.
2627 * conf/Makefile.common: define dist_grubconf_DATA
2628
cdce14fa
VS
26292013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 Progressively skip menu elements on small terminals rather
2632 than crashing.
2633
c8d6cc3c
VS
26342013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
2637 to avoid losing last column.
2638
a73b31ce
VS
26392013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 * po/exclude.pot: Add missing string "%C".
2642
1202c764
VS
26432013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
2646 after the test.
2647
50268344
VS
26482013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * util/grub-install.in: Gettextize "Not found" message.
2651
62b15edf
VS
26522013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 Fix distfiles list.
2655 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2656
26572013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
2658
2659 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
2660 present.
2661 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
2662
709ad61b
VS
26632013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
2666
d128901a
VS
26672013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
2670 attribute since structure is not necessarily aligned.
2671
34b22f5c
AB
26722013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
2673
2674 * docs/grub.texi (Device syntax): Clarify description of network
2675 drives.
2676
0f7e980b
VS
26772013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
2680 for vasprintf presence.
2681
30b03dc2
VS
26822013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * util/grub-install.in: Handle efibootmgr presence check.
2685 Reported by: Leif Lindholm.
2686
0dc11c08
VS
26872013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
2690 new strings to translate.
2691
f8024c3f
VS
26922013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
2695 yet another string (pun intended) to translate.
2696
b4c1da62
VS
26972013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 * po/POTFILES-shell.in: Autogenerate it.
2700
0ef7478b
VS
27012013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
2704
8200fa15
VS
27052013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
2708 misnomer.
2709
091945b2
AB
27102013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
2711
2712 * docs/grub.texi (Network): Add description of net_default_interface,
2713 net_default_ip and net_default_mac. Rewrite variables description
2714 to emphasize that they are per-interface.
2715
0e7b2e32
VS
27162013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 New test: cmdline and cat.
2719
16f7c8f6
VS
27202013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 * grub-core/commands/cat.c: Show UTF-8 characters.
2723
3e912fda
VS
27242013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * conf/Makefile.common: Poison float and double on non-emu.
2727
ee0220bc
VS
27282013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * configure.ac: Don't disable extended registers on emu.
2731
89e0240c
VS
27322013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * configure.ac: Don't use extended registers on x86_64.
2735 Reported by: Peter Jones.
2736
e56d9637
VS
27372013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * grub-core/term/efi/console.c: Fix compile error.
2740
8098f655
VS
27412013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 Compressed HFS+ support.
2744
16940e07
VS
27452013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
2748 pixel".
2749
c5dbc13d
VS
27502013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 Menu color test.
2753
011f8ae8
VS
27542013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * grub-core/tests/setjmp_test.c: New test.
2757
2aa072d7
VS
27582013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 New variables 'net_default_*' to determine MAC/IP of default interface.
2761
43fe02cb
VS
27622013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 * tests/gettext_strings_test.in: A test to check for strings not
2765 marked for translation.
2766
bed06142
VS
27672013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 * autogen.sh: Exclude unused libgcrypt files from translation.
2770
fb2666b5
VS
27712013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 Simplify few strings.
2774
d22840ec
VS
27752013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 Mark few forgotten strings for translation.
2778
e34092fd
VS
27792013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
2782 rather than printf.
2783
47cf82b4
VS
27842013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
2787 rather than printf.
2788 * grub-core/video/readers/tga.c: Likewise.
2789
1eed0e6e
VS
27902013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 * tests/priority_queue_unit_test.cc: New test.
2793
c5b7697b
VS
27942013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
2797 than printf.
2798
5945c2f8
AB
27992013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
2800
2801 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
2802 variable for one time boot menu entry.
2803
fa292343
B
28042013-05-05 Bean <bean123ch@gmail.com>
2805
2806 * grub-core/commands/testspeed.c: New command testspeed.
2807
310d4214
VS
28082013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 Factor-out human-size printing.
2811
85002bf3
VS
28122013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 Agglomerate more mallocs to speed-up gfxterm.
2815
22b06e96
VS
28162013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 Speed-up gfxterm by slightly agglomerating mallocs.
2819
b7c036bc
VS
28202013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 More video checks.
2823
92323d1f
VS
28242013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 Speed-up gfxterm by saving intermediate results in index+alpha
2827 format.
2828
0fb356a3
VS
28292013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
2832 test.
2833
44dea3f9
VS
28342013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
2837 line of timeout as it may contain the rest of long line.
2838
14af86e4
VS
28392013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 * grub-core/normal/main.c: Fix freed memory dereference.
2842
03f7c8c3
VS
28432013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2844
2845 Fix several memory leaks.
2846
c686014c
VS
28472013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
2850
0788a695
VS
28512013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
2854
daf01d61
VS
28552013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 Fix test -a and -o precedence.
2858 Reported by: adrian15.
2859
82ae74d7
VS
28602013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
2863
8cec7bd4
AB
28642013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
2865
2866 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
2867 and add it as source to functional_test module.
2868
aa73d688
VS
28692013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
2872
c104b6f9
VS
28732013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2874
2875 New series of tests for gfxterm and gfxmenu.
2876
7391c4d5
VS
28772013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
2880 the theme path relative to $prefix/themes.
2881
cff50118
VS
28822013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
2885 Fix order bug.
2886 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2887
7c332bdc
VS
28882013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
2891 descriptor.
2892
a4f9a5ff
VS
28932013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
2896 grub_gfxmenu_timeout_notifications.
2897 (grub_gfxmenu_view_destroy): Likewise.
2898
b5a2114d
VS
28992013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
2902
a8905e8a
VS
29032013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 Several fixes to ieee1275 and big-endian video.
2906
813c1622
VS
29072013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 Add missing exports on mips.
2910
3f3e7326
VS
29112013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
2914 if no unifont is found.
2915 Restore original keyboard.
2916
095accd1
VS
29172013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2920 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
2921
50361660
VS
29222013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 First automated video test (running videotest and comparing results)
2925
cd0f6eec
VS
29262013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
2929 instead of 2 to have full RGB/CMY test pattern.
2930
3f9634e5
VS
29312013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 Add few more tests.
2934
583e5b64
VS
29352013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * include/grub/arc/arc.h: Account for missing "other" peripheral on
2938 ARCS. All users updated.
2939
aa7bcb99
VS
29402013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
2943
95ef1a54
VS
29442013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 * grub-core/partmap/amiga.c: Fix size of checksummed block.
2947
46546fc5
VS
29482013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
2951 Reported by: qwertial.
2952
3476e0ef
VT
29532013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
2954
2955 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
2956 with syntax "XXX deg"/"XXX °".
2957
96f33fed
VS
29582013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 Make PCI init in i386-qemu port more robust.
2961
29622013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
2963
2964 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
2965 cached view is reused.
2966 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
2967 open boot menus.
2968
c53b4e67
VS
29692013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 Unify more code in grub-install_header.
2972
f7457fb2
VS
29732013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 Add few new tests.
2976
e2f27a8c
VS
29772013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 Enforce disabling of firmware disk drivers when native drivers kick in.
2980
ef9d8cd5
VS
29812013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2982
2983 * grub-core/commands/nativedisk.c: Customize the list of modules on
2984 platform. Don't try to search for disks already using native drivers.
2985
f7bf6c31
VS
29862013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
2989 platforms.
2990
bdc4add8
VS
29912013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
2994 handling of variables containing backslash.
2995
e9e46c9a
VS
29962013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
2999 dereference.
3000 Reported by: qwertial.
3001
0e90dee8
VS
30022013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
3005
e0aacf24
VS
30062013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
3009 dereference.
3010 Reported by: qwertial.
3011
3c0003c3
VS
30122013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3013
3014 * docs/grub.texi: Add a comment about usefullness of nativedisk.
3015
adb7d667
VS
30162013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
3019
7cd0df84
VS
30202013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 New command `nativedisk'.
3023
02adbb93
VS
30242013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
3027 * grub-core/loader/i386/bsd.c: Likewise.
3028
9fb0fd4f
VS
30292013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
3032
bd69257a
VS
30332013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
3036 grub_get_unaligned16 rather than shifts.
3037
178c2764
VS
30382013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * grub-core/kern/file.c: Use const char * rather than casting to
3041 non-const.
3042
eadfad24
VS
30432013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * grub-core/commands/probe.c: Add missing grub_device_close.
3046
9f73ebd4
VS
30472013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * INSTALL: Document linguas.sh.
3050
965fa829
VS
30512013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 Remove POTFILES.in and regenerate it in autogen.sh.
3054
d417ddc4
VS
30552013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 Move --directory/--override-directorry to grub-install_header and unify.
3058
f97ec546
VS
30592013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 * grub-core/term/morse.c: Macroify dih and dah.
3062
b2d7470c
PFS
30632013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3064
3065 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
3066
141e2a78
VS
30672013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/term/ns8250.c: Systematically probe ports by writing
3070 to SR before using them.
3071
1dd70ebd
PFS
30722013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3073
3074 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
3075 disks.
3076 (check_sas): Get sas_adress info.
3077
c796a107
VS
30782013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
3081 ports.
3082
43168646
LD
30832013-04-27 Leon Drugi <eyak>
3084
3085 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
3086 BSS clearing.
3087
e7b8fd08
VS
30882013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 Core compression test.
3091
17f9fd29
VS
30922013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 Implement grub_machine_get_bootlocation for ARC.
3095
dc2a6c8b
VS
30962013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 Improve AHCI detection and command issuing.
3099
f25a2ba6
VS
31002013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 Fix pseries test.
3103
a6393224
VS
31042013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 Make 'make check' work on emu.
3107
db99fbe8
VS
31082013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 Replace libcurses with our own vt100 handling for the ease of testing
3111 and decreasing prerequisites.
3112
b24ca7cd
VS
31132013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
3116
63314aa4
VS
31172013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
3120 compile when not needed.
3121
c1b00fff
VS
31222013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * tests/pseries_test.in: New test.
3125
f93e89ef
VS
31262013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 Add test to check that different boot mediums work.
3129
c4b456d3
VS
31302013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
3133 ofw limited ISO support.
3134
5fe67f39
VS
31352013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * configure.ac: Fix loongson conditional.
3138
7f63a64f
VS
31392013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 Enable mipsel-arc.
3142
b04b5990
VS
31432013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 Add serial on ARC platform.
3146
88d2f302
VS
31472013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3148
3149 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
3150 commit.
3151
86eb23bc
VS
31522013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 * tests/partmap_test.in: Add missing double semicolon.
3155
eec3bb75
VS
31562013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * util/grub-mkrescue.in: Fix loongson filename.
3159
e0810df3
VS
31602013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 * util/grub-mkrescue.in: Move all files that don't have a location
3163 set in stone under /boot/grub. Use ISO hard links rather than copies
3164 to save some space.
3165
65a6b30b
VS
31662013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
3169 bogus SLOF values.
3170
6aff0107
VS
31712013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 Make check work on mips-arc.
3174
5e013e56
VS
31752013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * util/grub-mkrescue.in: Alias sashARCS as sash.
3178
d1989e2e
VS
31792013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
3182 it's serial.
3183
1a25e72c
VS
31842013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * util/grub-install.in: Fix target fo qemu_mips.
3187 Fix extension on EFI.
3188
a59a9826
VS
31892013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
3192 in front of chosen entry to mark it even if highlighting is lost.
3193
1a40f80c
VS
31942013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
3197 gfxpayload=keep if cbfb is active.
3198
e343549c
VS
31992013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
3202
45fbd9a2
VS
32032013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 Add missing video ids to coreboot and ieee1275 video.
3206
ab1440bd
VS
32072013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * util/grub-mkrescue.in: Add mips-arc support.
3210
cdeb8324
VS
32112013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
3214
8528c879
VS
32152013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 Move mips-arc link address. Previous link address was chosen
3218 in belief that RAM on SGI platforms grows down while in fact it
3219 grows up from an unusual base.
3220
17fca573
VS
32212013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
3224 Fix a type which prevented CD-ROM and floppy boot.
3225
d178788e
VS
32262013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 Support coreboot framebuffer.
3229
3230 * grub-core/video/i386/coreboot/cbfb.c: New file.
3231
fe4c3e7e
VS
32322013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
3235 detecting too small regions.
3236
ec2dd179
VS
32372013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
3240
872dac83
VS
32412013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
3244 Remove dprintf.
3245 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
3246
90ec4b7f
VS
32472013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
3250 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
3251 * grub-core/loader/powerpc/ieee1275/linux.c
3252 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
3253
f32555dd
VS
32542013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
3257 Look for /boot-rom as well as /rom/boot-rom.
3258
38649799
VS
32592013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
3262 handling when creating text_layer failed.
3263 * grub-core/video/video.c (grub_video_create_render_target):
3264 Set result to 0 on error.
3265 (grub_video_delete_render_target): Do not dereference NULL.
3266
aeace7f7
VS
32672013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
3270 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
3271 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
3272 (grub_linux_load64): Mask out 2 high bits.
3273
4eafa175
AB
32742013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
3275
3276 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
3277 more place.
3278
daaa64bd
VS
32792013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 Add support for pseries and other bootinfo machines to grub-mkrescue.
3282
3283 Tested by: Paulo Flabiano Smorigo.
3284
d0d2daa6
VS
32852013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * util/grub-mkrescue.in: Add GPT for EFI boot.
3288
b193e100
VS
32892013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
3292 It improves performance in qemu.
3293
a0f8f3ac
VS
32942013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * build-aux/snippet: Add missing gnulib files.
3297
284df0e2
AB
32982013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
3299
3300 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
3301
740201f3
AB
33022013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
3303
3304 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
3305
a7e03923
PJ
33062013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
33072013-04-15 Peter Jones <pjones@redhat.com>
3308
3309 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
3310 sectors.
3311 Based on patch by Peter Jones.
3312
25fc51a8
VS
33132013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 Fix DMRAID partition handling.
3316
88017d47
VS
33172013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * tests/grub_cmd_date.in: Skip on sparc64.
3320
fa7d914e
VS
33212013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
3324 firmware error messages.
3325
cbe57a48
VS
33262013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
3329 source and destination differ.
3330
21aecce0
VS
33312013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
3334 detection.
3335
25092d29
VS
33362013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
3339 match config-util.h to avoid warnings and increase compatibility.
3340
79451522 33412013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 33422013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
3343
3344 Add option to compress files on install/image creation.
3345
78b7d77b
VS
33462013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * docs/grub-dev.texi: Rearrange menu to match the section order.
3349 Reported by: Bryan Hundven.
3350
cc2fa5ec
VS
33512013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
3354
b49fe879
VS
33552013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3356
3357 Move GRUB out of system area when using xorriso 1.2.9 or later.
3358
5351da81
VS
33592013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 * tests/grub_cmd_date.in: Add missing exit 1.
3362
c9d586ea
VS
33632013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * tests/partmap_test.in: Skip on sparc64.
3366
3f729741
VS
33672013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 Support grub-shell on sparc64.
3370
8ca86b3a
VS
33712013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 Support mkrescue on sparc64.
3374
aa1af9bb
VS
33752013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 Allow IEEE1275 ports on path even if it wasn't detected automatically.
3378 Needed on OpenBIOS due to incomplete device tree.
3379
ac4fea79
VS
33802013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
3383 would be otherwise excluded.
3384
33852013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
3386
3387 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
3388 Inline name defines used only once.
3389
fe22b071
VS
33902013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 Fix memory leaks in ofnet.
3393 Reported by: Francesco Lavra.
3394
9d21381b
VS
33952013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * docs/man/grub-glue-efi.h2m: Add missing file.
3398
07aec23c
VS
33992013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
3402
67ab8353
VS
34032013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 Better support Apple Intel Macs on CD.
3406
ba44ca6d
VS
34072013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 Replace stpcpy with grub_stpcpy in tools.
3410
bbdd6305
VS
34112013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 Handle Japanese special keys.
3414 Reported by: Hiroyuki YAMAMORI.
3415 Codes supplied by: Hiroyuki YAMAMORI.
3416
8573d302
VS
34172013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * util/grub-mkimage.c: Document memdisk implying --prefix.
3420
d70dbab7
VS
34212013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
3424 much we can do about it anyway.
3425
51a4c3e3
AN
34262013-04-12 Aleš Nesrsta <starous@volny.cz>
3427
3428 Fix handling of split transfers.
3429
92c8f58d
VS
34302013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 * grub-core/net/http.c: Fix bad free.
3433
b7d17a49
VS
34342013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
3437 than buffer size.
3438
a3d566d4
VS
34392013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3440
3441 Disable partmap check on i386-ieee1275 due to openfirmware issues.
3442
a936af56
VS
34432013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 * tests/util/grub-shell.in: Fix it on powerpc.
3446
51212234
VS
34472013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 Turn off QEMU ACPI-way since new releases don't have shutdown port
3450 anymore.
3451
a21eec9e
VS
34522013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 * docs/grub.texi: Update coreboot status info.
3455
e3734b84
VS
34562013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * tests/grub_cmd_date.in: New test for datetime.
3459
f9d40055
VS
34602013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 * tests/partmap_test.in: Fix missing qemudisk setting.
3463
dbc56d8f
VS
34642013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 Support i386-ieee1275 grub-mkrescue and make check on it.
3467
a79b8a15
VS
34682013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
3471 feature for it.
3472
48f39bb4
VS
34732013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
3476 GRUB_CMDLINE_XEN_DEFAULT.
3477 Reported by: Marc Warne (GigaTux) <gigatux>
3478
053cfcdd
VS
34792013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 Import new gnulib.
3482
93cd84df
VS
34832013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 Use ACPI shutdown intests as traditional port was removed.
3486
f4b1fa4f
AB
34872013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
3488
3489 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
3490 distinction.
3491
49818a59
VS
34922013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
3495 Fix few warining messages and leaks while on it.
3496
9277a306
AB
34972013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
3498
3499 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
3500 links under grub-core/lib/libgcrypt-grub/mpi.
3501
d5e2a158
VS
35022013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 Fix ia64-efi image generation on big-endian machines. Deduplicate
3505 some code while on it.
3506 Reported by: Leif Lindholm.
3507
18866643
AB
35082013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3509
3510 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
3511 as extra_dist.
3512
ca53deb8
AB
35132013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3514
3515 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
3516
d4c4b8e1
BH
35172013-04-08 Bryan Hundven <bryanhundven@gmail.com>
3518
3519 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
3520 texinfo-5.1.
3521
47043f95
VS
35222013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * grub-core/normal/term.c: Few more fixes for menu entry editor
3525 rendering.
3526 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3527
a3216068
VS
35282013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * grub-core/normal/term.c: Few more fixes for menu entry editor
3531 rendering.
3532 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3533
21026747
AB
35342013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3535
3536 * conf/Makefile.extra-dist (EXTRA_DIST): Add
3537 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
3538
59624ca8
AB
35392013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3540
3541 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
3542 instead of hardcoding grub.mo.
3543
1f44478c
FN
35442013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
3545
3546 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
3547
eeada7b1
VS
35482013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
3551 grub-core/disk/geli.c.
3552
132867de
VS
35532013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 * util/grub-mkfont.c: Prefer enum to #define.
3556
de73de17
VS
35572013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
3560
1865baa7
VS
35612013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
3564
ce7d92a9
VS
35652013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
3568
52eab656
VS
35692013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
3572
98b23b95
VS
35732013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * include/grub/bsdlabel.h: Use enums.
3576
0467a5dd
VS
35772013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 Move GRUB_CHAR_BIT to types.h.
3580
16cc9f03
AB
35812013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3582
3583 * docs/grub.texi: Document more user commands.
3584
3152aecb
AB
35852013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3586
3587 * docs/grub.texi: Document menuentry --id option.
3588
c506fc30
FL
35892013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
3590
3591 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
3592
aa428238
VS
35932013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 Unify file copying setup across different install scripts. Add
3596 options for performing partial install.
3597
efe0cdda
PJ
35982013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
35992013-04-04 Peter Jones <pjones@redhat.com>
3600
3601 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
3602
f75835bd
VS
36032013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 Use TSC as a possible time source on i386-ieee1275.
3606
2cd5ce6c
VS
36072013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
3610 Init err.
3611
c9625630
VS
36122013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * util/grub-setup.c (setup): Handle some corner cases.
3615
be008941
VS
36162013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
3619
1a78d573
VS
36202013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 * grub-core/commands/verify.c: Save verified file to avoid it being
3623 tampered with after verification was done.
3624
db8ff59f
VS
36252013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
3628 reported width by one to compensate for curesor algorithm problem.
3629
91bf46b1
VS
36302013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 Fix screen corruption in menu entry editor and simplify the code
3633 flow while on it.
3634
a7b1d693
AB
36352013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
3636
3637 * util/grub-mount.c (fuse_init): Return error if fuse_main
3638 failed.
3639
31df9ad8
FL
36402013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
3641
3642 * include/grub/elf.h: Add missing ARM relocation codes and fix
3643 existing ones.
3644
07f392eb
VT
36452013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3646
3647 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
3648
9efd73ec 36492013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
36502013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
3653 into account when calculating radius.
3654
36552013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
3656
3657 * grub-core/gfxmenu/view.c: Fix off-by-one error.
3658
4985ddaa
VT
36592013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3660
3661 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
3662
8c3635ff
RS
36632013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3664
3665 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
3666 missing closing bracket.
3667
74a35e69
RS
36682013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3669
3670 * INSTALL: Mention xorriso requirement.
3671
40f1c000
AB
36722013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
3673
3674 * grub-core/commands/verify.c: Fix hash algorithms values for
3675 the first three hashes - they start with 1, not with 0.
3676
e75fdee4
VS
36772013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
3680 Try terminating EFI services several times due to quirks in some
3681 implementations.
3682
33028f4c
CW
36832013-03-26 Colin Watson <cjwatson@ubuntu.com>
3684
3685 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
3686 skipping Event, Device, Processor, PowerRes, ThermalZone, and
3687 BankField extended opcodes.
3688 (get_sleep_type): Add minimal scope handling (just enough to
3689 handle setting the scope to the root path).
3690 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
3691 * include/grub/acpi.h: Add enumeration values for Event, Device,
3692 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
3693
33871a10
VT
36942013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
3695
3696 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
3697 memory leak.
3698
8990963a
VS
36992013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 * grub-core/disk/ahci.c: Give more time for AHCI request.
3702
daae8f9e
VS
37032013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3704
3705 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
3706 command.
3707
6a7fb94b
VS
37082013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 Replace the region at 0 from coreboot tables to available in BSD
3711 memory map.
3712
ff99babd
VS
37132013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3714
3715 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
3716 non-BIOS platforms.
3717
30d6b1b2
VS
37182013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
3721 platforms.
3722
6ccd0b31
VS
37232013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
3726 handling of multi-device filesystems.
3727
23c9cc04
VS
37282013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
3731 platforms.
3732
ce50dbd7
VS
37332013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 Add new 'proc' filesystem framework and put luks_script into it.
3736
d975e8d5
VS
37372013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
3740 and qemu.
3741
e73ba5e8
VS
37422013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
3745
92750e4c
VS
37462013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 Add ability to generate newc additions on runtime.
3749
0ec45a68
VS
37502013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
3753 description.
3754
320abd43
VS
37552013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * po/POTFILES.in: Regenerate.
3758
d7a6506e
VS
37592013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * grub-core/commands/verify.c (hashes): Add several hashes
3762 from the spec.
3763
8fe05def
VS
37642013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 Slight improve in USB-related boot-time checkpoints.
3767
524e2766
VS
37682013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * grub-core/commands/boottime.c: Fix copyright header.
3771
cc19857a
VS
37722013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
3775 coreboot tables content. Support for cbmemc.
3776
ef8810e9
VS
37772013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 Fix a conflict between ports structures with 2 controllers of
3780 same kind.
3781
e9dabdfa
VS
37822013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 * include/grub/boottime.h: Add missing file.
3785
f6df57d2
VS
37862013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 Initialize USB ports in parallel to speed-up boot.
3789
d745dda7
VS
37902013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3791
3792 Fix USB devices not being detected when requested
3793 due to delayed attach.
3794
e5a2dd7b
VS
37952013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3796
e744219b
VS
3797 Implement boot time analysis framework.
3798
37992013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3800
3801 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
3802 descriptor to just receive it as argument rather than endpoint
3803 address.
3804
5dd6f587
VS
38052013-03-19 Aleš Nesrsta <starous@volny.cz>
3806
3807 Better estimate the maximum USB transfer size.
3808
2f1071d5
VS
38092013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 Resend a packet if we got the wrong buffer in status.
3812
46ecfc49
VS
38132013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
3816 multiplication rather than division.
3817
ea811130
VS
38182013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
3821 than divisions.
3822
d2789cf0
VS
38232013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
3826 operations to have intended shifts and not divisions.
3827
a9c94590
VS
38282013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
3831 intended shifts rather than division.
3832
84cfe81b
VS
38332013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
3836 computation for some years before epoch. Avode confusing division
3837 while on it.
3838
21344ef6
VS
38392013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * grub-core/video/i386/pc/vbe.c
3842 (grub_video_vbe_print_adapter_specific_info): Replace division by
3843 shifts.
3844
3f2b4d1a
VS
38452013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3846
3847 Adjust types in gdb module to have intended unsigned shifts rather than
3848 signed divisions.
3849
3dac5878
VS
38502013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
3853 maximum size is 4G - 1 on hfs
3854
5341c0fb
VS
38552013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3856
3857 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
3858
fc3ff2a2
VS
38592013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
3862 function.
3863
81455e8e
AB
38642013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
3865
3866 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
3867 causing gcc error with gcc 4.7.1.
3868
efd4f117
NZ
38692013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3870
3871 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
3872 dereference null pointer. While the code is technically correct, gcc
3873 may eliminate a null check if pointer is already dereferenced.
3874
e11645f4
NZ
38752013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3876
3877 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
3878 OOM check.
3879 * grub-core/normal/term.c (read_terminal_list): Likewise.
3880
77468368
VS
38812013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 Lift up core size limits on some platforms. Fix potential memory
3884 corruption with big core on small memory systems. Document remaining
3885 limits.
3886
f6b58fe5
VS
38872013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
3890 gotoxy to 0,0.
3891
19ce697d
VS
38922013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 Remove all trampoline support. Add -Wtrampolines when
3895 present. Remove symbols used for trampolines to make
3896 link fail if trampolines are present.
3897
73b5d90f
VS
38982013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
3901 append out of its parent.
3902
cb758e96
VS
39032013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
3906 parent.
3907
3188131f
VS
39082013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
3911 all vars to a macro. All users updated.
3912
e42b2514
VS
39132013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * grub-core/disk/ieee1275/nand.c: Fix compilation on
3916 i386-ieee1275.
3917
83e1a1a1
VS
39182013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
3921
1d5a880f
VS
39222013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
3925
6e4146c4
VS
39262013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 Move to more hookless approach in IEEE1275 devices handling.
3929
99fcda8a
VS
39302013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * grub-core/kern/term.c (grub_term_normal_color),
3933 (grub_term_highlight_color): Add back lost defaults.
3934
73bf57e2
VS
39352013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 Make elfload not use hooks. Opt for flags and iterators instead.
3938
7f8c105f
VS
39392013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
3942 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
3943
396d4091
VS
39442013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * grub-core/script/execute.c (gettext_append): Remove nested functions.
3947
39482013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
3951 hook pass-through parameter. All users updated and unnested.
3952
74a27421
VS
39532013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
3956 out of its parent.
3957
b46d4213
VS
39582013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/fs/hfs.c: Remove nested functions.
3961
e114c3cc
VS
39622013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
3965 the context through.
3966 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
3967
f9b7d780
VS
39682013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * util/grub-editenv.c (list_variables): Move print_var out of its
3971 parent.
3972
ca9c2608
VS
39732013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
3976 function.
3977
5d983f5f
VS
39782013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * grub-core/gentrigtables.c: Make tables const.
3981
3056d3e7
VS
39822013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 Remove nested functions from videoinfo iterators.
3985
e2303774
VS
39862013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
3989 for 64-bit platforms.
3990
f42e3a2f
VS
39912013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
3994 a FOR_CHILDREN macro.
3995
be174e5e
VS
39962013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
3999 platform from firmware path.
4000
0789b672
VS
40012013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 Enable linux16 on non-BIOS systems for i.a. memtest.
4004
4005 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
4006 correctly.
4007 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
4008
005a9c32
VS
40092013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
4012 Fix end of table condition.
4013
ff2b3cd9
VS
40142013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
4017 out of its parent.
4018
4fc40ff8
VS
40192013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 * grub-core/fs/jfs.c: Remove nested functions.
4022
be42d97a
VS
40232013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 * grub-core/fs/minix.c: Remove nested functions.
4026
99373ce4
VS
40272013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 * grub-core/fs/iso9660.c: Remove nested functions.
4030
5aec2afe
VS
40312013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
4034 of parent function.
4035
6c69e691
VS
40362013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * util/grub-fstest.c: Remove nested functions.
4039
43c91882
VS
40402013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 * grub-core/loader/machoXX.c: Remove nested functions.
4043
4eb8b756
CW
40442013-02-27 Colin Watson <cjwatson@ubuntu.com>
4045
4046 Remove nested functions from disk and file read hooks.
4047
4048 * include/grub/disk.h (grub_disk_read_hook_t): New type.
4049 (struct grub_disk): Add read_hook_data member.
4050 * include/grub/file.h (struct grub_file): Likewise.
4051 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
4052 argument.
4053
4054 Update all callers.
4055
df6da5a5
AB
40562012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
4057
4058 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
4059 Fix off by one error in enumerating extended partitions.
4060
21aecde5
AB
40612013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
4062
4063 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
4064 memory leak if device name is not found.
4065
f1a19118
AB
40662013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4067
4068 * grub-core/normal/menu_entry.c (update_screen): remove
4069 unused variable `off' which caused scroll down arrow to be always shown.
4070
958bfd20
AB
40712013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4072
4073 * grub-core/normal/menu_entry.c (insert_string): fix off by one
4074 access to unallocated memory.
4075
b7b78edb
AB
40762013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4077
4078 * Makefile.util.def: Add partmap/msdos.c to common library.
4079 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
4080 * grub-core/disk/ldm.c: Check for existence of
4081 GRUB_PC_PARTITION_TYPE_LDM.
4082
28d468d6
VS
40832013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
4086 sizes and display sector size.
4087
d55ffb02
VS
40882013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 Implement new command cmosdump.
4091
b5ea6ce0
VS
40922013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4093
4094 Support Openfirmware disks with non-512B sectors.
4095
4096 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
4097 size of the disk.
4098 * (grub_ofdisk_get_block_size): New function.
4099 * (grub_ofdisk_prepare): Use the correct block size.
4100 * (grub_ofdisk_read): Likewise.
4101 * (grub_ofdisk_write): Likewise.
4102 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
4103 New proto.
4104
cc0e476f
VS
41052013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
4108
c5dbdc33
VS
41092013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4110
4111 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
4112 on first error.
4113
3f078c0f
VS
41142013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4115
4116 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
4117 freeing it.
4118
66a93674
VS
41192013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 Implement USBDebug (full USB stack variant).
4122
c9f0c134
VS
41232013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
4126 unless they have unexpected values.
4127
cfe1288b
VS
41282013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
4131 grub_print_error.
4132
e42b9969
VS
41332013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
4136 zero-out of port structure.
4137
cf94fd62
VS
41382013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
4141 of extended attributes.
4142
f81ef4b5
AB
41432013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
4144
4145 * util/grub-install.in: change misleading comment about
4146 device.map creation
4147
af18fdb4
VS
41482013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
4151 when menu highlight color isn't set.
4152
08bcec50
M
41532013-01-27 C. Masloch <pushbx@38.de>
4154
4155 Improve FreeDOS direct loading support compatibility.
4156
4157 * include/grub/i386/relocator.h (grub_relocator16_state):
4158 New member ebp.
4159 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
4160 variable.
4161 (grub_relocator16_boot): Handle %ebp.
4162 * grub-core/lib/i386/relocator16.S: Likewise.
4163 * grub-core/loader/i386/pc/freedos.c:
4164 Load BPB to pass kernel which partition to load from.
4165 Check that kernel file is not too large.
4166 Set register dl to BIOS unit number as well.
4167
7782b8a6
CW
41682013-01-22 Colin Watson <cjwatson@ubuntu.com>
4169
4170 * util/grub-reboot.in (usage): Document the need for
4171 GRUB_DEFAULT=saved.
4172 * util/grub-set-default.in (usage): Likewise.
4173 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
4174
e661c180
VS
41752013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
4178 than defining WORDS_BIGENDIAN manually.
4179
1c22ca9a
VS
41802013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
4183 invariants.
4184
d44892fe
CW
41852013-01-21 Colin Watson <cjwatson@ubuntu.com>
4186
4187 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
4188 nested.
4189 (blit_comb: add_device_width): Likewise.
4190
5fdbaed1
CW
41912013-01-21 Colin Watson <cjwatson@ubuntu.com>
4192
4193 Remove nested functions from USB iterators.
4194
4195 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
4196 (grub_usb_controller_iterate_hook_t): Likewise.
4197 (grub_usb_iterate): Add hook_data argument.
4198 (grub_usb_controller_iterate): Likewise.
4199 (struct grub_usb_controller_dev.iterate): Likewise.
4200
4201 Update all implementations and callers.
4202
4250985a
VS
42032013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
4206 margin when not needed.
4207
7d8848f3
VS
42082013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4209
bc136973 4210 Make color variables global instead of it being per-terminal.
7d8848f3
VS
4211
42122013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4213
bc136973
VS
4214 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
4215 asterisk.
7d8848f3 4216
ed12a003
CW
42172013-01-21 Colin Watson <cjwatson@ubuntu.com>
4218
4219 Fix powerpc and sparc64 build failures caused by un-nesting memory
4220 map iterators.
4221
6a0db449
CW
42222013-01-21 Colin Watson <cjwatson@ubuntu.com>
4223
4224 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
4225 parameter declarations.
4226
ccd86b21
VS
42272013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
4230
822b726b
VS
42312013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 Improve spkmomdem reliability by adding a separator between bytes.
4234
115c2cc1
CW
42352013-01-21 Colin Watson <cjwatson@ubuntu.com>
4236
4237 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
4238 an Acer registration utility with several sightings in the wild.
4239 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
4240
fc524edf
CW
42412013-01-21 Colin Watson <cjwatson@ubuntu.com>
4242
4243 Remove nested functions from filesystem directory iterators.
4244
4245 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
4246 (struct grub_fs.dir): Add hook_data argument.
4247
4248 Update all implementations and callers.
4249
53d3e4e3
CW
42502013-01-21 Colin Watson <cjwatson@ubuntu.com>
4251
4252 * docs/grub.texi (Multi-boot manual config): Fix typo for
4253 "recommended".
4254
c821711f
LL
42552013-01-20 Leif Lindholm <leif.lindholm@arm.com>
4256
4257 * util/grub-mkimage.c (main): Postpone freeing arguments.output
4258 until after its use in generate_image.
4259
6a0debbd
CW
42602013-01-20 Colin Watson <cjwatson@ubuntu.com>
4261
4262 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
4263 initrd size to addr_min, since the initrd will be allocated after
4264 this address.
4265
f41e08db
AB
42662013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
4267
4268 * conf/Makefile.common: Fix autogen rules to pass definition
4269 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
4270
77529e0f
LL
42712013-01-20 Leif Lindholm <leif.lindholm@arm.com>
4272
4273 * include/grub/elf.h: Update ARM definitions based on binutils.
4274
b879aa7b
VS
42752013-01-20 Aleš Nesrsta <starous@volny.cz>
4276
4277 Split long USB transfers into short ones.
4278
8eb8284d
AB
42792013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
4280
4281 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
4282 is interrupted by ESC.
4283
08dad2dc
VS
42842013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * util/grub-script-check.c (main): Uniform the error message.
4287
6c724b85
CW
42882013-01-20 Colin Watson <cjwatson@ubuntu.com>
4289
4290 Remove nested functions from ELF iterators.
4291
25239370
CW
42922013-01-20 Colin Watson <cjwatson@ubuntu.com>
4293
4294 Remove nested functions from device iterators.
4295
4296 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
4297 (grub_arc_iterate_devs): Add hook_data argument.
4298 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
4299 (struct grub_ata_dev.iterate): Add hook_data argument.
4300 * include/grub/device.h (grub_device_iterate_hook_t): New type.
4301 (grub_device_iterate): Add hook_data argument.
4302 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
4303 (struct grub_disk_dev.iterate): Add hook_data argument.
4304 (grub_disk_dev_iterate): Likewise.
4305 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
4306 Likewise.
4307 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
4308 Likewise.
4309 * include/grub/partition.h (grub_partition_iterate_hook_t): New
4310 type.
4311 (struct grub_partition_map.iterate): Add hook_data argument.
4312 (grub_partition_iterate): Likewise.
4313 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
4314 (struct grub_scsi_dev.iterate): Add hook_data argument.
4315
4316 Update all callers.
4317
6c0314d6
CW
43182013-01-20 Colin Watson <cjwatson@ubuntu.com>
4319
4320 Fix typos for "developer" and "development".
4321
600dc5f1
VS
43222013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 Add license header to spkmodem-recv.c.
4325
17334a6b
VS
43262013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 Rewrite spkmodem to use PIT for timing. Double the speed.
4329
7d462559
VS
43302013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 Add new command pcidump.
4333
b78d6c32
VS
43342013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 New terminal outputs using serial: morse and spkmodem.
4337
34f71cb8
VS
43382013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 Improve bidi handling in entry editor.
4341
4542e71b
VS
43422013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4345 argument to prevent name collision.
4346
09fd6d82
CW
43472013-01-15 Colin Watson <cjwatson@ubuntu.com>
4348
4349 Remove nested functions from script reading and parsing.
4350
4351 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
4352 getline_data argument, passed to getline.
4353 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
4354 getline_data argument, passed to grub_parser_split_cmdline.
4355 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
4356 lexerstate->getline_data to lexerstate->getline.
4357 (grub_script_lexer_init): Add getline_data argument, saved in
4358 lexerstate->getline_data.
4359 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
4360 argument, passed to grub_script_parse.
4361 * grub-core/script/script.c (grub_script_parse): Add getline_data
4362 argument, passed to grub_script_lexer_init.
4363 * include/grub/parser.h (grub_parser_split_cmdline): Update
4364 prototype. Update all callers to pass appropriate getline data.
4365 (struct grub_parser.parse_line): Likewise.
4366 (grub_rescue_parse_line): Likewise.
4367 * include/grub/reader.h (grub_reader_getline_t): Add void *
4368 argument.
4369 * include/grub/script_sh.h (struct grub_lexer_param): Add
4370 getline_data member.
4371 (grub_script_parse): Update prototype. Update all callers to pass
4372 appropriate getline data.
4373 (grub_script_lexer_init): Likewise.
4374 (grub_normal_parse_line): Likewise.
4375
4376 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
4377 data argument.
4378 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
4379 static instead of nested. Rename to ...
4380 (grub_parser_execute_getline): ... this.
4381 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
4382 data argument.
4383 * grub-core/normal/main.c (read_config_file: getline): Make static
4384 instead of nested. Rename to ...
4385 (read_config_file_getline): ... this.
4386 (grub_normal_read_line): Add unused data argument.
4387 * grub-core/script/execute.c (grub_script_execute_sourcecode:
4388 getline): Make static instead of nested. Rename to ...
4389 (grub_script_execute_sourcecode_getline): ... this.
4390 * util/grub-script-check.c (main: get_config_line): Make static
4391 instead of nested.
4392
d0d4b8a0
CW
43932013-01-15 Colin Watson <cjwatson@ubuntu.com>
4394
4395 Remove nested functions from memory map iterators.
4396
4397 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
4398 argument, passed to hook.
4399 * grub-core/kern/i386/coreboot/mmap.c
4400 (grub_linuxbios_table_iterate): Likewise.
4401 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
4402 instead of nested.
4403 (grub_machine_mmap_iterate): Add hook_data argument.
4404 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
4405 Add hook_data argument, passed to hook.
4406 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
4407 Likewise.
4408 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4409 Likewise.
4410 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
4411 Likewise.
4412 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
4413 Likewise.
4414 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
4415 Likewise.
4416 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
4417 Likewise.
4418 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
4419 (grub_machine_mmap_iterate): Likewise.
4420 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
4421 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
4422 prototype.
4423 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
4424 Remove NESTED_FUNC_ATTR from here and from all users.
4425 (grub_mmap_iterate): Update prototype.
4426 (grub_efi_mmap_iterate): Update prototype. Update all callers to
4427 pass appropriate hook data.
4428 (grub_machine_mmap_iterate): Likewise.
4429
4430 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
4431 static instead of nested.
4432 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
4433 Rename to ...
4434 (lsmmap_hook): ... this.
4435 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
4436 Likewise.
4437 (grub_efiemu_mmap_fill: fill_hook): Likewise.
4438 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
4439 heap_init): Likewise.
4440 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
4441 Rename to ...
4442 (mmap_iterate_hook): ... this.
4443 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
4444 Likewise.
4445 * grub-core/lib/ieee1275/relocator.c
4446 (grub_relocator_firmware_get_max_events: count): Likewise.
4447 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
4448 to ...
4449 (grub_relocator_firmware_fill_events_iter): ... this.
4450 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
4451 hook): Likewise. Rename to ...
4452 (grub_relocator_alloc_chunk_align_iter): ... this.
4453 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
4454 Rename to ...
4455 (generate_e820_mmap_iter): ... this.
4456 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
4457 Rename to ...
4458 (count_hook): ... this.
4459 (grub_linux_boot: hook): Likewise. Rename to ...
4460 (grub_linux_boot_mmap_find): ... this.
4461 (grub_linux_boot: hook_fill): Likewise. Rename to ...
4462 (grub_linux_boot_mmap_fill): ... this.
4463 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
4464 hook): Likewise. Rename to ...
4465 (grub_fill_multiboot_mmap_iter): ... this.
4466 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
4467 hook): Likewise. Rename to ...
4468 (count_hook): ... this.
4469 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
4470 hook): Likewise. Rename to ...
4471 (grub_fill_multiboot_mmap_iter): ... this.
4472 * grub-core/loader/powerpc/ieee1275/linux.c
4473 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
4474 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
4475 Likewise. Rename to ...
4476 (alloc_phys_choose): ... this.
4477 (determine_phys_base: get_physbase): Likewise.
4478 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
4479 find_hook): Likewise.
4480 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
4481 (malloc_hook: count_hook): Likewise.
4482 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
4483 Likewise. Rename to ...
4484 (lower_hook): ... this.
4485 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4486 (upper_hook): ... this.
4487 (grub_mmap_get_post64: hook): Likewise. Rename to ...
4488 (post64_hook): ... this.
4489 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
4490 Likewise. Rename to ...
4491 (lower_hook): ... this.
4492 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4493 (upper_hook): ... this.
4494 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
4495 (grub_mmap_iterate: fill_hook): Likewise.
4496 (fill_mask): Pass addr and mask within a single struct.
4497 (grub_cmd_badram: hook): Make static instead of nested. Rename
4498 to ...
4499 (badram_iter): ... this.
4500 (grub_cmd_cutmem: hook): Likewise. Rename to ...
4501 (cutmem_iter): ... this.
4502
22099030
VS
45032013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
4506 delimit path in strings using quotes.
4507 * util/getroot.c (grub_guess_root_devices): Likewise.
4508 (grub_make_system_path_relative_to_its_root): Likewise.
4509 * util/grub-probe.c (probe): Likewise.
4510 * util/ieee1275/ofpath.c (find_obppath): Likewise.
4511 (xrealpath): Likewise.
4512
4a9950ec
VS
45132013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 Fix compilation with older compilers.
4516
4517 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
4518 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
4519 declarations.
4520 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
4521 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
4522 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
4523 identifier with b.
4524 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
4525 * include/grub/crypto.h: Add type defines.
4526 * util/import_gcrypth.sed: Remove duplicate type defines.
4527
adcc6020
VS
45282013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 New command list_trusted.
4531
4532 * grub-core/commands/verify.c (grub_cmd_list): New function.
4533
a4528937
CW
45342013-01-13 Colin Watson <cjwatson@ubuntu.com>
4535
4536 * util/grub-mkimage.c (generate_image): Fix "size of public key"
4537 info message.
4538
ca3a7446
CW
45392013-01-13 Colin Watson <cjwatson@ubuntu.com>
4540
4541 Remove nested functions from PCI iterators.
4542
4543 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
4544 passed to hook. Update all callers to pass appropriate hook data.
4545 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
4546 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
4547 Remove NESTED_FUNC_ATTR from here and from all users.
4548 (grub_pci_iterate): Update prototype.
4549 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
4550 instead of nested. Rename to ...
4551 (grub_cs5536_find_iter): ... this.
4552 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
4553 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
4554 Likewise.
4555 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
4556 Likewise.
4557 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
4558 Likewise.
4559 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
4560 Likewise.
4561 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
4562 * grub-core/video/radeon_fuloong2e.c
4563 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
4564 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
4565 find_card): Likewise.
4566 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
4567 Likewise.
4568
f8e98fee
VS
45692013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * grub-core/commands/verify.c: Mark messages for translating.
4572
055b36b6
VS
45732013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
4576 fatal.
4577
f7ff879b
VS
45782013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
4581 fatal.
4582
45832013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
4584
4585 * autogen.sh: Do not try to delete nonexistant files.
4586 * util/import_gcrypth.sed: Add some missing header removals.
4587
01323d49
CW
45882013-01-12 Colin Watson <cjwatson@ubuntu.com>
4589
4590 Clean up dangling references to grub-setup.
4591 Fixes Ubuntu bug #1082045.
4592
4593 * docs/grub.texi (Images): Refer generally to grub-install rather
4594 than directly to grub-setup.
4595 (Installing GRUB using grub-install): Remove direct reference to
4596 grub-setup.
4597 (Device map) Likewise.
4598 (Invoking grub-install): Likewise.
4599 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
4600 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
4601 * util/grub-install.in (usage): Likewise.
4602
4603 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
4604 Apply to grub-bios-setup and grub-sparc64-setup rather than to
4605 grub-setup.
4606 * configure.ac: Remove grub_setup output variable.
4607
4608 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
4609 to grub-bios-setup.
4610 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
4611 grub-setup to grub-sparc64-setup.
4612
5e3b8dcb
VS
46132013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 Import gcrypt public-key cryptography and implement signature checking.
4616
535714bd
VS
46172013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 * grub-core/fs/ntfs.c: Ue more appropriate types.
4620 * grub-core/fs/ntfscomp.c: Likewise.
4621 * include/grub/ntfs.h: Likewise.
4622
3e4f3566
VS
46232013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 Support Apple FAT binaries on non-Apple platforms.
4626
4627 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
4628 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
4629 Likewise.
4630 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
4631 Apple FAT binaries.
4632
4dedb13f
VS
46332013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
4636 sector devices.
4637
f8861eaf
CW
46382013-01-07 Colin Watson <cjwatson@ubuntu.com>
4639
4640 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
4641 explicitly zeroing elements.
4642 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
4643 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
4644 of elements in a structure already allocated using grub_zalloc.
4645 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
4646
86065b0a
CW
46472013-01-07 Colin Watson <cjwatson@ubuntu.com>
4648
4649 * docs/grub.texi (grub_cpu): New subsection.
4650 (grub_platform): Likewise.
4651
c6f1e92f
VS
46522013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
4655
f797ec85
VS
46562013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
4659 divisions.
4660
033d0b4b
VS
46612013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
4664 * grub-core/fs/ntfscomp.c: Likewise.
4665 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
4666 (grub_ntfs_comp): Likewise.
4667
21d1b9a0
VS
46682013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
4671 Rename to ...
4672 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
4673 of groups_per_block. All users updated.
4674
10ca8645
VS
46752013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
4678 grub_error properly.
4679 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
4680 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
4681
a4c3ed4c
VS
46822013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
4685 always in /boot/zfs.
4686 Reported by: Yuta Satoh.
4687
0b716507
YS
46882013-01-03 Yuta Satoh <nigoro>
4689
4690 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
4691 ${grub_probe}
4692
00c05e22
VS
46932013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * configure.ac: Extend -Wno-trampolines to host.
4696
dadddb76
VS
46972013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4698
4699 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
4700 entry->len = 0.
4701
54ce53ca
CW
47022013-01-03 Colin Watson <cjwatson@ubuntu.com>
4703
4704 * docs/grub.texi (Invoking grub-mkrelpath): New section.
4705 (Invoking grub-script-check): Likewise.
4706
8912efca
CW
47072013-01-03 Colin Watson <cjwatson@ubuntu.com>
4708
4709 * docs/grub.texi (Invoking grub-mount): New section.
4710 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
4711
c3fc8394
CW
47122013-01-02 Colin Watson <cjwatson@ubuntu.com>
4713
4714 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
4715 test failures, so that a failing unit test correctly causes 'make
4716 check' to fail.
4717
45d26abb
CW
47182013-01-02 Colin Watson <cjwatson@ubuntu.com>
4719
4720 Fix failing printf test.
4721
4722 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
4723 '$' in the correct order when collecting type information.
4724
971dd2c6
CW
47252013-01-02 Colin Watson <cjwatson@ubuntu.com>
4726
4727 * docs/grub.texi (configfile): Explain environment variable
4728 handling.
4729 (source): New section.
4730 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
4731
5c67ea6c
CW
47322012-12-31 Colin Watson <cjwatson@ubuntu.com>
4733
4734 Remove several trivially-unnecessary uses of nested functions.
4735
4736 * grub-core/commands/i386/pc/sendkey.c
4737 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
4738 instead of nested.
4739 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
4740 Rename to ...
4741 (legacy_file_getline): ... this.
4742 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
4743 Likewise.
4744 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
4745 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
4746 to ...
4747 (probe_dummy_iter): ... this.
4748 * grub-core/kern/i386/coreboot/mmap.c
4749 (grub_linuxbios_table_iterate: check_signature): Likewise.
4750 * grub-core/kern/parser.c (grub_parser_split_cmdline:
4751 check_varstate): Likewise. Mark inline.
4752 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
4753 an additional parameter.
4754 (find_long: fnd_long): Likewise. Pass two additional parameters.
4755 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
4756 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
4757 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
4758 Likewise. Rename to ...
4759 (grub_cmos_find_port_iter): ... this.
4760 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
4761 Rename to ...
4762 (find_rtc_iter): ... this.
4763
4764 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
4765 function directly into the function body, since it is only called
4766 once.
4767
33a68ac6
CW
47682012-12-30 Colin Watson <cjwatson@ubuntu.com>
4769
4770 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
4771 __attribute__ ((unused)).
4772 * grub-core/video/bochs.c (find_card): Likewise.
4773 * grub-core/video/cirrus.c (find_card): Likewise.
4774 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
4775 * grub-core/video/sis315pro.c (find_card): Likewise.
4776 * grub-core/video/sm712.c (find_card): Likewise.
4777
608b647a
CW
47782012-12-28 Colin Watson <cjwatson@ubuntu.com>
4779
4780 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
4781 Fixes Savannah bug #37821.
4782
fd49ceb3
CW
47832012-12-28 Colin Watson <cjwatson@ubuntu.com>
4784
4785 Apply program name transformations at build-time rather than at
4786 run-time. Fixes Debian bug #696465.
4787
4788 * acinclude.m4 (grub_TRANSFORM): New macro.
4789 * configure.ac: Create output variables with transformed names for
4790 most programs.
4791 * util/bash-completion.d/grub-completion.bash.in: Use
4792 pre-transformed variables for program names.
4793 * util/grub-install.in: Likewise.
4794 * util/grub-kbdcomp.in: Likewise.
4795 * util/grub-mkconfig.in: Likewise.
4796 * util/grub-mkconfig_lib.in: Likewise.
4797 * util/grub-mknetdir.in: Likewise.
4798 * util/grub-mkrescue.in: Likewise.
4799 * util/grub-mkstandalone.in: Likewise.
4800 * util/grub-reboot.in: Likewise.
4801 * util/grub-set-default.in: Likewise.
4802 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4803 * tests/util/grub-shell-tester.in: Remove unused assignment.
4804 * tests/util/grub-shell.in: Likewise.
4805 * util/grub.d/00_header.in: Likewise.
4806
7024b3c0
CW
48072012-12-28 Colin Watson <cjwatson@ubuntu.com>
4808
4809 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
4810
4811 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
4812 HAVE_RAW_DECL_GETS.
4813 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
4814
e3501b13
VS
48152012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
4818 Reported by: Eriks Latosheks <foresterlv>.
4819
b40c88a9
VS
48202012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * docs/grub.texi (Network): Update instructions on generating netboot
4823 image.
4824
ce96d01c
VS
48252012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
4828 around device name if necessarry.
4829
0f596201
PFS
48302012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4831
4832 * util/grub-install.in: Follow the symbolic link parameter added
4833 to the file command.
4834
600d5bdb
AB
48352012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
4836
4837 * util/grub-install.in: Remove stale TODO.
4838
64ebd2f4
PFS
48392012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4840
4841 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
4842 dynamic allocation for the bootpath buffer.
4843
74b2fe3e
DTB
48442012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
4845
4846 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
4847 window too small.
4848
969b804f
VS
48492012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
4852 argument rather than font name. All users updated.
4853 (grub_gfxterm_set_window): Likewise.
4854
b9f5ebd6
VT
48552012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4856
4857 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
4858 from working.
4859
258f43b7
VS
48602012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * util/getroot.c (convert_system_partition_to_system_disk): Support
4863 nbd disks.
4864
cc1ce5f9
VS
48652012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4866
4867 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
4868 infinite loop on corrupted FS.
4869
e77a16ca
VS
48702012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 Fix big-endian mtime.
4873
4874 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
4875 together sec and usec.
4876 (grub_ufs_dir): Use correct byteswapping for UFS time.
4877
d9c48c7b
VS
48782012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4879
4880 Support big-endian UFS1.
4881
4882 * Makefile.util.def (libgrubmods): Add ufs_be.c
4883 * grub-core/Makefile.core.def (ufs1_be): New module.
4884 * grub-core/fs/ufs_be.c: New file.
4885 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
4886 the file.
4887
2f9f40ba
LL
48882012-11-28 Leif Lindholm <leif.lindholm@arm.com>
4889
4890 * include/grub/types.h: Fix functionality unaffecting typo in
4891 GRUB_TARGET_WORDSIZE conditional macro.
4892
48ff0889
PFS
48932012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4894
4895 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
4896
03711240
GS
48972012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4898
4899 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
4900 that /netbsd appears first (when it exists).
4901
a31b11bd
CJ
49022012-10-12 Christoph Junghans <ottxor@gentoo.org>
4903
4904 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
4905 Fixes Savannah bug #37558.
4906
e8a5d5d4
CW
49072012-10-12 Colin Watson <cjwatson@ubuntu.com>
4908
4909 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
4910 description of extract_entries_configfile.
4911
49122012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
4913
4914 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
4915 preferred_address.
4916 (grub_cmd_linux): Likewise.
4917 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
4918 preferred_lifetime. Update all users.
4919
288c757d
CW
49202012-09-26 Colin Watson <cjwatson@ubuntu.com>
4921
4922 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
4923 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
4924
0d35da3f
CW
49252012-09-26 Colin Watson <cjwatson@ubuntu.com>
4926
4927 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
4928 errors from grub-probe to /dev/null, not stdout.
4929
b78c3127
VS
49302012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
4933 sector 1.
4934
473959f0
CW
49352012-09-24 Colin Watson <cjwatson@ubuntu.com>
4936
4937 * util/grub-install.in: Make the error message if $source_dir
4938 doesn't exist more useful.
4939
794c8c33
CW
49402012-09-22 Colin Watson <cjwatson@ubuntu.com>
4941
4942 Fix grub-emu build on FreeBSD.
4943
4944 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
4945 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
4946 headers on Linux.
4947 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
4948 implementation is currently Linux-specific.
4949 * util/getroot.c (exec_pipe): Define only on Linux or when either
4950 libzfs or libnvpair is unavailable.
4951 (find_root_devices_from_poolname): Remove unused path variable.
4952
86d08fdb
CW
49532012-09-19 Colin Watson <cjwatson@ubuntu.com>
4954
4955 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
4956 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
4957 should fit before end == 63.
4958
735abf54
CW
49592012-09-19 Colin Watson <cjwatson@ubuntu.com>
4960
4961 * util/grub-setup.c (write_rootdev): Remove unused core_img
4962 parameter. Update all callers.
4963 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
4964 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
4965 GRUB_SETUP_BIOS.
4966
140acd3c
VS
49672012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 * util/grub-mkconfig_lib.in (grub_tab): New variable.
4970 (grub_add_tab): New function.
4971 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
4972 * util/grub.d/10_illumos.in: Likewise.
4973 * util/grub.d/10_kfreebsd.in: Likewise.
4974 * util/grub.d/10_linux.in: Likewise.
4975 * util/grub.d/10_netbsd.in: Likewise.
4976 * util/grub.d/10_windows.in: Likewise.
4977 * util/grub.d/10_xnu.in: Likewise.
4978 * util/grub.d/20_linux_xen.in: Likewise.
4979 * util/grub.d/30_os-prober.in: Likewise.
4980
7ddffdad
VS
49812012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4984 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
4985 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
4986 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
4987 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
4988 ieee1275-nocursor.
4989 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
4990 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
4991
4e092454
VS
49922012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4993
4994 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
4995 le-conversion.
4996 Reported by: BURETTE, Bernard.
4997
735abf54 49982012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
4999
5000 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
5001 from comment.
5002
dfd39dbd
CW
50032012-09-14 Colin Watson <cjwatson@ubuntu.com>
5004
5005 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
5006 IEEE1275 machines. Fixes powerpc-emu compilation.
5007 * include/grub/terminfo.h: Likewise.
5008
3bfa763c
VS
50092012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
5012 a const pointer.
5013 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
5014 const pointer.
5015 (efiemu_set_variable): Make vendor_guid a const pointer.
5016
250e475b
VS
50172012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 Don't require grub-mkconfig_lib to generate manpages for programs.
5020
5021 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
5022 dependencies, don't add grub-mkconfig_lib.
5023 (program): Pass empty adddeps.
5024 (script): Pass grub-mkconfig_lib as adddeps.
5025
592fd0e4
VS
50262012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
5029 * util/getroot.c (grub_find_device): Likewise.
5030 (get_mdadm_uuid): Likewise.
5031 (grub_util_is_imsm): Likewise.
5032 (grub_util_pull_device): Likewise.
5033 * util/grub-probe.c (probe): Likewise.
5034
801a3027
BG
50352012-09-10 Benoit Gschwind <gschwind>
5036
5037 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
5038 (devs): Add devpath_8.
5039
c5052c81
PJ
50402012-09-08 Peter Jones <pjones@redhat.com>
5041
5042 * grub-core/Makefile.core.def (efifwsetup): New module.
5043 * grub-core/commands/efi/efifwsetup.c: New file.
5044 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
5045 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
5046 New define.
5047 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
5048
8e832f71
JS
50492012-09-05 Jiri Slaby <jslaby@suse.cz>
5050
5051 * configure.ac: Add SuSe path.
5052
f0f55752
CW
50532012-09-05 Colin Watson <cjwatson@ubuntu.com>
5054
5055 * NEWS: Fix typo.
5056
ecadc4c2
CW
50572012-09-05 Colin Watson <cjwatson@ubuntu.com>
5058
5059 * util/import_gcry.py: Sort cipher_files, to make build system
5060 generation more deterministic.
5061
64498f25
VS
50622012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
5065 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
5066 (grub_set_datetime): Likewise.
5067
9cc836a2
VS
50682012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5069
5070 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
5071 warnings.
5072
bcfcea01
VS
50732012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
5076
a4099485
VS
50772012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
5080
265c162a
CW
50812012-09-04 Colin Watson <cjwatson@ubuntu.com>
5082
5083 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
5084 required for checkouts from bzr, but it may be useful for users or
5085 distributors wishing to update translations against a tarball
5086 distribution, and it can be helpful for the tarball to be a superset
5087 of what's in bzr.
5088
3d171e95
CW
50892012-09-04 Colin Watson <cjwatson@ubuntu.com>
5090
5091 * Makefile.am (EXTRA_DIST): Add
5092 grub-core/tests/boot/linux.init-mips.S,
5093 grub-core/tests/boot/linux.init-ppc.S, and
5094 grub-core/tests/boot/linux-ppc.cfg.
5095
f2c2503e
CW
50962012-09-04 Colin Watson <cjwatson@ubuntu.com>
5097
5098 * grub-core/mmap/mips/loongson: Remove empty directory.
5099
51002012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
5101
5102 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
5103 gone.
5104
ab2163d5
CW
51052012-09-04 Colin Watson <cjwatson@ubuntu.com>
5106
5107 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
5108 grub-sparc64-setup.
5109
ce938140
GS
51102012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5111
5112 * configure.ac: Strengthen the test for working -nostdinc -isystem.
5113
529f58a5
GS
51142012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
5115
5116 * po/POTFILES.in: Regenerated.
5117
16cf79e9
GS
51182012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
5119
5120 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
5121 (NetBSD): New subsection.
5122
39b27f1e 51232012-07-22 Ales Nesrsta <starous@volny.cz>
5124
5125 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
5126 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
5127
a885261b
VS
51282012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
5131 * util/grub.d/10_hurd.in: Add missing quoting.
5132 * util/grub.d/10_illumos.in: Likewise.
5133 * util/grub.d/10_kfreebsd.in: Likewise.
5134 * util/grub.d/10_linux.in: Likewise.
5135 * util/grub.d/20_linux_xen.in: Likewise.
5136
7bd29c01
VS
51372012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 New command `lsefi'.
5140
5141 * grub-core/Makefile.core.def (lsefi): New module.
5142 * grub-core/commands/efi/lsefi.c: New file.
5143 * include/grub/efi/api.h: Add more GUIDs.
5144
ac625d8f
VS
51452012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5146
5147 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
5148 (grub_bsd_elf32_hook): Likewise.
5149 (grub_bsd_elf64_size_hook): Likewise.
5150 (grub_bsd_elf64_hook): Likewise.
5151 (grub_bsd_load_elf): Likewise.
5152
e73bb801
VS
51532012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
5156 if hash function is unavailable.
5157 (dec_stream_header): Likewise.
5158
e81db8b5
VS
51592012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
5162 filter state.
5163
d187a1c3
VS
51642012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 Fix coreboot compilation.
5167
5168 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
5169 (grub_vga_text_init_real): ... this.
5170 (grub_vga_text_fini): Rename to ...
5171 (grub_vga_text_fini_real): ... this.
5172
91a05f64
VS
51732012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
5176
6af96df7
VS
51772012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * grub-core/lib/legacy_parse.c: Support clear and testload.
5180
4d569e12
VS
51812012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
5184
073b57bb
VS
51852012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * grub-core/fs/ext2.c: Experimental support for 64-bit.
5188
a706f4cc
VS
51892012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * grub-core/net/tftp.c (ack): Fix endianness problem.
5192 (tftp_receive): Likewise.
5193 Reported by: Michael Davidsaver.
5194
e7850aa9
VS
51952012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * gentpl.py: Make mans depend on grub-mkconfig_lib.
5198
51992012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
5202 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
5203 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
5204
35692881
VS
52052012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
5208 efi_mmap_size.
5209 Reported by: Stuart Hayes.
5210
c35fc5bd
VS
52112012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
5214
5215 * grub-core/Makefile.core.def (mda_text): New module.
5216 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
5217 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
5218 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
5219 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
5220 here.
5221 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
5222 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
5223 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
5224 here.
5225 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
5226 to ..
5227 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
5228 ... here
5229 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
5230 here.
5231 * grub-core/term/i386/vga_common.c: Removed.
5232 * include/grub/i386/vga_common.h: Likewise.
5233 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
5234 (grub_vga_cr_bw_read): Likewise.
5235 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
5236 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
5237 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
5238 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
5239 grub_vga_cr_read/grub_vga_cr_write.
5240 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
5241
5f91f701
VS
52422012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 * configure.ac: Bump version to 2.00.
5245 * grub-core/normal/main.c (features): Add feature_200_final.
5246
0c4f85f6
VS
52472012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
52482012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
5249
5250 * NEWS: Fix unclarity and language mistakes.
5251
f923ad22
VS
52522012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5253
5254 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
5255 additional size to 3 pages.
5256 Reported by: Stuart Hayes.
5257
d22029ba
VS
52582012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * NEWS: Add 2.00 entry.
5261
58eee08f
VS
52622012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
5265 put explicit "/" for empty path.
5266 (wildcard_expand): Improve dprintf.
5267
c59bdff7
VS
52682012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
5271 it's equal to currnode. This can happen with "" symlink.
5272
5e6a440a
YB
52732012-06-27 Yves Blusseau <blusseau@zetam.org>
5274
5275 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
5276 echo shell command by printf command.
5277
73a68bcb
VS
52782012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
5281 the value returned by firmware is the maximal position, not diumension.
5282 (grub_terminfo_output_state): Use a more sane fallback.
5283
392a603b
VS
52842012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
5287
42d0867f
VS
52882012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
5291 frequency to 150 MHz.
5292
489509f4
VS
52932012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 Apple fixes.
5296
5297 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
5298 __APPLE_
5299 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
5300 definition.
5301 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
5302
9f3fc883
VS
53032012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 Handle slash in HFS label.
5306
5307 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
5308 (grub_hfs_dir): Tanslate slash.
5309 (grub_hfs_label): Don't translate slash.
5310
54853fd7
VS
53112012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
5314 network protocol listing since it introduces problematic dependency on
5315 net module.
5316
4dc02ddf
VS
53172012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5318
5319 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
5320
c50c867d
VS
53212012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 Init video early on yeeloong to avoid being rebooted by watchdog.
5324
5325 * grub-core/Makefile.am (gensm712): New target.
5326 (sm712_start.S): Likewise.
5327 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
5328 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
5329 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
5330 description.
5331 * include/grub/vga.h: Move registry definitions to...
5332 * include/grub/vgaregs.h: ... here.
5333
5f92c8a1
VS
53342012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5335
5336 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
5337 signedness.
5338
e9e6f111
VS
53392012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5340
5341 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
5342 platforms with firmware disk drivers in the core.
5343
754ad9eb
VS
53442012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5345
5346 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
5347 informative verbose message.
5348 (read_lv): Handle 64-bit segment size.
5349
315654c2
VS
53502012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
5353
fb022c79
VS
53542012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
5357 character but still remove trainling spaces.
5358 (grub_fat_label): Ignore archive flag.
5359
8645f72c
VS
53602012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
5363 cast between linux_kernel_header and linux_kernel_params.
5364
36498496
VS
53652012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5366
5367 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
5368 type for size.
5369 (grub_raid6_recover_func_t): Likewise.
5370 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
5371 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
5372
0b5ea6b8
VS
53732012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
5376
650cfcfe
GS
53772012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
5378
5379 Fix overflow.
5380
5381 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
5382 [__NetBSD__]: Add explicit cast before bitshift.
5383
8a4d6a44
VS
53842012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * configure.ac: Bump to 2.00~rc1.
5387
2fb97ed3
VS
53882012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
5391 half of $a0.
5392
1fa097dc
VS
53932012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
53942012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
5395
5396 * docs/grub.texi: Fix search syntax.
5397 (Multi-boot manual config): Put msdos rather than GPT example.
5398 Grammar corrections.
5399
c890ba78
VS
54002012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
5403
0f92dca7
VS
54042012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
5407
3988c4a0
VS
54082012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
5411 message on double free. Put the value of magic in case of mismatch.
5412
9e86d4c5
VS
54132012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 Speed-up video on yeeloong.
5416
5417 * grub-core/video/sm712.c (framebuffer): Remove render_target and
5418 add cached_ptr.
5419 (grub_video_sm712_video_fini): Unmap cached_ptr.
5420 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
5421 (grub_video_sm712_set_active_render_target): Removed.
5422 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5423 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
5424 sync caches.
5425
ed24c312
VS
54262012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 Avoid flushing the same line multiple times on loongson.
5429
5430 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
5431 Step in 32 bytes and not 1 byte.
5432 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
5433 Likewise.
5434
d1718e7d
VS
54352012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
5438 subvolumes.
5439
982f1909
VS
54402012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 Implement flow control for http.
5443
5444 * grub-core/net/http.c (parse_line): Handle response 206.
5445 (http_receive): Stall if too many packets are in the queue.
5446 (http_establish): Fix range header.
5447 (http_seek): Fix double free.
5448 (http_close): Likewise.
5449 (http_packets_pulled): New function.
5450 (grub_http_protocol): Set http_seek
5451 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
5452 (ack_real): Set window depending on i_stall.
5453 (grub_net_send_tcp_packet): Likewise.
5454 (grub_net_tcp_stall): New function.
5455 (grub_net_tcp_unstall): Likewise.
5456 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
5457 (grub_net_tcp_unstall): Likewise.
5458
bd407d6e
VS
54592012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * grub-core/net/tftp.c: Decrease stall to 50 packets.
5462
c7564b8e
VS
54632012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
5466
a3706162
VS
54672012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * tests/util/grub-shell.in: Fix a typo.
5470
b27069e0
VS
54712012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 Implement flow control for tftp.
5474
5475 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
5476 packets but stop only if stop condition is satisfied.
5477 (grub_net_fs_read_real): Call packets_pulled after real read. Use
5478 `stall' instead of `eof' as stop condition.
5479 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
5480 (http_err): Likewise.
5481 * grub-core/net/tftp.c (ack): Replace the first argument with data
5482 instead of socket.
5483 (tftp_receive): Stall if too many packets are in wait queue.
5484 (tftp_packets_pulled): New function.
5485 (grub_tftp_protocol): Set packets_pulled.
5486 * include/grub/net.h (grub_net_packets): New field count.
5487 (grub_net_put_packet): Increment count.
5488 (grub_net_remove_packet): Likewise.
5489 (grub_net_app_protocol): New field `packets_pulled'.
5490 (grub_net): New field `stall'.
5491
6b9cfac6
VS
54922012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
5495 sync part to handle them.
5496
f35abd81
VS
54972012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5498
5499 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
5500 * grub-core/net/drivers/ieee1275/ofnet.c
5501 (grub_ieee1275_net_config_real): Likewise.
5502
0e7ec820
VS
55032012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
5506 the direct route for server/gateway.
5507
9d611a31
VS
55082012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
5511 IP address to server name since we may not hame the DNS.
5512
418f45ab
VS
55132012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
5516 freeing random buffer on failure.
5517 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
5518
44a0efc1
VS
55192012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
5522
531e2241
VS
55232012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
5526 reserved bytes.
5527 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
5528 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
5529 Handle malloc error correctly.
5530
cde393c9
VS
55312012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
5534 blocks.
5535
538478d0
VS
55362012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
5539 increment.
5540
9b55efe0
VS
55412012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
5544 none is explicitly specified.
5545
9eb832c3
VS
55462012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
5549 while reallocating.
5550
d6b7c7c9
VS
55512012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 Respect netmask from bootp/dhcp.
5554
5555 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
5556 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
5557 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
5558 into ...
5559 (grub_net_add_ipv4_local): ... this.
5560 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
5561 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
5562 (grub_net_add_ipv4_local): New proto.
5563
67caf9eb
VS
55642012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
5567 determining EFI memory map size.
5568
43657558
VS
55692012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
5572
eb6d0dd3
VS
55732012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5574
5575 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
5576 when looking for partition separator.
5577
31230544
VS
55782012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5581 Escape commas.
5582
918a2517
VS
55832012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5584
5585 Restructure FAT driver to avoid hook in label reading as it hits a
5586 GCC bug.
5587
5588 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
5589 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
5590 (grub_fat_iterate_dir): Split into ...
5591 (grub_fat_iterate_init): ... this, ...
5592 (grub_fat_iterate_fini): ... this, ...
5593 (grub_fat_iterate_dir_next): ... and this. All users updated.
5594
9f1d654e
VS
55952012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5596
5597 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5598 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
5599 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5600 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
5601 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
5602 New fields last_key and last_key_time.
5603 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
5604 extended key-esc into extended key-extended key.
5605
52f0f643
VS
56062012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 Avoid unnecessary memcpy of whole video buffer.
5609
5610 * grub-core/video/fb/video_fb.c (dirty): New struct.
5611 (framebuffer): Add members current_dirty and previous_dirty.
5612 (dirty): New function.
5613 (grub_video_fb_fill_rect): Update dirty.
5614 (common_blitter): Likewise.
5615 (grub_video_fb_scroll): Likewise.
5616 (doublebuf_blit_update_screen): Copy only dirty part.
5617 (doublebuf_pageflipping_update_screen): Likewise.
5618 (grub_video_fb_doublebuf_blit_init): Init dirty.
5619 (doublebuf_pageflipping_init): Likewise.
5620 (grub_video_fb_setup): Likewise.
5621
e169a180
VS
56222012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
5625 poll rate.
5626
48556879
VS
56272012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 Fix wildcard regexp dot and other special characters handling.
5630 Reported by: Robert Mabee.
5631
5632 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
5633 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
5634 (split_path): Trigger expansion on '?'.
5635 (unescape): New function.
5636 (wildcard_expand): Unescape parts copied without globbing.
5637 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
5638 (grub_script_arglist_to_argv): Don't unescape expansions.
5639
0494408e
VS
56402012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 * include/grub/net.h (grub_net_card): New member txbufsize.
5643 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
5644 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5645 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
5646 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
5647 txbufsize.
5648 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
5649 compatible property to check for macs. Set
5650 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5651 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
5652 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
5653 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
5654 (send_card_buffer): Use txbuf.
5655 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
5656 nested function out of the parent while on it.
5657
cc35fe8f
VS
56582012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
5661 presence check.
5662 (grub_ieee1275_net_config_real): Fix config pointer.
5663
970a0a09
VS
56642012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
5667 filename parsing to non-block devices.
5668
3e19bf87
VS
56692012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 * grub-core/kern/device.c (grub_device_open): Remove dead code.
5672
c62d1a0c
VS
56732012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
5676 All users updated.
5677
ef76bec3
VS
56782012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5679
5680 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
5681 UUID search command even if hints probing failed.
5682
56832012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
5684
5685 * po/POTFILES.in: Regenerated.
5686
70aaf305
VS
56872012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5688
5689 Speed-up video on fuloong.
5690
5691 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
5692 New function.
5693 (grub_pci_device_unmap_range): Handle non-cached address.
5694 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
5695 add direct_ptr.
5696 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
5697 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
5698 (grub_video_sis315pro_set_active_render_target): Removed.
5699 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
5700 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5701 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
5702 sync caches.
5703 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
5704 New proto.
5705
10400f0b
VS
57062012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * docs/grub.texi (Multi-boot manual config): New section.
5709
ba67e2c6
VS
57102012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 Avoid slow read-back from VRAM.
5713
5714 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
5715 Move from here ...
5716 * grub-core/video/fb/video_fb.c
5717 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
5718 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
5719 (front_target): Remove front_target. Add pages.
5720 (grub_video_fb_init): Skip setting front_pages.
5721 (grub_video_fb_fini): Likewise.
5722 (doublebuf_blit_update_screen): Use pages.
5723 (grub_video_fb_doublebuf_blit_init): Likewise.
5724 (doublebuf_pageflipping_init): Allocate offscreen buffer.
5725 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
5726 (grub_video_fb_setup): Prefer doublebuffing.
5727
377c98cb
VS
57282012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
5731 gzio.
5732
eac49cff
VS
57332012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 Add loongson tests.
5736
5737 * tests/util/grub-shell.in: Handle loongson.
5738 * tests/partmap_test.in: Add loongson to the list of platform using ATA
5739 drivers.
5740 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
5741 Reboot instead of shutdown if REBOOT is defined.
5742
0321415e
VS
57432012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
5746 sized ports since unlike on real hardware qemu supports only 32-bit
5747 regs.
5748
3f2bdd8f
VS
57492012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * Makefile.util.def (grub-mkrescue): Enable on loongson.
5752 * util/grub-mkrescue.in: Handle loongson.
5753
29a049c9
VS
57542012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
5757 Set is_part appropriately.
5758 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
5759 names. Canonicalize partition without full disk.
5760
4abde346
VS
57612012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 Revert usb-quiesce since it's wrong.
5764
5765 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
5766 (grub_ofdisk_init): Don't do quiesce.
5767
61f1d93b
VS
57682012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
5771 PowerMac workaround to Xserves as well.
5772 Information supplied by: Benjamin Herrenschmidt.
5773
a09eb541
VS
57742012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 Don't assume that beginning address is also the entry point on ppc.
5777
5778 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
5779 (grub_linux_boot): Use linux_entry.
5780 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
5781 (grub_linux_load64): Likewise.
5782
505b3c9b
VS
57832012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
5786
cbe0b4ef
VS
57872012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
5790 needlessly lose the console.
5791
3006e981
VS
57922012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
5795 space.
5796
4e5a96b0
VS
57972012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5798
7da036bb
VS
5799 Remove non-functional EFI grub_get_rtc. Put a better fatal message
5800 than current grub_get_rtc() not implemented when booted with
5801 coreboot without TSC.
5802
5803 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
5804 Add machine/time.h to kernel headers on loongson.
5805 * grub-core/Makefile.core.def (kernel): Remove
5806 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
5807 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
5808 (grub_get_rtc): Likewise.
5809 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
5810 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
5811 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
5812 * grub-core/kern/i386/tsc.c (grub_tsc_init)
5813 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
5814 rather than installing known non-working time source.
5815 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
5816 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
5817 * include/grub/time.h: Don't include machine/time.h.
5818 * include/grub/efi/time.h: Removed.
5819 * include/grub/i386/efi/time.h: Likewise.
5820 * include/grub/i386/ieee1275/time.h: Likewise.
5821 * include/grub/powerpc/ieee1275/time.h: Likewise.
5822 * include/grub/sparc64/ieee1275/time.h: Likewise.
5823 * include/grub/x86_64/efi/time.h: Likewise.
5824
58252012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
5828
5829 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
5830 value.
5831 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
5832 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
5833 with dotless variants when any combining above is present.
5834
5561c22d
VS
58352012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
5838 text and not binary.
5839
96f7e60e
VS
58402012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 Stop polling as soon as we have the packet we were waiting for.
5843
5844 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
5845 All users updated.
5846 * grub-core/net/arp.c (have_pending): New var.
5847 (pending_req): Likewise.
5848 (grub_net_arp_send_request): Fill pending_req and use have_pending as
5849 stop indicator.
5850 (grub_net_arp_receive): Set have_pending.
5851 * grub-core/net/dns.c (recv_data): New field stop.
5852 (recv_hook): Set stop.
5853 (grub_net_dns_lookup): Init stop and use as stop condition.
5854 * grub-core/net/http.c (http_establish): Use headers_recv as stop
5855 condition.
5856 * grub-core/net/net.c (grub_net_poll_cards): New argument
5857 stop_condition. Stop when it goes true.
5858 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
5859 indicator.
5860 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
5861
3e747239
VS
58622012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 Keep TX and RX buffers on EFI rather than always allocate new ones.
5865
5866 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
5867 card. All users updated.
5868 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
5869 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
5870 (get_card_packet): Likewise.
5871 (grub_efinet_findcards): Init new fields.
5872
f695e99a
VS
58732012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5874
5875 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
5876 compilation error on sparc64.
5877
9e5e66d1
VS
58782012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 Use ITC on IA64 rather than broken routine based on daytime.
5881
5882 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
5883 ia64.
5884 (grub_get_rtc) [__ia64__]: Likewise.
5885 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
5886 (get_itc): New function.
5887 (grub_rtc_get_time_ms): Likewise.
5888 (grub_machine_init): Calibrate ITC.
5889 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
5890 Keep only on non-ia64. Don't export since it's broken and used only
5891 if TSC is unavailable.
5892
a1767404
VS
58932012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5894
5895 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
5896 even if it's used.
5897 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
5898 Skip if parent is unused.
5899
34b2bced
VS
59002012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
5903
5e619f40
VS
59042012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 Fix wildcard escaping.
5907
5908 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
5909 * grub-core/script/execute.c (wildcard_escape): .. to here.
5910 Don't escape dot.
5911 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
5912 * grub-core/script/execute.c (wildcard_unescape): .. to here.
5913 Don't escape dot.
5914 * grub-core/script/execute.c (gettext_append): Always escape.
5915 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
5916 * grub-core/script/yylex.l: Don't cut away the escaping.
5917 * tests/grub_script_echo1.in: Add tests with wildcard.
5918
c8ca5855
VS
59192012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
5922 (ftdi_hw_configure): Likewise.
5923 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
5924 define.
5925 (real_config): Handle 1.5 stop bits.
5926 (pl2303_hw_configure): Likewise.
5927
7183452c
VS
59282012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * Makefile.am: Add ppc linux bootcheck.
5931 * grub-core/tests/boot/linux-ppc.cfg: New file.
5932 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
5933
f57c84cd
VS
59342012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 * tests/grub_script_expansion.in: Skip network protocols.
5937
ecfc6207
VS
59382012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
5941
8d03d284
VS
59422012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
5945 --rom-directory.
5946 Add -graft-points.
5947
61c42af0
VS
59482012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 ESCC serial driver for conducting sautomated tests in qemu.
5951 Not tested on real hardware.
5952
5953 * include/grub/serial.h (grub_serial_port): New field escc_desc.
5954 * grub-core/term/ieee1275/escc.c: New file.
5955 * grub-core/Makefile.core.def (escc): New module.
5956
08fd1291
VS
59572012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
5960 invalid on error.
5961 (serial_hw_fetch): Don't read invalid handle.
5962 (serial_hw_put): Don't write into invalid handle.
5963
08dafeea
VS
59642012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 Add a 1.5 stop bits value.
5967
5968 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
5969 * include/grub/serial.h (grub_serial_stop_bits_t): Add
5970 GRUB_SERIAL_STOP_BITS_1_5.
5971
9068fdcf
VS
59722012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
5975 value rather than let it uninited.
5976
f4d5820f
VS
59772012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 * grub-core/commands/wildcard.c (+check_file): New function.
5980 (wildcard_expand): Don't expand to non-existing files, expand with
5981 suffix and not attempt to expand if not needed.
5982
3d2de9a7
VS
59832012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
5986 out of partitions containing other partitions.
5987
c5c81ff9
VS
59882012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5989
5990 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
5991 on some qemu versions with GRUB.
5992
5993 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
5994 define.
5995 (grub_openbsd_bootarg_pcibios): New struct.
5996 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
5997 Add PCIINFO.
5998
08a14e0b
VS
59992012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 * tests/util/grub-shell.in: Trim firmware output on EFI.
6002
cede3ca3
VS
60032012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6004
6005 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
6006 and coreboot since it's already in kernel.
6007
558d3a60
VS
60082012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
6011 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6012 to here. New return value start. All users updated.
6013 Recursively scan linear mappings.
6014 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
6015 proto.
6016 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6017 Use grub_util_get_dm_node_linear_info.
6018 * util/getroot.c (convert_system_partition_to_system_disk): Use
6019 grub_util_info rather than grub_dprintf.
6020 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
6021
60fde14d
VS
60222012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
6025
6026 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
6027 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
6028
24bd8838
VS
60292012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6030
6031 * include/grub/types.h (grub_set_unaligned64): New function.
6032 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
6033 (setup): Likewise.
6034
7bc06a49
VS
60352012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6036
6037 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
6038 (grub_ofdisk_fini): Quiesce USB devices.
6039
49cea015
VS
60402012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6041
6042 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
6043 caches.
6044
8dcbe03b
VS
60452012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
6048
5b258735
VS
60492012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * grub-core/disk/pata.c (grub_pata_pio_read)
6052 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
6053 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
6054
37ba07eb
VS
60552012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 Extend automated tests to qemu-mips.
6058
6059 * Makefile.am: reorganise tests and enable qemu-mips.
6060 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
6061 * grub-core/tests/boot/linux.init-mips.S: New file.
6062 * tests/partmap_test.in: Handle ata0 disks.
6063 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
6064 non-pc i386.
6065
070038f8
VS
60662012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6067
6068 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
6069 ia64.
6070 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
6071 quotes while on it.
6072
004be2cd
VS
60732012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
6076 (grub_halt): Likewise.
6077 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
6078
b1622487
VS
60792012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * grub-core/term/serial.c (grub_serial_register)
6082 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
6083 the behaviour in line with x86 platforms.
6084
b7b4ab33
VS
60852012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
6088 (grub_ata_strncpy): Likewise.
6089 (grub_ata_identify): Add missing byteswaps.
6090
5e3535ae
VS
60912012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
6094 byte-swap.
6095 (screen_read_char): Likewise.
6096 (grub_vga_text_cls): Likewise.
6097
c21b17e6
VS
60982012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6099
6100 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
6101 filenames.
6102 (make_file_path): Likewise.
6103
bf293dec
VS
61042012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
6107 machines.
6108 Tested by: Paulo Flabiano Smorigo.
6109 Crucial information about API supplied by: Coleen <Last name unknown>.
6110 Reviewed by: Coleen <Last name unknown>.
6111
81f6ef0e
VS
61122012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6113
6114 * util/grub-mkimage.c: Disable -Wcast-align.
6115
7284143a
VS
61162012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
6119 as they are fatal.
6120
b99f3e00
VS
61212012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
6124
944f752d
VS
61252012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * util/grub-probe.c (escape_of_path): Fix double free.
6128
6cce6f38
VS
61292012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * grub-core/commands/videoinfo.c (hook): Show pitch.
6132
1e1eb50e
VS
61332012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 * util/grub.d/20_linux_xen.in: Skip xen-syms.
6136
1c715b5a
VS
61372012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
6140 (probe): Add ieee1275 to OFW devices.
6141
007ae52d
VS
61422012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
6145
4557a36d
VS
61462012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 Handle IBM OFW path.
6149
6150 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
6151 available.
6152 (of_path_of_scsi): Handle vdevice.
6153
efbeefe9
VS
61542012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
6155
6156 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
6157 Allocate in multiples of 16 to avoid adding a few bytes free region the
6158 windows bugs upon.
6159
15a940bb
VS
61602012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
6161
6162 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
6163 Allocate in multiples of 16 to avoid adding a few bytes free region the
6164 windows bugs upon.
6165 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
6166
6e5efd60
VS
61672012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
6170 resolutions.
6171 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
6172 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
6173
0d3d137e
IS
61742012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
6175
6176 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
6177
45dbe300
VS
61782012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6179
6180 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
6181 resulted in \\ at the end of the line.
6182
6d8db947
VS
61832012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
6186 (grub_parser_cmdline_state): Likewise.
6187 (grub_parser_split_cmdline): Likewise.
6188
de89d338
VS
61892012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
6192 /dev/root and /dev/dm-*.
6193
00d41dee
VS
61942012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
6197 fix partially stale display.
6198
f95d1f11
VS
61992012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 * grub-core/normal/menu_entry.c (backward_char): Use right line for
6202 substraction.
6203
6297e197
VS
62042012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
6207 Fix MBR remapping workaround.
6208 (grub_util_biosdisk_read) [__linux__]: Likewise.
6209
8a7ecad3
VS
62102012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
6211
6212 * util/grub-install.in: Check for ieee1275 and not ieee1276.
6213
2b34f944
VS
62142012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * configure.ac: Bump to beta6.
6217
684aef11
CW
62182012-05-31 Christer Weinigel <christer@weinigel.se>
6219
6220 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
6221
05b0bb91
VS
62222012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
6225 (grub_cmd_linux): Likewise.
6226
bda36bfa
CW
62272012-05-31 Christer Weinigel <christer@weinigel.se>
6228
6229 Fix EHCI low-speed.
6230
6231 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
6232 (GRUB_EHCI_MULT_TWO): Likewise.
6233 (GRUB_EHCI_MULT_THREE): Likewise.
6234 (GRUB_EHCI_CMASK_MASK): New enum value.
6235 (GRUB_EHCI_SMASK_MASK): Likewise.
6236 (GRUB_EHCI_CMASK_OFF): Likewise.
6237 (GRUB_EHCI_SMASK_OFF): Likewise.
6238 (grub_ehci_pci_iter): Enable periodic schedule.
6239 (grub_ehci_parse_notrun): Likewise.
6240 (grub_ehci_restore_hw): Likewise.
6241 (grub_ehci_setup_qh): Set flags for low speed transfers.
6242 (grub_ehci_find_qh): Use periodic list for low speed.
6243 (grub_ehci_setup_transfer): Check periodic queue as well.
6244 (grub_ehci_check_transfer): Likewise.
6245 (grub_ehci_cancel_transfer): Cancel periodic transfer.
6246
e12bcb1c
PFS
62472012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6248
6249 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
6250 parameter is used.
6251
bcc75fb3
PJ
62522012-05-31 Peter Jones <pjones@redhat.com>
6253
6254 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
6255 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
6256 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
6257
f19cb95e
VS
62582012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
6261 uninited variable. Allocate at least setup_sects.
6262
a4e5ca80
VS
62632012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 Fix handling of EFI with big memory maps.
6266
6267 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
6268 (real_mode_mem): Likewise.
6269 (real_mode_target): Likewise.
6270 (real_mode_pages): Likewise.
6271 (prot_mode_pages): Likewise.
6272 (linux_params): New var.
6273 (linux_cmdline): Likewise.
6274 (free_pages): Don't set real mode variables.
6275 (allocate_pages): Don't allocate real mode memory.
6276 (grub_e820_add_region): Remove the limit.
6277 (grub_linux_boot): Allocate and copy real mode memory.
6278 (grub_linux_unload): Free linux_cmdline.
6279 (grub_cmd_linux): Use temporary storage for parameters.
6280 (grub_cmd_initrd): Likewise.
6281 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
6282 (linux_kernel_params): Make it 1K big.
6283
ddb73558
VS
62842012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 * Makefile.util.def: Remove -Wno-format.
6287 * grub-core/Makefile.core.def: Likewise.
6288
1c4afb60
VS
62892012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 * tests/cmp_unit_test.c: Add missing failure message.
6292 * tests/example_unit_test.c: Likewise.
6293 * tests/printf_unit_test.c: Likewise.
6294
941e3a6d
VS
62952012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
6298 relaxation of protective MBR requirements.
6299
b105df76
VS
63002012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * configure.ac: Add condition for COND_HOST_XNU.
6303 * Makefile.util.def (10_xnu): New script.
6304 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
6305
84e1569e
VS
63062012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
6309 objconv bug.
6310
130c0f77
VS
63112012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
6314 Binary on other platforms stays identical.
6315
6fd0b143
VS
63162012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
6319 Apple.
6320
0af1751d
VS
63212012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6322
6323 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
6324
176d5f7d
VS
63252012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
6328 rather than defining size_t ourselves to avoid conflict.
6329
7de5e20a
VS
63302012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
6333 initialisation to avoid __bzero reference.
6334
f7143efe
VS
63352012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6336
6337 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
6338 version.
6339 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
6340 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
6341 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
6342 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
6343 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
6344
e6ad0555
VS
63452012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
6348 * grub-core/kern/misc.c: Likewise.
6349 * grub-core/loader/i386/xnu.c: Likewise.
6350 * include/grub/i386/tsc.h: Likewise.
6351 * include/grub/symbol.h: Likewise.
6352
4a5a3c4a
VS
63532012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
6356 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
6357 on older compiler.
6358
037f6d90
VS
63592012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6360
6361 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
6362 Implement Apple flavour.
6363 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
6364
f7194551
VS
63652012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
6368 (memmove) [__APPLE__]: Likewise.
6369 (memcpy) [__APPLE__]: Likewise.
6370 (memset) [__APPLE__]: Likewise.
6371 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
6372 (memmove) [__APPLE__]: Likewise.
6373 (memcpy) [__APPLE__]: Likewise.
6374 (memset) [__APPLE__]: Likewise.
6375
85a730ca
VS
63762012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
6379 dependency discard.
6380
40e80b94
VS
63812012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 * grub-core/normal/main.c (read_config_file): Provide config_file and
6384 config_directory.
6385 * util/grub.d/41_custom.in: Use config_directoy when available.
6386
9da59c32
VS
63872012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
6390 (grub_bfs_dir): Likewise.
6391
2787ae53
PJ
63922012-05-27 Peter Jones <pjones@redhat.com>
6393
6394 The old code gives arguments to a printf function which can't work
6395 correctly, and the compiler complains.
6396
6397 * grub-core/tests/example_functional_test.c (example_test): Add
6398 missing text.
6399 * grub-core/tests/lib/test.c (add_failure): Rewrite.
6400 * include/grub/test.h (grub_test_assert_helper): New declaration.
6401 (grub_test_assert): Use grub_test_assert_helper.
6402
526ef13d
VS
64032012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
6406 (exfctest): ... this to avoid overlong filenames.
6407 All users updated.
6408
20dd511c
VS
64092012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6410
6411 Handle "." and ".." on squashfs.
6412
6413 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
6414 Make inode numbers into stack.
6415 (grub_squash_read_symlink): Use stack.
6416 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
6417 (make_root_node): Fill stack.
6418 (grub_squash_open): Use stack.
6419
1d80c62a
VS
64202012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
6423 freeing.
6424
d336f652
VS
64252012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
6428 stderr on test calls.
6429
8b43f587
VS
64302012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
6433
80a3dc3f
VS
64342012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
6437
47e297d4
VS
64382012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
6441 "..".
6442
df042ccb
VS
64432012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
6446 (grub_hfsplus_iterate_dir): Add "." and "..".
6447
fc977f48
VS
64482012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 * grub-core/fs/cpio.c (canonicalize): Handle "..".
6451 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
6452
f3250e5f
VS
64532012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
6456 (find_path): Handle "." and "..".
6457
fd8ed4c5
VS
64582012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6459
6460 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
6461 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
6462 (grub_affs_iterate_dir): Handle hardlinks.
6463
4ce776d2
MG
64642012-05-26 Matthew Garrett <mjg@redhat.com>
6465
6466 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
6467 (grub_efi_console_fini): Likewise.
6468 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
6469 (grub_video_gop_fill_mode_info): Rename to ...
6470 (grub_video_gop_fill_real_mode_info): ... this.
6471 (grub_video_gop_fill_mode_info): New function.
6472 (grub_video_gop_setup): Setup double framebuffer.
6473 (grub_video_gop_get_info_and_fini): Use original framebuffer.
6474 Free offscreen.
6475 (grub_video_gop_swap_buffers): Copy framebuffer.
6476 (grub_video_gop_fini): Free offscreen buffer.
6477 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
6478 New enum.
6479 (grub_efi_gop_blt_pixel): New struct.
6480
683031ba
VS
64812012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6482
6483 * gentpl.py: Remove error disabling for objconv.
6484
c2deb798
VS
64852012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 * configure.ac: Remove -Wunitialized as it's not available on older
6488 compilers.
6489
64902012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
6491
6492 Fix extent overflow comparator.
6493
6494 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
6495 (grub_hfsplus_read_block): Set type.
6496 (grub_hfsplus_cmp_extkey): Compare type.
6497
d6b1fd36
VS
64982012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
6499
6500 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
6501
0a9aa0f6
VS
65022012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6503
6504 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
6505 than 0.
6506
8360e159
VS
65072012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
6510 (dejavu_bold_14.pf2): New target.
6511
501b9e4b
VS
65122012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6513
6514 * configure.ac: Fix djvu font detection.
6515
7026b0e2
VS
65162012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6517
6518 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
6519 ext* instead of ext2.
6520
c2a51ade
VS
65212012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
6524 name with \0.
6525
8f803a5d
JU
65262012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
6527
6528 * docs/grub-dev.texi: Remove dot from .png.
6529
13c6353f
VS
65302012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
6533 protective entry in any slot.
6534 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
6535 if protective entry is found in any slot.
6536
6537 Protective entry in non-first slot make no sense but is a widespread
6538 brain damage.
6539
4cf6be1b
VS
65402012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
6543
937d1c44
VS
65442012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
6547 with old reiserfs.
6548 (grub_reiserfs_open): Don't free root.
6549
021d90ec
VS
65502012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
6553 after freeing for safety.
6554
967b2b64
VS
65552012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
6558 Reported by: Jordan Uggla.
6559
34274d02
JU
65602012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
6561
967b2b64
VS
6562 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
6563 actual implementation. Specifically, clarify that the grub menu will
6564 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
6565 passed.
34274d02 6566
dcaaae9d
BH
65672012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
6568
6569 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
6570 of r0.
6571
7086ad52
VS
65722012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 Remove unjustified hard dependency of normal.mod on gfxterm.
6575
6576 * include/grub/term.h (grub_term_output): New member fullscreen.
6577 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
6578 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
6579 (grub_gfxterm): Set .fullscreen.
6580 * grub-core/normal/menu.c (menu_init): Use fullscreen.
6581 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
6582
37ed2c9b
VS
65832012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
6586 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 6587 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 6588
a4469c88
VS
65892012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
6592
4e461486
VS
65932012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6596 a bad FS.
6597
aa78f5c4
VS
65982012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
6601 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
6602
197626b5
VS
66032012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
6606 (grub_jfs_mount): Fill caseins.
6607 (grub_jfs_find_file): Respect caseins.
6608
8ad3f28c
VS
66092012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
6612 through UTF-16.
6613
0c6c324e
VS
66142012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
6617 New argument origpath. All users updated.
6618
c6666ba6
VS
66192012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6620
6621 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
6622 (read_attr): Ensure that we read start of possibly compressed block.
6623
e28e5fe5
VS
66242012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
6627 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
6628 All users updated.
6629
5fc23ab2
VS
66302012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
6633 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
6634 (dejavu.pf2): Replace with ...
6635 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
6636 this.
6637
79dbc21c
VS
66382012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * util/grub.d/20_linux_xen.in: Add missing line.
6641
d2fcfb0c
VS
66422012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
6645 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
6646 (grub_utf16_to_utf8): Likewise.
6647
5560e9d6
VS
66482012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
6651 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
6652 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6653 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
6654 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6655 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
6656
66572012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
6658
6659 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6660 a bad FS.
6661
5560e9d6 66622012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
6663
6664 * grub-core/fs/udf.c (read_string): Bail out on size=0.
6665 (grub_udf_read_symlink): Handle read_string failure.
6666
5eae3175
VS
66672012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
6670 comment.
6671
c1ad82db
VS
66722012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6673
6674 Fix handling of UDF symlinks.
6675
6676 * grub-core/fs/udf.c (read_string): New argument outbuf.
6677 All users updated.
6678 (grub_ufs_read_symlink): Rename to ...
6679 (grub_udf_read_symlink): ... this. All users updated.
6680 Handle symlinks with more than one component.
6681
33eca6e0
VS
66822012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
6685 symlinks. Replace leading colon with a slash.
6686
57f4a70b
VS
66872012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
6690 filename.
6691
38c8ee20
VS
66922012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
6695 match in inner node.
6696
2e57f28f
VS
66972012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
6700 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
6701 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
6702 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
6703 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
6704 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
6705 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
6706 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
6707 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
6708
fe8c2f11
VS
67092012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6710
6711 Use grub-probe and not cmp to check that disk is empty.
6712
6713 * util/grub-install.in: Use grub-probe for zero-check.
6714 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
6715 (probe): Handle PRINT_ZERO_CHECK.
6716 (argp_parser): Handle -t zero_check.
6717
67182012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
6719
6720 Flush block cache on adding disk to device map.
6721
6722 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
6723 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
6724 adding.
6725 (read_device_map): Likewise.
6726 (open_device): Flush on opening.
6727
690434e8
VS
67282012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
6731 (handle_symlink): Fix off-by-one error.
6732 Canonicalize the target.
6733 (grub_cpio_dir): Canonicalize the name.
6734 Fix memory leak.
6735 Set directory.
6736 (grub_cpio_open): Canonicalize the name.
6737
742d2be6
VS
67382012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
6741 handling.
6742
3244fe96
VS
67432012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
6746 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
6747
8aeb1837
VS
67482012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
6751 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 6752 All users updated.
8aeb1837 6753
9133fd05
VS
67542012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
6757 counterpart.
6758
6d521c5b
VS
67592012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 Fix UFS1 big file support.
6762
6763 * grub-core/fs/ufs.c (INODE): Removed.
6764 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
6765 64-bit.
6766 (INODE_MODE): Simplify.
6767 (grub_ufs_inode): Use uint64_t for size and not int64_t.
6768 (grub_ufs_lookup_symlink): Don't use INODE.
6769
21b82e17
VS
67702012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6771
6772 Fix minixfs with non-power-of-two blocks since it's supported by minix.
6773
6774 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
6775 (grub_minix_data): Replace log_block_size with block_size.
6776 (grub_minix_read_file): Use block_size but avoid 64-bit division.
6777 (grub_minix_mount): Fill block_size.
6778
67792012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
6780
6781 * configure.ac: Bump to beta5.
6782
f417ed04
VS
67832012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 Fix wrapped HFS+ handling.
6786
6787 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
6788 blocks_start. All users updated.
6789 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
6790 wrapping offset.
6791 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
6792
607d282b
VS
67932012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 Fix long symlinks on reiserfs.
6796
6797 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
6798 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
6799 (grub_reiserfs_iterate_dir): Save size for non-directories.
6800 (grub_reiserfs_open): Don't reread stat block as we already know the
6801 size.
6802 (grub_reiserfs_read): Split into...
6803 (grub_reiserfs_read_real): ... and ...
6804 (grub_reiserfs_read): ...this.
6805
ae16024d
VS
68062012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 Fix non-indexed JFS.
6809
6810 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
6811 (grub_jfs_data): New field namecomponentlen.
6812 (grub_jfs_mount): Fill namecomponentlen.
6813 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
6814
eea1e26e
VS
68152012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
6818 * tests/grub_script_echo1.in: Add tests.
6819
df760f77
VS
68202012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6821
6822 * util/grub-install.in: Ignore empty devicetree directory.
6823
5efb817d
B
68242012-05-08 Bean <bean123ch@gmail.com>
6825
6826 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
6827 All users updated.
6828 (free_rsm): Free header as well.
6829 (free_old_fragments): Fix memory leak.
6830 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
6831 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
6832 (destroy_pq): Likewise.
6833 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
6834
668ea6d2
VS
68352012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
6838 resulting hash as a precaution.
6839
1739b1fe
VS
68402012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
6843 '_' in variable names.
6844 * grub-core/net/net.c (grub_net_network_level_interface_register):
6845 Likewise.
6846
6ae485aa
VS
68472012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 Fix AFFS with non-512B blocks.
6850
6851 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
6852 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
6853 (grub_affs_data): Replace blocksize with log_blocksize.
6854 (grub_affs_read_block): Fix non-512B blocks.
6855 (grub_affs_read_symlink): Likewise.
6856 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
6857 (grub_affs_read): Fix non-512B blocks.
6858 (grub_affs_label): Likewise.
6859 (grub_affs_mtime): Likewise.
6860 (grub_affs_mount): Fix block detection routine.
6861
d20fab84
VS
68622012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 Add filesystem mtime to AFFS.
6865
6866 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
6867 (aftime2ctime): New function.
6868 (grub_affs_dir): Use aftime2ctime.
6869 (grub_affs_label): Fix return value.
6870 (grub_affs_mtime): New function.
6871 (grub_affs_fs): Add mtime.
6872
e87b10f5
VS
68732012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
6876 UTF-8.
6877
7dceec9b
VS
68782012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
6881 UTF-8.
6882
2f48221f
VS
68832012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
6886
dacd85cf
VS
68872012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6888
6889 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
6890 flags.
6891 (FLAGS_CASE_SENSITIVE): New enum value.
6892 (cache_entry): New struct.
6893 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
6894 cache_size and cache.
6895 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
6896 Add log_blocksize and fshelp_flags.
6897 (grub_sfs_read_extent): Handle non-512 blocks.
6898 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
6899 (grub_sfs_read_file): Handle non-512 blocks.
6900 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
6901 fshelp_flags.
6902 (grub_sfs_read_symlink): Handle non-512 blocks.
6903 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
6904 (grub_sfs_dir): Free cache.
6905 (grub_sfs_close): Likewise.
6906
24e9a854
VS
69072012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
6910 filesystems.
6911
62ace64d
VS
69122012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
6915
83b2e89c
VS
69162012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6917
6918 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
6919
75ccaea3
VS
69202012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6921
6922 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
6923 (grub_sfs_read_extent): Likewise.
6924 (grub_sfs_read_block): Likewise.
6925 (grub_sfs_mount): Likewise.
6926 (grub_sfs_iterate_dir): Likewise.
6927 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
6928 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
6929
1b8463f2
VS
69302012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6931
6932 Fix errors on compressed NTFS with 512B clusters.
6933
6934 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
6935 types.
6936 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
6937 not 0.
6938 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
6939 Relax check for inline extents.
6940 (ntfscomp): Return correct -1 on error and not 0.
6941
4f8e368f
VS
69422012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * util/grub-install.in: Fix handling of prefix containing spaces.
6945
6f5d5ee8
VS
69462012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6947
6948 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
6949 (grub_squash_read_data): Fix offset byte-swapping.
6950
ce41ab7a
VS
69512012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
6954 per common usage and preffered in several parts of code.
6955 (grub_memcmp): Likewise.
6956 (grub_strncmp): Likewise.
6957 * include/grub/misc.h (grub_strcasecmp): Likewise.
6958 (grub_strncasecmp): Likewise.
6959 * Makefile.util.def (cmp_test): New test.
6960 (grub_script_strcmp): Likewise.
6961 * tests/cmp_unit_test.c: New file.
6962 * tests/grub_script_strcmp.in: Likewise.
6963 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
6964
49717bf4
VS
69652012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 * include/grub/pci.h: Move enums into no-asm part.
6968
0a308f64
VS
69692012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
6972
1796965f
ST
69732012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
6974
6975 * util/getroot.c (find_hurd_root_device): Try to make error message
6976 and comments to translators clearer.
6977
4e9b2819
VS
69782012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
6981
076aeb50
VS
69822012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
6985 btrfs.
6986
19424d94
VS
69872012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 * docs/grub.cfg: Update.
6990
ebb73076
VS
69912012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 * docs/grub.texi (PXE): Remove not present variables.
6994
9a1b669c
VS
69952012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 * grub-core/net/net.c (defserver_set_env): New function.
6998 (defserver_get_env): Likewise.
6999 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
7000
d38bf7d3
VS
70012012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
7004 entries.
7005
70062012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
7007
7008 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
7009 * grub-core/kern/emu/hostdisk.c: Likewise.
7010
e5e4ca48
ST
70112012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
7012
7013 Handle hurd userspace partitions.
7014
7015 * util/getroot.c (find_hurd_root_device): New function.
7016 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
7017
56bb5dd5
VS
70182012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
7021 names.
7022 Reported by: Bastian Blank.
7023
9e8bc27a
VS
70242012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
7027 crossing page boundary.
7028
aa01499d
VS
70292012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 Fix B-tree search in BFS, especially in presence of non-ASCII
7032 characters.
7033
7034 * grub-core/fs/bfs.c (bfs_strcmp): New function.
7035 (find_in_b_tree): Use standard bsearch + btree algorithm.
7036
57006035
VS
70372012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
7040 and so on.
7041
9d34bb85
MG
70422012-05-03 Matthew Garrett <mjg@redhat.com>
70432012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 Suspend broadcom cards in order to stop their DMA.
7046
7047 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
7048 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
7049 (pci): Don't build on x86 EFI.
7050 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
7051 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
7052 New function.
7053 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
7054 stop_broadcom if running on EFI.
7055 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
7056 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
7057 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
7058 (grub_pci_find_capability): New proto.
7059
01aab997
VS
70602012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 * docs/grub.texi: Remove dot from the extension as it apparently
7063 doesn't work with some makeinfo versions.
7064
fbd8dca6
VS
70652012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7066
7067 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
7068 with GRUB expectance.
7069
dab797f4
VS
70702012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
7073
1516bfb4
VS
70742012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7075
7076 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
7077 zero after directory block since last entry may be not 0-terminated if
7078 it ends on block boundary. Use continue instead of if spanning whole
7079 loop.
7080
a3a0eace
VS
70812012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7082
7083 Support 4K sectors UDF inline files.
7084
7085 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
7086 (grub_udf_extended_file_entry): Likewise.
7087 (grub_fshelp_node): Name the anonymous union. Put block at the end.
7088 All users updated.
7089 (get_fshelp_size): New function.
7090 (grub_udf_read_icb): Read whole block.
7091 (grub_udf_iterate_dir): Likewise.
7092 (grub_udf_dir): Likewise.
7093 (grub_udf_open): Likewise.
7094
c82f16c1
VS
70952012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
7098
59fd2aac
VS
70992012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
7102 inline symlinks in addition to workaround.
7103
3b4afb4d
VS
71042012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
7107
f45c794a
VS
71082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
7111
f25cecbd
VS
71122012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
7115
bb9a34e8
VS
71162012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 Fix reiserfs big seek times.
7119
7120 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
7121 exact. All users updated.
7122 (grub_reiserfs_read): Use nearest btree search for seeking.
7123 Fix return value on error.
7124
dc478aea
VS
71252012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
7128 entries.
7129 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
7130 * docs/grub.texi: Update menuentry description.
7131
8db10f47
VS
71322012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
7135 crash when embedding onto filesystem.
7136
bcb288ed
VS
71372012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
7140 name.
7141
a626fdd7
VS
71422012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
7145
b2f68477
VS
71462012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
7149 commit.
7150
ba15b2af
B
71512012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
71522012-05-01 Bean <bean123ch@gmail.com>
7153
7154 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
7155
a188012e
VS
71562012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7157
7158 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
7159 Special behaviour for len = 0 to read whole file isn't used anywhere and
7160 can cause buffer ovewrflows in several places.
7161
f0a53ed2
VS
71622012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7163
7164 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
7165
5ed554f0
VS
71662012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 Handle RAIDZ on non-512B sectors.
7169
7170 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
7171 max_children_ashift.
7172 (fill_vdev_info_real): Fill max_children_ashift.
7173 (read_device): Use max_children_ashift.
7174
ddc58357
VS
71752012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
7178
e3282399
VS
71792012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7180
7181 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
7182 disk names.
7183 * docs/grub.texi: Update device.map parts.
7184
ee618bd4
VS
71852012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 Don't scan into non-diskfilter devices having diskfilter names.
7188
7189 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
7190 (scan_disk): New argument accept_diskfilter. Fix recursion depth
7191 handling.
7192 (scan_disk_hook): New function.
7193
bdf88864
B
71942012-04-29 Bean <bean123ch@gmail.com>
7195
7196 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
7197 allocation.
7198
32745f51
MK
71992012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
7200
7201 * configure.ac: Detect starfield theme font path
7202 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
7203
bc95c8c0
VS
72042012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
7207 geometry on serial consoles.
7208
147fbcab
VS
72092012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
7212 because of network consoles.
7213
0f42c889
VS
72142012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
7217 handling.
7218
4a3594c9
VS
72192012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
7222 falls on Q syndrom.
7223
5cb53879
VS
72242012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
7227 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
7228
b282dfe5
VS
72292012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
7232 Allocate at lest 8192 for temporary buffer as required for lzo.
7233
daa59f47
VS
72342012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
7237 to cluster_bits, since it's already added in.
7238 (grub_fat_read_data): Likewise.
7239
986748ce
VS
72402012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7241
7242 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
7243 as long as cluster size is multiple of 512 bytes.
7244
a20f6ad0
VS
72452012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * util/grub-mkrescue.in: Fix locale directory.
7248
385f9abb
VS
72492012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 * grub-core/kern/emu/hostdisk.c (map): Make static.
7252
1c557d30
B
72532012-04-23 Bean <bean123ch@gmail.com>
7254
7255 * util/grub-fstest.c (fstest): Add missing break.
7256
524b5d3a
ST
72572012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
7258
7259 Fix hurd build.
7260
7261 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
7262 not define nr variable.
fe4824e9 7263 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
7264 find_root_devices_from_poolname, find_root_devices_from_libzfs,
7265 grub_find_device): Do not define.
524b5d3a 7266
9a06490c
VS
72672012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 Fix kfreebsd compile and behaviour.
7270
7271 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
7272 format-security.
7273 * util/getroot.c: Fix wait.h include.
7274 (grub_guess_root_devices): Error if grub_find_device fails.
7275 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
7276 (grub_util_get_dev_abstraction): Likewise.
7277 (grub_util_pull_device): Likewise.
7278 (grub_util_get_grub_dev): Likewise.
7279 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
7280
48143d96
VS
72812012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7282
7283 Fix and unify wholedisk detection.
7284
7285 * util/getroot.c (convert_system_partition_to_system_disk): New argument
7286 is_part. All users updated.
7287 (device_is_wholedisk): Removed.
7288 (grub_util_biosdisk_get_grub_dev): Use is_part.
7289
ebbd24f3
VS
72902012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
7293 mode.
7294
56f7aa1e
VS
72952012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7296
7297 * configure.ac: Bump to beta4.
7298
9c815e01
VS
72992012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
7302 --fs-uuid --set UUID syntax.
7303
59e2651a
VS
73042012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
7307 disunification.
7308
54e03cfc
VS
73092012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
7312
81092a75
MK
73132012-04-18 Mads Kiilerich <mads@kiilerich.com>
7314
7315 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
7316
f8315e14
MG
73172012-04-18 Mike Gilbert <floppym@gentoo.org>
7318
7319 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
7320
1501ac21
B
73212012-04-18 Bean <bean123ch@gmail.com>
7322
7323 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
7324 place.
7325
cb7f944e
VS
73262012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
7329 users updated.
7330 (grub_util_biosdisk_read): Handle Linux partitions not exactly
7331 corresponding to GRUB partitions.
7332 (grub_util_biosdisk_write): Likewise.
7333
b72d44a1
VS
73342012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 Scan mdraid before LVM.
7337
7338 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
7339 (grub_diskfilter_register_front): ... this.
7340 (grub_diskfilter_register_back): New function.
7341 All users of grub_diskfilter_register updated.
7342
33d918b8
VS
73432012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 * util/grub-install.in: Fix an automatic target detection bug.
7346
c6ca973d
VS
73472012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * util/grub-install.in: New option --efi-directory.
7350
b41be562
VS
73512012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7352
7353 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
7354 boot services if we have no other choice.
7355
73562012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7357
7358 * util/grub-mknetdir.in: Rename --override-directory to --directory and
7359 document it.
7360 * tests/util/grub-shell.in: Update to --directory.
7361
e0595a73
VS
73622012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7363
7364 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
7365
4ed80652
VS
73662012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
7369 (grub_minix_read_file): Likewise.
7370 (grub_minix_read_inode): Likewise.
7371 (grub_minix_find_file): Likewise.
7372 (grub_minix_dir): Likewise.
7373
56008077
VS
73742012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 * util/grub-setup.c (setup): Fix partition handling and blocklist
7377 check.
7378
ee520775
VS
73792012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7380
7381 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
7382 redundant buggy overlap check.
7383
16fc9293
VS
73842012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7385
7386 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
7387 and grub-mknetdir.
7388
9bab65c4
VS
73892012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
7392 kh.loadflags on pre-2.00 kernels.
7393
3c491b47
VS
73942012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7395
7396 Terminate UNDI and PXE before launching the payload to avoid problems
7397 with DMA.
7398
7399 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
7400 (grub_loader_flags): ... this. All users updated.
7401 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
7402 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
7403 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
7404 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
7405 function.
7406 (grub_pxe_restore): Likewise.
7407 (fini_hnd): New var.
7408 (GRUB_MOD_INIT): Register shutdown hook.
7409 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
7410 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
7411 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
7412 (grub_loader_set): Rename second argument to flags.
7413
851ffada
VS
74142012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
7417 written bytes.
7418 (grub_get_num_of_utf8_bytes): New function.
7419 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
7420 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
7421 executing it.
7422 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
7423 (grub_ucs4_to_utf8): Change return type.
7424
491c57a8
VS
74252012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
7428 warning.
851ffada
VS
7429 * grub-core/fs/bfs.c (hop_level): Likewise.
7430 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 7431
756773df
VS
74322012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7433
7434 * grub-core/lib/adler32.c: Recode due to license unclearness.
7435
fd556a96
VS
74362012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7437
7438 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
7439 (test_header): Likewise.
7440
9f9d3f69
VS
74412012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 Fix --help formatting.
7444
7445 * util/grub-mkconfig_lib.in (print_option_help): New function.
7446 (grub_fmt): Likewise.
7447 * util/grub-install.in: Use print_option_help and grub_fmt.
7448 * util/grub-kbdcomp.in: Likewise.
7449 * util/grub-mkconfig.in: Likewise.
7450 * util/grub-mknetdir.in: Likewise.
7451 * util/grub-mkrescue.in: Likewise.
7452 * util/grub-mkstandalone.in: Likewise.
7453 * util/grub-reboot.in: Likewise.
7454 * util/grub-set-default.in: Likewise.
7455 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7456
561ec77e
VS
74572012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 * linguas.sh: Remove autogenerated *.po.
7460
7ec2b021
VS
74612012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * po/README: Move language fetcing to ...
7464 * linguas.sh: ... here.
7465 * po/README: Point to linguas.sh.
7466
a88f3270
VS
74672012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 * po/README: Exclude ko.po due to disclaimer problems.
7470
d61357ce
VS
74712012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
7474 len = 0.
7475 (grub_gettext_translate_real): Handle 0th string.
7476 (grub_gettext_translate): Ensure that "" isn't translated.
7477
505e41dc
VS
74782012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
7481 TRANSLATORS comment.
7482 (grub_diskfilter_print_partmap): Propagate changing of error into
7483 warning.
7484
e44092db
VS
74852012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
7488 to uint64_t to prevent overflow.
7489 (grub_diskfilter_lv): Increase start_extent and extent_count
7490 to uint64_t to prevent overflow.
7491
9b83956a
VS
74922012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 * configure.ac: Increase version.
7495
da0d5b3f
VS
74962012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
7499
7500 * po/Rules-translit: New file.
7501 * po/arabic.sed: Likewise.
7502 * po/cyrillic.sed: Likewise.
7503 * po/greek.sed: Likewise.
7504 * po/hebrew.sed: Likewise.
7505 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
7506 * po/Makefile.in.in: Add extra_dist4.
7507
ac66b453
VS
75082012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7509
7510 Handle big-endian minixfs (fixes minixfs tests on bigendian).
7511
7512 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
7513 modify names. Introduce MODE_BIGENDIAN.
7514 * grub-core/fs/minix_be.c: New file.
7515 * grub-core/fs/minix2_be.c: Likewise
7516 * grub-core/fs/minix3_be.c: Likewise.
7517 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
7518 minix3_be.
7519 * grub-core/Makefile.core.def (minix_be): New module.
7520 (minix2_be): Likewise.
7521 (minix3_be): Likewise.
7522
75232012-04-01 Felix <email@hamburg.de>
7524
7525 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
7526 (devs): Add MBP 2011.
7527
0a2d5a82
VS
75282012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
7531
d1625889
VS
75322012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7533
7534 * grub-core/normal/cmdline.c (print_completion): New field
7535 prompt_len.
7536 (grub_cmdline_get): Handle width properly.
7537
6d36a236
VS
75382012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/commands/lsacpi.c (options): Add missing terminator.
7541
9576977e
VS
75422012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 7545 after 29th of February.
9576977e 7546
d73ff15d
VS
75472012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 Fix exfat endianness handling.
7550
7551 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
7552 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
7553 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
7554 Byte-swap utf16 when necessary.
7555 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
7556
bbb39a45
AB
75572012-03-31 Anton Blanchard <anton@samba.org>
75582012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 Fix btrfs endianness handling.
7561
7562 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
7563 (lower_bound): Make root uint64_t. Use root in le.
7564 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
7565 (find_path): Fix template key init.
7566 (grub_btrfs_dir): Fix mtime byteswap.
7567 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
7568
354e0af7
VS
75692012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
7572 recursion_depth. Break infinite resursions. All users updated.
7573
4e75f21c
VS
75742012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7575
7576 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
7577 after free.
7578 Reported by: Peter Jones.
7579
25581802
AB
75802012-03-31 Anton Blanchard <anton@samba.org>
7581
7582 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
7583 8 bit values.
7584
08fbf92e
VS
75852012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 * util/grub-install.in: Fix nvram call for PreP.
7588
5d1182a6
VS
75892012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7590
7591 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
7592 the error when some elements are missing into a warning.
7593
3f8cdd90
VS
75942012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
7597
51006716
CW
75982012-03-28 Colin Watson <cjwatson@ubuntu.com>
7599
7600 * docs/grub.texi (Invoking grub-probe): New section.
7601 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
7602
e1bd676b
VS
76032012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 Fix tab and wide character handling in editor and menu.
7606
7607 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
7608 agglomerate control characters with combining marks.
7609 (bidi_line_wrap): Allow break on tab.
7610 (grub_unicode_get_comb_start): New function.
7611 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
7612 and tab correctly.
7613 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
7614 with a space.
7615 * grub-core/normal/term.c (print_ucs4_terminal): New argument
7616 fixed_tab_size. All users updated.
7617 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
7618 (grub_term_getcharwidth): Handle \t.
7619 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
7620 and copy.
7621
22e6a774
VS
76222012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 Handle big-endian mdraid.
7625
7626 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
7627 * grub-core/Makefile.core.def (mdraid09_be): New module.
7628 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
7629 rather than grub_le_to_cpu* and grub_cpu_to_le*.
7630 * grub-core/disk/mdraid_linux_be.c: New file.
7631
3c0eae66
VS
76322012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
7635
b6cf74c9
VS
76362012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7639 missing quotes which caused confusion among translators.
7640
83c93b9c
VS
76412012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 * util/grub-mkconfig_lib.in: Fix typo.
7644
ac6fd218
VS
76452012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
7648 spaces.
7649 * tests/grub_script_leading_whitespace.in: New file.
7650 * Makefile.util.def (grub_script_leading_whitespace): New test.
7651
ba287dd8
VS
76522012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
7655 to work.
7656
d2d58d0a
VS
76572012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
7660 starts with control character.
7661
0382d9bb
VS
76622012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
7665 overflow.
7666 (grub_gdb_outbuf): Likewise.
7667
d83ff9f9
VS
76682012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
7671 zero terminator. Fixes a crash.
7672
2282da4a
VS
76732012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
7676 beyond 4 GiB.
7677 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
7678 images independently of preffered adderss field.
7679
0ae4f0bd
VS
76802012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7681
7682 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
7683 * grub-core/commands/regexp.c: Likewise.
7684 * grub-core/loader/i386/linux.c: Likewise.
7685 * grub-core/partmap/msdos.c: Likewise.
7686 * grub-core/script/execute.c: Likewise.
7687 * grub-core/term/gfxterm.c: Likewise.
7688
546fbe9b
VS
76892012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7690
7691 Add variable parsing in $"..." and fix several mismatches with bash.
7692
7693 * Makefile.util.def (grub_script_gettext): New test.
7694 * grub-core/script/execute.c (parse_string): New function.
7695 (gettext_append): Likewise.
7696 (grub_script_arglist_to_argv): Use gettext_append.
7697 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
7698 * tests/grub_script_gettext.in: New file.
7699
9fdb2d7b
VS
77002012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 Fix handling of leading spaces in scripts.
7703
7704 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
7705 spaces.
7706 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
7707 other than skipping \r. All users updated.
7708 * tests/grub_script_echo1.in: Add space-related tests.
7709 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
7710
1a1ac4f6
VS
77112012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
7714
b63d89b6
VS
77152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7716
7717 * configure.ac: Bump up the version to beta2.
7718
17f38c0f
VS
77192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 Fix gettext reload bugs (e.g. inability to disable gettext
7722 once enabled).
7723
7724 * grub-core/gettext/gettext.c: Encapsulate all static variables in
7725 main_context and secondary_context. All functions updated.
7726 (grub_gettext_translate): Rename to ...
7727 (grub_gettext_translate_real): ... this. Return NULL on failed
7728 translate.
7729 (grub_gettext_translate): Handle secondary context.
7730 (grub_gettext_delete_list): Close file and zero-out the context.
7731 (grub_mofile_open): Don't call grub_gettext_delete_list.
7732 Don't close file.
7733 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
7734 if locale="" to avoid pointless error message.
7735 (grub_gettext_env_write_lang): Update lang even if load fails.
7736 Handle secondary context.
7737 (grub_gettext_reread_prefix): New function.
7738 (read_main): Likewise.
7739 (read_secondary): Likewise.
7740 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
7741 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
7742 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
7743 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
7744
8e56f870
VS
77452012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * configure.ac: Decrease warning level to avoid spurious warnings and
7748 to be able to compile with GCC 4.2.
7749 * Makefile.util.def: Remove -Wno-error=logical-op.
7750
82f6d455
WB
77512012-03-10 William Bittner <william.bittner@gmail.com>
7752
7753 * util/import_unicode.py: Add missing brackets around string for
7754 python 3 support.
7755
1ecd61a4
VS
77562012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7757
7758 Fix efi chainloader on network root.
7759
7760 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
7761 network devices.
7762 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
7763 New function.
7764
14361ee8
VS
77652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
7768 unused show_text member.
7769 * docs/grub.texi: Document "text" property.
7770
922aabf3
VS
77712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7772
7773 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
7774 in dprintf.
7775
ec316771
VS
77762012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7777
7778 Fix IMSM handling on Fedora.
7779
7780 * util/getroot.c (grub_util_is_imsm): New function.
7781 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
7782
0f021838
VS
77832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7784
7785 * Makefile.am: Strip gold section.
7786 * conf/Makefile.common: Likewise.
7787 * gentpl.py: Likewise.
7788 * grub-core/Makefile.core.def: Likewise.
7789 * grub-core/genmod.sh.in: Likewise.
7790
1039c8eb
VS
77912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7792
7793 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
7794 * util/grub.d/20_linux_xen.in: Likewise.
7795 Based on Debian patch.
7796
6dd412cd
VS
77972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7798
7799 * util/grub.d/10_linux.in: Fix syntax error resulting in
7800 Richard Laager's patch.
7801 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
7802
3fd8bae5
VS
78032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7804
7805 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
7806 dependencies.
7807
7eea1671
RL
78082012-03-10 Richard Laager <rlaager@wiktel.com>
7809
7810 * util/grub.d/10_linux.in: Fix ZFS root passing.
7811
e8e0566b
VS
78122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7815 * grub-core/commands/xnu_uuid.c: Likewise.
7816 * grub-core/loader/efi/appleloader.c: Likewise.
7817 * grub-core/script/execute.c: Likewise.
7818 * grub-core/script/main.c: Likewise.
7819 * util/grub-mkfont.c: Likewise.
7820
1acc5b1f
VS
78212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7822
7823 * util/grub-mkfont.c (options): Use more appropriate "select" that
7824 "set" for face index.
7825
35d70620
VS
78262012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7827
7828 * util/grub-editenv.c (options): Gettextize command summaries.
7829
c9eb96b5
VS
78302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
7833 "out of memory" error messagge.
7834
1f493136
VS
78352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7836
7837 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
7838 of diskfilter for diskfilter on diskfilter support.
7839
6d790129
VS
78402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
7843
005f46c9
VS
78442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 * util/grub-install.in: Check for themes/starfield/theme.txt and not
7847 themes/starfield.
7848
c8f778a0
VS
78492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
7852
de1e64eb
VS
78532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
7856
c6d54211
VS
78572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7858
7859 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
7860 of error message.
7861
dd390777
VS
78622012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
7865
5fd1c522
VS
78662012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
7869 message.
c6d54211 7870 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 7871
fae01f6c
VS
78722012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
7875 Gettextize.
7876 * util/grub-mount.c (options): Likewise.
7877
292fdaff
VS
78782012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
7881 gettextize.
7882 * grub-core/commands/search_wrap.c (options): Likewise.
7883
ecdbae77
VS
78842012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
7887
52bfedfa
VS
78882012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
7891 size calculation.
7892 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
7893 none is known.
7894
55b20e58
VS
78952012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
7898 "temporary" since it's used in identifier and is limited in space.
7899
fda9d101
VS
79002012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 * po/POTFILES.in: Regenerate. Include *.h since they contain
7903 translatable strings as well.
7904
6a0295e2
VS
79052012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7906
7907 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7908 byte-swap on big-endian.
7909 Reported by: Lennart Sorensen
7910
807fb77c
VS
79112012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7912
7913 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
7914 (allocate_pages): Improve dprintf.
7915 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
7916 code32_start. Fill code32_start and kernel_alignment in params.
7917 (grub_cmd_initrd): Use prot_init_space.
7918
61ac50ba
VS
79192012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
7922
abdd26dd
VS
79232012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7924
7925 * util/grub-install.in: Add missing dot at the end of sentence.
7926
6e69da9c
VS
79272012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7928
7929 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7930 * grub-core/commands/videotest.c: Likewise.
7931 * grub-core/loader/i386/linux.c: Likewise.
7932
4a929343
VS
79332012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
7936 sentence.
7937 Reported by: Milo Casagrande.
7938
bb51c6c6
VS
79392012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
7942 * grub-core/commands/gptsync.c: Likewise.
7943 * grub-core/commands/hashsum.c: Likewise.
7944 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7945 * grub-core/commands/legacycfg.c: Likewise.
7946 * grub-core/io/gzio.c: Likewise.
7947 * grub-core/net/net.c: Likewise.
7948 * grub-core/term/gfxterm.c: Likewise.
7949 * grub-core/term/terminfo.c: Likewise.
7950 * grub-core/tests/test_blockarg.c: Likewise.
7951 * grub-core/video/video.c: Likewise.
7952 * util/grub-install.in: Likewise.
7953 * util/grub-mkfont.c: Likewise.
7954
b2b149cb
VS
79552012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
7958
c7c080ad
VS
79592012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 7962 Reported by: David Prévot.
c7c080ad 7963
f2e243c0
VS
79642012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
7967 description.
7968
09963c76
VS
79692012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * util/grub-script-check.c (main): Fix a syntax error message which was
7972 unclear.
7973
a50514a8
VS
79742012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
7977
4650daec
VS
79782012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
7981 messages.
7982
79832012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
7984
7985 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
7986 without argument.
7987 * util/grub-mount.c (options): Likewise.
7988
bbc5a342
VS
79892012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7990
7991 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
7992
ef292a87
VS
79932012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 * grub-core/net/http.c: Add TRANSLATORS comments.
7996 * grub-core/normal/cmdline.c: Likewise.
7997 * grub-core/normal/misc.c: Likewise.
7998 * grub-core/partmap/msdos.c: Likewise.
7999 * grub-core/parttool/msdospart.c: Likewise.
8000 * grub-core/script/execute.c: Likewise.
8001 * grub-core/script/main.c: Likewise.
8002 * grub-core/term/terminfo.c: Likewise.
8003 * grub-core/video/bitmap.c: Likewise.
8004 * util/grub-install.in: Likewise.
8005 * util/grub-mkimage.c: Likewise.
8006 * util/grub-mklayout.c: Likewise.
8007 * util/grub-setup.c: Likewise.
8008
0fc19bd0
VS
80092012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8010
8011 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
8012 with similar messages in grub-fstest.
8013
d95862ef
VS
80142012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 * util/grub-install.in: Unify "option requires an argument" message
8017 with similar messages in other files.
8018 * util/grub-mkconfig.in: Likewise.
8019
b7308f90
VS
80202012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8021
8022 * util/grub-set-default.in: Replace printf with gettext_printf (the
8023 string in in question is already translated from grub-reboot)
8024
559dc587
VS
80252012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8026
8027 * configure.ac: Bump up the version to beta1.
8028
1a11761f
VS
80292012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
8032 case when min_align = 0.
8033
24539abd
VS
80342012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8035
8036 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
8037 and fix a case when line_start overflows.
8038
32bd735b
VS
80392012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8040
8041 * util/grub-reboot.in (usage): Mention id posibility.
8042 * util/grub-set-default.in (usage): Likewise.
8043
1a2fd1e6
VS
80442012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8045
8046 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
8047 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
8048 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
8049 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
8050 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8051 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8052 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8053
90eeab76
VS
80542012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8055
8056 * grub-core/commands/menuentry.c (options): Remove
8057 GRUB_ARG_OPTION_REPEATABLE.
8058 Reported by: Andreas Vogel
8059
5ad1be82
AV
80602012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
8061
8062 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
8063
cb055286
HE
80642012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
8065
8066 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
8067 error.
8068
93b1cd79
VS
80692012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 Use sort -V by the idea of Georgi Georgiev.
8072
8073 * util/grub-mkconfig_lib.in (version_sort): New function.
8074 (version_test_numeric): Use version_sort.
8075
0cdc126c
VS
80762012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 Use submenus in grub-mkconfig.
8079
8080 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
8081 * util/grub-mkconfig_lib.in (grub_quote): New function.
8082 (gettext_printf): Use gettext and not gettext_quoted to fix several
8083 messages.
8084 * util/grub.d/10_hurd.in: Use submenus.
8085 * util/grub.d/10_kfreebsd.in: Likewise.
8086 * util/grub.d/10_linux.in: Likewise.
8087 * util/grub.d/10_netbsd.in: Likewise.
8088 * util/grub.d/20_linux_xen.in: Likewise.
8089 * util/grub.d/30_os-prober.in: Likewise.
8090 * util/grub.d/10_illumos.in: Add missing quoting.
8091 * util/grub.d/10_windows.in: Likewise.
8092
d9bef9bc
VS
80932012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 Fix menu title instability bug.
8096
8097 * grub-core/commands/menuentry.c (options): New option --id.
8098 (grub_normal_add_menu_entry): New argument id. All users updated.
8099 (grub_cmd_menuentry): Handle --id.
8100 (grub_menu_init): Accept unknown arguments.
8101 * grub-core/normal/main.c (features): Add feature_menuentry_id and
8102 feature_menuentry_options.
8103 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
8104 saved_entry.
8105 (get_entry_number): Match with id as well.
8106 * include/grub/menu.h (grub_menu_entry): New member id.
8107 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
8108 * util/grub.d/00_header.in: Define menuentry_id_option.
8109 * util/grub.d/10_hurd.in: Define id.
8110 * util/grub.d/10_illumos.in: Likewise.
8111 * util/grub.d/10_kfreebsd.in: Likewise.
8112 * util/grub.d/10_linux.in: Likewise.
8113 * util/grub.d/10_netbsd.in: Likewise.
8114 * util/grub.d/10_windows.in: Likewise.
8115 * util/grub.d/20_linux_xen.in: Likewise.
8116 * util/grub.d/30_os-prober.in: Likewise.
8117
81182012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
8119
8120 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
8121 "scope" with "body".
8122
7c8d0ce7
VS
81232012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
8126 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
8127 prot_size and prot_file_size.
8128
49de079b
VS
81292012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
8132 All users updated. If easily=1 require raid-5/-6 to be full.
8133 (is_node_readable): Likewise.
8134 (scan_devices): Scan incomplete but readable LVs at the end.
8135 (grub_diskfilter_memberlist): Pull missing devices.
8136 (insert_array): Skip scanning until device is complete or scan is
8137 done otherwise.
8138 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
8139 check.
8140 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
8141 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
8142
aff05d45
MG
81432012-03-03 Matthew Garrett <mjg@redhat.com>
81442012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 Avoid EFI boot services when loading Linux.
8147
8148 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
8149 avoid_efi_bootservices. All users updated.
8150 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
8151 argument avoid_efi_bootservices. All users updated.
8152 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
8153 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
8154 align, min_align, relocatable, prefered_address. All users updated.
8155 Allocate avoiding boot services if kernel is relocatable.
8156 (grub_cmd_linux): Check if kernel is relocatable.
8157 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
8158 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
8159 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
8160 avoid_efi_boot_services.
8161 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
8162 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
8163 (linux_kernel_params): Likewise.
8164
3935dde2
MG
81652012-03-03 Matthew Garrett <mjg@redhat.com>
81662012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 Use EDID on EFI.
8169
8170 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
8171 datasize_out.
8172 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
8173 modes. Set gop_handle.
8174 (grub_video_gop_get_edid): New function.
8175 (grub_gop_get_preferred_mode): Likewise.
8176 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
8177 (grub_video_efi_gop_adapter): Set .get_edid.
8178 * include/grub/efi/edid.h: New file.
8179 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
8180
32107ec0
VS
81812012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 * util/grub-install.in: Load efivars unconditionally.
8184
e70a2c50
VS
81852012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8186
8187 * po/Rules-piglatin: Change suffix from .po-update-en to
8188 .po-update-en-piglatin.
8189
8f9cace1
VS
81902012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8191
8192 Add a pig farm.
8193
8194 * po/piglatin.sed: New file.
8195 * po/en@piglatin.header: Likewise.
8196 * po/Rules-piglatin: Likewise.
8197 * po/README: Add en@piglatin to autogenerated languages.
8198
8f95d002
VS
81992012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
8202 "Command for ...".
8203 * grub-core/commands/hdparm.c (options): Use "Display" rather than
8204 "Check" since we don't check anything.
8205 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
8206 is 64-bit one.
8207 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
8208 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
8209 (grub_md_sha512_real): Likewise.
8210
805a8dcc
VS
82112012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8212
8213 * grub-core/commands/gptsync.c: Fix typographic quoting.
8214 * grub-core/commands/ieee1275/suspend.c: Likewise.
8215 * grub-core/commands/parttool.c: Likewise.
8216 * grub-core/commands/search_wrap.c: Likewise.
8217 * grub-core/commands/videoinfo.c: Likewise.
8218 * grub-core/gfxmenu/gui_label.c: Likewise.
8219 * grub-core/hello/hello.c: Likewise.
8220 * grub-core/kern/emu/main.c: Likewise.
8221 * grub-core/net/net.c: Likewise.
8222 * grub-core/normal/menu.c: Likewise.
8223 * grub-core/normal/menu_text.c: Likewise.
8224 * grub-core/normal/misc.c: Likewise.
8225 * util/grub-editenv.c: Likewise.
8226 * util/grub-install.in: Likewise.
8227 * util/grub-kbdcomp.in: Likewise.
8228 * util/grub-mkconfig.in: Likewise.
8229 * util/grub-mknetdir.in: Likewise.
8230 * util/grub-mkrescue.in: Likewise.
8231 * util/grub-mkstandalone.in: Likewise.
8232 * util/grub-reboot.in: Likewise.
8233 * util/grub-set-default.in: Likewise.
8234 * util/grub-setup.c: Likewise.
8235 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8236
40211ab8
VS
82372012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
8240 * grub-core/commands/keystatus.c: Likewise.
8241 * grub-core/commands/loadenv.c: Likewise.
8242 * grub-core/commands/probe.c: Likewise.
8243 * grub-core/commands/regexp.c: Likewise.
8244 * grub-core/commands/true.c: Likewise.
8245 * grub-core/commands/videoinfo.c: Likewise.
8246 * grub-core/disk/cryptodisk.c: Likewise.
8247 * grub-core/disk/ldm.c: Likewise.
8248 * grub-core/disk/loopback.c: Likewise.
8249 * grub-core/disk/luks.c: Likewise.
8250 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8251 * grub-core/kern/disk.c: Likewise.
8252 * grub-core/kern/emu/hostdisk.c: Likewise.
8253
0c7d99c7
VS
82542012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
8257 * util/grub-install.in: Add missing quote in the comment.
8258
e7d2559b
VS
82592012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8260
8261 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
8262 * grub-core/commands/lsmmap.c: Likewise.
8263 * grub-core/commands/minicmd.c: Likewise.
8264 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8265 * grub-core/commands/regexp.c: Likewise.
8266 * grub-core/gdb/gdb.c: Likewise.
8267 * grub-core/term/gfxterm.c: Likewise.
8268 * util/grub-mkconfig.in: Likewise.
8269 * util/grub-mkfont.c: Likewise.
8270 * util/grub-mklayout.c: Likewise.
8271 * util/grub-mknetdir.in: Likewise.
8272 * util/grub-mkrescue.in: Likewise.
8273 * util/grub.d/30_os-prober.in: Likewise.
8274
49ce9e50
VS
82752012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
8278 with "Direct color" and "Packed" with "Packed pixel".
8279 (grub_cmd_videoinfo): Simplify legend.
8280
e4b791fa
VS
82812012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8282
8283 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8284 absolutely unclear error message.
8285
fd1265cb
VS
82862012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8287
8288 * util/grub-mkstandalone.in: Remove confusing leftover print.
8289
8822a8a0
VS
82902012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8291
8292 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
8293 comments.
8294 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
8295 (GRUB_MOD_INIT): Likewise.
8296 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
8297 VGA mode.
8298 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
8299 comments.
8300 * util/grub-install.in (usage): Likewise.
8301 Spell ID in whole letters.
8302 Add missing ending dot.
8303 Quote variables.
8304 * util/grub-reboot.in: Fix capitalisation.
8305 * util/grub-set-default.in: Likewise.
8306
937fd0cc
VS
83072012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8308
8309 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
8310 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
8311 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
8312 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
8313 Disable -Werror for -Wdeprecated-declarations.
8314 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
8315 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
8316 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
8317 (grub_util_get_grub_dev): Make luks handling dependent on
8318 HAVE_DEVICE_MAPPER and not __linux__.
8319 (get_win32_path): Fix format security.
8320 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
8321 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
8322 Don't try grub_find_zpool_from_dir.
8323 (grub_make_system_path_relative_to_its_root) [!__linux__]:
8324 #ifdef-out paresdir.
8325
1bab1ae3
VS
83262012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 * util/grub-pe2elf.c (usage): Add missing noreturn.
8329 (write_section_data): Rename name to shname to avoid shadowing.
8330 (write_symbol_table): Rename name to symname to avoid shadowing.
8331 Fix write_reloc_section call.
8332
ef023e42
VS
83332012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
8336 to ensure that it's after the last byte of .text.
8337
48afcb75
VS
83382012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 * util/ieee1275/ofpath.c (my_isdigit): New function.
8341 (trailing_digits): Use my_isdigit.
8342 (strip_trailing_digits): Likewise.
8343
88d51eff
VS
83442012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
8347 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
8348
17edc2ba
VS
83492012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8350
8351 * grub-core/kern/i386/pc/startup.S: Define __start.
8352
ad5518d7
VS
83532012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
8356 strip already transforms he format.
8357
9e95e1bf
VS
83582012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
8361
9cc3ee5c
VS
83622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * util/grub-install.in: Add missing gettext init.
8365 * util/grub-kbdcomp.in: Likewise.
8366 * util/grub-mkconfig.in: Likewise.
8367 * util/grub-mknetdir.in: Likewise.
8368 * util/grub-mkrescue.in: Likewise.
8369 * util/grub-mkstandalone.in: Likewise.
8370 * util/grub-reboot.in: Likewise.
8371 * util/grub-set-default.in: Likewise.
8372 * util/grub.d/00_header.in: Likewise.
8373 * util/grub.d/10_hurd.in: Likewise.
8374 * util/grub.d/10_windows.in: Likewise.
8375 * util/grub.d/30_os-prober.in: Likewise.
8376 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8377
49e08a06
VS
83782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * po/Rules-swiss: Fix header comment.
8381
3809cb41
AV
83822012-02-29 Andreas Vogel <anvoit>
8383
8384 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
8385 resulted in leak of arguments.
8386
fa6ec573
VS
83872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 * grub-core/boot/i386/pc/startup_raw.S: Use separate
8390 reed_solomon_size const definition instead of computing it since
8391 Apple assembler doesn't support the later.
8392
22899b9c
VS
83932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * gentpl.py (kernel): Rewrite Apple part.
8396
a132afc3
VS
83972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 * include/grub/kernel.h (FOR_MODULES): Check module magic.
8400
9d742bd4
VS
84012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * util/grub-mkimagexx.c (locate_sections): Support non-standard
8404 ELF section gap.
8405 (load_image): Likewise.
8406
f04a9a21
VS
84072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8408
8409 * configure.ac: Fix a typo in previous commit.
8410
46cf439c
VS
84112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 Don't add -Wl,-N on Apple platform.
8414
8415 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
8416 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
8417
c4c48c54
VS
84182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 * grub-core/Makefile.core.def (lzma_decompress): Use
8421 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
8422
31a12124
VS
84232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 * grub-core/genmod.sh.in: Rewrite the Apple part.
8426
4f3aa1af
VS
84272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8428
8429 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
8430 comparison.
8431
7bd8b0c7
VS
84322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8433
8434 * acinclude.m4 (grub_CHECK_PIC): New test.
8435 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
8436
97304d7c
VS
84372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8438
8439 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
8440 to avoid the warning.
8441
fb883812
VS
84422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8443
8444 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
8445 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
8446 after. All users updated.
8447
a121c964
VS
84482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 Use the common size routine in hostfs so we can read disks as well.
8451
8452 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
8453 (grub_util_get_fd_size): ... this. Return size in bytes.
8454 All users updated.
8455 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
8456 grub_util_get_fd_size.
8457
c66d6410
VS
84582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
8461 Add blocksize retrieval.
8462
dfc8aeb0
VS
84632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 * configure.ac: Restore CFLAGS after efiemu check.
8466
403e25a5
VS
84672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8468
8469 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
8470 Apple bug.
8471
382775d1
VS
84722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
8475
6fd4e6e4
VS
84762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
8479 (grub_cmd_halt): Likewise.
8480
bea359d6
VS
84812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
8484 for local arithmetics.
8485 Break %sp init into 2 instructions.
8486 Add 0 byte at the end.
8487
32eb6ee1
VS
84882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8489
8490 * grub-core/disk/diskfilter.c (read_segment): Initialise err
8491 before loops.
8492
e8377389
VS
84932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
8496 for context.
8497
8cb17de7
VS
84982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8499
8500 * grub-core/disk/ldm.c (make_vg): Init part.name.
8501 (grub_ldm_detect): Silence spurious warning.
8502 (grub_util_is_ldm): Likewise.
8503
595717e6
VS
85042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8505
8506 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
8507 sane value to avoid a spurious warning.
8508
c4b7e588
VS
85092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8510
8511 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
8512 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
8513
59824957
VS
85142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8515
8516 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
8517 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
8518
70115b99
VS
85192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8520
8521 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
8522 hardcoding the relevant info.
8523
56733740
VS
85242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8525
8526 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
8527 missing const qualifiers.
8528 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
8529
43481481
VS
85302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8531
8532 * util/getroot.c [__APPLE__]: Add missing includes.
8533 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
8534
3cb38f01
VS
85352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8536
8537 * util/grub-mkimage.c (generate_image): Silence spurious warning.
8538
d9dbf11e
VS
85392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
8542 avoid conflicts.
8543
0c42a45d
VS
85442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8545
8546 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
8547
46c34eb0
VS
85482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
8551 and grub_file_close call.
8552
99ce1597
VS
85532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 Add LZSS Mach-O support (needed for new xnu kernelcache).
8556
8557 * grub-core/Makefile.core.def (xnu): Add file lzss.c
8558 * grub-core/loader/lzss.c: New file.
8559 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
8560 on Mach-O open failure.
8561 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
8562 Don't free cmdsXX in uncompressedXX is set.
8563 (grub_macho_file): Init new fields.
8564 New argument is_64bit. All users updated.
8565 Handle compressed. Error out if no suitable architecture is found.
8566 Don't close file.
8567 (grub_macho_open): New argument is_64bit. All users updated.
8568 * grub-core/loader/macho32.c: Add defines for new fields.
8569 * grub-core/loader/macho64.c: Likewise.
8570 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
8571 (grub_macho_parse): Handle compressed.
8572 Defer actual processing if compressed.
8573 (grub_macho_cmds_iterate): Decompress if compressed. New argument
8574 "filename". All users updated.
8575 (grub_macho_size): New argument "filename". All users updated.
8576 (grub_macho_get_entry_point): Likewise.
8577 (grub_macho_load): Handle compressed.
8578 * include/grub/macho.h (grub_macho_lzss_header): New struct.
8579 (GRUB_MACHO_LZSS_OFFSET): New define.
8580 (grub_decompress_lzss): New proto.
8581 * include/grub/machoload.h (grub_macho_file): New fields to handle
8582 compressed.
8583 (grub_macho_contains_macho64): Remove proto.
8584 (grub_macho_contains_macho32): Likewise.
8585 * util/grub.d/30_os-prober.in: Use kernel cache if available.
8586
ebd17d6f
VS
85872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
8590
2702b4e4
VS
85912012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 Fix make dist.
8594
8595 * Makefile.am (starfield_theme_files): New var.
8596 (starfield_DATA): Use starfield_theme_files.
8597 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
8598 Add bootcheck-related files.
8599 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
8600 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
8601 and font_char_metrics.txt.
8602 * grub-core/Makefile.core.def (kernel): Update extra_dist.
8603 (setjmp): Add lib/ia64/longjmp.S.
8604 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
8605 * po/POTFILES.in: Regenerate.
8606 * po/Rules-swiss: use DISTFILES.common.extra2 and not
8607 DISTFILES.common.extra1.
8608 * util/devicemap.c: Removed.
8609 * grub-core/lib/i386/relocator_backward.S: Likewise.
8610 * util/import_gcry.py: Remove unused files. Add extra_dist for
8611 ChangeLog.
8612
cf1adfdf
VS
86132012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * grub-core/gettext/gettext.c (grub_mofile_open): Call
8616 grub_gettext_delete_list before changing grub_gettext_max to avoid
8617 running out of array bounds.
8618
86192012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
8620
8621 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
8622 grub_vga_text_init/grub_vga_text_fini.
8623
cf1adfdf 86242012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
8625
8626 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
8627
541d92e9
VS
86282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * configure.ac: Bump to 2.00~beta0.
8631
7931dddf
VS
86322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
8635 missing initialisation.
8636
f1b16fa3
VS
86372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8638
8639 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
8640
83ddae23
VS
86412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8642
8643 Support v2 xnu boot arguments.
8644
8645 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
8646 New argument fsbfreq_out.
8647 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
8648 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
8649 be used.
8650 * grub-core/loader/machoXX.c (grub_macho_load): New argument
8651 darwin_version.
8652 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
8653 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
8654 (grub_xnu_boot_params): Rename to ...
8655 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
8656 (grub_xnu_boot_params_v2): New struct.
8657
dc693fe6
VS
86582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
8661 zeroing of CRC field before computing CRC.
8662
5a6e39c2
VS
86632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
8666 Change order of allocations to decrease fragmentation.
8667
6c21f5d7
VS
86682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8669
8670 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
8671
cfe456dc
CW
86722012-02-27 Colin Watson <cjwatson@ubuntu.com>
8673
8674 Use write-combining MTRR to speed up video with buggy BIOSes.
8675
8676 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
8677 (cpuid): New define.
8678 (rdmsr): Likewise.
8679 (wrmsr): Likewise.
8680 (mtrr_base): Likewise.
8681 (mtrr_mask): Likewise.
8682 (grub_vbe_enable_mtrr_entry): New function.
8683 (grub_vbe_enable_mtrr): Likewise.
8684 (grub_vbe_disable_mtrr): Likewise.
8685 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
8686 control off to BIOS.
8687 (grub_video_vbe_init): Fill mtrr.
8688 (grub_video_vbe_fini): Disable mtrr.
8689 (grub_video_vbe_get_info_and_fini): Likewise.
8690 (grub_video_vbe_setup): Enable mtrr.
8691
e3c78337
CW
86922012-02-27 Colin Watson <cjwatson@ubuntu.com>
8693
8694 * include/grub/partition.h (grub_partition_map): Change prototype of
8695 embed to take a maximum value for nsectors.
8696 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
8697 * include/grub/fs.h (grub_fs): Likewise.
8698 * grub-core/partmap/msdos.c (embed_signatures): New array.
8699 (pc_partition_map_embed): Check for and avoid sectors matching any
8700 of the signatures in embed_signatures, up to max_nsectors.
8701 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
8702 returned sector map to max_nsectors.
8703 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
8704 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
8705 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
8706 * util/grub-setup.c (setup): Allow for the embedding area being
8707 split into multiple blocklists. Tell dest_partmap->embed the
8708 maximum number of sectors we care about.
8709
87102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8711
8712 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
8713 Specify blocklist_install and reserver_first_sector for all fs.
8714 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
8715 blocklists.
8716
984b973f
VS
87172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 * util/grub-install.in: Clarify strings.
8720 Fix source dir check.
8721
f122e0d6
RL
87222012-02-27 Richard Laager <rlaager@wiktel.com>
8723
8724 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
8725 "zfs" and "fuse.zfs" as synonyms.
8726
071114bb
VS
87272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * configure.ac: Put platform and target_cpu substitutions back since
8730 they are used for directories.
8731
817e6abc
RL
87322012-02-27 Richard Laager <rlaager@wiktel.com>
87332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 * util/grub.d/10_linux.in: Add ZFS-related arguments.
8736 * util/grub.d/20_linux_xen.in: Likewise.
8737
897b7419
RL
87382012-02-27 Richard Laager <rlaager@wiktel.com>
8739
8740 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
8741 with full paths.
8742
a414bd15
RL
87432012-02-27 Richard Laager <rlaager@wiktel.com>
8744
8745 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
8746 unescape.
8747
30ac48c4
VS
87482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 Don't use insecure popen in getroot.
8751
8752 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
8753 (exec_pipe): ... here.
8754 (find_root_devices_from_poolname): Use exec_pipe.
8755
53f13848
VS
87562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 Remove platform and target_cpu replacement.
8759
8760 * configure.ac: Remove platform and target_cpu substitutions.
8761 * tests/util/grub-shell.in: Use modinfo.
8762 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
8763 explicitly.
8764
90cb2803
VS
87652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 Autodetect platform in grub-install but allow override.
8768
8769 * util/grub-install.in: Autodetect platform. Support --target and
8770 --directory. Read platform from modinfo.sh.
8771
b9136427
VS
87722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 Support btrfs multi-volume probe.
8775
8776 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
8777 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
8778 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
8779 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
8780 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
8781 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
8782 grub_find_root_devices_from_btrfs if on btrfs.
8783
c36e5cd1
VS
87842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8785
8786 Remove any awareness of *.c util files about target.
8787
8788 * Makefile.util.def (grub-setup): Split to ...
8789 (grub-bios-setup): ... and this.
8790 (grub-sparc64-setup): ... and this.
8791 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
8792 * docs/man/grub-setup.h2m: Split into ...
8793 * docs/man/grub-sparc64-setup.h2m: ... this.
8794 * docs/man/grub-bios-setup.h2m: ... and this.
8795 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
8796 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
8797 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
8798 (grub_target_addr_t): Remove.
8799 (grub_target_size_t): Remove.
8800 (grub_target_ssize_t): Remove.
8801 * util/grub-install.in: Use new grub-*-setup.
8802 * util/grub-mkimagexx.c (Elf_Word): New define.
8803 (Elf_Half): Likewise.
8804 (Elf_Section): Likewise.
8805 (ELF_ST_TYPE): Likewise.
8806 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
8807 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
8808
584b2f8a
VS
88092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8810
8811 Replace grub_target_addr with more appropriate types.
8812
8813 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
8814 grub_target_addr with grub_addr.
8815 * grub-core/commands/iorw.c (grub_cmd_read): Replace
8816 grub_target_addr with grub_port.
8817 (grub_cmd_write): Likewise.
8818 * grub-core/commands/memrw.c (grub_cmd_read): Replace
8819 grub_target_addr with grub_addr.
8820 (grub_cmd_write): Likewise.
8821 * grub-core/video/efi_uga.c (find_line_len): Likewise.
8822
5a0dc6fb
VS
88232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8824
8825 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
8826 const qualifier for vendor_guid.
8827
786aff6e
VS
88282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
8831 const qualifier.
8832 (efiemu_memequal): Likewise.
8833 (find_variable): Likewise.
8834
49017b17
VS
88352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8836
8837 Fix missing console prototype on qemu-mips.
8838
8839 * include/grub/mips/qemu_mips/console.h: New file.
8840
c5988629
MG
88412012-02-27 Matthew Garrett <mjg@redhat.com>
88422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8843
8844 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
8845 * include/grub/efi/efi.h: Likewise.
8846 * include/grub/efi/api.h: Add guid for EFI-specified variables.
8847 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
8848 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
8849 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
8850 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
8851 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
8852
e33f8d69
MG
88532012-02-27 Matthew Garrett <mjg@redhat.com>
8854
8855 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
8856
fb312cd9
VS
88572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
8860 error.
8861
7134247c
VS
88622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 * configure.ac: Remove inappropriate use of program_transform_name
8865 on grubdir and bootdir but allow explicit specification of those
8866 variables.
8867
6a313124
VS
88682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 * util/grub-mknetdir.in (grub_prefix): Removed.
8871 (subdir): Use @bootdirname@ and @grubdirname@.
8872
2311c5ca
VS
88732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
8876
7d5d60f7
VS
88772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8878
8879 * po/POTFILES.in: Regenerated.
8880
8151bc82
VS
88812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 Remove improper use of program_transform_name on pkglibrootdir.
8884
8885 * configure.ac (pkglibrootdir): Removed.
8886 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
8887 * util/grub-mkimage.c: Likewise.
8888
b4a6a533
VS
88892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
8892 warning.
8893
668f304f
VS
88942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8895
8896 * util/grub-install.in: Use file identifier if no UUID is available
8897 or user explicitly prompted for it.
8898
665f2341
NP
88992012-02-27 Navdeep Parhar <nparhar@gmail.com>
8900
8901 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
8902 (freebsd_get_zfs): New function.
8903 (grub_freebsd_boot): Pass zfs UUID.
8904 (grub_cmd_freebsd): Set zfs UUID.
8905
8151bc82 89062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
8907
8908 * conf/Makefile.common (platformdir): Base on pkglibdir and not
8909 pkglibrootdir.
8910
e4c498a1
MG
89112012-02-27 Mike Gilbert <floppym@gentoo.org>
8912
8913 Add configure flag to control libzfs integration.
8914
8915 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
8916
1e9a9a3f
VS
89172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
8920 device.
8921 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
8922 small devices.
8923
036985b8
VS
89242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 Remove grub_{modname}_init and grub_{modname}_fini. They should never
8927 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
8928 be used on non-modules.
8929
8930 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
8931 Rename to grub_boot_init.
8932 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
8933 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
8934 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
8935 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
8936 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
8937 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
8938 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
8939 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
8940 includes.
8941 (grub_machine_init): Remove empty inits.
8942 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
8943 includes.
8944 (grub_machine_init): Remove empty inits.
8945 * grub-core/term/arc/console.c: Remove explicit proto.
8946 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
8947 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
8948 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8949 grub_at_keyboard_fini.
8950 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
8951 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
8952 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8953 grub_gfxterm_fini.
8954 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
8955 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
8956 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8957 grub_vgatext_fini.
8958 * grub-core/term/ieee1275/console.c: Remove explicit proto.
8959 * grub-core/term/serial.c (GRUB_MOD_INIT)
8960 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
8961 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8962 grub_serial_fini.
8963 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
8964 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
8965 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8966 grub_terminfo_fini.
8967 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
8968 (GRUB_MOD_FINI): Likewise.
8969 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
8970 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
8971 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8972 grub_video_radeon_fuloong2e_fini.
8973 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
8974 [LOONGSON]: Rename to grub_video_sis315pro_init.
8975 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8976 grub_video_sis315pro_fini.
8977 * grub-core/video/sm712.c (GRUB_MOD_INIT)
8978 [LOONGSON]: Rename to grub_video_sm712_init.
8979 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8980 grub_video_sm712_fini.
8981 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
8982 (grub_at_keyboard_fini): Likewise.
8983 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
8984 Don't declare grub_{modname}_init.
8985 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
8986 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
8987 New proto.
8988 (grub_keylayouts_fini) [!EMU]: Likewise.
8989 * include/grub/serial.h (grub_serial_init) [!EMU]:
8990 New proto.
8991 (grub_serial_fini) [!EMU]: Likewise.
8992 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
8993 New proto.
8994 (grub_terminfo_fini) [!EMU]: Likewise.
8995 * include/grub/video.h (grub_font_init) [!EMU]:
8996 New proto.
8997 (grub_font_fini) [!EMU]: Likewise.
8998 (grub_gfxterm_init) [!EMU]: Likewise.
8999 (grub_gfxterm_fini) [!EMU]: Likewise.
9000 (grub_video_sm712_init) [!EMU]: Likewise.
9001 (grub_video_sm712_fini) [!EMU]: Likewise.
9002 (grub_video_sis315pro_init) [!EMU]: Likewise.
9003 (grub_video_sis315pro_fini) [!EMU]: Likewise.
9004 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
9005 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
9006
d5534665
VS
90072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 Make nand a prefix for nand devices.
9010
9011 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
9012
10133b5f
VS
90132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
9016 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
9017
8e307a62
VS
90182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * include/grub/env.h (grub_env_find): Remove prototype.
9021 * grub-core/kern/env.c (grub_env_find): Make static.
9022 (grub_env_set): Remove useless set.
9023
a4c65f34
VS
90242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * grub-core/kern/i386/realmode.S: Remove useless align.
9027
d87893d5
VS
90282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * include/grub/dl.h (grub_dl_load_file): Don't export.
9031
50159add
VS
90322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9033
9034 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
9035 grub_dprintf.
9036
b2582b84
VS
90372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9038
9039 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
9040 grub_errors.
9041 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
9042 not reloading whole superblock but only the part which is really needed.
9043 Remove useless grub_errors.
9044 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
9045 grub_errors.
9046
e2a83395
VS
90472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 Don't export grub_get_rtc.
9050
9051 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
9052 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
9053
e7d2a906
VS
90542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
9057
6cf1363b
VS
90582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9059
9060 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 9061 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 9062
eece3349
VS
90632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 Remove prio_list.
9066
9067 * include/grub/list.h (grub_prio_list): Removed.
9068 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
9069 GRUB_COMMAND_PRIO_MASK.
9070 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
9071 GRUB_COMMAND_FLAG_ACTIVE.
9072 (grub_prio_list_insert): Removed.
9073 (grub_prio_list_remove): Likewise.
9074 (GRUB_AS_PRIO_LIST): Likewise.
9075 (GRUB_AS_PRIO_LIST_P): Likewise.
9076 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
9077 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
9078 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
9079 * grub-core/kern/command.c (grub_register_command_prio): Inline
9080 the prio_list code.
9081 (grub_unregister_command): Likewise.
9082
94f064b4
VS
90832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 Fix interrupt mixup from previous commit.
9086
9087 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
9088 (grub_realidt): New var.
9089 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
9090 Load idt.
9091 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
9092 New declaration.
9093 (grub_relocator16_boot): Set grub_relocator16_idt.
9094 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
9095 (LOCAL(realidt)): ... this.
9096 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
9097 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
9098 (grub_realidt): New variable.
9099
27317084
VS
91002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
9103 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
9104 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
9105 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
9106 Gettextize.
9107 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
9108 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
9109 * po/POTFILES.in: Regenerate.
9110
47b40053
VS
91112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9112
9113 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
9114 errors.
9115
2b343101
VS
91162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
9119 \0.
9120 (add_length): Likewise.
9121
ff27c3dd
LK
91222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
91232012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
9124
9125 GDB serial and backtrace support.
9126
9127 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
9128 (prot_to_real): Likewise.
9129 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
9130 * grub-core/Makefile.core.def (backtrace): New module.
9131 (gdb): Likewise.
9132 * grub-core/gdb/cstub.c: New file.
9133 * grub-core/gdb/gdb.c: Likewise.
9134 * grub-core/gdb/i386/idt.c: Likewise.
9135 * grub-core/gdb/i386/machdep.S: Likewise.
9136 * grub-core/gdb/i386/signal.c: Likewise.
9137 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 9138 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
9139 * include/grub/backtrace.h: Likewise.
9140 * include/grub/gdb.h: Likewise.
9141 * include/grub/i386/gdb.h: Likewise.
9142
91432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
9144
9145 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
9146 New function.
9147 (add_length): Likewise.
9148 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
9149 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
9150 proto.
9151 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
9152 __argp_get_display_len.
9153
ff27c3dd 91542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
9155
9156 $"..." support in scripts.
9157
9158 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
9159 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
9160 * grub-core/script/yylex.l: Likewise.
9161 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
9162 value.
9163
ff27c3dd 91642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
9165
9166 * gentpl.py: Remove obsolete pkglib_DATA handling.
9167
ff27c3dd 91682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
9169
9170 Don't transform PACKAGE_TARNAME following a discussion on autoconf
9171 mailing list.
9172
9173 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
9174 * util/grub-kbdcomp.in: Likewise.
9175 * util/grub-mkconfig.in: Likewise.
9176 * util/grub-mkconfig_lib.in: Likewise.
9177 * util/grub-mknetdir.in: Likewise.
9178 * util/grub-mkrescue.in: Likewise.
9179 * util/grub-mkstandalone.in: Likewise.
9180 * util/grub-reboot.in: Likewise.
9181 * util/grub-set-default.in: Likewise.
9182 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9183
ff27c3dd 91842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
9185
9186 Remove GRUB_PREFIX.
9187
9188 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
9189 * util/grub.d/00_header.in: Compute prefix in the only place it's still
9190 used for backward compatibility.
9191
ff27c3dd 91922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
9193
9194 Add new all_video module.
9195
9196 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
9197 * grub-core/Makefile.core.def (all_video): New module.
9198 * grub-core/genmoddep.awk: Generate dependency of all_video from
9199 video.lst.
9200 * grub-core/lib/fake_module.c: New file.
9201 * grub-core/normal/main.c (features): Add feature_all_video_module.
9202 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
9203 don't do explicit search again.
47454da5 9204 insmod all_video in load_video if available.
22c7ce85 9205
ff27c3dd 92062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
9207
9208 Another round of string clarification and adding TRANSLATORS comments.
9209
ff27c3dd 92102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
9211
9212 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
9213
ff27c3dd 92142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
9215
9216 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
9217 to grub_ssize_t.
9218 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
9219 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
9220
ff27c3dd 92212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
9222
9223 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
9224 trailing newline implicitly. All users updated.
9225
ff27c3dd 92262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
9227
9228 Implement serial on IEEE1275 and EFI.
9229
9230 * docs/grub.texi (Platform-specific limitations): Fix the columen video
9231 on emu. Mention arc and emu as the only platforms without serial
9232 support.
9233 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
9234 ieee1275 platforms.
9235 * grub-core/term/efi/serial.c: New file.
9236 * grub-core/term/ieee1275/serial.c: Likewise.
9237 * grub-core/term/serial.c (grub_serial_find): Disable direct port
9238 specification if no ns8250 driver is available.
9239 (grub_cmd_serial): Likewise.
9240 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
9241 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
9242 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
9243 (grub_efi_parity_type_t): New type.
9244 (grub_efi_stop_bits_t): Likewise.
9245 (grub_efi_serial_io_interface): New struct.
9246 * include/grub/serial.h (grub_serial_port): Make 'broken' field
9247 available for all interfaces.
9248 Add EFI and IEEE1275 fields.
9249 (grub_ofserial_init): New proto.
9250 (grub_efiserial_init): Likeiwse.
9251 * util/grub.d/00_header.in: Don't check for the presence of serial
9252 module.
9253
ff27c3dd 92542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
9255
9256 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
9257 name as if it was an alias.
9258
114076ef
VS
92592012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 * grub-core/commands/lsacpi.c (options): Fix typo.
9262
6a656b0e
VS
92632012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 Convert grub-emu to argp.
9266
9267 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
9268 emu.
9269 * util/argp_common.c: Rename to ...
9270 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
9271 Add missing includes.
9272 * grub-core/kern/emu/main.c: Convert to argp.
9273 * po/POTFILES.in: Regenerate.
9274 * util/grub-install.in (usage): Make first letter lowcase in messages
9275 for uniformity.
9276 * util/grub-setup.c (options): Likewise.
9277
1e3f8ae8
VS
92782012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9279
9280 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
9281 Put back accidently commented-out code.
9282
ed167a80
VS
92832012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
9286 loop check using Brent algorithm.
9287 (grub_hfsplus_btree_search): Likewise.
9288
6753c0ec
VS
92892012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * util/grub-install.in: Fix usage of wrong device for PreP install.
9292
4e27343f
VS
92932012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9294
9295 * conf/Makefile.common (CFLAGS_GNULIB): Add
9296 -Wno-unsafe-loop-optimizations.
9297 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
9298 on tools.
9299 * grub-core/commands/legacycfg.c: Add pragma to skip
9300 -Wunsafe-loop-optimizations.
9301 (check_password_md5_real): Fix loop counter type.
9302 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
9303 reading.
9304 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
9305 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
9306 loop condition.
9307 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
9308 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
9309 * grub-core/net/net.c (grub_net_route_address): Add safety loop
9310 condition.
9311 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
9312 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
9313 avoid possible infinite loops.
9314 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
9315 and -Wunsafe-loop-optimizations.
9316 * grub-core/script/yylex.l: Likewise.
9317 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
9318 (print_glyphs): Avoid infinite loops.
9319 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
9320
697f18b0
GS
93212012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
9322
9323 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
9324 to avoid infinite loop.
9325 (disp_acpi_rsdt_table): Likewise.
9326
274416e8
VS
93272012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9328
9329 * grub-core/font/font.c (grub_font_load): Add support for default
9330 path for fonts ($prefix/fonts).
9331 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
9332 for checking if string is a path.
9333 * grub-core/normal/main.c (features): Add feature_default_font_path.
9334 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
9335 * util/grub.d/00_header.in: Use default directory if possible.
9336 * util/grub-install.in: Install unicode.pf2.
9337
b3e08622
VS
93382012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
9341 * po/Rules-swiss: New file.
9342 * po/swiss.sed: Likewise.
9343
fe42ce09
VS
93442012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 * grub-core/fs/btrfs.c (find_device): Fix typos.
9347 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
9348 * util/grub-mkrelpath.c (argp_parser): Likewise.
9349 Reported by: Yuri Chornoivan.
9350
72f1d065
DO
93512012-02-23 Dalet Omega <daletomega@gmail.com>
9352
9353 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
9354 for usual informative messages.
9355
c5884973
DO
93562012-02-23 Dalet Omega <daletomega@gmail.com>
9357
9358 Starfield theme.
9359
9360 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
9361 * conf/Makefile.common: Define starfielddir.
9362 * configure.ac: Configure starfield.
9363 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
9364 * themes/starfield/README: Likewise.
9365 * themes/starfield/blob_w.png: Likewise.
9366 * themes/starfield/boot_menu_c.png: Likewise.
9367 * themes/starfield/boot_menu_e.png: Likewise.
9368 * themes/starfield/boot_menu_n.png: Likewise.
9369 * themes/starfield/boot_menu_ne.png: Likewise.
9370 * themes/starfield/boot_menu_nw.png: Likewise.
9371 * themes/starfield/boot_menu_s.png: Likewise.
9372 * themes/starfield/boot_menu_se.png: Likewise.
9373 * themes/starfield/boot_menu_sw.png: Likewise.
9374 * themes/starfield/boot_menu_w.png: Likewise.
9375 * themes/starfield/slider_c.png: Likewise.
9376 * themes/starfield/slider_n.png: Likewise.
9377 * themes/starfield/slider_s.png: Likewise.
9378 * themes/starfield/src/blob_nw.xcf: Likewise.
9379 * themes/starfield/src/bootmenu/: Likewise.
9380 * themes/starfield/src/bootmenu/center.xcf: Likewise.
9381 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
9382 * themes/starfield/src/bootmenu/side.xcf: Likewise.
9383 * themes/starfield/src/slider_c.xcf: Likewise.
9384 * themes/starfield/src/slider_n.xcf: Likewise.
9385 * themes/starfield/src/slider_s.xcf: Likewise.
9386 * themes/starfield/src/terminalbox/: Likewise.
9387 * themes/starfield/src/terminalbox/center.xcf: Likewise.
9388 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
9389 * themes/starfield/src/terminalbox/side.xcf: Likewise.
9390 * themes/starfield/starfield.png: Likewise.
9391 * themes/starfield/terminal_box_c.png: Likewise.
9392 * themes/starfield/terminal_box_e.png: Likewise.
9393 * themes/starfield/terminal_box_n.png: Likewise.
9394 * themes/starfield/terminal_box_ne.png: Likewise.
9395 * themes/starfield/terminal_box_nw.png: Likewise.
9396 * themes/starfield/terminal_box_s.png: Likewise.
9397 * themes/starfield/terminal_box_se.png: Likewise.
9398 * themes/starfield/terminal_box_sw.png: Likewise.
9399 * themes/starfield/terminal_box_w.png: Likewise.
9400 * themes/starfield/theme.txt: Likewise.
9401
17d73325
VS
94022012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 * util/grub.d/00_header.in: Add missing export theme.
9405
dbebaf92
VS
94062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9407
9408 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
9409 already included.
9410 Reported by: Eren D.
9411
3d68bffb
VS
94122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9413
9414 * conf/Makefile.common (grubdatadir): Removed.
9415 (Makefile.am): Move eveything grubdata to pkgdata.
9416
4b59234d
VS
94172012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9418
9419 * grub-core/commands/acpihalt.c (get_sleep_type):
9420 Remove unused variable.
9421
463dcadc
VS
94222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9423
9424 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
9425 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
9426 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
9427 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
9428 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
9429 i18n with gettext no-op.
9430 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
9431 GRUB_ACPI_OPCODE_STRING_CONST.
9432 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
9433 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
9434
e5b90c82
VS
94352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * po/POTFILES.in: Regenerate.
9438
2a704ca9
VS
94392012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
9442 -Wno-error=missing-noreturn.
9443
84f9d341
VS
94442012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
9447 condition to avoid possibly infinite loops.
9448 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
9449 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
9450
d46683f9
VS
94512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
9454 condition to avoid possibly infinite loops.
9455
c44866b2
VS
94562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
9459 on show_error.
9460
96790539
VS
94612012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9462
9463 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
9464
1ba7e295
VS
94652012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
9468
21ffe8f1
VS
94692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 * util/bin2h.c (usage): Add missing attribute noreturn.
9472
0ccb6b3c
VS
94732012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
9476 if the size isn't divisible by 512.
9477
b00d7fb6
VS
94782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 Make list_push and list_remove functions rather than inline functions
9481 to decrease size and avoid aliasing violations.
9482
9483 * include/grub/list.h (grub_list_push): Move to ...
9484 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
9485 * include/grub/list.h (grub_list_remove): Move to ...
9486 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
9487
9d369087
VS
94882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
9491 and -Wunused-result.
9492
af0250d9
VS
94932012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
9496 Reported by: Seth Goldberg
9497
aad32b14
VS
94982012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9499
9500 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
9501
ac96441c
ST
95022012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
9503
9504 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
9505 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
9506 command line.
9507 * docs/grub.texi (Simple configuration): Document
9508 GRUB_CMDLINE_GNUMACH.
9509
95102012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
9511
9512 * conf/Makefile.common (platform_SCRIPTS): New variable.
9513 (platform_PROGRAMS): Likewise.
9514 * gentpl.py: Mark *,module and *.image for install.
9515 * grub-core/gdb_grub.in: Add a notice of expected environment.
9516 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
9517 (gmodule.pl): Likewise.
9518
ac96441c 95192012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
9520
9521 Replace grub_checkkey with grub_getkey_noblock.
9522
9523 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
9524 (grub_getkey_noblock): ... this. All users updated.
9525
ac96441c 95262012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
9527
9528 * grub-core/kern/emu/console.c: Move to ...
9529 * grub-core/term/emu/console.c: ...here.
9530 (grub_ncurses_getkey): Fix return value if no key is detected.
9531
e51b5666
VS
95322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
9535 (grub_unit_test_fini): Likewise.
9536 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
9537
95382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 * include/grub/test.h (GRUB_UNIT_TEST)
9541
d9a62292
VS
95422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 * grub-core/script/execute.c (grub_script_break): Clarify logic.
9545 Better error handling.
9546 (grub_script_return): Likewise.
9547 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9548
77c9182f
VS
95492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
9552 rimplicit redifinition.
9553
edb13cf9
VS
95542012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
9557 GRUB.
9558
a9e9dc7c
VS
95592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9560
9561 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
9562 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
9563 prompt here.
9564
b4ba8e02
VS
95652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
9568 as GRUB_ERR_BUG. Don't malloc if no device is available.
9569
dded5540
VS
95702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9571
9572 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
9573 Mark calling with invalid term as GRUB_ERR_BUG.
9574
0cf69874
VS
95752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9576
9577 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
9578 packets rather than raising an error.
9579
59bfe502
VS
95802012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
9583 in if.
9584
db5fc596
VS
95852012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9586
9587 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
9588 diagnostic to dprintf.
9589 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9590
e4b7f404
VS
95912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
9594 device name.
9595
e7b02f9e
VS
95962012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9597
9598 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
9599 (grub_ntfs_iterate_dir): Likewise.
9600
0331e102
VS
96012012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 Efiemu stylistic fixes and gettext.
9604
9605 * grub-core/efiemu/i386/loadcore32.c
9606 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
9607 * grub-core/efiemu/i386/loadcore64.c
9608 (grub_arch_efiemu_relocate_symbols64): Likewise.
9609 * grub-core/efiemu/i386/pc/cfgtables.c
9610 (grub_machine_efiemu_init_tables): Likewise.
9611 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
9612 (grub_efiemu_loadcore_initXX): Add a filename argument.
9613 All users updated.
9614 Improved error message.
9615 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
9616 Add a filename argument.
9617 All users updated.
9618 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
9619 Reclassify double relocation as GRUB_ERR_BUG.
9620
306fc074
VS
96212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
9624 handling.
9625
794d8ef2
VS
96262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9627
9628 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
9629 on partition.
9630
96312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
9632
9633 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
9634
794d8ef2 96352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
9636
9637 Improve string. Gettextize.
9638
78dde88e
VS
96392012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9640
9641 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
9642 utils.
9643 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
9644
4786a90f
VS
96452012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
9648 [GRUB_UTIL]: New function.
9649 (insert_array) [GRUB_UTIL]: Store partmaps.
9650 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
9651 partmaps.
9652 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
9653 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
9654 (probe_abstraction): Print diskfilter and not raid.
9655 Reported by: Lennart Sorensen
9656
0b6225bd
VS
96572012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
9660 * util/grub-mkimagexx.c (MASK3): New define.
9661 (add_value_to_slot_20b): Use MASK3.
9662 (add_value_to_slot_21): Likewise.
9663 (relocate_addresses): Fix format specification.
9664 (load_image): Explicitly init symtab_section.
9665
b055f8f6
VS
96662012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9667
9668 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
9669 (grub_util_biosdisk_get_grub_dev): Fix format specification.
9670
b77c2fb7
VS
96712012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9672
9673 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
9674 on powerpc.
9675 Reported by: Lennart Sorensen
9676
e3ec28ab
VS
96772012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 * gentpl.py: Add missing license header.
9680 * docs/grub.texi: Update copyright year.
9681
c8d9ead6
GS
96822012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9683
9684 Source grub-mkconfig_lib from the build directory at build time.
9685 Suggested by: Vladimir Serbinenko.
9686
9687 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
9688 * util/grub-install.in: Define pkgdatadir if not already set, and source
9689 grub-mkconfig_lib from there.
9690 * util/grub-kbdcomp.in: Likewise.
9691 * util/grub-mkconfig.in: Likewise.
9692 * util/grub-mknetdir.in: Likewise.
9693 * util/grub-mkrescue.in: Likewise.
9694 * util/grub-mkstandalone.in: Likewise.
9695 * util/grub-reboot.in: Likewise.
9696 * util/grub-set-default.in: Likewise.
9697 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9698
ebcecdf1
VS
96992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 Increase warning level.
9702
9703 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
9704 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
9705 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
9706 (TARGET_CFLAGS): Likewise.
9707 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
9708 * grub-core/Makefile.core.def (decompressor_xz): Add
9709 -Wno-unreachable-code.
9710 (normal): Add -Wno-redundant-decls.
9711 (xzio): Add -Wno-unreachable-code.
9712 (lzopio): Add -Wno-redundant-decls -Wno-error.
9713 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
9714 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
9715 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
9716 * grub-core/kern/dl.c: Add exception to -Wcast-align.
9717 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
9718 * grub-core/kern/i386/coreboot/init.c: Add exception to
9719 -Wsuggest-attribute=noreturn.
9720 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
9721 * grub-core/kern/ia64/dl_helper.c: Likewise.
9722 * grub-core/kern/mips/dl.c: Likewise.
9723 * grub-core/kern/sparc64/dl.c: Likewise.
9724 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
9725 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
9726 (memcmp): Likewise.
9727 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
9728 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
9729 * grub-core/loader/mips/linux.c: Likewise.
9730 * grub-core/loader/multiboot_elfxx.c: Likewise.
9731 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
9732 * grub-core/video/sm712.c: Add exception to -Wcast-align.
9733 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
9734 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
9735 fixme.
9736 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9737 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
9738 Fix prototype.
9739
37bb97fe
VS
97402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
9743 address.
9744
29a3550b
VS
97452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9748 Avoid improper use of strings.
9749 (grub_cmd_legacy_initrdnounzip): Likewise.
9750
dfdffd0d
VS
97512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * include/grub/emu/misc.h (grub_util_warn): Add missing format
9754 attribute.
9755 (grub_util_info): Likewise.
9756 (grub_util_error): Likewise.
9757
102fae4a
VS
97582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9759
9760 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
9761 * util/grub-fstest.c (fstest): Likewise.
9762
7e94d044
VS
97632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9764
9765 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
9766 (grub_md_sha512_real): Likewise.
9767 (grub_util_get_geli_uuid): Likewise.
9768 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
9769 (grub_util_biosdisk_open): Fix format specification.
9770 Respect format security.
9771 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
9772 (xrealloc): Likewise.
9773 (xasprintf): Likewise.
9774
5ebd9769
VS
97752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * util/import_gcry.py: Include grub/crypto.h in init.c.
9778
495fc8c1
VS
97792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9780
9781 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
9782 (generate_image): Make prefix a const char *.
9783 Fix format specifications. Respect format security.
9784 Avoid void * arithmetics.
9785 Avoid shadowing.
9786 (argp_parser): Remove unused variable. Respect format security.
9787 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
9788 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
9789 (count_funcs): Remove unused variable.
9790 (relocate_addresses): Fix format specification.
9791 Disable x86-64 with elf32. Remove unused variables.
9792 (add_fixup_entry): Avoid shadowing.
9793 (make_reloc_section): Fix format specification.
9794 Use assert.
9795 (locate_sections): Fix format specifications.
9796 (load_image): Avoid shadowing.
9797
043c2ea3
VS
97982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9799
9800 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
9801 Fix format specifications. Respect format security.
9802 Don't translate already translated grub_errmsg.
9803 (argp_parser): Remove unused variable
9804
3ec65a81
VS
98052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
9808
a4d9fe4a
VS
98092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9810
9811 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
9812 (main): Likewise. Use xmalloc. Respect format security.
9813
15b81d49
VS
98142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9815
9816 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
9817 a const char *.
9818 (argp_parser): Remove unused variable.
9819
31731fc0
VS
98202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9821
9822 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
9823 (add_pixel): Make static.
9824 (add_font): Likewise.
9825 (write_string_section): Make name and str a const char *.
9826 (write_be16_section): Make name a const char *.
9827 (print_glyphs): Make static.
9828 (write_font_ascii_bitmap): Likewise.
9829 (write_font_width_spec): Likewise.
9830 (write_font_pf2): Likewise.
9831 (argp_parser): Remove unused variable.
9832 Respect format security.
9833 (main): Avoid shadowing. Respect format security.
9834
0809527b
VS
98352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * util/grub-editenv.c (argp_parser): Make static.
9838 (create_envblk_file): Use xmalloc.
9839 (open_envblk_file): Likewise.
9840 Resepect format security.
9841 (set_variables): Respect format security.
9842
45b0c8b7
VS
98432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9844
9845 * util/getroot.c (grub_find_device): Respect format security.
9846 (get_mdadm_uuid): Remove unused variable.
9847 (grub_util_pull_device): Dont call gettext on already translated
9848 grub_errmsg.
9849 (find_system_device): Remove unused variable.
9850 (grub_util_get_grub_dev): Likewise.
9851 (grub_make_system_path_relative_to_its_root): Respect format security.
9852
1b024b4e
VS
98532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9854
9855 * util/grub-fstest.c (execute_command): Make first argument
9856 a const char *.
9857 (read_file): Avoid shadowing.
9858 Reuse underlying error message if device open fails.
9859 (cmd_cmp): Respect format security.
9860 (root): Make const char *.
9861 (fstest): Remove args argument and use global copy.
9862 Respect format security.
9863 (argp_parser): Make static.
9864 (main): Make default_root const char *.
9865
5d1d4e28
VS
98662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9867
9868 * util/grub-mount.c (root): Make const char *.
9869 (execute_command): Make first argument a const char *.
9870 (fuse_init): Respect format security.
9871 (argp_parser): Make static. Remove unused variable.
9872 (main): Make default_root a const char *.
9873 Respect format security.
9874
36eb7379
VS
98752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9876
9877 * util/grub-probe.c (probe): Don't call gettext on already translated
9878 grub_errmsg.
9879 Remove unused variables.
9880 (argp_parser): Remove unused variable.
9881
76fb2ea9
VS
98822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9883
9884 * util/grub-script-check.c (argp_parser): Remove unused variable.
9885 (main): Rename read to curread to avoid shadowing.
9886
56c98584
VS
98872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9888
9889 * util/misc.c (grub_util_write_image_at): Fix format specification.
9890 (grub_util_write_image): Likewise.
9891 (grub_script_execute_argument_to_string): Removed (unused).
9892 (grub_script_execute_menuentry): Likewise.
9893 (grub_putchar): Likewise.
9894
164ebb48
VS
98952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9896
9897 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
9898 (FUNCTION) [GRUB_UTIL]: Likewise.
9899 (VARIABLE) [GRUB_UTIL]: Likewise.
9900
44318d61
VS
99012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9902
9903 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
9904 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
9905
31a26002
VS
99062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
9909 buffer.
9910
99112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
9914 (LzmaEnc_SaveState): Removed (unused).
9915 (LzmaEnc_RestoreState): Likewise.
9916 (LzmaEnc_InitPriceTables): Made static.
9917 (LzmaEnc_Construct): Likewise.
9918 (LzmaEnc_FreeLits): Likewise.
9919 (LzmaEnc_Destruct): Likewise.
9920 (LzmaEnc_Init): Likewise.
9921 (LzmaEnc_InitPrices): Likewise.
9922 (LzmaEnc_Finish): Likewise.
9923 (LzmaEnc_PrepareForLzma2): Removed (unused).
9924 (LzmaEnc_MemPrepare): Likewise.
9925 (LzmaEnc_GetNumAvailableBytes): Likewise.
9926 (LzmaEnc_GetCurBuf): Likewise.
9927 (LzmaEnc_CodeOneMemBlock): Likewise.
9928
6fa67967
VS
99292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9930
9931 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
9932 (grub_util_ldm_embed): Likewise.
9933
9a7428e6
VS
99342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 * util/grub-editenv.c (print_var): Rename name to varname to
9937 avoid shadowing.
9938 (main): Rename index to curindex to avoid shadowing.
31a26002 9939 Make filename a const char *.
9a7428e6 9940
4f96abd1
VS
99412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
9944 to arg_getline to avoid shadowing.
9945
44d10dad
VS
99462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
9949 disk_ to avoid shadowing.
9950
340ba63e
VS
99512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9952
9953 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
9954 curindex to avoid shadowing.
9955 Make static.
9956 (MatchFinder_GetNumAvailableBytes): Make static.
9957
22965bce
VS
99582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9959
9960 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
9961 avoid shadowing.
9962
7b5784d4
VS
99632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
9966 argument from encrypt to do_encrypt to avoid shadowing.
9967
6f48ca01
VS
99682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9969
9970 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
9971 incorrect nesting of #if's.
9972
a4ea2dff
VS
99732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
9976 checks which are always false on some platforms.
9977 (grub_cmd_lsacpi): Likewise.
9978 * grub-core/kern/misc.c (grub_strtoul): Likewise.
9979 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
9980 Likewise.
9981
def9fc1b
VS
99822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
9985 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
9986
a67b2a04
VS
99872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
9990 re_dfa_t to avoid breaking alignment invariants.
9991 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
9992 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
9993
44c6828d
VS
99942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
9997 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
9998
bebe0dd0
VS
99992012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10000
10001 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
10002 Fix declaration.
10003
a9cdb3cf
VS
100042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10005
10006 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
10007 conserve alignment invariants.
10008 (grub_ehci_ehcc_read16): Likewise.
10009 (grub_ehci_oper_read32): Likewise.
10010 (grub_ehci_oper_write32): Likewise.
10011 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10012 Conserve alignment invariants.
10013
ccc3b1b8
VS
100142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
10017 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
10018 declarations.
10019
987fbd95
VS
100202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10021
10022 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
10023 Remove unused variable.
10024
0df363f3
VS
100252012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10026
10027 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
10028 Remove set in if.
10029
b2c0c4a6
VS
100302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10031
10032 * include/grub/net.h: Remove double declarations.
10033
690c531f
VS
100342012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 Remove "payload" command in ia64 Linux loader since I couldn't
10037 find any evidence of it being used for anything.
10038 Replace "relocate" command with an environment variable
10039
10040 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
10041 fields.
10042 (ia64_boot_payload): Removed.
10043 (last_payload): Likewise.
10044 (RELOCATE_OFF): Likewise.
10045 (RELOCATE_ON): Likewise.
10046 (RELOCATE_FORCE): Likewise.
10047 (relocate): Likewise.
10048 (free_pages): Don't free payloads.
10049 (grub_load_elf64): Use common error messages.
10050 Use "linux_relocate" variable.
10051 Increase the space after boot_params.
10052 (grub_cmd_payload): Removed.
10053 (grub_cmd_relocate): Likewise.
10054 (grub_cmd_fpswa): Improve messages.
10055 (cmd_payload): Removed.
10056 (cmd_relocate): Likewise.
10057 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
10058 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
10059
01783768
VS
100602012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10061
10062 Convert UHCI to DMA framework.
10063
10064 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
10065 (grub_uhci_pci_iter): Fill new members
10066 (grub_alloc_td): Use P2V and V2P functions.
10067 (grub_free_queue): Likewise.
10068 (grub_alloc_qh): Likewise.
10069 (grub_uhci_setup_transfer): Likewise.
10070 (grub_uhci_check_transfer): Likewise.
10071
43206939
VS
100722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10073
10074 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
10075 Remove assignment in if while on it.
10076
571e140e
VS
100772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10078
10079 * util/grub-mkstandalone.in: Fix modules directory.
10080
a9d96eeb
VS
100812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
10084 on i386-pc target.
10085 (argp_parser): Accept "auto" as compression specification.
10086
e4e37e8d
VS
100872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10088
10089 Fix `help' with unloaded modules.
10090
10091 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
10092 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
10093 (grub_dyncmd_dispatcher): Small stylistic fix.
10094 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
10095 explicit help is requested.
10096
e1ea3ade
VS
100972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10098
10099 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
10100 Explicitly init restart while on it.
10101
27556881
VS
101022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
10105 uninited variable.
10106
d65f6b36
VS
101072012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10108
10109 * util/grub-mknetdir.in: Use . rather than source for POSIX
10110 compatibility.
10111
0a1e473c
VS
101122012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
10115
ce6647c8
VS
101162012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10117
10118 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
10119 variable.
10120
66747894
VS
101212012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10122
10123 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
10124 without quotes.
10125
71645f6e
VS
101262012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
10129
0e1c1f61
VS
101302012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
10133 iteration of partitions.
10134
9c4b5c13
VS
101352012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 Improve gettext support. Stylistic fixes and error handling fixes while
10138 on it.
10139
215c90cb
VS
101402012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
10143 part. Instead setup the correct stack in RM.
10144 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
10145 for stack.
10146 * include/grub/i386/relocator_private.h: New file.
10147
b5c1f9bf
VS
101482012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10149
10150 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
10151 argument.
10152 * util/grub-fstest.c (options): Add missing DEVICE part.
10153
b525fd83
VS
101542012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10155
10156 Clarify and unify messages.
10157
10158 * grub-core/commands/hashsum.c (options): Unify messages.
10159 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
10160 literal-only message as translatable.
10161 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
10162 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
10163 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
10164 commands.
10165 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
10166 key, not the key used to unlock. Clarify what it's used for.
10167 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
10168 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
10169 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
10170 * util/grub-editenv.c (options): Unify "verbose" message.
10171 * util/grub-fstest.c (read_file): Unify error message.
10172 (fstest): Add quotes around commands.
10173 (options): Unify "verbose" message.
10174 * util/grub-install.in: Add quotes around variable name.
10175 * util/grub-kbdcomp.in: Unify error message.
10176 * util/grub-mkfont.c (main): Likewise.
10177 * util/grub-mkrescue.in: Likewise.
10178 * util/grub-mklayout.c (options): Unify "verbose" message.
10179 * util/grub-mkstandalone.in: Unify help and verbose messages.
10180 * util/grub-mount.c (options): Unify "verbose" message.
10181 * util/grub-probe.c (options): Likewise.
10182 * util/grub-script-check.c (options): Likewise.
10183 * util/grub-setup.c (setup): Unify no-terminator message.
10184 (options): Use DEVICE and not DEV.
10185 Unify "verbose" message.
10186 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
10187
0ae70393
VS
101882012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10189
10190 Improve and unify messages.
10191
10192 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
10193 name. All users updated.
10194 Print filename in error.
10195 (read_device_map): Print filename in error.
10196 * util/getroot.c (grub_guess_root_devices): Print filename in error.
10197 (grub_util_get_os_disk): Likewise.
10198 (grub_util_biosdisk_get_grub_dev): Likewise.
10199 (grub_util_check_block_device): Likewise.
10200 (grub_util_check_char_device): Likewise.
10201 (grub_make_system_path_relative_to_its_root): Likewise.
10202 * util/grub-editenv.c (create_envblk_file): Likewise.
10203 (open_envblk_file): Likewise.
10204 (write_envblk): Likewise.
10205 * util/grub-fstest.c (cmd_cp): Likewise.
10206 (cmd_cat): Likewise.
10207 (cmd_cmp): Likewise.
10208 * util/grub-menulst2cfg.c (main): Likewise.
10209 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
10210 (write_font_width_spec): Likewise.
10211 (write_font_pf2): Likewise.
10212 * util/grub-mkimage.c (generate_image): New argument outname.
10213 All users updated.
10214 Remove unreacheable message.
10215 (options): Unify messages.
10216 (help_filter): Likewise.
10217 * util/grub-mklayout.c (usage): Removed (unused).
10218 (main): Print filename in error.
10219 * util/grub-mkrescue.in: Fix wrong quoting.
10220 * util/grub-setup.c (setup): Print filename in error.
10221 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
10222 (check_sas): Likewise.
10223 * util/misc.c (grub_util_get_fp_size): Removed.
10224 (grub_util_get_image_size): Print filename in error.
10225 (grub_util_read_at): Removed.
10226 (grub_util_read_image): Print filename in error.
10227 (grub_util_load_image): Likewise.
10228 (grub_util_write_image_at): New argument filename. All users updated.
10229 Print filename in error.
10230 (grub_util_write_image): New argument filename. All users updated.
10231 Print filename in error.
10232 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
10233 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
10234
0a96117d
VS
102352012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10236
10237 * grub-core/Makefile.core.def (pxechain): New module.
10238 * grub-core/loader/i386/pc/pxechainloader.c: New file.
10239 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
10240 function.
10241 (grub_pc_net_config_real): Use grub_pxe_get_cached.
10242 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
10243
aca002f7
VS
102442012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
10247 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
10248 * include/grub/err.h (grub_error_saved): New struct.
10249 (grub_errmsg): Make array size explicit.
10250 * include/grub/misc.h (grub_error_save): New function.
10251 (grub_error_load): Likewise.
10252 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
10253 (grub_error_push): Update `errno' member name.
10254 (grub_error_pop): Likewise
10255 * grub-core/net/tftp.c (tftp_data): New member save_err.
10256 (tftp_receive): Save error.
10257 (tftp_open): Restore error.
10258
a51dab13
VS
102592012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
10262 to real mode down to execute A20-related code in protected mode as
10263 intended.
10264
eb6e6649
GS
102652012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
10266
10267 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
10268 NULL when the argument `level' has an unexpected value.
10269
92cd0f6e
VS
102702012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 Move platform-dependent files from $prefix to $prefix/$platform.
10273
10274 * config.h.in (GRUB_TARGET_CPU): New definition.
10275 (GRUB_PLATFORM): Likewise.
10276 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
10277 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
10278 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10279 * grub-core/kern/dl.c (grub_dl_load): Likewise.
10280 * grub-core/normal/autofs.c (read_fs_list): Likewise.
10281 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
10282 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
10283 * grub-core/normal/term.c (read_terminal_list): Likewise.
10284 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
10285 $prefix/locale.
10286 (grub_gettext_init_ext): Likewise.
10287 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
10288 grub_platform.
10289 * util/grub-install.in: Update directories.
10290 * util/grub-mknetdir.in: Likewise.
10291 * util/grub-mkrescue.in: Likewise.
10292
db606889
VS
102932012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10294
10295 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
10296 grub_error framework. All users updated.
10297
c39992a4
VS
102982012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10299
10300 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
10301 lists (by always binsearching), improve caching (cache strings
10302 used for binsearch, not only results), improve
10303 maintainability (by using more structured binary search) and correct
10304 error handling.
10305
1e5ec32f
VS
103062012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * grub-core/script/execute.c (grub_script_return): Fix warning.
10309
ac576cde
VS
103102012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * grub-core/script/execute.c (grub_script_return): Fix potential
10313 NULL-dereference.
10314 Reported by: Jim Meyering.
10315
498453f6
VS
103162012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10317
10318 * po/POTFILES.in: Regenerate.
10319 * util/grub-install.in: Gettextize the strings missed in first pass.
10320
8be63f2e
VS
103212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10322
10323 * Makefile.util.def (grub-mkdevicemap): Removed.
10324 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
10325 * include/grub/util/deviceiter.h: Removed.
10326 * util/deviceiter.c: Likewise.
10327 * util/getroot.c (grub_util_get_os_disk): New function.
10328 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
10329 replacement for EFI.
10330 * util/grub-mkdevicemap.c: Removed.
10331 * util/grub-probe.c (probe): Handle PRINT_DISK.
10332 (argp_parser): Handle -t disk.
10333
8e1e4e39
VS
103342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * util/grub-mkfont.c: Migrate to argp.
10337 * util/grub-mklayout.c: Likewise.
10338 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10339 * util/grub-mkrelpath.c: Likewise.
10340 * util/grub-probe.c: Likewise.
10341 * util/grub-script-check.c: Likewise.
10342
4459819a
VS
103432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10344
10345 * util/grub-reboot.in: Add missing datarootdir.
10346 Add missing newline.
10347 * util/grub-set-default.in: Add missing datarootdir.
10348 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
10349 * util/grub-mkrescue.in: Likewise.
10350
f65741c7
VS
103512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
10354
c1a33466
VS
103552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 * util/grub-kbdcomp.in: Add decent help and gettextize.
10358 * docs/man/grub-kbdcomp.h2m: New file.
10359
c76899a0
VS
103602012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10361
10362 Migrate grub-mkimage.c to argp.
10363
10364 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
10365 (grub-setup): Likewise.
10366 * util/grub-setup.c (print_version): Move to ...
10367 * util/argp_common.c (print_version): ... here.
10368 * util/grub-setup.c (argp_program_version_hook): Move to ...
10369 * util/argp_common.c (argp_program_version_hook): ... here.
10370 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
10371 safety.
10372 * util/grub-mkimage.c (main): Migrate to argp.
10373
57db0757
VS
103742012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10375
10376 * util/grub-mkrescue.in: Use same message as
10377 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
10378 for better translations.
10379
18534ad9
VS
103802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10381
10382 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
10383 options with generic grub-mkrescue.in with the goal of future
10384 merge.
10385
c84ba308
VS
103862012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10387
10388 * grub-core/kern/mm.c: Add missing include of i18n.h
10389 * grub-core/lib/relocator.c: Likewise.
10390
347998c2
VS
103912012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10392
10393 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
10394 error.
10395 (allocate_pages): Check return value.
10396 Replace fatal with error.
10397 (grub_linux_boot): Replace printf with dprintf.
10398 Check find_mmap_size return value.
10399 Replace fatal with error.
10400 Don't call grub_machine_fini.
10401 (grub_load_elf64): Replace printf with dprintf.
10402 (grub_cmd_linux): Likewise.
10403 (grub_cmd_initrd): Likewise.
10404 (grub_cmd_payload): Likewise.
10405
c779226e
VS
104062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10407
10408 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
10409 message.
10410 * grub-core/video/radeon_fuloong2e.c
10411 (grub_video_radeon_fuloong2e_setup): Likewise.
10412 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
10413 * grub-core/video/video.c (grub_video_set_mode): Don't override
10414 standard out of memory message.
10415
dc87d45a
GS
104162012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10417
10418 NetBSD disk wedge support.
10419
10420 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
10421 [__NetBSD__]: Handle NetBSD disk wedges.
10422 * util/getroot.c (convert_system_partition_to_system_disk)
10423 [__NetBSD__]: Likewise.
10424
055f856f
MW
104252012-02-03 Mark Wooding <mdw@distorted.org.uk>
10426
10427 * util/grub-mkconfig.in: Use umask rather than chmod to create
10428 grub.cfg.new to avoid insecure grub.cfg.
10429
4a9f8346
VS
104302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10431
10432 * grub-core/commands/ls.c: Gettextize.
10433 * grub-core/commands/setpci.c: Likewise.
10434 * grub-core/commands/videotest.c: Likewise.
10435 * grub-core/disk/geli.c: Likewise.
10436 * grub-core/kern/mm.c: Likewise.
10437 * grub-core/lib/relocator.c: Likewise.
10438 * grub-core/loader/efi/appleloader.c: Likewise.
10439 * grub-core/loader/i386/xnu.c: Likewise.
10440 * grub-core/loader/ia64/efi/linux.c: Likewise.
10441 * grub-core/loader/xnu.c: Likewise.
10442 * grub-core/net/dns.c: Likewise.
10443 * grub-core/net/net.c: Likewise.
10444 * grub-core/script/lexer.c: Likewise.
10445 * grub-core/script/parser.y: Likewise.
10446 * grub-core/script/yylex.l: Likewise.
10447 * util/getroot.c: Likewise.
10448 * util/grub-setup.c: Likewise.
10449
a646a366
VS
104502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10451
10452 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
10453 number.
10454
54e2be26
VS
104552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
10458
f7c71e68
VS
104592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
10462 macro.
10463 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
10464 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
10465
a32d5c71
VS
104662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
10469 * util/grub-install.in: Gettextize.
10470 * util/grub-mkconfig.in: Likewise.
10471 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
10472 if not available.
10473 (grub_warn): Gettextize.
10474 * util/grub-mknetdir.in: Gettextize.
10475 * util/grub-mkrescue.in: Likewise.
10476 * util/grub-mkstandalone.in: Likewise.
10477 * util/grub-reboot.in: Likewise.
10478 * util/grub-set-default.in: Likewise.
10479 * util/grub.d/00_header.in: Likewise.
10480 * util/grub.d/10_hurd.in: Likewise.
10481 * util/grub.d/10_kfreebsd.in: Likewise.
10482 * util/grub.d/10_linux.in: Likewise.
10483 * util/grub.d/10_netbsd.in: Likewise.
10484 * util/grub.d/10_windows.in: Likewise.
10485 * util/grub.d/20_linux_xen.in: Likewise.
10486 * util/grub.d/30_os-prober.in: Likewise.
10487 * po/POTFILES-shell.in: Regenerate.
10488
69edd81a
RL
104892012-02-03 Richard Laager <rlaager@wiktel.com>
10490
10491 * util/grub-mkimage.c (main): Fix format-security warning.
10492 * util/grub-mkrelpath.c (main): Likewise.
10493 * util/grub-probe.c (main): Likewise.
10494
65f08dbf
RL
104952012-02-03 Richard Laager <rlaager@wiktel.com>
10496
10497 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
10498 failure.
10499 Put back lost PRINT_DRIVE.
10500
e9084abe
RL
105012012-02-03 Richard Laager <rlaager@wiktel.com>
10502
10503 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
10504 (grub_guess_root_devices): Replace strlen with sizeof.
10505 Avoid crash.
10506 (find_root_devices_from_poolname): Remove unused variable.
10507 Handle raidzN.
10508
cf5f7ee7
VS
105092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10510
10511 Support install on multi-device filesystems.
10512
10513 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
10514 (grub_guess_root_devices): ...this. Return char **. All users updated.
10515 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
10516 Removed.
10517 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
10518 (find_root_devices_from_poolname): ... here.
10519 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
10520 Support zfs-fuse.
10521 (grub_guess_root_device): Rename to ...
10522 (grub_guess_root_devices): ... this. Return char **. All users updated.
10523 * util/grub-install.in: Handle multi-device filesystems.
10524 * util/grub-probe.c (probe). Make device_names a char **. Add delim
10525 argument. All users updated.
10526 Handle multi-device filesystems.
10527 Use 'delim' as separator.
10528 Remove device check to allow filesystems on file.
10529 (main): Support -0 argument. Handle multi-device.
10530 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
10531 Fix a cross-device check while on it.
10532 (arguments): Remove root_dev.
10533 (argp_parser): Remove -r.
10534 (main): Remove root_dev.
10535
2f53a9ed
VS
105362012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10537
10538 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
10539
17e1d934
VS
105402012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
10543 symbol.
10544 Reported by: NODA, Kai <nodakai>.
10545
d3e3fab5
VS
105462012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 Fix ehci on amd64.
10549
10550 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
10551 pointers.
10552 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
10553 (grub_ehci_setup_qh): Likewise.
10554 (grub_ehci_find_qh): Likewise.
10555 (grub_ehci_transaction): Likewise.
10556 (grub_ehci_setup_transfer): Likewise.
10557 (grub_ehci_check_transfer): Likewise.
10558 (grub_ehci_portstatus): Likewise.
10559 (grub_ehci_detect_dev): Likewise.
10560 (grub_ehci_transfer_controller_data): New field td_last_phys.
10561 (grub_ehci_setup_transfer): Fill td_last_phys.
10562 (grub_ehci_check_transfer): Use td_last_phys.
10563
3008675b
SG
105642012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
10565
10566 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
10567 if no submenu is present.
10568
fc9b5652
AN
105692012-02-01 Aleš Nesrsta <starous@volny.cz>
10570
10571 CBI support.
10572
10573 * include/grub/usb.h (grub_usbms_protocol_t): New values
10574 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
10575 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
10576 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
10577 (grub_usbms_dev): Add subclass, protocol and intrpt.
10578 Remove in_maxsz and out_maxsz.
10579 (grub_usbms_reset): Rename to ...
10580 (grub_usbms_bo_reset): .. this.
10581 (grub_usbms_cbi_cmd): New function.
10582 (grub_usbms_cbi_reset): Likewise.
10583 (grub_usbms_reset): Likewise.
10584 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
10585 (grub_usbms_transfer): Rename to ...
10586 (grub_usbms_transfer_bo): ... this.
10587 (grub_usbms_transfer_cbi): Likewise.
10588 (grub_usbms_transfer): Likewise.
10589
a2b81d53
AN
105902012-02-01 Aleš Nesrsta <starous@volny.cz>
105912012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10592
10593 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
10594 the support for the CS5536 modification thereos and few bugfixes.
10595
10596 * grub-core/Makefile.core.def (ehci): New module.
10597 * grub-core/bus/usb/ehci.c: New file.
10598 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
10599 port and hubaddr. All users updated.
10600 Save port and hubaddr into dev structure.
10601 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
10602 define.
10603 * include/grub/pci.h (grub_dma_phys2virt): New function.
10604 (grub_dma_virt2phys): Likewise.
10605 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
10606
b1d51f02
VS
106072012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10608
10609 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
10610 check as some mkfs implementations omit it.
10611
fc694106
VS
106122012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10613
10614 * docs/grub.texi (Unicode): Mention identifier and space limitations.
10615
6c0920e3
VS
106162012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10617
10618 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
10619 Add new member volname2.
10620 (grub_jfs_label): Use volname2 if available.
10621
d1a46f9a
VS
106222012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
10625 over last_mounted as seen in image generated by mkfs.nilfs2.
10626 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
10627
dec8ed14
VS
106282012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
10631 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
10632 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
10633
7397c69b
VS
106342012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10635
10636 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
10637 over the sector.
10638
b3fe42ad
VS
106392012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
10642 subvolume name (by removing a bogus and useless check).
10643
10476bb0
VS
106442012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
10647 sizeof while on it.
10648
9c08ad87
VS
106492012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10650
10651 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
10652 (grub_scsi_read_capacity10): ... this.
10653 (grub_scsi_read_capacity16): New function.
10654 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
10655 0xffffffff.
10656 Fix off-by-one error.
10657 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
10658 64-bit unsigned.
10659 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
10660 (grub_scsi_read_capacity10): ... this.
10661 (grub_scsi_read_capacity_data): Rename to ...
10662 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
10663 (grub_scsi_read_capacity16): New struct.
10664 (grub_scsi_read_capacity16_data): Likewise.
10665 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
10666 grub_scsi_cmd_read_capacity10.
10667 New command grub_scsi_cmd_read_capacity16.
10668
bc8d0f45
VS
106692012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10670
10671 SCSI >2TiB support.
10672
10673 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
10674 (grub_scsi_write16): Likewise.
10675 (grub_scsi_read): Use read16 when necessary.
10676 (grub_scsi_write): Likewise.
10677 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
10678 (grub_scsi_write16): Likewise.
10679 (grub_scsi_cmd_t): Add READ16 and WRITE16.
10680
cc774926
VS
106812012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10682
10683 SCSI write support (for usbms mainly).
10684
10685 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
10686 a const pointer.
10687 (grub_scsi_write): Implement.
10688 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
10689
67639fd7
VS
106902012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10691
10692 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
10693 variable.
10694
9079d3ed
VS
106952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10696
10697 * grub-core/lib/posix_wrap/string.h (memchr): New function.
10698
c6a6f204
VS
106992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10700
10701 * po/POTFILES.in: Regenerate.
10702
ecbf8cd1
VS
107032012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
10706 with grub_printf to avoid unnecessary fatal failure.
10707
0b3b3b38
VS
107082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
10711 (INT_MAX): Likewise.
10712 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
10713 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
10714 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
10715 (strcpy): Likewise.
10716 (strstr): Likewise.
10717 (strchr): Likewise.
10718 (strncpy): Likewise.
10719 (strcat): Likewise.
10720 (strncat): Likewise.
10721 (strcoll): Likewise.
10722 * include/grub/types.h (GRUB_SHRT_MAX): New define.
10723 (GRUB_INT_MAX): Likewise.
10724
db7337a3
VS
107252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
10728 unexpected error.
10729 (optimize_utf8): Likewise.
10730 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
10731
f37c87e1
VS
107322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 * grub-core/boot/i386/pc/lnxboot.S: Use
10735 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
10736 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
10737 location.
10738 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
10739 definition.
10740 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
10741
63fe43f3
VS
107422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
10745 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
10746 now to avoid double free.
10747 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
10748 hostdisk.
10749 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
10750 * util/grub-probe.c (escape_of_path): Always return a new copy.
10751 (print_full_name): Escape path.
10752 (probe): Don't call grub_util_devname_to_ofpath on NULL.
10753 Fix hints on abstractions.
10754
ebe2c961
VS
107552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10756
10757 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
10758 Don't add "root" line if no compatibility hont is available.
10759 Suggested by: Seth Goldberg.
10760
2b5336a2
VS
107612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
10764 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
10765 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
10766 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
10767
74310bd8
VS
107682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10769
10770 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
10771
c30582ba
VS
107722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10773
10774 * util/grub-pe2elf.c (ehdr): Make static.
10775 (shdr): Likewise.
10776 (num_sections): Likewise.
10777 (offset): Likewise.
10778
5f47782c
VS
107792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10780
10781 Eliminate ofpath limits and possible overflows.
10782
10783 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
10784 (OF_PATH_MAX): Removed.
10785 (MAX_DISK_CAT): New const.
10786 (find_obppath): Use allocated rather than preallocated buffer.
10787 Return result. Argument of_path removed. All users updated.
10788 Add missing fdstat.
10789 (xrealpath): New function.
10790 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
10791 Allocate rather than use preallocated buffer. All users updated.
10792 (__of_path_common): Use allocated rather than preallocatecd buffer.
10793 Return result. Argument of_path removed. All users updated.
10794 (vendor_is_ATA): Read only needed part form the file.
10795 (check_sas): Allocate depending on contents rather than fixed.
10796 (main) [STANDALONE]: Handle NULL result.
10797
f990cbf9
VS
107982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10799
10800 * grub-core/normal/completion.c (iterate_dev): Close the disk.
10801
9c6e84b8
VS
108022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10803
10804 Cryptodisk write support.
10805
10806 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
10807 (grub_cryptodisk_decrypt): Moved logic to ...
10808 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
10809 (grub_cryptodisk_write): Implement.
10810 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
10811 (grub_util_fd_write): ... this. Make global.
10812 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
10813
87cf9744
VS
108142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10815
10816 * include/grub/list.h (grub_list_remove): Don't crash if element is
10817 removed twice.
10818
ca8c0baf
VS
108192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10820
10821 Rename ofconsole to console.
10822
10823 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
10824 as sysnonym to console.
10825 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
10826 * grub-core/term/ieee1275/console.c: ... this. All users updated.
10827 Rename grub_ofconsole_ to grub_console_. All users updated
10828 (grub_console_term_output): Rename "ofconsole" to "console".
10829 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
10830 as "console".
10831
64c8b8f6
VS
108322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10833
10834 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
10835 handling.
10836 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
10837 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
10838 GRUB_DISK_DEVICE_FILE_ID.
10839
f6c434d5
VS
108402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10841
10842 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
10843 and improve performance.
10844
5858b42d
VS
108452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10846
10847 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
10848 missing ieee1275/ prefix on whole disk.
10849
4ed3c26b
VS
108502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10851
10852 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
10853 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
10854
df71143e
VS
108552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10856
10857 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
10858
076e7c0f
VS
108592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10860
10861 Merge common RAID and LVM logic to an abstract diskfilter.
10862 Add LDM support using the same framework.
10863
10864 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
10865 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
10866 (libgrubmods): Remove grub-core/disk/raid.c and
10867 grub-core/partmap/gpt.c.
10868 * grub-core/Makefile.core.def (ldm): New module.
10869 (raid): Renamed to diskfilter. All users updated.
10870 * grub-core/disk/raid.c: Moved to ...
10871 * grub-core/disk/diskfilter.c: ... here.
10872 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
10873 (lv_num): New var.
10874 (find_array): Renamed to ...
10875 (find_lv): ... this. Support multi-LV. Skip nameless LVs
10876 (grub_is_array_readable): Renamed to ...
10877 (grub_is_lv_readable): ... this. Support multinode hierarchy.
10878 (insert_array): New argument id.
10879 (is_node_readable): New function.
10880 (scan_device): Rename to ...
10881 (scan_disk): .. this. Restrict to one disk.
10882 (scan_devices): New function.
10883 (grub_diskfilter_iterate): Support multi-LV.
10884 Skip invisible and nameless LVs.
10885 (grub_diskfilter_memberlist): Support multi-LV.
10886 (grub_diskfilter_read_node): New function.
10887 (grub_raid_read): Most of logic moved to ...
10888 (read_segment): ... here
10889 (read_lv): New function.
10890 (grub_diskfilter_get_vg_by_uuid): New function.
10891 (grub_diskfilter_make_raid): Likewise.
10892 * grub-core/disk/ldm.c: New file.
10893 * grub-core/disk/lvm.c (vg_list): Removed.
10894 (lv_count): Likewise.
10895 (scan_depth): Likewise.
10896 (is_lv_readable): Likewise.
10897 (grub_lvm_getvalue): Advance pointer past the number.
10898 (find_lv): Removed.
10899 (do_lvm_scan): Refactored into ...
10900 (grub_lvm_detect): ... this. Support raid.
10901 (grub_lvm_iterate): Removed.
10902 (grub_lvm_memberlist): Likewise.
10903 (grub_lvm_open): Likewise.
10904 (grub_lvm_close): Likewise.
10905 (read_lv): Likewise.
10906 (read_node): Likewise.
10907 (is_node_readable): Likewise.
10908 (is_lv_readable): Likewise.
10909 (grub_lvm_read): Likewise.
10910 (grub_lvm_write): Likewise.
10911 (grub_lvm_dev): Use diskfilter
10912 (GRUB_MOD_INIT): Likewise.
10913 (GRUB_MOD_FINI): Likewise.
10914 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
10915 new interface.
10916 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
10917 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10918 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
10919 grub_diskfilter_read_node.
10920 Fix a bug with xor.
10921 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
10922 grub_diskfilter_read_node.
10923 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
10924 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
10925 (grub_disk_dev_iterate): Move from here...
10926 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
10927 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
10928 Make global.
10929 (grub_hostdisk_find_partition_start): Likewise.
10930 (grub_hostdisk_os_dev_to_grub_drive): New function.
10931 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
10932 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
10933 * util/getroot.c (make_device_name): ... here.
10934 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
10935 Move to ...
10936 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
10937 * grub-core/kern/emu/hostdisk.c
10938 (convert_system_partition_to_system_disk): Move to ...
10939 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
10940 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
10941 * util/getroot.c (device_is_wholedisk): ... here.
10942 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
10943 * util/getroot.c (find_system_device): ... here.
10944 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
10945 Move to ...
10946 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
10947 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10948 Move to ...
10949 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
10950 Handle LDM.
10951 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10952 Move to ...
10953 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
10954 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
10955 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
10956 DISKFILTER.
10957 * include/grub/raid.h: Renamed to ...
10958 * include/grub/diskfilter.h: ... this.
10959 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
10960 (GRUB_RAID_LAYOUT_*): Make into array.
10961 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
10962 (grub_diskfilter_vg): New struct.
10963 (grub_diskfilter_pv_id): Likewise.
10964 (grub_raid_member): Removed.
10965 (grub_raid_array): Likewise.
10966 (grub_diskfilter_pv): New struct.
10967 (grub_diskfilter_lv): Likewise.
10968 (grub_diskfilter_segment): Likewise.
10969 (grub_diskfilter_node): Likewise.
10970 (grub_diskfilter_get_vg_by_uuid): New proto.
10971 (grub_raid_register): Inline.
10972 (grub_diskfilter_unregister): Likewise.
10973 (grub_diskfilter_make_raid): New proto.
10974 (grub_diskfilter_vg_register): Likewise.
10975 (grub_diskfilter_read_node): Likewise.
10976 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
10977 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
10978 (grub_util_is_ldm): Likewise.
10979 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
10980 (grub_hostdisk_find_partition_start): Likewise.
10981 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
10982 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
10983 New definition.
10984 (grub_gpt_partition_map_iterate): New proto.
10985 * include/grub/lvm.h (grub_lvm_vg): Removed.
10986 (grub_lvm_pv): Likewise.
10987 (grub_lvm_lv): Likewise.
10988 (grub_lvm_segment): Likewise.
10989 (grub_lvm_node): Likewise.
10990 * util/getroot.c [...]
10991 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
10992 (probe_abstraction): Likewise.
10993 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
10994 (main): Remove dead logic.
10995
8a7f9b9c
VS
109962012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
10997
10998 Simplify root device discover and don't fail when trying to open
10999 incorrect devices.
11000
11001 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
11002 function.
11003 (get_diskname_from_path): Likewise.
11004 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
11005 of iterating.
11006
30545b85
VS
110072012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
11010
28ea58cf
VS
110112012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11012
11013 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
11014 pastthe end.
11015
692dabca
VS
110162012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11017
11018 * util/grub-install.in: Add missing \.
11019 Reported by: gentoofan
11020
f6e4ea70
VS
110212012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
11022
11023 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
11024 (direct_read): Use correct compressed size.
11025 (grub_squash_read_data): Likewise.
11026
110272012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
11028
11029 * docs/grub.texi (Platform limitations): New section.
11030 (Platform-specific operations): Likewise.
11031 * docs/grub-dev.texi (Porting): Likewise.
11032
76261110
VS
110332012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11034
11035 IEEE1275 disk write support.
11036
11037 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
11038 const void *.
11039 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
11040 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
11041 and seek loginc to ...
11042 (grub_ofdisk_prepare): ... here.
11043 (grub_ofdisk_write): Implement.
11044
fc36d603
VS
110452012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11046
11047 ARC disk write support.
11048
11049 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
11050 (reopen): New argument writable. All users updated.
11051 Handle required access mode.
11052 (grub_arcdisk_write): Implement.
11053 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
11054 (grub_arc_firmware_vector): Make buffer to write a const buffer.
11055
e06c2e7a
VS
110562012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11057
11058 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
11059 (read_sblock): Don't attempt to read superblocks outside the disk size.
11060
ff447958
VS
110612012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11062
11063 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
11064 first superblock to find the second one when possible.
11065
9e88df39
VS
110662012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 * util/grub-install.in: Fix an ARC bug.
11069 Print a warning if no platform-specific setup is available.
11070
bb26e4ff
VS
110712012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11072
11073 Use static allocation rather than scratch pointer in reed_solomon.
11074 It decreases its size significantly and avoids a variable in .text.
11075
11076 * grub-core/lib/reed_solomon.c (scratch): Removed.
11077 (chosenstat): New const or static array.
11078 (sigma): Likewise.
11079 (errpot): Likewise.
11080 (errpos): Likewise.
11081 (sy): Likewise.
11082 (mstat): Likewise.
11083 (errvals): Likewise.
11084 (eqstat): Likewise.
11085 (pol_evaluate): Replace x with log_x argument. All users updated.
11086 (syndroms): Removed.
11087 (gauss_solve): Use statically allocated arrays.
11088 (rs_recover): Likewise.
11089 Calculate syndroms directly.
11090 (decode_block): Use statically allocated arrays.
11091 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
11092 (main) [TEST]: Allow -DTEST -DSTANDALONE.
11093
2e13ede5
VS
110942012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11095
11096 Eliminate fixed limit on reed solomon decoder length.
11097
11098 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
11099 rather than hardcoding the address.
11100 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
11101 no_reed_solomon_length.
11102 Move gate_a20 to no-reed-solomon part.
11103 Don't force a particular size of no reed-solomon part.
11104 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11105 Removed.
11106 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
11107 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
11108
f8a9ab12
VS
111092012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11110
11111 * grub-core/commands/wildcard.c (match_files): Handle filenames
11112 without explicit device.
11113 (wildcard_expand): Don't add explicit device if not already present.
11114 * tests/grub_script_echo1.in: Add a new expansion test.
11115
87edb894
VS
111162012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 Replace single-linked with double-linked lists. It results in more
11119 compact and more efficient code.
11120
11121 * grub-core/kern/list.c (grub_list_push): Moved from here ...
11122 * include/grub/list.h (grub_list_push): ... to here. Set prev.
11123 (grub_list_remove): Moved from here ...
11124 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
11125 (grub_prio_list_insert): Set prev.
11126 * include/grub/list.h (grub_list): Add prev. All users updated.
11127
48b391e9
VS
111282012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11129
11130 Handle newer autotools. Add some missing quotes while on it.
11131
11132 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
11133 (pkglib_DATA): Move grub-mkconfig_lib from here ...
11134 (pkgdata_DATA): ... here.
11135 * Makefile.util.def (update-grub_lib): Removed.
11136 * conf/Makefile.common (pkglib_DATA): Removed.
11137 (pkglib_SCRIPTS): Likewise.
11138 (pkgdata_DATA): New variable.
11139 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
11140 needed.
11141 Add missing quotes.
11142 Remove unused variable while on it.
11143 * tests/util/grub-shell.in: Likewise.
11144 * util/grub-install.in: Likewise.
11145 * util/grub-mkconfig.in: Likewise.
11146 * util/grub-mknetdir.in: Likewise.
11147 * util/grub-mkrescue.in: Likewise.
11148 * util/grub-mkstandalone.in: Likewise.
11149 * util/grub.d/00_header.in: Likewise.
11150 * util/grub.d/10_hurd.in: Likewise.
11151 * util/grub.d/10_illumos.in: Likewise.
11152 * util/grub.d/10_kfreebsd.in: Likewise.
11153 * util/grub.d/10_linux.in: Likewise.
11154 * util/grub.d/10_netbsd.in: Likewise.
11155 * util/grub.d/10_windows.in: Likewise.
11156 * util/grub.d/20_linux_xen.in: Likewise.
11157 * util/grub.d/30_os-prober.in: Likewise.
11158 * util/update-grub_lib.in: Removed.
11159
111602012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
11161
11162 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
11163 a workaround for intel problem.
11164
66832792
PRP
111652012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
111662012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
111672012-01-23 pfsmorigo
11168
11169 * util/grub-install.in: Support dd'in into PreP partition.
11170 * util/grub-probe.c (probe): Support discovering partition type.
11171 (main): Support -t msdos_parttype.
11172
7816a17e
VS
111732012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
11174
11175 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
11176 infinite recursion using counter.
11177 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
11178 init to skip it if the magic check fails.
11179 (dec_stream_header): Init s->crc32.
11180
8f9d3a8c
ZB
111812012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
111822012-01-22 Zachary Bedell <pendorbound@gmail.com>
111832012-01-22 Richard Laager <rlaager@wiktel.com>
11184
11185 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
11186 All users updated.
11187 (find_bestub): Determine correct size.
11188 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
11189 (scan_disk): Align the size down.
11190 Call check pool before find_bestub to have ashift.
11191
b055dd32
VS
111922012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
11195 dprintf in no-malloc zone.
11196
d779e9bd
ML
111972012-01-22 Mario Limonciello <mario_limonciello@dell.com>
11198
11199 * configure.ac: Add back in test for limits.h.
11200
b508af69
VS
112012012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11202
11203 Support 4K-sector NTFS.
11204
11205 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
11206 (grub_ntfs_data): Remove blocksize.
11207 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
11208 Remove data argument. All users updated.
11209
dad9c8b5
VS
112102012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11211
11212 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
11213 being in .text to avoid dprel references.
11214 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
11215 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
11216 (grub_arch_highmemsize): Likewise.
11217 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
11218 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
11219 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
11220
d43a777e
VS
112212012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11222
11223 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
11224
11225 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
11226 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
11227
34e4208f
VS
112282012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11229
11230 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
11231 GRUB_UTIL.
11232 (grub_set_datetime_cmos): Likewise.
11233
3ec0fc1c
VS
112342012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11235
11236 Make XZ compression parameters dependent on target and not host CPU.
11237
11238 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
11239 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
11240
22489834
VS
112412012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11242
11243 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
11244 set but not used variable.
11245
8502fbca
VS
112462012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
11249 created when no uuid support is compiled into mkfs.reiser.
11250
76df2068
VS
112512012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
11254 (utf8_to_macroman): Do the opposite.
11255 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
11256
64e3f8f6
VS
112572012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11258
11259 * configure.ac: Refise build qemu_mips w/o unifont.
11260
9c271078
VS
112612012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 Eliminate grub_min/grub_max prone to overflow usage.
11264
11265 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
11266 (poll_nonroot_hub): Likewise.
11267 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
11268 (grub_affs_label): Likewise.
11269 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
11270 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
11271 (grub_hfs_label): Likewise.
11272 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
11273 * grub-core/fs/zfs/zfs.c (MIN): Remove.
11274 (zap_leaf_array_equal): Use grub_size. Remove MIN.
11275 (zap_leaf_array_get): Likewise.
11276 (dnode_get_path): Likewise.
11277 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
11278 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
11279 * grub-core/script/execute.c (grub_script_break): Likewise.
11280 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
11281 grub_max.
11282 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
11283 * include/grub/misc.h (grub_min): Removed.
11284 (grub_max): Likewise.
11285
80662dbc
VS
112862012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
11287
11288 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
11289 direct.inode = 0.
11290
e6da1467
VS
112912012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
11294
b1ac4cb1
VS
112952012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
11298
b4bf7c3b
VS
112992012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
11302 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
11303
8ee1101a
VS
113042012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
11307 rather than a hack for grub_strncasemap.
11308
113092012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11310
11311 Support multiple initrds
11312 Note: part of this was accidently committed in r3739.
11313
11314 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
11315 initrd.
11316 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11317 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11318 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11319 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11320 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11321
4d1e2bc9
VS
113222012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
11325 disks with unknown size.
11326 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
11327
75b49ebe
VS
113282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11329
11330 Remove defines pertaining to arbitrary limits not affecting GRUB
11331 anymore.
11332
11333 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
11334 (EXT2_MAX_SYMLINKCNT): Likewise.
11335 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
11336 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
11337 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
11338 (GRUB_PXE_MAX_BLKSIZE): Likewise.
11339 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
11340 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
11341 (DN_MAX_OBJECT_SHIFT): Likewise.
11342 (DN_MAX_OFFSET_SHIFT): Likewise.
11343 (DN_MAX_OBJECT): Likewise.
11344 (DNODES_PER_LEVEL_SHIFT): Likewise.
11345 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
11346 (SPA_MAXBLOCKSIZE): Likewise.
11347 (SPA_BLOCKSIZES): Likewise.
11348 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
11349 (MZAP_MAX_BLKSZ): Likewise.
11350
74a1dce7
VS
113512012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11352
11353 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
11354 handle NULL appropriately.
11355 Remove MIN.
11356
30c7d3ce
VS
113572012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 Fix efiemu.
11360
11361 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
11362 cpu/types.h.
11363 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
11364 * configure.ac: Fix efiemu check.
11365
3c76ea0c
VS
113662012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
11369 grub_probe.
11370 Reported by: adamwill
11371
7e532280
SG
113722012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
11373
11374 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
11375
30492374
VS
113762012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11377
11378 Fix handling of wide characters in gfxterm.
11379
11380 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
11381 (clear_char): Likewise.
11382 (paint_char): Skip code == NULL chars.
11383 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
11384
e70cb72f
VS
113852012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11386
11387 * grub-core/normal/charset.c: Move comment to right place.
11388
5c827cf9
VS
113892012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11390
11391 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
11392 (GRUB_AFFS_FLAG_FFS): Put back where it was.
11393 (grub_affs_mount): Revert the correct version checking.
11394
53603892
VS
113952012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11396
11397 * docs/grub.texi (Unicode): Mention several other unsupported features.
11398
ff094b9b
VS
113992011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
11402 case statements as compile-time one.
11403 (direct_read): Prevent spurious warnings.
11404 (grub_squash_read_data): Likewise.
11405
c029da8a
VS
114062011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11407
11408 Various squash4 fixes and LZO and XZ support.
11409
11410 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
11411 Add xzembed source files.
11412 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
11413 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
11414 (grub_squash_inode): New subtype long_dir.
11415 (SQUASH_TYPE_LONG_DIR): New inode type.
11416 (COMPRESSION): New enum.
11417 (XZBUFSIZ): New const.
11418 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
11419 (read_chunk): Use data->decompress.
11420 (zlib_decompress): New function.
11421 (lzo_decompress): Likewise.
11422 (xz_decompress): Likewise.
11423 (squash_mount): Set new data fields.
11424 (grub_squash_iterate_dir): Handle long dir.
11425 (squash_unmount): Free xzdec and xzbuf.
11426 (grub_squash_open): Check ino type.
11427 (direct_read): Stylistic fixes. Use data->decompress.
11428 (grub_squash_read_data): Likewise.
11429 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
11430 (get_byte): Likewise.
11431 (grub_zlib_disk_read): Removed.
11432 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
11433 (GRUB_POSIX_BOOL_DEFINED): New define.
11434 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
11435 * grub-core/lib/xzembed/xz.h: Addmissing includes.
11436 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
11437 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
11438
7a45a539
VS
114392011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11440
11441 Don't override more informative errors.
11442
11443 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
11444 * grub-core/font/font.c (open_section): Likewise.
11445 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
11446 filename. Don't override errors.
11447 (grub_cmd_openbsd_ramdisk): Don't override errors.
11448 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
11449 (grub_cmd_initrd): Likewise.
11450 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11451 (grub_cmd_initrd): Likewise.
11452 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
11453 (grub_cmd_linux): Likewise.
11454 (grub_cmd_initrd): Likewise.
11455 (grub_cmd_payload): Likewise.
11456 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11457 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
11458 (grub_cmd_module): Likewise.
11459 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11460 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11461 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
11462 (grub_cmd_xnu_mkext): Likewise.
11463 (grub_cmd_xnu_ramdisk): Likewise.
11464 (grub_xnu_check_os_bundle_required): Likewise.
11465 (grub_xnu_load_kext_from_dir): Likewise.
11466 (grub_cmd_xnu_kextdir): Likewise.
11467 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
11468
b2d004db
VS
114692011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11470
11471 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
11472 as 1024 in block size field. Found on one of my test images.
11473 Small optimisation while on it.
11474
ec000eac
VS
114752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11476
11477 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
11478 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
11479 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
11480 performance fixes while on it.
11481 (grub_sfs_close): Fix memory leak while on it.
11482 (grub_sfs_label): Convert Latin1 to UTF-8.
11483
f50e1165
VS
114842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11485
11486 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
11487 space to avoid overflows.
11488 (grub_hfs_label): Convert from macroman to UTF-8.
11489
2ae254de
VS
114902011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
11493
0108f491
VS
114942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
11497
f45f5f89
VS
114982011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * unicode: Import Unicode 6.0 data.
11501
4d8c4765
VS
115022011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11503
63fa8ef9
VS
11504 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
11505 outside of range.
11506
115072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11508
11509 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
11510
11511 * include/grub/charset.h (grub_getend): New function.
11512 * grub-core/script/function.c (grub_script_function_find): Use
11513 grub_getend.
11514 * grub-core/normal/completion.c (add_completion): Likewise.
11515
f3cb4a4e
VS
115162011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11517
11518 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
11519 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
11520 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
11521 (GRUB_UNICODE_TAG_END): Likewise.
11522 (GRUB_UNICODE_LAST_VALID): Likewise.
11523
5da8dbc5
VS
115242011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11525
11526 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
11527 len and make it smaller. All users updated.
11528 * util/import_unicode.py: Put length and not end character.
11529 Check length.
11530
8569f13d
VS
115312011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11532
11533 Make better Unicode-compliant and unify some UTF-8 code pathes.
11534
11535 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
11536 valid character.
11537 (grub_is_valid_utf8): Use grub_utf8_process.
11538 Check resulting code range.
11539 (grub_utf8_to_ucs4): Use grub_utf8_process.
11540 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
11541 valid character.
11542
cc4fddf5
VS
115432011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11544
11545 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
11546
bbc47747
VS
115472011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 * docs/grub.texi (Filesystems): Mention AFS.
11550
f63d6bf4
VS
115512011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11552
11553 * docs/grub.texi (Filesystems): Clarify restrictions.
11554 (Regexp): Mention non-Unicode regexp behaviour.
11555 (Other): Mention non-Unicode matching behaviour.
11556
74bbf0db
VS
115572011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11558
f63d6bf4 11559 Make HFS implementation use MacRoman.
74bbf0db
VS
11560
11561 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
11562 (macroman): New const array.
11563 (macroman_to_utf8): New function.
11564 (utf8_to_macroman): Likewise.
11565 (grub_hfs_find_dir): Use utf8_to_macroman.
11566 (grub_hfs_dir): Use macroman_to_utf8.
11567 Set case_insensitive.
11568
4ea0316e
VS
115692011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
11572
d3c13cbd
VS
115732011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 Integrate hints into autogeneration scripts.
11576
11577 * docs/grub.texi (Filesystems): Add a hostdisk example.
11578 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
11579 (grub-probe): Add ofpath.
11580 * gentpl.py: Remove group nosparc64.
11581 * grub-core/commands/search.c (cache_entry): New struct.
11582 (cache): New var.
11583 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
11584 * grub-core/commands/search_wrap.c (options): Add platform-specific
11585 hint options.
11586 (grub_cmd_search): Handle platform-specific hints.
11587 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
11588 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
11589 (grub_util_biosdisk_data): Likewise.
11590 (grub_util_biosdisk_open): Set device_map.
11591 (read_device_map): Handle "" as indication of no map.
11592 Set device_map.
11593 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
11594 (grub_util_biosdisk_get_compatibility_hint): New function.
11595 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
11596 * include/grub/emu/hostdisk.h
11597 (grub_util_biosdisk_get_compatibility_hint): New proto.
11598 * util/grub-install.in: Don't call grub-mkdevicemap.
11599 Add platform-specific hint to load.cfg.
11600 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
11601 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11602 hints. Set root preliminary to compatibility hint, not to OS name.
11603 * util/grub-probe.c (PRINT_*): Add hints.
11604 (print): Make static.
11605 (escape_of_path): New function.
11606 (guess_bios_drive): Likewise.
11607 (guess_efi_drive): Likewise.
11608 (guess_baremetal_drive): Likewise.
11609 (print_full_name): Likewise.
11610 (probe): Handle hints.
11611 (main): Likewise.
11612 * util/ieee1275/devicemap.c: Removed.
11613 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
11614 updated.
11615 (grub_util_devname_to_ofpath): Return NULL on failure.
11616
11617 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
11618 resource leak.
11619 * util/getroot.c (grub_util_pull_device): Fix memory leak.
11620
11621 * po/POTFILES.in: Regenerated.
11622
11623 Allow purely long options
11624
11625 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
11626 (SHORT_ARG_USAGE): Likewise.
11627 (grub_arg_show_help): Compare opt with help_options.
11628 (parse_option): Receive opt as argument. If makes big simplificatons.
11629 All users updated
11630
00ce2df3
VS
116312011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11632
11633 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
11634 Restructure to avoid warning.
11635
e77e325f
VS
116362011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11637
11638 * util/grub-install.in: Account for possible escaped comma in device
11639 name.
11640
165099ea
VS
116412011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11642
11643 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
11644 channel.
11645
ce4a999d
VS
116462011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11647
11648 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
11649 allocation and zero-setting.
11650 (grub_ieee1275_get_devname): Check that alias is complete.
11651
379586ad
VS
116522011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
11655 unaligned segments.
11656
9197b0ad
VS
116572011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
11660 prefix.
11661 (grub_ofdisk_open): Check and discard ieee1275 prefix.
11662 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
11663 Add ieee1275 prefix.
11664
edddb7f9
VS
116652011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 * docs/grub.texi (Filesystems): Update.
11668
a1a8b1b9
VS
116692011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 Support odc, newc and bigendian cpio formats.
11672
11673 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
11674 * grub-core/Makefile.core.def (newc): New module.
11675 (odc): Likewise.
11676 (cpio_be): Likewise.
11677 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
11678 (MAGIC): Likewise.
11679 (MAGIC2): Likewise.
11680 (head) [MODE_ODC]: Adapt for the format.
11681 (head) [MODE_NEWC]: Likewise.
11682 (head) [!MODE_*]: Write fields of interest as arrays.
11683 (MAGIC_USTAR): Removed.
11684 (read_number) [MODE_NEWC]: Change to hex.
11685 (read_number) [!MODE_*]: Parse binary arrays.
11686 (grub_cpio_find_file): Factor out the code for better structure and
11687 always use read_number.
11688 (grub_cpio_mount): Use MAGIC and MAGIC2.
11689 (grub_cpio_dir): Exit on first hook non-0 return.
11690 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
11691 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
11692 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
11693 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
11694 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
11695 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
11696 * grub-core/fs/newc.c: New file.
11697 * grub-core/fs/odc.c: Likewise.
11698 * grub-core/fs/cpio_be.c: Likewise.
11699
58eba9ee
VS
117002011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 Fix handling of tar numbers occupying the whole field.
11703
11704 * grub-core/fs/cpio.c (read_number): New function.
11705 (grub_cpio_find_file): Use read_number instead of strtoull.
11706
a54a0e12
VS
117072011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
11710 occupying the whole field size.
11711
a6120aca
LA
117122011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
11713
11714 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
11715
a93964ce
VS
117162011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
11719
3ea1ca46
SG
117202011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
11721
11722 * grub-core/Makefile.core.def (lzma_decompress): Add missing
11723 TARGET_IMG_LDFLAGS.
11724
b87f7ef2
VS
117252011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 * util/getroot.c (ESCAPED_PATH_MAX): New define.
11728 (mountinfo_entry): Increase the field size to take escaping into
11729 account.
11730 (find_root_device_from_libzfs): Add one byte to size of strings for
11731 security.
11732
62092395
VS
117332011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11734
11735 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
11736 an assert.
11737 * util/grub-setup.c (setup): Likewise.
11738
1f0b1a77
VS
117392011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11740
11741 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
11742 _LzmaDecodeA.
11743
8eba9997
VS
117442011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 * docs/grub.texi (Internationalisation): New section.
11747
dd0c91e9
VS
117482011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11749
11750 * docs/grub.texi (Loopback booting): New section.
11751
117522011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
11753
11754 * util/grub-mkstandalone.in: Fix minor typo errors.
11755
198e150a
VS
117562011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11757
11758 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
11759
11760 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
11761 net/icmp.c and net/icmp6.c.
11762 (http): New module.
11763 (priority_queue): Likewise.
11764 * grub-core/io/bufio.c: Rewritten.
11765 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
11766 TYPE_WITH_CONFIGFILE_OPTION.
11767 (legacy_commands): Add bootp and dhcp.
11768 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
11769 (grub_legacy_parse): Likewise.
11770 * grub-core/lib/priority_queue.c: New file.
11771 * grub-core/net/arp.c: Add missing license header.
11772 (arp_find_entry): Removed.
11773 (arp_find_entry): Likewise.
11774 (grub_net_arp_resolve): Rename to ...
11775 (grub_net_arp_send_request): ...this.
11776 (grub_net_arp_receive): New card argument.
11777 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
11778 Set router and DNS server.
11779 (grub_net_configure_by_dhcp_ack): Handle routing information.
11780 (grub_cmd_bootp): Set checksum.
11781 (grub_bootp_init): Remove net_dhcp.
11782 * grub-core/net/dns.c: New file.
11783 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
11784 completion.
11785 (get_card_packet): Handle allocation.
11786 (grub_efinet_findcards): Set mtu.
11787 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
11788 (get_card_packet): Handle allocation.
11789 (emucard): Set mtu.
11790 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
11791 (GRUB_MOD_INIT): Set mtu.
11792 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
11793 mtu.
11794 (get_card_packet): Handle allocation.
11795 (grub_ofnet_findcards): Set mtu.
11796 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
11797 assert.
11798 (grub_net_recv_ethernet_packet): Handle IPv6.
11799 * grub-core/net/http.c: New file.
11800 * grub-core/net/icmp.c: Likewise.
11801 * grub-core/net/icmp6.c: Likewise.
11802 * grub-core/net/ip.c (ip6addr): New type.
11803 (ip6hdr): Likewise.
11804 (reassemble): Likewise.
11805 (cmp): New function.
11806 (reassembles): New variable.
11807 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
11808 (id): New variable.
11809 (send_fragmented): New function.
11810 (grub_net_send_ip_packet): Rename to ...
11811 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
11812 Handle non-UDP.
11813 (grub_net_recv_ip_packets): Rename to ...
11814 (handle_dgram): ... this. Check checksum. Handle non-UDP.
11815 (free_rsm): New function.
11816 (free_old_fragments): Likewise.
11817 (grub_net_recv_ip4_packets): New function.
11818 (grub_net_send_ip6_packet): Likewise.
11819 (grub_net_send_ip_packet): Likewise.
11820 (grub_net_recv_ip6_packets): Likewise.
11821 (grub_net_recv_ip_packets): Likewise.
11822 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
11823 (LINK_LAYER_CACHE_SIZE): New const.
11824 (link_layer_find_entry): New function.
11825 (grub_net_link_layer_add_address): Likewise.
11826 (grub_net_link_layer_resolve_check): Likewise.
11827 (grub_net_link_layer_resolve): Likewise.
11828 (grub_net_ipv6_get_slaac): Likewise.
11829 (grub_net_ipv6_get_link_local): Likewise.
11830 (grub_cmd_ipv6_autoconf): Likewise.
11831 (parse_ip): Handle one number representation.
11832 (parse_ip6): New functoion.
11833 (match_net): Handle IPv6.
11834 (grub_net_resolve_address): Handle IPv6 and DNS.
11835 (grub_net_resolve_net_address): Handle IPv6.
11836 (route_cmp): New function.
11837 (grub_net_route_address): Find best route.
11838 (grub_net_addr_to_str): Handle IPv6.
11839 (grub_net_addr_cmp): New function.
11840 (grub_net_add_addr): Register local route.
11841 (print_net_address): Handle net address.
11842 (grub_net_poll_cards): Retransmit TCP.
11843 (grub_net_poll_cards_idle_real): Likewise.
11844 (have_ahead): New function.
11845 (grub_net_seek_real): Use underlying seek.
11846 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
11847 * grub-core/net/tcp.c: New file.
11848 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
11849 (cmp): New function.
11850 (ack): Likewise.
11851 (tftp_receive): Handle unordered input.
11852 (destroy_pq): New function.
11853 (tftp_close): Close pq.
11854 * grub-core/net/udp.c: Put missing license header.
11855 (grub_net_udp_socket): New function.
11856 (udp_socket_register): Likewise.
11857 (grub_net_udp_close): Likewise.
11858 (grub_net_recv_udp_packet): Check checksum.
11859 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
11860 * include/grub/misc.h (grub_memchr): New function.
11861 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
11862 (grub_net_card_driver): Return buf in recv.
11863 (grub_net_slaac_mac_list): New struct.
11864 (grub_network_level_protocol_id): Add ipv6.
11865 (grub_net_network_level_addr): Likewise.
11866 (grub_net_network_level_net_addr): Likewise.
11867 (grub_net_app_protocol): Add seek.
11868 (grub_net_socket): Removed.
11869 (grub_net_sockets): Likewise.
11870 (grub_net_socket_register): Likewise.
11871 (grub_net_socket_unregister): Likewise.
11872 (FOR_NET_SOCKETS): Likewise.
11873 (grub_net_add_addr): Add const.
11874 (GRUB_NET_BOOTP_*): New enum.
11875 (grub_net_addr_cmp): New proto.
11876 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
11877 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
11878 (grub_net_hwaddr_to_str): NEw proto.
11879 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
11880 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
11881 (grub_dns_init): New proto.
11882 (grub_dns_fini): Likewise.
11883 (grub_net_tcp_retransmit): Likewise.
11884 (grub_net_link_layer_add_address): Likewise.
11885 (grub_net_link_layer_resolve_check): Likewise.
11886 (grub_net_link_layer_resolve): Likewise.
11887 (grub_net_dns_lookup): Likewise.
11888 (grub_net_add_dns_server): Likewise.
11889 (grub_net_remove_dns_server): Likewise.
11890 (GRUB_NET_TRIES): New const.
11891 (GRUB_NET_INTERVAL): Likewise.
11892 * include/grub/net/arp.h: Mostly rewritten.
11893 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
11894 * include/grub/net/ip.h: Mostly rewritten.
11895 * include/grub/net/netbuff.h: Indent.
11896 * include/grub/net/tcp.h: New file.
11897 * include/grub/net/udp.h: Mostly rewritten.
11898 * include/grub/priority_queue.h: New file.
11899 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
11900 (grub_swap_bytes64_compile_time): Likewise.
11901 (grub_cpu_to_be16_compile_time): Likewise.
11902 (grub_cpu_to_be32_compile_time): Likewise.
11903 (grub_cpu_to_be64_compile_time): Likewise.
11904 (grub_be_to_cpu64_compile_time): Likewise.
11905
215c1800
VS
119062011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11907
11908 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
11909 UINT_TO_PTR with cast.
11910
c17e546c
VS
119112011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11912
11913 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
11914 don't use them.
11915
ff6b18b6
VS
119162011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11917
11918 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
11919 already there.
11920
70ffcc93
VS
119212011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
11924 confusing ipxe.
11925
e5f4d260
VS
119262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
11929 Add missing const attribute.
11930 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
11931 Likewise.
11932 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
11933 Likewise.
11934
8e54b4b7
VS
119352011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11936
11937 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
11938 misaligned access.
11939 (serpent_setkey): Likewise.
11940 (serpent_encrypt_internal): Likewise.
11941 (serpent_decrypt_internal): Likewise.
11942 (serpent_encrypt): Don't put an alignment-increasing cast.
11943 (serpent_decrypt): Likewise.
11944 (serpent_test): Likewise.
11945
813c0a2b
VS
119462011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11947
11948 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
11949
f2b60fbd
VS
119502011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11951
11952 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
11953
11954 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
11955 grub_addr_t casts.
11956 (PTR_TO_UINT64): Likewise.
11957 (PTR_TO_UINT32): Likewise.
11958
5ef5c511
VS
119592011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11960
11961 * util/grub-mkimage.c (generate_image): Decrease the higher limit
11962 because of stack.
11963 * util/grub-setup.c (setup): Don't add redundancy past the higher load
11964 limit.
11965
c476e6df
VS
119662011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
11969 text_width > available width a bit more gracefully.
11970
384ad7cc
VS
119712011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11972
11973 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
11974 current address calculation.
11975
96f8caf8
VS
119762011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11977
11978 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
11979 stack.
11980 (encode_block): Likewise.
11981
276b7a8b
VS
119822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11983
11984 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
11985 certainety.
11986
e3fd394a
VS
119872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11988
11989 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
11990 non-RS part to avoid RS messing with GDT.
11991 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11992 Increase to suit in realmode routines.
11993
119942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11995
11996 * grub-core/kern/i386/realmode.S: Increase alignment.
11997 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
11998
ee9c2e7a
VS
119992011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
12002 be deterministic.
12003 (syndroms): Compute 0 syndrom.
12004 (rs_recover): Use 0 syndrom.
12005
7a7f7cc9
VS
120062011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12007
12008 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
12009
a14b16d1
VS
120102011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
12013 brackets.
12014
9f59e9fc
VS
120152011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12016
ca1b552c
VS
12017 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
12018 account.
12019 (get_top_pad): Likewise.
12020 (get_right_pad): Likewise.
12021 (get_bottom_pad): Likewise.
12022
120232011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12024
12025 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 12026
e739d698
VS
120272011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12028
12029 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
12030 attribute as the structure isn't guaranteed to be properly aligned.
12031 (grub_efi_pci_device_path): Likewise.
12032 (grub_efi_pccard_device_path): Likewise.
12033 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
12034 specify the size of `memory_type'.
12035 (grub_efi_vendor_device_path): Likewise.
12036 (grub_efi_controller_device_path): Likewise.
12037 (grub_efi_acpi_device_path): Likewise.
12038 (grub_efi_expanded_acpi_device_path): Likewise.
12039 (grub_efi_atapi_device_path): Likewise.
12040 (grub_efi_scsi_device_path): Likewise.
12041 (grub_efi_fibre_channel_device_path): Likewise.
12042 (grub_efi_1394_device_path): Likewise.
12043 (grub_efi_usb_device_path): Likewise.
12044 (grub_efi_usb_class_device_path): Likewise.
12045 (grub_efi_i2o_device_path): Likewise.
12046 (grub_efi_mac_address_device_path): Likewise.
12047 (grub_efi_ipv4_device_path): Likewise.
12048 (grub_efi_ipv6_device_path): Likewise.
12049 (grub_efi_infiniband_device_path): Likewise.
12050 (grub_efi_uart_device_path): Likewise.
12051 (grub_efi_vendor_messaging_device_path): Likewise.
12052 (grub_efi_hard_drive_device_path): Likewise.
12053 (grub_efi_cdrom_device_path): Likewise.
12054 (grub_efi_vendor_media_device_path): Likewise.
12055 (grub_efi_file_path_device_path): Likewise.
12056 (grub_efi_protocol_device_path): Likewise.
12057 (grub_efi_piwg_device_path): Likewise.
12058 (grub_efi_bios_device_path): Likewise.
12059
cb8f88ea
VS
120602011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12061
12062 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
12063 (grub_ucs4_to_utf8_alloc): Likewise.
12064 (grub_ucs4_to_utf8): Likewise.
12065 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
12066 (grub_ucs4_to_utf8_alloc): Likewise.
12067
309e5352
VS
120682011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12069
12070 AFFS never uses unicode.
12071
12072 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
12073 (grub_latin1_to_utf8): New inline function.
12074 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
12075
e7987e1b
VS
120762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12077
12078 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
12079 overflow.
12080
efc2616e
VS
120812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12082
12083 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
12084 (grub_squash_dirent_header): Likewise.
12085 (read_chunk): Don't double swap.
12086 (grub_squash_iterate_dir): Fix swap sizes.
12087
3c349f5a
VS
120882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12089
12090 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
12091
b453412d
VS
120922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12093
12094 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
12095 (grub_hfs_iterate_dir): Likewise.
12096
12e9d4d1
VS
120972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12098
12099 Fix video on platforms where unaligned access is forbidden.
12100 Make several optimisations while on it.
12101
12102 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
12103 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12104 (grub_video_fbblit_replace_32bit_1bit): Likewise.
12105 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
12106 Disable.
12107 (grub_video_fbblit_replace_16bit_1bit):
12108 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12109 (grub_video_fbblit_replace_8bit_1bit): Likewise.
12110 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
12111 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
12112 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
12113 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
12114 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
12115 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
12116 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
12117 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
12118 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
12119 (grub_video_fbblit_replace_index_RGB888): Likewise.
12120 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
12121 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
12122 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
12123 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
12124 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
12125 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
12126 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
12127 Disable.
12128 (grub_video_fbblit_blend_XXX565_1bit):
12129 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12130 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
12131 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
12132 void *.
12133 * grub-core/video/fb/video_fb.c (common_blitter)
12134 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
12135 (grub_video_fb_create_render_target_from_pointer)
12136 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12137 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
12138 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
12139 definition.
12140 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
12141
ace96609
VS
121422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12143
12144 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
12145 HH22 and HM10 relocations.
12146
fd261d73
VS
121472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
12150
e59b7857
VS
121512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12152
12153 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
12154 allocation succeeded.
12155
9b4baaa4
VS
121562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
12159 argument a u8 pointer. All users updated.
12160 Handle unaligned buffers.
12161
dc713193
VS
121622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12163
12164 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
12165 add_part to workaround compiler bug.
12166
30dd48c2
VS
121672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12168
12169 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
12170
0c6087a8
VS
121712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12172
12173 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
12174 Reserve alignment invariants.
12175 (grub_multiboot_load): Likewise.
12176 (retrieve_video_parameters): Likewise.
12177 (grub_multiboot_make_mbi): Likewise.
12178
c2e77777
VS
121792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12180
12181 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
12182 incorrect pointer.
12183
b70b6d11
VS
121842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12185
12186 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
12187 (grub_pata_pio_write): Likewise.
12188
02a2bf83
VS
121892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12190
12191 Add noreturn attributes and remove unreachable code.
12192
12193 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
12194 code.
12195 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
12196 code. Mark as noreturn.
12197 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
12198 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
12199 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
12200 unreachable code.
12201 * grub-core/kern/main.c (grub_main): Mark as noreturn.
12202 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
12203 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
12204 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
12205 * include/grub/kernel.h (grub_main): Mark as noreturn.
12206 * include/grub/reader.h (grub_rescue_run): Likewise.
12207
2019d09e
VS
122082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
12211 redundant declaration.
12212
d1c501ee
VS
122132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12214
12215 * include/grub/net.h (grub_net_network_level_interfaces): Remove
12216 redundant declaration.
12217 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
12218
61664420
VS
122192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
12222 to ensure alignment.
12223 (grub_hdparm_print_identify): Make argument uint16 * to ensure
12224 alignment. Ensure tmp alignment.
12225 (grub_cmd_hdparm): Ensure buf alignment.
12226 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
12227 to ensure alignment.
12228 (grub_ata_dumpinfo): Ensure text alignment.
12229 (grub_atapi_identify): Preserve alignment invariant.
12230 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
12231
0d51ee20
VS
122322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12233
12234 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
12235 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
12236 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
12237 * include/grub/misc.h (grub_reboot)
12238 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
12239 (grub_halt) [__mips__]: Likewise.
12240
753ef8c1
VS
122412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12242
12243 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
12244 Remove redundant declaration.
12245 (grub_mmap_get_post64): Likewise.
12246 (grub_mmap_get_upper): Likewise.
12247 (grub_mmap_get_lower): Likewise.
12248
85c85365
VS
122492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
12252 uint32_t * to ensure alignment.
12253 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
12254
a23f2cc4
VS
122552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12256
93018f64
VS
12257 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
12258 uint16_t * to ensure alignment.
12259 (sun_pc_partition_map_iterate): Make `block' a union to ensure
12260 alignment.
12261
122622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12263
12264 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
12265 to ensure alignment.
12266 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
12267
58acccd6
VS
122682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12269
12270 * grub-core/fs/ntfs.c (u16at): Make into inline function.
12271 Handle unaligned pointers.
12272 (u32at): Likewise.
12273 (u64at): Likewise.
12274 (fixup): Use byte access instead of v16at.
12275 (find_attr): Fix imporper usage of v32at.
12276 (read_data): Likewise.
12277 (list_file): Handle byte-swapping and unaligned strings.
12278 (grub_ntfs_label): Likewise.
12279
9b05cad7
VS
122802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12281
12282 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
12283 as it's not necessarily aligned.
12284
b3950b84
VS
122852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12286
12287 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
12288 redundant declaration.
12289 (grub_serial_init): Likewise.
12290 (grub_terminfo_init): Likewise.
12291
fcd232b7
VS
122922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12293
12294 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
12295 function.
12296 (ZAP_HASH_IDX): Likewise.
12297 (ZAP_LEAF_HASH_SHIFT): Likewise.
12298 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
12299 (LEAF_HASH): Likewise.
12300 (ZAP_LEAF_NUMCHUNKS): Likewise.
12301 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
12302 alignment invariants. Return pointer. All users updated.
12303 (ZAP_LEAF_ENTRY): Make into inline function.
12304 (NBBY): Removed.
12305 (xor): LIkewise.
12306 (xor_out): Use grub_crypto_xor.
12307 (dnode_get_path): Use grub_get_unaligned.
12308 (nvlist_find_value): Likewise.
12309 (grub_zfs_nvlist_lookup_uint64): Likewise.
12310 (grub_zfs_nvlist_lookup_string): Likewise.
12311 (get_nvlist_size): Likewise.
12312 (grub_zfs_open): Likewise.
12313 (fill_fs_info): Likewise.
12314 (grub_zfs_dir): Likewise.
12315 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
12316 alignment invariants.
12317 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
12318 necessarily aligned.
12319
f138623a
VS
123202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12321
12322 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
12323
564840dc
VS
123242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
12327 arithmetic to conserve alignment invariants.
12328
9b40df20
VS
123292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12330
12331 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
12332 redundant declaration.
12333 (grub_efiemu_mm_obtain_request): Likewise.
12334 (grub_efiemu_prepare): Likewise.
12335
d1c930f9
VS
123362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12337
12338 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
12339 to match types.
12340
4c5f3056
VS
123412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12342
12343 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
12344 case of aunaligned recptr.
12345 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
12346 alignment.
12347 (grub_hfsplus_btree_search): Handle unaligned index.
12348
728cba91
VS
123492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12350
12351 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
12352 to get freetag and skip.
12353
eb561f31
VS
123542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12355
12356 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
12357 array.
12358 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
12359 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
12360
20993fbb
VS
123612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12362
12363 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
12364 name for checksum and fix allocation algorithm.
12365
1f313b94
VS
123662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12367
12368 * include/grub/types.h (grub_properly_aligned_t): New type.
12369 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
12370 (grub_get_unaligned16): Add explicit casts.
12371 (grub_get_unaligned32): Likewise.
12372 (grub_get_unaligned64): Likewise.
12373 (grub_set_unaligned16): New function.
12374 (grub_set_unaligned32): Likewise.
12375
47ae27ec
VS
123762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12379
78c2cd1c
VS
123802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
12383 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
12384 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
12385
53072f9b
VS
123862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
12389 conditionals.
12390
055dc239
VS
123912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
12394 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
12395
496bd074
VS
123962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 Unify and improve RAID and crypto xor.
12399
12400 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
12401 changed to grub_crypto_xor
12402 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
12403 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
12404 Use bigger types when possible.
12405
ef6e4335
VS
124062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12407
12408 * grub-core/disk/raid.c (scan_devices): Fix condition.
12409
5d048bf2
VS
124102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12411
12412 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
12413 Make name a const ptr.
12414
ee533335
VS
124152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12416
12417 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
12418 first argument a const pointer.
12419 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
12420 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
12421 proto.
12422 (grub_children_iterate): Likewise.
12423 (grub_machine_mmap_iterate): Remove redundant declaration.
12424
cc8f3668
VS
124252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12426
12427 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
12428 (grub_cmd_acpi) [!x86]: Disable EBDA.
12429
c5fc563a
VS
124302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 Enable UTF8 in gnulib regexp.
12433
12434 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
12435 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
12436 (isupper): Use grub_isupper.
12437 (isascii): New inline function.
12438 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
12439 * grub-core/lib/posix_wrap/wctype.h: Likewise.
12440 * grub-core/normal/charset.c (grub_utf8_process): New function.
12441 (grub_utf8_to_utf16): Use grub_utf8_process.
12442 (grub_encode_utf8_character): New function.
12443 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
12444 * include/grub/charset.h (grub_utf8_process): New declaration.
12445 (grub_encode_utf8_character): Likewise.
12446 * include/grub/misc.h (grub_islower): New inline function.
12447 (grub_isupper): Likewise.
12448 (grub_strchrsub): Moved down to fix the definitions.
12449
0af2346f
VS
124502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12451
12452 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
12453 specification.
12454
74dbd244
VS
124552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12456
12457 * include/grub/loader.h (grub_loader_register_preboot_hook):
12458 Use struct preboot * and not void * for handle. All users updated.
12459 (grub_loader_unregister_preboot_hook): Likewise.
12460
1bc8f60d
VS
124612011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12462
12463 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
12464 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
12465 UTF-16-BE. All users updated.
12466 (grub_hfsplus_cmp_catkey): Fix unicode handling.
12467 (grub_hfsplus_iterate_dir): Likewise.
12468 (grub_hfsplus_label): Likewise.
12469
48d6e456
VS
124702011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
12473
bf3a3857
VS
124742011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
12475
12476 Add missing const qualifiers.
12477
12478 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
12479 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
12480 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
12481 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
12482 (grub_lvm_check_flag): Likewise.
12483 * grub-core/efiemu/i386/coredetect.c
12484 (grub_efiemu_get_default_core_name): Likewise
12485 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12486 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
12487 * grub-core/fs/ntfs.c (fixup): Likewise.
12488 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
12489 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
12490 (fzap_lookup): Likewise.
12491 (zap_lookup): Likewise.
12492 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
12493 * grub-core/lib/legacy_parse.c (check_option): Likewise.
12494 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
12495 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
12496 (grub_freebsd_add_meta_module): Likewise.
12497 (grub_cmd_freebsd_module): Likewise.
12498 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
12499 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
12500 (grub_xnu_writetree_get_size): Likewise.
12501 (grub_xnu_writetree_toheap_real): Likewise.
12502 (grub_xnu_find_key): Likewise.
12503 (grub_xnu_create_key): Likewise.
12504 (grub_xnu_create_value): Likewise.
12505 (grub_xnu_register_memory): Likewise.
12506 (grub_xnu_check_os_bundle_required): Likewise.
12507 (grub_xnu_scan_dir_for_kexts): Likewise.
12508 (grub_xnu_load_kext_from_dir): Likewise.
12509 * grub-core/normal/color.c (color_list): Likewise.
12510 * grub-core/normal/completion.c (current_word): Likewise.
12511 * grub-core/normal/menu_entry.c (insert_string): Likewise.
12512 * grub-core/term/serial.c (grub_serial_find): Likewise.
12513 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
12514 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
12515 Likewise.
12516 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
12517 (grub_freebsd_add_meta_module): Likewise.
12518 * include/grub/lib/arg.h (grub_arg_option): Likewise.
12519 * include/grub/net.h (grub_net_card_driver): Likewise.
12520 (grub_net_card): Likewise.
12521 (grub_net_app_protocol): Likewise.
12522 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
12523 * include/grub/serial.h (grub_serial_find): Likewise.
12524 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
12525 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
12526 (grub_xnu_create_value): Likewise.
12527 (grub_xnu_find_key): Likewise.
12528 (grub_xnu_scan_dir_for_kexts): Likewise.
12529 (grub_xnu_load_kext_from_dir): Likewise.
12530
12531 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
12532 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
12533 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
12534 Moved from here ...
12535 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
12536
112b4837
CW
125372011-11-28 Colin Watson <cjwatson@ubuntu.com>
12538
12539 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
12540
49e891ac
VS
125412011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
12544 (read_device): Fix size calculation.
12545
fd258e5c
RM
125462011-11-25 Robert Millan <rmh@gnu.org>
12547
12548 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
12549 (find_root_device_from_libzfs): Add zpool output parser to be used
12550 as fallback when libzfs isn't available.
12551
78845dc2
SG
125522011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
12553
12554 * po/Makefile.in.in: Add missing escape-continuation.
12555
adac5211
VS
125562011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
12557
12558 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
12559
10b64f1c
VS
125602011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12561
12562 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
12563
bb416954
VS
125642011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12565
12566 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
12567
bdfe9eeb
VS
125682011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12569
12570 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
12571
581ffa8a
VS
125722011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12573
12574 * grub-core/lib/adler32.c: Add missing license specification.
12575 * grub-core/lib/crc64.c: Likewise.
12576 * grub-core/loader/i386/pc/plan9.c: Likewise.
12577 * grub-core/partmap/plan.c: Likewise.
12578
2536cf64
LK
125792011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
12580
12581 Add facility to debug GRUB with gdb under qemu.
12582
12583 * grub-core/gdb_grub.in: New file.
12584 * grub-core/gmodule.pl.in: Likewise.
12585 * grub-core/Makefile.core.def (gmodule.pl): New script.
12586 (gdb_grub): Likewise.
12587
bc108a4a
VS
125882011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12589
12590 * util/grub-mount.c (argp_parser): Accept relative pathes.
12591 * util/grub-fstest.c (argp_parser): Likewise.
12592
111c1778
VS
125932011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12594
12595 Plan9 support.
12596
12597 * Makefile.util.def (libgrubmods): Add
12598 grub-core/partmap/plan.c.
12599 * docs/grub.texi: Notice Plan9 support.
12600 * grub-core/Makefile.core.def (plan9): New module.
12601 (part_plan): Likewise.
12602 * grub-core/loader/i386/pc/plan9.c: New file.
12603 * grub-core/partmap/plan.c: Likewise.
12604 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
12605 define.
12606 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
12607 * include/grub/mm.h (grub_extend_alloc): New inline function.
12608
c30be3b6
VS
126092011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12610
12611 Make Reed-Solomon faster by using power of generator representation of
12612 GF(256)*.
12613
12614 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
12615 (gf_double_t): Likewise.
12616 (gf_invert): Removed.
12617 (gf_powx): New array.
12618 (gf_powx_inv): Likewise.
12619 (scratch): Move higher.
12620 (gf_reduce): Removed.
12621 (gf_mul): Use powx.
12622 (gf_invert): Likewise.
12623 (init_inverts): Replaced with ...
12624 (init_powx): ...this. All users updated.
12625 (pol_evaluate): Replace multiplications with additions.
12626 (rs_encode): Likewise.
12627 (gauss_eliminate): Call gf_invert.
12628 (grub_reed_solomon_add_redundancy): Call init_powx.
12629 (grub_reed_solomon_recover): Call init_powx unconditionally.
12630
fa5aeffc
VS
126312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
12634
a346b81c
VS
126352011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12636
12637 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
12638 disk->partiton for safety.
12639
d89ee414
VS
126402011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12641
12642 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12643 Fix a memory leak.
12644 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
12645
91ee7b6d
VS
126462011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
12649
91e5a33d
VS
126502011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12651
12652 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
12653
9edd7be2
VS
126542011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12655
12656 Fix spaces handling in proc/self/mountinfo.
12657
12658 * util/getroot.c (unescape): New function.
12659 (grub_find_root_device_from_mountinfo): Use unescape.
12660
ba102053
VS
126612011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12662
12663 Support ZFS embedding.
12664
12665 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
12666 (grub_zfs_fs): Register grub_zfs_embed.
12667
aa94b870
VS
126682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12669
12670 Fix MIPS compilation.
12671
12672 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
12673 * include/grub/offsets.h: Rename decompressor fields from
12674 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
12675 * util/grub-mkimage.c (image_targets): Use new names.
12676
5fbdac14
VS
126772011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 Defer multiboot device parsing until we're in compressed part.
12680
12681 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
12682 bsd_part. setdevice has fallen into disuse.
12683 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
12684 (bsd_part): Likewise.
12685 (boot_dev): New variable.
12686 (multiboot_trampoline): Don't parse multiboot device.
12687 Pass multiboot device in %edx.
12688 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
12689 grub_boot_device.
12690 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
12691 Likewise.
12692 * grub-core/kern/i386/pc/startup.S: Save edx.
12693 (grub_boot_drive): Removed.
12694 (grub_install_dos_part): Likewise.
12695 (grub_install_bsd_part): Likewise.
12696 (grub_boot_device): New variable.
12697 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
12698 (grub_install_bsd_part): Likewise.
12699 (grub_boot_drive): Likewise.
12700 (grub_boot_device): New variable.
12701 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
12702 Removed.
12703 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12704 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
12705 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
12706 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
12707 * util/grub-install.in: Remove redundant condition.
12708
691cbb58
VS
127092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12710
12711 Fix bug introduced by previous commit.
12712
12713 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
12714
60240b8b
VS
127152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12716
12717 Use decompressors framework on i386-pc. It increases core size
12718 by 46 bytes but improves compatibility and maintainability.
12719
12720 * grub-core/Makefile.core.def (lzma_decompress): New image.
12721 (kernel): Add i386_pc_ldflags.
12722 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
12723 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
12724 to real_to_prot, prot_to_real and device info.
12725 * include/grub/offsets.h: Renamed decompressor offsets.
12726 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
12727 (image_target_desc): Remove raw_size and rename decompressor fields.
12728 (compress_kernel): Handle lzma.
12729 (generate_image): Handle decompressors on i386-pc.
12730
e9d3421c
VS
127312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12732
12733 * configure.ac: Add -fno-asynchronous-unwind-tables.
12734
2b23074a
VS
127352011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12736
12737 Move assembly code to C by using intwrap. It increases core size
12738 by 88 bytes but improves compatibility and maintainability.
12739
12740 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
12741 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
12742 ... here. Translated to C.
12743 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
12744 * grub-core/term/i386/pc/console.c (grub_console_getkey):
12745 ... here. Translated to C.
12746 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
12747 * grub-core/term/i386/pc/console.c (grub_console_getxy):
12748 ... here. Translated to C.
12749 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
12750 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
12751 ... here. Translated to C.
12752 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
12753 * grub-core/term/i386/pc/console.c (grub_console_cls):
12754 ... here. Translated to C.
12755 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
12756 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
12757 ... here. Translated to C.
12758 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
12759 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
12760 Translated to C.
12761 * grub-core/term/i386/pc/console.c (int10_9): New function.
12762 (grub_console_putchar): Likewise.
12763 * include/grub/i386/pc/console.h: Removed the not anymore shared
12764 functions.
12765
678f4b67
VS
127662011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12767
12768 Move grub_chainloader_real_boot out of the kernel.
12769
12770 * grub-core/Makefile.am: Remove machine/loader.h.
12771 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12772 Removed.
12773 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
12774 variable.
12775 (grub_relocator16_keep_a20_enabled): Likewise.
12776 (grub_relocator16_boot): Fill new variables.
12777 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
12778 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
12779 relocator.
12780 (grub_chainloader_unload): Likewise.
12781 (grub_chainloader_cmd): Likewise.
12782 * include/grub/i386/pc/loader.h: Removed.
12783 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
12784 and esi. All initialisers updated.
12785
4626edf6
VS
127862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
127872011-11-12 Colin Watson <cjwatson@ubuntu.com>
12788
12789 * Makefile.util.def (grub-mount): New util.
12790 * .bzrignore: Add grub-mount.
12791 * configure.ac: Check for fuse and enable grub-mount if available.
12792 * docs/man/grub-mount.h2m: New file.
12793 * util/grub-mount.c: Likewise.
12794
10f0117b
VS
127952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12796
12797 * grub-core/commands/efi/fixvideo.c: Gettextize.
12798 * grub-core/commands/hashsum.c: Likewise.
12799 * grub-core/commands/i386/cmostest.c: Likewise.
12800 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12801 * grub-core/commands/i386/pc/lsapm.c: Likewise.
12802 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12803 * grub-core/commands/lsmmap.c: Likewise.
12804 * grub-core/commands/menuentry.c: Likewise.
12805 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
12806 * grub-core/commands/setpci.c: Likewise.
12807 * grub-core/loader/i386/bsd.c: Likewise.
12808 * grub-core/loader/i386/linux.c: Likewise.
12809 * util/getroot.c: Likewise.
12810 * util/grub-editenv.c: Likewise.
12811 * util/grub-fstest.c: Likewise.
12812 * util/grub-mkfont.c: Likewise.
12813 * util/grub-mkimage.c: Likewise.
12814 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12815 * util/grub-pe2elf.c: Likewise.
12816 * util/grub-probe.c: Likewise.
12817 * util/grub-setup.c: Likewise.
12818 * util/ieee1275/ofpath.c: Likewise.
12819 * util/misc.c: Likewise.
12820 * util/raid.c: Likewise.
12821
566f779b
RM
128222011-11-11 Robert Millan <rmh@gnu.org>
12823
12824 * util/getroot.c (grub_util_get_geom_abstraction): Remove
12825 __attribute__((unused)) from `os_dev', which *is* being used.
12826
b50787de
VS
128272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12828
12829 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
12830 forgotten define.
12831 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
12832 GRUB_IA64_DL_GOT_ALIGN.
12833 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
12834 GRUB_IA64_DL_TRAMP_ALIGN.
12835
119d11c8
VS
128362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12837
12838 Replace grub_fatal with normal errors in i386 linux loader.
12839
12840 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
12841 (allocate_pages): Check find_efi_mmap_size return value.
12842 (grub_e820_add_region): Return error.
12843 (grub_linux_boot): Check mmap return value.
12844
6e0632e2
VS
128452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12846
12847 * grub-core/commands/acpihalt.c: Gettextized.
12848 * grub-core/commands/cacheinfo.c: Likewise.
12849 * grub-core/commands/cmp.c: Likewise.
12850 * grub-core/commands/efi/loadbios.c: Likewise.
12851 * grub-core/commands/gptsync.c: Likewise.
12852 * grub-core/commands/ieee1275/suspend.c: Likewise.
12853 * grub-core/commands/legacycfg.c: Likewise.
12854 * grub-core/commands/memrw.c: Likewise.
12855 * grub-core/commands/minicmd.c: Likewise.
12856 * grub-core/commands/parttool.c: Likewise.
12857 * grub-core/commands/time.c: Likewise.
12858 * grub-core/commands/videoinfo.c: Likewise.
12859 * grub-core/disk/geli.c: Likewise.
12860 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
12861 * grub-core/disk/luks.c: Likewise.
12862 * grub-core/disk/lvm.c: Likewise.
12863 * grub-core/font/font_cmd.c: Likewise.
12864 * grub-core/fs/zfs/zfscrypt.c: Likewise.
12865 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12866 * grub-core/gfxmenu/view.c: Likewise.
12867 * grub-core/kern/emu/hostdisk.c: Likewise.
12868 * grub-core/kern/emu/main.c: Likewise.
12869 * grub-core/kern/emu/misc.c: Likewise.
12870 * grub-core/kern/emu/mm.c: Likewise.
12871 * grub-core/kern/mips/arc/init.c: Likewise.
12872 * grub-core/kern/mips/loongson/init.c: Likewise.
12873 * grub-core/kern/partition.c: Likewise.
12874 * grub-core/lib/i386/halt.c: Likewise.
12875 * grub-core/lib/mips/arc/reboot.c: Likewise.
12876 * grub-core/lib/mips/loongson/reboot.c: Likewise.
12877 * grub-core/loader/i386/pc/chainloader.c: Likewise.
12878 * grub-core/loader/i386/xnu.c: Likewise.
12879 * grub-core/loader/multiboot.c: Likewise.
12880 * grub-core/net/bootp.c: Likewise.
12881 * grub-core/net/net.c: Likewise.
12882 * grub-core/normal/term.c: Likewise.
12883 * grub-core/partmap/bsdlabel.c: Likewise.
12884 * grub-core/parttool/msdospart.c: Likewise.
12885 * grub-core/term/gfxterm.c: Likewise.
12886 * grub-core/term/terminfo.c: Likewise.
12887 * grub-core/video/i386/pc/vbe.c: Likewise.
12888 * util/grub-menulst2cfg.c: Likewise.
12889 * util/grub-mkdevicemap.c: Likewise.
12890 * util/grub-mklayout.c: Likewise.
12891 * util/grub-mkrelpath.c: Likewise.
12892 * util/grub-script-check.c: Likewise.
12893 * util/ieee1275/grub-ofpathname.c: Likewise.
12894 * util/resolve.c: Likewise.
12895
073aa7a9
VS
128962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12897
12898 Support %1$d syntax.
12899
12900 * tests/printf_unit_test.c: New file.
12901 * Makefile.util.def (printf_test): New test.
12902 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
12903
c76b5417
VS
129042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12905
12906 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
12907 fix.
12908
df067ad1
VS
129092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12910
12911 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
12912 dprintf.
12913 * grub-core/font/font.c (grub_font_load): Likewise.
12914
5b289bc5
VS
129152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12916
12917 * util/grub-macho2img.c: Add comment concerning gettext.
12918 * grub-core/lib/legacy_parse.c: Likewise.
12919
c1860f87
VS
129202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12921
12922 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
12923 (grub_xvasprintf): Likewise.
12924
d35d0d37
VS
129252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12926
12927 Add const keyword to grub_env_get and gettextize week days.
12928
12929 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
12930 (grub_read_hook_datetime): Return const char *.
12931 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
12932 updated.
12933 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12934 Mark for gettext.
12935 (grub_get_weekday_name): Return const char *. Call gettext.
12936 * grub-core/script/argv.c (grub_script_argv_append): Receive const
12937 char * and len as the argument. All users updated.
12938 (grub_script_argv_split_append): Receive const char *.
12939 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
12940 * include/grub/env.h (grub_env_get): Likewise.
12941 (grub_env_read_hook_t): Return const char *.
12942 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
12943 (grub_script_argv_split_append): Likewise.
12944
9aed8a71
VS
129452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12946
12947 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
12948
067fdf00
VS
129492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
12952 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
12953
a8bd9d39
VS
129542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
12957 Fix prototype.
12958
f7ce5baf
VS
129592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 Fix mips compilation.
12962
12963 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
12964 normal decoder.
12965 (hashes): Use in embed decoder as well (for sizes).
12966 (dec_stream_header): Fix embed decompressor logic.
12967 (dec_stream_footer): Likewise.
12968
9bb182f3
VS
129692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12970
12971 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
12972 an error and not a fatal on unrecognised relocation types.
12973
63a9e6f6
VS
129742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12975
12976 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12977 Issue error rather than printf on unknown arguments.
12978
4c458569
VS
129792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
12982 Make buf a const.
12983
e2d22baf
VS
129842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12985
12986 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
12987 Fix module name.
12988
53dc8590
VS
129892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12990
12991 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
12992 leftover debug printf.
12993
6c189294
VS
129942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12995
12996 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
12997
f7688369
VS
129982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12999
13000 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
13001 A stylistic fix.
13002
11a775a3
VS
130032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13004
13005 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
13006
33f784e8
SL
130072011-11-10 Shea Levy <slevy@tieronedesign.com>
13008
13009 Allow all modules to perform serial IO
13010
13011 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
13012 * include/grub/serial.h (grub_serial_port_configure): New inline
13013 function.
13014 (grub_serial_port_fetch): Likewise.
13015 (grub_serial_port_put): Likewise.
13016 (grub_serial_port_fini): Likewise.
13017 (grub_serial_find): New proto.
13018
f6276525
VS
130192011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13020
13021 Put symlink at the end of the node and fix a potential
13022 memory corruption.
13023
13024 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
13025 Make symlink into an array.
13026 (set_rockridge): Set have_symlink and alloc_dirents.
13027 (grub_iso9660_read_symlink): Use new layout.
13028 (grub_iso9660_iterate_dir): Fix memory corruption.
13029 Use new layout.
13030 (grub_iso9660_dir): Set have_symlink.
13031 (grub_iso9660_open): Likewise.
13032
c3591189
VS
130332011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 Remove local keyword.
13036
13037 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
13038 (version_test_gt): Likewise.
13039 (version_find_latest): Likewise.
13040 (gettext_printf): Likewise.
13041 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
13042
cb544caa
VS
130432011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13044
13045 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
13046
45bd824d
VS
130472011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13048
13049 Fix ZFS memory and resource leaks.
13050
13051 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
13052 All users updated.
13053 Free type on exit.
13054 (fill_vdev_info): New parameter inserted. All users updated.
13055 (check_pool_label): Likewise.
13056 (scan_disk): Likewise.
13057 (scan_devices): Close non-inserted disks.
13058 (fzap_iterate): Free l.
13059 (unmount_device): Free children descripto memory.
13060
ad9a2f44
VS
130612011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13062
13063 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
13064 argument (access out of bounds).
13065
6b68db81
VS
130662011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13067
13068 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
13069 >= 6 drives.
13070
28840fda
VS
130712011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13072
13073 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
13074 Fix declaration.
13075
8a5a3a5b
VS
130762011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13077
13078 Fix several memory leaks.
13079
13080 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
13081 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
13082 (grub_cpio_dir): Likewise.
13083 * grub-core/fs/fat.c (grub_fat_label): Likewise.
13084 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
13085 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
13086 (grub_romfs_label): Likewise.
13087 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
13088 (squash_unmount): New function.
13089 (grub_squash_dir): Fix memory leak.
13090 (grub_squash_open): Likewise.
13091 (grub_squash_read): Likewise.
13092 (grub_squash_mtime): Likewise.
13093 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
13094 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
13095 * util/grub-fstest.c (fstest): Likewise.
13096
57b01250
VS
130972011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13098
13099 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
13100 avoid accessing beyond the array.
13101
19e81ba7
VS
131022011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
13105
52b656c0
VS
131062011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13107
13108 Several AFFS fixes.
13109
13110 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
13111 (GRUB_AFFS_FLAG_FFS): Removed.
13112 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
13113 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
13114 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
13115 (grub_fshelp_node): Make block 32-bit.
13116 Add block_cache and last_block_cache.
13117 (grub_affs_read_block): Fill and use block cache.
13118 (grub_affs_read_file): Removed.
13119 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
13120 boot block.
13121 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
13122 safety.
13123 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
13124 space.
13125 (grub_affs_close): Free block cache.
13126 (grub_affs_read): Use grub_fshelp_read_file directly.
13127
438a746a
VS
131282011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13129
13130 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
13131 with no error set.
13132
49a45021
VS
131332011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13134
13135 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
13136 used variable.
13137 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
13138 Likewise.
13139
3ae17eb8
VS
131402011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13141
13142 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
13143
13144 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
13145 byteswap when needed.
13146
27610c38
VS
131472011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13148
13149 Fix FreeBSD compilation.
13150
13151 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
13152 to avoid circular dependency.
13153 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
13154 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
13155 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
13156
4a19b601
VS
131572011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13158
13159 Fix ZFS crypto error types.
13160
13161 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
13162 (grub_gcm_decrypt): Likewise.
13163 (grub_zfs_load_key_real): Fix error code type. Handle possible error
13164 from PBKDF2.
13165
958ee221
VS
131662011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 Illumos support.
13169
13170 * Makefile.util.def (10_illumos): New script.
13171 * configure.ac: Set COND_HOST_ILLUMOS.
13172 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
13173 Support Illumos calls.
13174 (find_partition_start) [__sun__]: Likewise.
13175 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
13176 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
13177 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
13178 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
13179 device.
13180 * util/grub-probe.c (probe) [__sun__]: Do character check.
13181 * util/grub.d/10_illumos.in: New file.
13182
cac14fb6
VS
131832011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 Support escaped commas in hostdisk.
13186
13187 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
13188 (find_grub_drive): Use unescape_cmp.
13189 (make_device_name): Escape commas.
13190
78e08dc3
VS
131912011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13192
13193 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
13194
9f421dd1
VS
131952011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13196
13197 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
13198 variable.
13199
ed64e9e2
VS
132002011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13201
13202 Support trampoline jumps on powerpc.
13203
13204 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
13205 __ia64__ path.
13206 (grub_dl_load_segments): Set mod->sz.
13207 (grub_dl_flush_cache): Flush whole space occupied by module, not just
13208 segments.
13209 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
13210 (jump): Likewise.
13211 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
13212 function.
13213 (trampoline): New struct.
13214 (trampoline_template): New const.
13215 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
13216 * include/grub/dl.h (grub_dl): Add sz element.
13217 [__powerpc__]: Follow __ia64__.
13218 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
13219 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
13220 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
13221 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
13222
3084ede4
VS
132232011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13224
13225 ZFS crypto support.
13226
13227 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
13228 * grub-core/Makefile.core.def (zfscrypt): New module.
13229 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
13230 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
13231 it. All users updated.
13232 (grub_zfs_decrypt): New var.
13233 (grub_zfs_load_key): Likewise.
13234 (zio_checksum_functions): Add SHA256+MAC.
13235 (zio_checksum_verify): Handle incomplete comparison due to MAC.
13236 (zio_read): Handle encrypted blocks.
13237 (zap_verify): Remove incorrect check.
13238 (fzap_iterate): Handle non-standard fzap.
13239 (zap_iterate): Likewise.
13240 (zap_iterate_u64): New function.
13241 (dnode_get_fullpath): Load keys.
13242 * grub-core/fs/zfs/zfscrypt.c: New file.
13243 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
13244 (grub_crypto_ecb_encrypt): Make input const.
13245 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
13246 (grub_crypto_ecb_encrypt): Make input const.
13247 (GRUB_CIPHER_AES): New macro.
13248 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
13249 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
13250 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
13251 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
13252 prefix. All users updated.
13253 (grub_zfs_add_key): New proto.
13254 (grub_zfs_decrypt): Likewise.
13255 (grub_zfs_load_key): Likewise.
13256 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
13257 * util/grub-fstest.c (options): Add -K option.
13258 (argp_parser): Likewise.
13259
b632b404
VS
132602011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13261
13262 Support zle compression on ZFS.
13263
13264 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
13265 (decomp_table): Add zle.
13266 * include/grub/zfs/zio.h (zio_compress): Add zle.
13267
c7ba4f69
VS
132682011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 Support BtrFS embedding.
13271
13272 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
13273 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
13274 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
13275 * util/grub-setup.c (setup): Use fs embedding if available.
13276 Add additional sanity check.
13277
455377d9
VS
132782011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 * util/grub-install.in: Fix condition for config_opt.
13281
c2fd16ca
VS
132822011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13283
13284 Support third redundancy strip on raidz3.
13285
13286 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
13287 Return error on singularity. All users updated.
13288 (read_device): Don't stop on 3rd failure on raidz3.
13289
8622923b
VS
132902011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13291
13292 Support case-insensitive ZFS subvolumes.
13293
13294 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
13295 All users updated.
13296 (zap_hash): Likewise.
13297 (name_cmp): New function.
13298 (zap_leaf_array_equal): New parameter case_insensitive.
13299 All users updated.
13300 (zap_leaf_lookup): Likewise.
13301 (fzap_lookup): Likewise.
13302 (zap_lookup): Likewise.
13303 (dnode_get_path): New parameter case_insensitive. Retrieve case
13304 sensitiviness of a volume. All users updated.
13305 (dnode_get_fullpath): New parameter case_insensitive.
13306 All users updated.
13307 (grub_zfs_dir): Set info.case_insensitiveness.
13308
95f2e860
VS
133092011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13310
13311 Support second redundancy strip on raidz(2,3).
13312
13313 * grub-core/fs/zfs/zfs.c (powx): New array.
13314 (powx_inv): Likewise.
13315 (poly): New const.
13316 (xor_out): New function.
13317 (gf_mul): Likewise.
13318 (recovery): Likewise.
13319 (read_device): Use second redundancy strip.
13320
11ee4389
VS
133212011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13322
13323 Use a power of generator representation of GF(256) multiplication group
13324 to save space time and complexity.
13325
13326 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
13327 (raid6_table2): Likewise.
13328 (powx): New array.
13329 (powx_inv): Likewise.
13330 (poly): New const.
13331 (grub_raid_block_mul): Replace with ...
13332 (grub_raid_block_mulx): ...this.
13333 (grub_raid6_init_table): Rewritten.
13334 (grub_raid6_recover): Use power of generator representation.
13335
09e2763f
VS
133362011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
13339 for the right device.
13340
8bec9a28
VS
133412011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13342
13343 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
13344 expected by grub-mkimage and it's more clear since there is no implicit
13345 padding.
13346
dbd3a32e
VS
133472011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13348
13349 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
13350 disk.
13351 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
13352
182c872a
PMH
133532011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
13354
13355 * util/grub-mkrescue.in: Fix handling xorriso option.
13356
1e51cabd
VS
133572011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13358
13359 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
13360 NULL.
13361
9cc3581d 133622011-11-03 crocket <crockabiscuit@gmail.com>
13363
13364 * util/grub.d/10_linux.in: Add Slackware initrd naming.
13365
158dc1ea
VS
133662011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 XZ CRC64 and SHA256 support.
13369
13370 * Makefile.util.def (libgrubmods): Add crc64.c.
13371 * grub-core/Makefile.core.def (crc64): New module.
13372 * grub-core/lib/crc64.c: New file.
13373 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
13374 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
13375 Fix the type.
13376 (MAX_HASH_SIZE): New define.
13377 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
13378 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
13379 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13380 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13381 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
13382 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
13383 Handle non-crc32 hashes.
13384 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
13385 (dec_stream_header): Handle non-crc32 hashes.
13386 (dec_stream_footer): Likewise.
13387 (dec_block_header): Likewise.
13388 (dec_main): Likewise.
13389 (xz_dec_init): Likewise.
13390 (xz_dec_reset): Likewise.
13391 (xz_dec_end): Likewise.
13392 * util/import_gcry.py: Add CRC64 line.
13393
9d9b3d2f
VS
133942011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13395
13396 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
13397 as well.
13398
7d0ac931
VS
133992011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 Make reiserfs label retrieval similar to other *_label functions.
13402
13403 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
13404 (REISERFS_MAX_LABEL_LENGTH): Removed.
13405 (REISERFS_LABEL_OFFSET): Likewise.
13406 (grub_reiserfs_label): Rewritten.
13407
134082011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13409
13410 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
13411 field.
13412
cf5ba824
VS
134132011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13414
13415 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
13416
17744004
VS
134172011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
13420 drive failure on both raidz and raidz2.
13421
aca5aefc
VS
134222011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13423
13424 Fix RAIDZ(2) for >= 5 devices.
13425
13426 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
13427 asize argument. All users updated.
13428
ce8ca56e
VS
134292011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13430
13431 Fix RAIDZ(2).
13432
13433 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
13434 (fill_vdev_info_real): Set ashift.
13435 (read_device): Rewrite RAIDZ part based on reverse engineering.
13436
7c01e783
VS
134372011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13438
13439 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
13440 don't report potentially unavialiable fields in debug output.
13441 (find_path): Fix double-free and memory leak.
13442
ce109e84
VS
134432011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13444
13445 Read label on UFS1.
13446
13447 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
13448 (grub_ufs_fs): Always set .label.
13449
87661123
VS
134502011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13451
13452 Use shifts in UFS.
13453
13454 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
13455 (grub_ufs_data): New field log2_blksz.
13456 (grub_ufs_read_file): Use shifts.
13457 (grub_ufs_mount): Check block size and logarithm it.
13458
46bc1dc2
VS
134592011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13460
13461 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
13462 long symlinks.
13463
19ee2987
VS
134642011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 Handle symlinks and long names on tar and cpio.
13467
13468 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
13469 (ATTR_FILE): Likewise.
13470 (ATTR_DIR): Likewise.
13471 (ATTR_LNK): Likewise.
13472 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
13473 (grub_cpio_find_file): Fill mode, handle linkname field as well as
13474 L and K entries.
13475 (grub_cpio_mount): Zero-fill data.
13476 (handle_symlink): New function.
46bc1dc2
VS
13477 (grub_cpio_dir): Handle symlinks.
13478 (grub_cpio_open): Likewise.
13479 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 13480
c83a08d8
VS
134812011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13482
13483 Fix iso9660 filename limitations and fix memory leaks.
13484
13485 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
13486 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
13487
45cdd3ea
VS
134882011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13489
13490 Fix JFS file name length limitations.
13491
13492 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
13493 (grub_jfs_diropen): Fix maximum filename length.
13494 (grub_jfs_getent): Fix filename length.
13495 (grub_jfs_lookup_symlink): Fix size checks.
13496
94ef05c2
VS
134972011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13498
13499 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
13500 string.
13501
785ab8c7
VS
135022011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13503
eb0b6b45
VS
13504 Leverage BFS implementation to read AFS.
13505
13506 * Makefile.util.def (libgrubmods): Add afs.c.
13507 * grub-core/Makefile.core.def (afs): New module
13508 * grub-core/fs/afs.c: New file.
13509 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
13510
135112011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13512
13513 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 13514
c4a1628f
VS
135152011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13516
13517 * grub-core/fs/bfs.c: Run indent.
13518
5825b379
VS
135192011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13520
13521 BFS implementation based on the specification.
13522
13523 * grub-core/fs/bfs.c: New file.
13524 * Makefile.util.def (libgrubmods): Add bfs.c.
13525 * grub-core/Makefile.core.def (bfs): New module.
13526
42b2a706
VS
135272011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13528
13529 * util/grub-fstest.c (cmd_cp): Clarify error message.
13530 (cmd_cmp): Likewise.
13531
61b99bfc
YB
135322011-10-30 Yves Blusseau <blusseau@zetam.org>
13533
13534 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
13535 and befs_be.
13536
faba3d16
VS
135372011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
13538
13539 Remove afs and befs because of copyright problem.
13540
13541 * grub-core/fs/afs.c: Removed.
13542 * grub-core/fs/afs_be.c: Removed.
13543 * grub-core/fs/befs.c: Removed.
13544 * grub-core/fs/befs_be.c: Removed.
13545 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
13546 * grub-core/Makefile.core.def (afs): Removed.
13547 (afs_be): Likewise.
13548 (befs): Likewise.
13549 (befs_be): Likewise.
13550
c39224b0
VS
135512011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13552
13553 Prefer rockridge over Joliet.
13554
13555 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
13556 to ...
13557 (set_rockridge): ... here.
13558 (grub_iso9660_mount): Check rockridge on the primary label when
13559 discovering. Ignore Joliet if Rockridge is present.
13560
e551115a
VS
135612011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13562
13563 Use shifts in nilfs2.
13564
13565 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
13566 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
13567 (grub_nilfs2_palloc_entries_per_group): Replace with ...
13568 (grub_nilfs2_log_palloc_entries_per_group): ... this.
13569 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
13570 (grub_nilfs2_entries_per_block): Replaced with ...
13571 (grub_nilfs2_log_entries_per_block_log): ... this.
13572 (grub_nilfs2_blocks_per_group): Replaced with ...
13573 (grub_nilfs2_blocks_per_group_log): ... this.
13574 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
13575 (grub_nilfs2_blocks_per_desc_block_log): ... this.
13576 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
13577 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
13578 (grub_nilfs2_palloc_entry_offset): Replaced ...
13579 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
13580 (grub_nilfs2_dat_translate): Use shifts.
13581 (grub_nilfs2_read_inode): Likewise.
13582 (GRUB_MOD_INIT): Ensure that logs are correct.
13583
564dd58c
VS
135842011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 Use shifts in minix filesystem.
13587
13588 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
13589 (GRUB_MINIX_ZONE2SECT): Likewise.
13590 (grub_minix_data): Replace block_size with log_block_size.
13591 (grub_minix_read_file): Use shifts.
13592 (grub_minix_mount): Check block size and take a logarithm.
13593
ed9ba06d
VS
135942011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13595
13596 Use shifts in squash4.
13597
13598 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
13599 (squash_mount): Check block size and take logarithm.
13600 (direct_read): Use shifts.
13601
ad03fe76
VS
136022011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13603
13604 Correct befs block counting logic.
13605
13606 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
13607 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
13608 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
13609 (grub_afs_read_inode): Use block_shift.
13610 (RANGE_SHIFT): New definition.
13611 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
13612 unexpected conditions, use shifts and appropriate types.
13613 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
13614
6563f63d
VS
136152011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13616
13617 * grub-core/disk/raid.c (scan_devices): Check partition.
13618 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
13619
5b1ae25f
VS
136202011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13621
13622 Support BFS (befs) UUID.
13623
13624 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
13625 (grub_afs_small_data_element_header): New struct.
13626 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
13627 (grub_afs_read_attribute) [MODE_BFS]: New function.
13628 (grub_afs_iterate_dir): Allocate for complete inode.
13629 (grub_afs_mount): Likewise.
13630 (grub_afs_uuid) [MODE_BFS]: New function.
13631 (grub_afs_fs) [MODE_BFS]: Add .uuid.
13632
f8d82408
VS
136332011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13634
13635 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
13636 (zfs_unmount): Fix memory leak.
13637
5773fb64
VS
136382011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13639
13640 Support NTFS reparse points.
13641
13642 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
13643 (symlink_descriptor): New struct.
13644 (grub_ntfs_read_symlink): New function.
13645 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
13646 (grub_ntfs_open): Likewise.
13647
91c3fdde
VS
136482011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
13651
3be82e10
VS
136522011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 fstest xnu_uuid subcommand.
13655
13656 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
13657 grub-core/commands/xnu_uuid.c.
13658 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
13659 (fstest): Handle xnu_uuid.
13660 (options): Document xnu_uuid.
13661 (argp_parser): Parse xnu_uuid.
13662
8e32442e
VS
136632011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
13666 -l argument. Add newline at the end if printing.
13667 (GRUB_MOD_INIT): Document -l.
13668
52a05075
VS
136692011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13670
13671 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
13672
1869edb5
VS
136732011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13674
13675 ZFS multi-device and version 33 support.
13676
13677 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
13678 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
13679 (grub_zfs_data): Add multidev-ice-related fields.
13680 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
13681 (dva_get_offset): Make dva const.
13682 (zfs_fetch_nvlist): New function.
13683 (fill_vdev_info_real): Likewise.
13684 (fill_vdev_info): Likewise.
13685 (check_pool_label): Likewise.
13686 (scan_disk): Likewise.
13687 (scan_devices): Likewise.
13688 (read_device): Likewise.
13689 (read_dva): Likewise.
13690 (zio_read_gang): Use read_dva.
13691 (zio_read_data): Likewise.
13692 (zap_leaf_lookup): Add missing endian conversion.
13693 (zap_verify): Add missing endian conversion. All users updated.
13694 (fzap_lookup): Likewise.
13695 (fzap_iterate): Likewise.
13696 (dnode_get_path): Handle SA bonus.
13697 (nvlist_find_value): Make input const. All users updated.
13698 (unmount_device): New function.
13699 (zfs_unmount): Use unmount_device.
13700 (zfs_mount): Use scan_disk.
13701 (zfs_mtime): New function.
13702 (grub_zfs_open): Handle system attributes.
13703 (fill_fs_info): Likewise.
13704 (grub_zfs_dir): Likewise.
13705 (grub_zfs_fs): Add mtime.
13706 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
13707 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
13708 (SA_MTIME_OFFSET): Likewise.
13709 (SA_SYMLINK_OFFSET): Likewise.
13710 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
13711 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
13712 (fstest): Support zfsinfo.
13713 (argp_parser): Likewise.
13714
186b4028
VS
137152011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13716
13717 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
13718 error.
13719
137202011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
13721
13722 ZFS fixes.
13723
13724 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
13725 sharing the same block. Iterate over correct number of indices.
13726 (dnode_get_path): Handle symlinks correctly.
13727
c0584900
VS
137282011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13729
13730 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
13731
67e2bd71
VS
137322011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13733
13734 Read label on HFS+.
13735
13736 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
13737 (grub_hfsplus_btree_search): Fix types.
13738 (grub_hfsplus_label): Implement.
13739
e9cc6b7b
VS
137402011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
13743
19832ddb
VS
137442011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13745
13746 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
13747
66b40850
VS
137482011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13749
13750 Fix symlink handling on iso9660.
13751
13752 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
13753 All users updated.
13754 (grub_iso9660_susp_iterate): Accept zero-size iterate.
13755 (grub_iso9660_read_symlink): Moved most of code ...
13756 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
13757
db821363
VS
137582011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13759
13760 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13761 Use union to avoid breaking strict-aliasing rules.
13762
e1211949
VS
137632011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13764
13765 Support multi-extent iso files.
13766
13767 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
13768 Add node.
13769 (grub_fshelp_node): Revamp. All users updated.
13770 (FLAG_*): New enum.
13771 (read_node): New function.
13772 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
13773 All users updated.
13774 (grub_iso9660_mount): Don't attempt to read sua when there is none.
13775 (get_node_size): New function.
13776 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
13777 entries.
13778 Fix memory leak on . and ..
13779 (grub_iso9660_read): Use read_node.
13780 (grub_iso9660_close): Free node.
13781
d4888031
VS
137822011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13783
13784 Fix tar 4G limit and handle paths containing dot.
13785
13786 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
13787 (canonicalize): New function.
13788 (grub_cpio_find_file): Use canonicalize. Store offs in
13789 grub_disk_addr_t.
13790 (grub_cpio_dir): Use grub_disk_addr_t.
13791 (grub_cpio_open): Likewise.
13792
9f12e664
VS
137932011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13794
13795 Fix handling of uncompressed blocks on squashfs and break 4G limit.
13796
13797 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
13798 unused flags.
13799 (grub_squash_inode): Add long_file and block_size.
13800 (grub_squash_cache_inode): New struct.
13801 (grub_squash_dirent): Make types into enum.
13802 (SQUASH_TYPE_LONG_REGULAR): New type.
13803 (grub_squash_frag_desc): Add field size.
13804 (SQUASH_BLOCK_FLAGS): New enum.
13805 (grub_squash_data): Use grub_squash_cache_inode.
13806 (grub_fshelp_node): Make ino_chunk 64-bit.
13807 (read_chunk): Minor argument change. All users updated.
13808 (squash_mount): Use correct le_to_cpu.
13809 (grub_squash_open): Handle LONG_REGULAR.
13810 (direct_read): New function.
13811 (grub_squash_read_data): Handle blocks correctly.
13812
9f326fba
VS
138132011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13814
13815 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
13816
f4d9b64b
VS
138172011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
13820
5bbd28b8
VS
138212011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13822
13823 Fix 2G limit on ZFS.
13824
13825 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
13826 types.
13827 (uberblock_verify): Likewise.
13828 (dmu_read): Likewise.
13829 (grub_zfs_read): Likewise. Remove invalid cast.
13830
68c72069
VS
138312011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13832
13833 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
13834 (grub_jfs_blkno): Fix incorrect shift.
13835 (grub_jfs_read_file): Use more appropriate types.
13836
6e536dc8
VS
138372011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13838
13839 Support triple indirect on minix2 and minix3.
13840
13841 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
13842 Declare triple_indir_zone.
13843 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
13844 indirect.
13845
e0864e7a
VS
138462011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13847
13848 Minix FS fixes.
13849
13850 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
13851 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
13852 Rename ctime to mtime. All users updated.
13853 (grub_minix_get_file_block): Fix types and double indirect computations.
13854
89481cab
VS
138552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13856
13857 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
13858 if no label is found.
13859 (grub_fat_iterate_dir): Fix file size type.
13860 (grub_fat_iterate_dir): Likewise.
13861
f646e143
VS
138622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13863
13864 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
13865 save some space.
13866 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13867 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13868
534d769e
VS
138692011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13870
13871 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
13872
e084ba18
VS
138732011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13874
13875 * util/import_gcry.py: Accept space between # and include.
13876
3471ecdf
VS
138772011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13878
13879 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
13880
124df5f6
VS
138812011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13882
13883 Fine grainely disable warnings on lexer. Remove Wno-error on it.
13884
13885 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
13886 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
13887 yylex_strncpy.
13888 * grub-core/script/yylex.l: Add fine-grained #pragma.
13889
4defb8d5
VS
138902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13891
13892 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
13893 New inline function.
13894 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
13895 Likewise.
13896 (memset) [GRUB_UTIL]: Likewise.
13897 (memcmp) [GRUB_UTIL]: Likewise.
13898
4e94ae65
VS
138992011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13900
13901 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
13902 inline function rather than a define.
13903
18c575e5
VS
139042011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 * util/grub-setup.c: Add missing include.
13907
f8bc22a8
VS
139082011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13909
13910 * util/ieee1275/grub-ofpathname.c: Add missing include.
13911
3ce69fc9
VS
139122011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13913
13914 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
13915 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
13916 Likewise.
13917
d1e293bb
VS
139182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13919
13920 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
13921 grub_memcmp usage.
13922
7a5c54a4
VS
139232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 * util/grub-install.in: Add datarootdir as per automake manual
13926 suggestion.
13927 * util/grub-mknetdir.in: Likewise.
13928
139292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
13930
13931 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
13932 suggestion.
13933 * util/grub.d/10_kfreebsd.in: Likewise.
13934 * util/grub.d/10_linux.in: Likewise.
13935 * util/grub.d/10_netbsd.in: Likewise.
13936 * util/grub.d/10_windows.in: Likewise.
13937 * util/grub.d/20_linux_xen.in: Likewise.
13938
766f7d08
VS
139392011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
13940
13941 Remove redundant grub_kernel_image_size.
13942
13943 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
13944 _edata and _start.
13945 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
13946 the small code. It moves it only by few bytes but simplifies the code.
13947 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
13948 _start.
13949 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
13950 (grub_kernel_image_size): Removed.
13951 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
13952 (grub_kernel_image_size): Removed.
13953 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
13954 compiled with Apple toolchain.
13955 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
13956 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
13957 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
13958 (grub_total_module_size): Likewise.
13959 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
13960 Removed.
13961 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
13962 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
13963 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13964 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
13965 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
13966 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
13967 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
13968 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
13969 Removed.
13970 (grub_total_module_size): Removed.
13971 * util/grub-mkimage.c (image_target_desc): Remove image_size.
13972 (image_targets): Likewise.
13973 Set .compressed_size to no field on sparc.
13974 (generate_image): Remove kernel_image_size handling.
13975
fcf1d672
SJ
139762011-10-19 Szymon Janc <szymon@janc.net.pl>
13977
13978 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
13979 NULL pointer dereference.
13980
de9c615e
VS
139812011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13982
13983 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
13984 done with a dedicated section.
13985
13986 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
13987 Ensure the correct position of boot_path.
13988 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
13989 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
13990 other fields.
13991 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
13992 * include/grub/boot.h: Removed. All references removed.
13993 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
13994 Removed.
13995 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
13996
e55599dc
VS
139972011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13998
13999 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
14000 name.
14001
36dd20ad
VS
140022011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14003
14004 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
14005
f8f72eb8
VS
140062011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14007
14008 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14009 Don't add the bogus brackets.
14010
a374751b
VS
140112011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14012
14013 ExFAT support.
14014
14015 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
14016 * grub-core/Makefile.core.def (exfat): New module.
14017 * grub-core/fs/exfat.c: New file.
14018 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
14019 (GRUB_FAT_ATTR_*): Make into an enum.
14020 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
14021 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
14022 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
14023 (GRUB_FAT_MAXFILE): Removed.
14024 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
14025 (grub_current_fat_bpb_t): New type.
14026 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
14027 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
14028 (grub_fat_dir_node_t): New type.
14029 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
14030 (fat_log2) [MODE_EXFAT]: Removed.
14031 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
14032 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
14033 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
14034 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
14035 (grub_fat_label) [MODE_EXFAT]: New function.
14036 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
14037 reserved_first_sector to 0.
14038
544c2487
VS
140392011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14040
14041 Move grub_reboot out of the kernel.
14042
14043 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
14044 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
14045 * grub-core/lib/efi/reboot.c: ... here.
14046 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
14047 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14048 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
14049 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
14050 * grub-core/lib/i386/reboot_trampoline.S: ... here.
14051 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
14052 * grub-core/lib/ieee1275/reboot.c: ... here.
14053 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
14054 * grub-core/lib/mips/arc/reboot.c: ... here.
14055 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
14056 * grub-core/lib/mips/loongson/reboot.c: ...here.
14057 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
14058 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
14059 * include/grub/emu/misc.h (grub_reboot): New function declaration.
14060 * include/grub/i386/reboot.h: New file.
14061 * include/grub/mips/loongson/ec.h: Fix includes.
14062 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
14063 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
14064 * grub-core/lib/i386/reboot.c: New file.
14065
a97501d2
VS
140662011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
14067
14068 Make grub_prefix into module to fix the arbitrary limit and save
14069 some space.
14070
14071 * grub-core/kern/emu/main.c (grub_prefix): Removed.
14072 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
14073 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
14074 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
14075 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
14076 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
14077 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
14078 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
14079 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14080 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
14081 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
14082 * include/grub/ia64/efi/kernel.h: Removed.
14083 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
14084 (grub_prefix): Removed.
14085 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
14086 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
14087 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
14088 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
14089 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
14090 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
14091 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
14092 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
14093 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
14094 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
14095 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
14096 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
14097 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14098 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14099 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
14100 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
14101 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
14102 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14103 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
14104 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
14105 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
14106 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
14107 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
14108 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
14109 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
14110 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
14111 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
14112 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
14113 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
14114 from module.
14115 * util/grub-mkimage.c (image_target_desc): Removed prefix and
14116 prefix_end.
14117 (image_targets): Likewise.
14118 (generate_image): Put prefix as a module.
14119
39705fad
VS
141202011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14121
14122 Replace grub_module_iterate with FOR_MODULES.
14123
14124 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
14125 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
14126 (grub_efi_modules_addr): ...this.
14127 * grub-core/kern/efi/init.c (grub_modbase): New variable.
14128 (grub_efi_init): Set grub_modbase.
14129 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
14130 (grub_modbase): New variable.
14131 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
14132 (grub_modbase): New variable.
14133 (grub_machine_init): Set grub_modbase.
14134 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
14135 (grub_modbase): New variable.
14136 (grub_machine_init): Set grub_modbase.
14137 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
14138 (grub_modbase): New variable.
14139 (grub_machine_init): Set grub_modbase.
14140 * grub-core/kern/main.c (grub_module_iterate): Remove.
14141 (grub_modules_get_end): Use grub_modbase.
14142 (grub_load_modules): Use FOR_MODULES.
14143 (grub_load_config): Likewise.
14144 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
14145 (grub_modbase): New variable.
14146 (grub_machine_init): Set grub_modbase.
14147 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
14148 (grub_modbase): New variable.
14149 (grub_machine_init): Set grub_modbase.
14150 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
14151 Removed.
14152 (grub_modbase): New variable.
14153 (grub_machine_init): Set grub_modbase.
14154 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
14155 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
14156 (grub_module_iterate): Likewise.
14157 (grub_modbase): New variable declaration.
14158 (FOR_MODULES): New macro.
14159
2afb7f6c
VS
141602011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14161
14162 * configure.ac: Check for __ctzdi2 and __ctzsi2.
14163 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
14164
366e34fa
VS
141652011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14166
14167 Fix few obvious type discrepancies.
14168
14169 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
14170 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
14171 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
14172 variable.
14173 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
14174 and connected types.
14175 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
14176 offset.
14177 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
14178 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
14179 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
14180 and connected types.
14181
177b960e
VS
141822011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14183
14184 Fix python 3.x incompatibilities.
14185
14186 * gentpl.py: Put brackets around print strings.
14187 * util/import_gcry.py: Open explicitly as utf-8.
14188 Use in instead of has_key.
14189
3b619ae1
VS
141902011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14191
14192 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
14193 (GRUB_XFS_INO_AGBITS): Make into inline function.
14194 (GRUB_XFS_INO_INOINAG): Likewise.
14195 (GRUB_XFS_INO_AG): Likewise.
14196 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
14197 (GRUB_XFS_EXTENT_OFFSET): Likewise.
14198 (GRUB_XFS_EXTENT_BLOCK): Likewise.
14199 (GRUB_XFS_EXTENT_SIZE): Likewise.
14200 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
14201 (GRUB_XFS_NEXT_DIRENT): Likewise.
14202 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
14203 (grub_xfs_read_file): Fix offset type.
14204
8bcebcb8
RM
142052011-10-15 Robert Millan <rmh@gnu.org>
14206
14207 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
14208
0017e5ef
RM
142092011-10-15 Robert Millan <rmh@gnu.org>
14210
14211 Fix build problem on FreeBSD and GNU/kFreeBSD.
14212
14213 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
14214
d8919552
VS
142152011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14216
14217 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
14218
14219 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
14220 types.
14221 (grub_hfsplus_btree_recoffset): Likewise.
14222 (grub_hfsplus_btree_recptr): Likewise.
14223 (grub_hfsplus_find_block): Likewise.
14224 (grub_hfsplus_btree_search): Likewise.
14225 (grub_hfsplus_read_block): Likewise.
14226 (grub_hfsplus_read_file): Likewise.
14227 (grub_hfsplus_mount): Likewise.
14228 (grub_hfsplus_btree_iterate_node): Likewise.
14229 (grub_hfsplus_btree_search): Likewise.
14230 (grub_hfsplus_iterate_dir): Likewise.
14231 (grub_hfsplus_read): A small code simplification.
14232
c81296b6
VS
142332011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14234
14235 * grub-core/kern/emu/hostdisk.c
14236 (convert_system_partition_to_system_disk): Don't assume that children
14237 of mapper nodes are mapper nodes.
14238
0eb8ffb1
VS
142392011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14240
14241 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
14242 * include/grub/misc.h (grub_isxdigit): New function.
14243 * grub-core/video/colors.c (my_isxdigit): Removed. All users
14244 switched to grub_isxdigit.
14245 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
14246 number starting with a letter.
14247
a98f4a08
RM
142482011-10-09 Robert Millan <rmh@gnu.org>
14249
14250 LVM support for FreeBSD and GNU/kFreeBSD.
14251
14252 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
14253 GNU/kFreeBSD.
14254 (LVM_DEV_MAPPER_STRING): Move from here ...
14255 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
14256 * util/getroot.c: Include `<grub/util/lvm.h>'.
14257 (grub_util_get_dev_abstraction): Enable
14258 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
14259 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
14260 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
14261 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
14262 support it.
14263 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
14264 GNU/kFreeBSD.
14265 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
14266 when LVM abstraction is required for ${GRUB_DEVICE}.
14267
050e8e90
SJ
142682011-10-06 Szymon Janc <szymon@janc.net.pl>
14269
14270 Add support for LZO compression in GRUB:
14271 - import of minilzo library,
14272 - LZO decompression for btrfs,
14273 - lzop files decompression.
14274
14275 * grub-core/io/lzopio.c: New file.
14276 * grub-core/lib/adler32.c: Likewise.
14277 * grub-core/lib/minilzo/lzoconf.h: Likewise.
14278 * grub-core/lib/minilzo/lzodefs.h: Likewise.
14279 * grub-core/lib/minilzo/minilzo.c: Likewise.
14280 * grub-core/lib/minilzo/minilzo.h: Likewise.
14281 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
14282 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
14283 grub-core/lib/minilzo/minilzo.c to common.
14284 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
14285 cflags in cppflags.
14286 * grub-core/Makefile.core.def (btrfs): Likewise.
14287 * grub-core/Makefile.core.def (lzopio): New module.
14288 (adler32): Likewise.
14289 * grub-core/fs/btrfs.c: Include minilzo.h.
14290 (GRUB_BTRFS_COMPRESSION_LZO): New define.
14291 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
14292 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
14293 (grub_btrfs_lzo_decompress): New function.
14294 (grub_btrfs_extent_read): Add support for LZO compression type.
14295 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
14296 (GRUB_USHRT_MAX): Likewise.
14297 (GRUB_UINT_MAX): Likewise.
14298 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
14299 (UINT_MAX): Likewise.
14300 (CHAR_BIT): Likewise.
14301 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
14302 grub-core/lib/posix_wrap/limits.h
14303 (UCHAR_MAX): Likewise.
14304 * include/grub/file.h (grub_file_filter_id): New compression filter
14305 GRUB_FILE_FILTER_LZOPIO.
14306 * include/grub/file.h (grub_file_filter_id): Set
14307 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
14308 * include/grub/types.h (grub_get_unaligned16): New function.
14309 (grub_get_unaligned32): Likewise.
14310 (grub_get_unaligned64): Likewise.
14311 * util/import_gcry.py (cryptolist): Add adler32.
14312
0eb8ffb1
VS
143132011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
14314
14315 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
14316 in perspective decreases the complexity of build system and fixes
14317 compilation right now.
14318
ce79cc99 143192011-10-01 Ales Nesrsta <starous@volny.cz>
14320
14321 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
14322 (fixed problem related to using UHCI with coreboot).
14323
8667a314
BC
143242011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14325
14326 * gentpl.py: Use Autogen macros so that the output template file
14327 (Makefile.tpl) size is reduced.
14328
fc5efcc0
MK
143292011-09-29 Mads Kiilerich <mads@kiilerich.com>
14330
14331 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
14332 extra_dist.
14333
d1ab689d
ML
143342011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14335
14336 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
14337 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
14338
c05de032
ML
143392011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14340
14341 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
14342 _fullpath.
14343
cca7ccd8
ML
143442011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14345
14346 Remove extra declaration of sleep for mingw32.
14347
14348 * util/misc.c (sleep) [__MINGW32__]: Removed.
14349 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
14350
e0b0dc83
GS
143512011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
14352
14353 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
14354 type and packname.
14355 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
14356 Resurrected.
14357 (NETBSD_BTINFO_BOOTWEDGE): New definition.
14358 (grub_netbsd_btinfo_bootwedge): New struct.
14359 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
14360 New function.
14361 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
14362
91a1a164
TH
143632011-09-28 Thomas Haller <thomas.haller@fen-net.de>
14364
14365 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
14366 loader.
14367
2ded951e
AB
143682011-09-28 Andreas Born <futur.andy@googlemail.com>
14369
14370 Fix incorrect identifiers in bash-completion.
14371
14372 * util/bash-completion.d/grub-completion.bash.in
14373 (_grub_mkpasswd-pbkdf2): Rename to ...
14374 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
14375 (_grub_script-check): Rename to ...
14376 (_grub_script_check): ... this. All users updated.
14377
69915030
VS
143782011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
14379
14380 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14381 Return 0 if disk isn't biosdisk.
14382
20fd15f9
GS
143832011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14384
14385 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
14386 on NetBSD.
14387 * Makefile.util.def (grub-fstest): Likewise.
14388
1a7d7db9
GS
143892011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14390
14391 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
14392 Get sector size from disk label.
14393
2221ab6c
CW
143942011-09-05 Colin Watson <cjwatson@ubuntu.com>
14395
14396 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
14397 */README* as well as README*.
14398 Reported by: Axel Beckert.
14399
ca51c4a0
VS
144002011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14401
14402 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
14403 case of less than 256 MiB of RAM.
14404
ab80f326
VS
144052011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14406
14407 * grub-core/commands/wildcard.c (make_regex): Handle @.
14408
4155e697
VS
144092011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14410
14411 * util/grub-install.in: Move cryptodisk logic to appropriate place.
14412
ab178c08
SJ
144132011-08-21 Szymon Janc <szymon@janc.net.pl>
14414
14415 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
14416 AC_LANG_CONFTEST macros.
14417
7dc3c686
SJ
144182011-08-20 Szymon Janc <szymon@janc.net.pl>
14419
14420 Add grub-fstest option to uncompress data for commands.
14421
14422 * util/grub-fstest.c (uncompress): New var.
14423 (options): New option -u.
14424
fe8d4a7b
SJ
144252011-08-20 Szymon Janc <szymon@janc.net.pl>
14426
14427 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
14428 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
14429
a5219af1
SJ
144302011-08-20 Szymon Janc <szymon@janc.net.pl>
14431
14432 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
14433 file type was not recognized correctly (not gzip or corrupted).
14434
f87abff5
VS
144352011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
14438 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
14439
d94497ea
VS
144402011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14441
14442 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
14443 loongson.
14444 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14445 video_radeon_fuloong2e.
14446 * grub-core/video/radeon_fuloong2e.c: New file.
14447 * include/grub/video.h (grub_video_id_t): Add new ID
14448 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
14449
0d1fd011
VS
144502011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14451
14452 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
14453 define.
14454 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
14455 that PRID matches the detected subplatform and reset the subplatform
14456 if it doesn't.
14457
84beb0ee
VS
144582011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14459
14460 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
14461
1227c133
VS
144622011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14463
14464 Fix PCI iterating on functions >= 4.
14465
14466 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
14467 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
14468 Removed.
14469 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
14470 (grub_pci_read): Fix bitmask.
14471 (grub_pci_read_word): Likewise.
14472 (grub_pci_read_byte): Likewise.
14473 (grub_pci_write): Likewise.
14474 (grub_pci_write_word): Likewise.
14475 (grub_pci_write_byte): Likewise.
14476
9594c689
VS
144772011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14478
14479 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
14480 can still be specified in TARGET_CFLAGS)
14481
14a2562c
VS
144822011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14483
14484 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
14485
14486 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
14487 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
14488 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
14489 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
14490 (FULOONG): Rename to ...
14491 (FULOONG2F): ... this. All users updated.
14492 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
14493 (machtype_fuloong2f_str): ... this.
14494 (machtype_fuloong2e_str): New string.
14495 Check for machtype_fuloong2e_str.
14496 * grub-core/loader/mips/linux.c (loongson_machtypes)
14497 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
14498 * grub-core/term/serial.c (loongson_defserial)
14499 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
14500 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
14501 loongson_defserial.
14502 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
14503 Rename to ...
14504 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
14505 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
14506 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
14507 to IMAGE_FULOONG2F_FLASH. All users updated.
14508 (image_targets): Rename images.
14509 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
14510
b526cbb6
SJ
145112011-08-19 Szymon Janc <szymon@janc.net.pl>
14512
14513 Make enable of disk cache statistics code configurable.
14514
14515 * configure.ac: --enable-cache-stats added.
14516 * config.h.in (DISK_CACHE_STATS): New define.
14517 * grub-core/Makefile.core.def (cacheinfo): New command.
14518 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
14519 * grub-core/commands/cacheinfo.c: New file.
14520 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
14521 moved to cacheinfo.c.
14522 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
14523 debug code.
14524 * include/grub/disk.h: Likewise.
14525
fb739ccd
SJ
145262011-08-19 Szymon Janc <szymon@janc.net.pl>
14527
14528 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
14529 * grub-core/Makefile.am: Likewise.
14530
2bba8cfd
VS
145312011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14532
14533 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
14534 non-zero pull.
14535
43526629
VS
145362011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14537
14538 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
14539 All users updated.
14540 (grub_jfs_lookup_symlink): Use correct starting inode.
14541
5c144cc8
VS
145422011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14543
14544 * util/grub-setup.c (main): Add missing gcry initialisation.
14545
b1257f65
VS
145462011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14547
14548 Don't accept text modes on EFI when booting Linux.
14549
14550 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
14551 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
14552
828bc390
ML
145532011-08-15 Mario Limonciello <mario_limonciello@dell.com>
145542011-08-15 Colin Watson <cjwatson@ubuntu.com>
14555
14556 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
14557 use of "/path/.." as in grub-install for EFI as well as handling
14558 symlinks correctly.
14559 Fixes Debian bug #637768.
14560
5f60ccac
CW
145612011-08-15 Colin Watson <cjwatson@ubuntu.com>
14562
14563 * util/grub-probe.c: Remove duplicate #include.
14564
6dc212f9
RM
145652011-08-10 Robert Millan <rmh@gnu.org>
14566
14567 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
14568
14569 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
14570 function.
14571 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
14572 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
14573
66816d85
RM
145742011-08-03 Robert Millan <rmh@gnu.org>
14575
14576 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
14577 la_array as packed.
14578 Reported by: Zachary Bedell
14579
20168fca
CW
145802011-07-26 Colin Watson <cjwatson@ubuntu.com>
14581
14582 * configure.ac: The Loongson port requires grub-mkfont due to its
14583 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
14584 be built.
14585
303b6246
CW
145862011-07-26 Colin Watson <cjwatson@ubuntu.com>
14587
14588 * util/grub-install.in: Don't source grub-mkconfig_lib until after
14589 processing arguments (otherwise help2man fails when GRUB has not yet
14590 been installed).
14591
6795300e
VS
145922011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14593
41aa28ea
VS
14594 New script grub-mkstandalone.
14595
14596 * Makefile.util.def (grub-mkstandalone): New script.
14597 * docs/man/grub-mkstandalone.h2m: New file.
14598 * util/grub-mkstandalone.in: Likewise.
14599
146002011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14601
14602 Support ATA disks with 4K sectors.
6795300e
VS
14603
14604 * include/grub/ata.h (grub_ata): New member log_sector_size.
14605 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
14606 (grub_ata_identify): Read sector size.
14607 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
14608
92227597
VS
146092011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14610
14611 * util/grub-install.in: Don't use uhci outside of x86.
14612
c77069f5
VS
146132011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14614
14615 * util/grub-mkrescue.in: Add missing quotes.
14616
146172011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
14618
14619 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
14620 dereference.
14621
583168a2
VS
146222011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14623
14624 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
14625
6be1c01f
VS
146262011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14627
14628 * include/grub/video.h: add missing EXPORT_FUND on
14629 grub_video_edid_checksum and grub_video_edid_preferred_mode.
14630
a1167439
VS
146312011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14632
14633 * include/grub/mips/kernel.h: Fix define conflict.
14634
bf66054f
VS
146352011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14636
14637 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
14638 all four ways.
14639
8fc4fa45
CW
146402011-07-21 Colin Watson <cjwatson@ubuntu.com>
14641
14642 Preferred resolution detection for VBE.
14643
14644 * grub-core/video/video.c (grub_video_edid_checksum): New function.
14645 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
14646 the Flat Panel extension, in line with the X.org VESA driver.
14647 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
14648 New function.
14649 (grub_vbe_bios_get_ddc_capabilities): Likewise.
14650 (grub_vbe_bios_read_edid): Likewise.
14651 (grub_vbe_get_preferred_mode): Likewise.
14652 (grub_video_vbe_setup): When the mode is "auto", try to get the
14653 preferred mode from VBE, and use the largest mode that is no larger
14654 than the preferred mode (some BIOSes expose a preferred mode that is
14655 not in their mode list!). If this fails, fall back to 640x480 as a
14656 safe conservative choice.
14657 (grub_video_vbe_get_edid): New function.
14658 (grub_video_vbe_adapter): Add get_edid.
14659 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
14660 (struct grub_video_adapter): Add get_edid.
14661 (grub_video_edid_checksum): Add prototype.
14662 (grub_video_edid_preferred_mode): Likewise.
14663 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
14664 structure.
14665
14666 * grub-core/commands/videoinfo.c (print_edid): New function.
14667 (grub_cmd_videoinfo): Print EDID if available.
14668
14669 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
14670 is more appropriate on a wider range of platforms than 640x480.
14671 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
14672 documentation.
14673
ca5572a9
VS
146742011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14675
14676 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
14677
e4bcf625
VS
146782011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14679
14680 * po/POTFILES.in: Regenerate.
14681
c4edd548
VS
146822011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14683
14684 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
14685 incorrect memory usage.
14686
16a2bab0
VS
146872011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14688
14689 * util/grub-install.in: Source grub-mkconfig_lib.
14690
2e418de6
VS
146912011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14692
14693 Remove getroot.c from core on emu platform.
14694
14695 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
14696 kern/emu/raid.c.
14697 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
14698 useless.
14699 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
14700 * util/getroot.c (get_win32_path): ... here.
14701 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
14702 * util/getroot.c (fini_libzfs): ... here.
14703 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
14704 * util/getroot.c (grub_get_libzfs_handle): ... here.
14705 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
14706 Moved from here...
14707 * util/getroot.c (grub_find_zpool_from_dir): ... here.
14708 * grub-core/kern/emu/misc.c
14709 (grub_make_system_path_relative_to_its_root): Moved from here...
14710 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
14711 * grub-core/kern/emu/getroot.c: Moved from here ...
14712 * util/getroot.c: ... here. All users updated.
14713 * grub-core/kern/emu/raid.c: Moved from here ...
14714 * util/raid.c: ... here. All users updated.
14715
def9832a
VS
147162011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14717
14718 * po/POTFILES.in: Regenerate.
14719
cd8fe79a
VS
147202011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14721
14722 Fix compilation on GNU/Linux.
14723
14724 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
14725 Disable geli.
14726 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
14727 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
14728 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
14729
a251b719
VS
147302011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
147312011-07-07 Michael Gorven <michael@gorven.za.net>
147322011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
14733
14734 LUKS and GELI support.
14735
14736 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
14737 grub-core/disk/luks.c, grub-core/disk/geli.c,
14738 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
14739 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
14740 grub-core/lib/arg.c.
14741 (libgrubmods.a): Remove gcrypts cflags and cppflags.
14742 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
14743 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
14744 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
14745 (grub-bin2h): Add libgcry.a.
14746 (grub-mkimage): Likewise.
14747 (grub-mkrelpath): Likewise.
14748 (grub-script-check): Likewise.
14749 (grub-editenv): Likewise.
14750 (grub-mkpasswd-pbkdf2): Likewise.
14751 (grub-pe2elf): Likewise.
14752 (grub-fstest): Likewise.
14753 (grub-mkfont): Likewise.
14754 (grub-mkdevicemap): Likewise.
14755 (grub-probe): Likewise.
14756 (grub-ofpath): Likewise.
14757 (grub-mklayout): Likewise.
14758 (example_unit_test): Likewise.
14759 (grub-menulst2cfg): Likewise.
14760 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
14761 * grub-core/Makefile.core.def (cryptodisk): New module.
14762 (luks): Likewise.
14763 (geli): Likewise.
14764 * grub-core/disk/AFSplitter.c: New file.
14765 * grub-core/disk/cryptodisk.c: Likewise.
14766 * grub-core/disk/geli.c: Likewise.
14767 * grub-core/disk/luks.c: Likewise.
14768 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
14769 grub_util_is_lvm.
14770 (grub_util_get_dm_abstraction): New function.
14771 (grub_util_follow_gpart_up): Likewise.
14772 (grub_util_get_geom_abstraction): Likewise.
14773 (grub_util_get_dev_abstraction): Use new functions.
14774 (grub_util_pull_device): Pull GELI and LUKS.
14775 (grub_util_get_grub_dev): Handle LUKS and GELI.
14776 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
14777 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
14778 (follow_geom_up): Removed.
14779 (grub_util_fd_seek): New function.
14780 (open_device): Use grub_util_fd_seek.
14781 (nread): Rename to ..
14782 (grub_util_fd_read): ... this. All users updated.
14783 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
14784 (grub_crypto_cbc_decrypt): Likewise.
14785 (grub_crypto_hmac_write): Likewise.
14786 (grub_crypto_hmac_buffer): Likewise.
14787 (grub_password_get): Extend to util.
14788 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
14789 New member modname.
14790 (gcry_md_spec) [GRUB_UTIL]: Likewise.
14791 * include/grub/cryptodisk.h: New file.
14792 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
14793 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
14794 LUKS and GELI.
14795 (grub_util_follow_gpart_up): New proto.
14796 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
14797 (grub_util_fd_read): Likewise.
14798 (grub_cryptodisk_cheat_mount): Likewise.
14799 (grub_util_cryptodisk_print_uuid): Likewise.
14800 (grub_util_get_fd_sectors): Likewise.
14801 * util/grub-fstest.c (mount_crypt): New var.
14802 (fstest): Mount crypto if requested.
14803 (options): New option -C.
14804 (argp_parser): Parse -C.
14805 (main): Init and fini gcry.
14806 * util/grub-install.in: Support cryptodisk install.
14807 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
14808 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
14809 cryptodisk.
14810 (prepare_grub_to_access_device): Likewise.
14811 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
14812 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
14813 (probe_cryptodisk_uuid): New function.
14814 (probe_abstraction): Likewise.
14815 (probe): Use new functions.
14816 * util/import_gcry.py: Create Makefile.utilgcry.def.
14817 Add modname member.
14818
9bfdcbbc
VS
148192011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14820
14821 Lazy device scanning.
14822
14823 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
14824 (grub-setup): Remove util/raid.c.
14825 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
14826 * grub-core/disk/lvm.c (scan_depth): New variable.
14827 (grub_lvm_iterate): Rescan if necessary.
14828 (find_lv): New function based on grub_lvm_open.
14829 (grub_lvm_open): Use find_lv. Rescan on error.
14830 (is_node_readable): New function.
14831 (is_lv_readable): Likewise.
14832 (grub_lvm_scan_device): Skip already found disks.
14833 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
14834 Stop if searched device is found and readable.
14835 * grub-core/disk/raid.c (inscnt): New variable.
14836 (scan_depth): Likewise.
14837 (scan_devices): New function based on grub_raid_register. Abort if
14838 looked for device is found.
14839 (grub_raid_iterate): Rescan if needed.
14840 (find_array): NEw function based on -grub_raid_open.
14841 (grub_raid_open): Use find_array and rescan.
14842 (insert_array): Set became_readable_at.
14843 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
14844 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
14845 New function.
14846 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
14847 (grub_util_pull_device): New function.
14848 (grub_util_get_grub_dev): Call grub_util_pull_device.
14849 * util/raid.c: Moved to ..
14850 * grub-core/kern/emu/raid.c: ... here.
14851 (grub_util_raid_getmembers): New parameter "bootable".
14852 All users updated. Support 1.x.
14853 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
14854 All users updated.
14855 * include/grub/disk.h (grub_disk_pull_t): New enum.
14856 (grub_disk_dev): Change iterate prototype.
14857 All users updated.
14858 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
14859 New proto.
14860 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
14861 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
14862 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
14863 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
14864 All users updated.
14865 * include/grub/util/raid.h: Removed.
14866
1c358e59
VS
148672011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14868
14869 * po/POTFILES.in: Regenerate.
14870
abee94ed
VS
148712011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14872
14873 Unify sparc init with other ieee1275.
14874
14875 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
14876 instead of kern/sparc64/ieee1275/init.c.
14877 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
14878 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
14879 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
14880 grub/machine/kernel.h.
14881 (grub_ieee1275_original_stack) [__sparc__]: New variable.
14882 (grub_claim_heap) [__sparc__]: Use sparc version.
14883 (grub_machine_init): Moved args parsing to
14884 (grub_parse_cmdline): ...this.
14885 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
14886 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
14887 New definition.
14888 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
14889
14890 Move BOOTP to separate file.
14891
14892 * grub-core/Makefile.core.def (net): Add net/bootp.c.
14893 * grub-core/net/net.c: Move all BOOTP functions to
14894 * grub-core/net/bootp.c: ... here.
14895
14896 Use frame interface on PXE.
14897
14898 * grub-core/Makefile.core.def (pxecmd): Removed.
14899 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
14900 * grub-core/commands/i386/pc/pxecmd.c: Removed.
14901 * grub-core/i386/pc/pxe.c: Moved from here ...
14902 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
14903 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
14904 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
14905
14906 EFI network support.
14907
14908 * grub-core/Makefile.core.def (efinet): New module.
14909 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
14910 here...
14911 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
14912 All users updated.
14913 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
14914 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
14915 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
14916 * grub-core/net/drivers/efi/efinet.c: New file.
14917 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
14918 (grub_efi_net_config): New extern var.
14919
14920 Various cleanups and bugfixes.
14921
14922 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
14923 error.
14924 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
14925 disk declared as partition.
14926 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
14927 leak on failure.
14928 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
14929 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
14930 (grub_debug_zalloc): Likewise.
14931 (grub_debug_realloc): Likewise.
14932 (grub_debug_memalign): Likewise.
14933 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
14934 Check that target is IPv4.
14935 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
14936 local-mac-address as fallback.
14937 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
14938 memory leak.
14939 * grub-core/net/ip.c (ipchksum): Rename to ...
14940 (grub_net_ip_chksum): ... this. All users updated.
14941 (grub_net_recv_ip_packets): Special handling for DHCP.
14942 * util/grub-mkimage.c (generate_image): Zero-out aout header.
14943
14944 Unify prefix handling
14945
14946 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
14947 (grub_machine_get_bootlocation): ... this.
14948 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
14949 (grub_machine_get_bootlocation): ... this.
14950 (grub_prefix): New variable.
14951 (prefix): Removed.
14952 (root_dev): New variable.
14953 (dir): Likewise.
14954 (main): Use new variables.
14955 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
14956 Revamped into ...
14957 (grub_machine_get_bootlocation): ... this.
14958 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
14959 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
14960 (grub_machine_get_bootlocation): ... this.
14961 (grub_machine_set_prefix): Removed.
14962 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
14963 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
14964 Revamped into ...
14965 (grub_machine_get_bootlocation): ... this.
14966 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
14967 (grub_set_prefix_and_root): ... this. All users updated.
14968 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
14969 Revamped into ...
14970 (grub_machine_get_bootlocation): ... this.
14971 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
14972 (grub_machine_get_bootlocation): New proto.
14973 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
14974
14975 Less intrusive and more reliable seek on network implementation.
14976
14977 * grub-core/kern/file.c (grub_file_net_seek): Removed.
14978 (grub_file_seek): Don't call grub_file_net_seek.
14979 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
14980 (grub_net_fs_read_real): .. this.
14981 (grub_net_seek_real): Use net->offset.
14982 (grub_net_fs_read): Seek if necessary.
14983
14984 Unify IEEE1275 netwotk config with the other platforms.
14985
14986 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
14987 New variable.
14988 (grub_machine_get_bootlocation): Support network.
14989 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14990 Support type and device parsing.
14991 (grub_ieee1275_get_device_type): New function.
14992 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
14993 into ...
14994 (grub_ieee1275_net_config_real): ... this.
14995 (grub_ofnet_probecards): Removed.
14996 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
14997 * include/grub/ieee1275/ofnet.h: Removed.
14998 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
14999 extern var.
15000 (grub_ieee1275_get_device_type): New function.
15001
15002 Unify network device closing across platforms and make more robust.
15003
15004 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
15005 grub_grubnet_fini.
15006 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
15007 already.
15008 * grub-core/net/net.c (grub_net_network_level_interface_register):
15009 Update num_ifaces.
15010 (grub_net_card_unregister): Close all interfaces.
15011 (receive_packets): Don't poll if no iterfaces are registered.
15012 Open if necessary.
15013 (grub_net_fini_hw): New function.
15014 (grub_net_restore_hw): Likewise.
15015 (fini_hnd): New variable.
15016 (GRUB_MOD_INIT): Register preboot hook.
15017 (GRUB_MOD_FINI): Run and unregister preboot hook.
15018
15019 Poll network cards when idle.
15020
15021 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
15022 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
15023 * grub-core/net/net.c (receive_packets): Save last poll time.
15024 (grub_net_poll_cards_idle_real): New function.
15025 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
15026 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
15027 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
15028
15029 Rename ofnet interfaces.
15030
15031 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
15032 (grub_ofnet_findcards): Use ofnet_%s names.
15033
15034 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
15035
15036 Cleanup socket opening.
15037
15038 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
15039 (grub_net_fs_close): Likewise.
15040 (grub_net_fs_read_real): Use eof member.
15041 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
15042 (+grub_net_udp_close): New inline function.
15043
15044 * include/grub/net/tftp.h: Moved to the top of ...
15045 * grub-core/net/tftp.c: ... here.
15046 * include/grub/net/ip.h: Moved mostly to the top of ...
15047 * grub-core/net/ip.c: ... here.
15048 * include/grub/net/ethernet.h: Moved mostly to the top of ...
15049 * grub-core/net/ethernet.c: ... here.
15050
15051 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
15052
15053 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
15054 FS name.
15055
15056 * include/grub/net/ip.h (ipv4_ini): Removed.
15057 (ipv4_fini): Likewise.
15058
15059 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
15060 (grub_net_send_ip_packets): Likewise.
15061
cf1337aa
VS
150622011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15063
15064 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
15065 grub_read_cmos prototype.
15066
93c06ff9
VS
150672011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15068
15069 VGA text support in qemu-mips
15070
15071 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
15072 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
15073 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
15074 text.
15075 * grub-core/kern/i386/qemu/init.c: Renamed to ...
15076 * grub-core/kern/vga_init.c: ... this.
15077 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
15078 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
15079 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
15080 Adjust.
15081 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
15082 GRUB_MACHINE_PCI_IO_BASE.
15083
748ccabe
VS
150842011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15085
15086 MIPS qemu flash support.
15087
15088 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
15089 magic.
15090 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
15091 (grub_machine_init): Probe memory if its size isn't known.
15092 * util/grub-mkimage.c (image_targets): Add flash targets.
15093 (generate_image): Handle flash targets.
15094
d7345994
VS
150952011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15096
15097 MIPS qemu at_keyboard support.
15098
15099 * gentpl.py (videoinkernel): Add qemu-mips.
15100 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
15101 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
15102 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
15103 modules.
15104 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
15105 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
15106 * grub-core/term/serial.c (grub_serial_register)
15107 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
15108
a07a81b3
VS
151092011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15110
15111 CMOS support on sparc.
15112
15113 * gentpl.py (cmos): Add powerpc and sparc.
15114 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
15115 powerpc and sparc.
15116 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
15117 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
15118 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
15119 grub_set_datetime_cmos.
15120 * grub-core/lib/ieee1275/cmos.c: New file.
15121 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
15122 (find_rtc): Set no_ieee1275_rtc on error.
15123 (grub_get_datetime): Call grub_get_datetime_cmos on error.
15124 (grub_set_datetime): Call grub_set_datetime_cmos on error.
15125 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
15126 fail. Move value to argument. All users updated
15127 (grub_cmos_write): Likewise.
15128 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
15129 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
15130 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
15131 grub_get_datetime_cmos and grub_set_datetime_cmos.
15132
77546584
GS
151332011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
15134
15135 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
15136 sourcing grub-mkconfig_lib.
15137 * util/update-grub_lib.in: Likewise.
15138 * util/grub.d/00_header.in: Likewise.
15139 * util/grub.d/10_hurd.in: Likewise.
15140 * util/grub.d/10_kfreebsd.in: Likewise.
15141 * util/grub.d/10_linux.in: Likewise.
15142 * util/grub.d/10_netbsd.in: Likewise.
15143 * util/grub.d/10_windows.in: Likewise.
15144 * util/grub.d/20_linux_xen.in: Likewise.
15145 * util/grub.d/30_os-prober.in: Likewise.
15146
54894791
CW
151472011-06-28 Colin Watson <cjwatson@ubuntu.com>
15148
15149 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
15150 default_bg_color rather than black.
15151 (grub_gfxterm_fullscreen): Likewise.
15152 (grub_gfxterm_background_color_cmd): Save new background color in
15153 default_bg_color.
15154
8d5d8444
VS
151552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15156
15157 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
15158
5afeb5bd
VS
151592011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15160
15161 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
15162 mismerge.
15163
ba7df45e
VS
151642011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 Chainloading on coreboot support.
15167
15168 * grub-core/Makefile.core.def (chain): Add coreboot.
15169 * grub-core/loader/i386/coreboot/chainloader.c: New file.
15170
d0b526b2
VS
151712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15172
15173 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
15174 if it happens.
15175
5ff1d945
VS
151762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15177
15178 Implement time command.
15179
15180 * grub-core/Makefile.core.def (time): New module.
15181 * grub-core/commands/time.c: New file.
15182 * grub-core/script/parser.y: Remove "time" keyword.
15183 * grub-core/script/yylex.l: Likewise.
15184
5ebaad7e
VS
151852011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15186
15187 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
15188
bdea3798
VS
151892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15190
15191 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
15192 when handling leftovers.
15193
b28c5655
VS
151942011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15195
15196 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
15197 so that help2man doesn't fail.
15198
b6f945dc
VS
151992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15200
15201 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
15202 type in pointers on sparc64.
15203 (get_card_packet): Likewise.
15204
f9b75e8a
CW
152052011-06-27 Colin Watson <cjwatson@ubuntu.com>
15206
15207 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
15208 with `*'.
15209 (grub_cmd_videoinfo): Fetch current video mode.
15210
1e3d9b86
VS
152112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15212
15213 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
15214 because of underlying system restrictions.
15215
efff4b1c
VS
152162011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15217
15218 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
15219 necessary.
15220
9fc9ce37
VS
152212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15222
15223 Coreboot video support.
15224
15225 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
15226 (vbe): Likewise.
15227 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
15228 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
15229 here ...
15230 * grub-core/kern/i386/int.S: ... here.
15231 * grub-core/video/i386/pc/vbe.c: Updated includes.
15232 * grub-core/video/i386/pc/vga.c: Likewise.
15233 * include/grub/i386/coreboot/memory.h
15234 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
15235 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
15236 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
15237 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
15238 Disable interrupts.
15239 * include/grub/i386/pc/vga.h: Removed. All users updated.
15240
41bec7fe
VS
152412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15242
15243 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
15244 definitions for dprintf.
15245 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
15246
ca80309d
VS
152472011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15248
15249 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
15250 prototype.
15251 (get_card_packet): Likewise.
15252
9e322ce8
YB
152532011-06-26 Yves Blusseau <blusseau@zetam.org>
15254
15255 Display the path of the file when file is not found
15256
15257 * grub-core/fs/fat.c: Display the filename when file is not found.
15258 * grub-core/fs/fshelp.c: Likewise.
15259 * grub-core/fs/hfs.c: Likewise.
15260 * grub-core/fs/jfs.c: Likewise.
15261 * grub-core/fs/minix.c: Likewise.
15262 * grub-core/fs/ufs.c: Likewise.
15263 * grub-core/fs/btrfs.c: Likewise.
15264 * grub-core/commands/i386/pc/play.c: Likewise.
15265
cbf597af
SJ
152662011-06-26 Szymon Janc <szymon@janc.net.pl>
15267
15268 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
15269 pointer checks before calling grub_free().
15270 * grub-core/commands/wildcard.c (match_devices): Likewise.
15271 * grub-core/commands/wildcard.c (match_files): Likewise.
15272 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
15273 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
15274 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
15275 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
15276 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
15277 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
15278 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
15279 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
15280 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
15281
6295b32f
P
152822011-06-25 Patrick <p55@mailinator.com>
15283
15284 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
15285
77c0840b
VS
152862011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
15287
15288 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
15289 (grub_pxe_send): Likewise.
15290 (GRUB_MOD_INIT): Fix types.
15291
40ea05de
SJ
152922011-06-24 Szymon Janc <szymon@janc.net.pl>
15293
15294 * grub-core/io/xzio.c: Fix code style issues
15295
90162423
MRA
152962011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
152972011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
15298
15299 Network infrastructure.
15300 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
15301
15302 * include/grub/net/arp.h: New file.
90162423
MRA
15303 * include/grub/net/device.h: Likewise.
15304 * include/grub/net/ethernet.h: Likewise.
15305 * include/grub/net/ip.h: Likewise.
15306 * include/grub/net/netbuff.h: Likewise.
15307 * include/grub/net/tftp.h: Likewise.
15308 * include/grub/net/udp.h: Likewise.
15309 * include/grub/ieee1275/ofnet.h: Likewise.
15310 * include/grub/emu/export.h: Likewise.
15311 * include/grub/net.h: Likewise.
15312 * grub-core/net/arp.c: Likewise.
15313 * grub-core/net/ethernet.c: Likewise.
15314 * grub-core/net/ip.c: Likewise.
15315 * grub-core/net/udp.c: Likewise.
15316 * grub-core/net/tftp.c: Likewise.
15317 * grub-core/net/netbuff.c: Likewise.
15318 * grub-core/net/net.c: Likewise.
15319 * grub-core/net/drivers/emu/emunet.c: Likewise.
15320 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
15321 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
15322 export.h.
15323 * grub-core/Makefile.core.def (net): New module.
15324 (tftp): Likewise.
15325 (ofnet): Likewise.
15326 (emunet): Likewise.
15327 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
15328 network protocols.
15329 * grub-core/kern/device.c (grub_net_open) : New variable.
15330 (grub_device_open): Handle network device.
15331 (grub_device_close): Likewise.
15332 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
15333 (grub_grubnet_fini): Likewise.
15334 (grub_file_seek): Seek in network device.
15335 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
15336 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
15337 network root.
15338 (grub_machine_fini): Call grub_grubnet_fini.
15339 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
15340 network.
15341 (grub_ieee1275_get_aliasdevname): New function.
15342 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15343 Add unofficial Solaris network info.
15344 (grub_multiboot_make_mbi): Likewise.
15345 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
15346 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
15347 * include/grub/device.h (grub_fs): Removed.
15348 * include/grub/err.h (grub_err_t): Add network-related values.
15349 * include/grub/i386/pc/pxe.h: Removed bootp parts.
15350 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
15351 (grub_ieee1275_get_aliasdevname): New proto.
15352 * include/grub/net.h: Rewritten.
423a1849 15353
031f22a0
VS
153542011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
15357 names.
15358
4388ca72
VS
153592011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15360
15361 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
15362 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
15363 it truncates the output.
15364 Reported by: Ximin Luo.
15365
98e2f506
VS
153662011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15367
15368 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
15369
2a5e94d8
VS
153702011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15371
15372 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15373 partmap before abstraction.
15374
535c1910
AK
153752011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
15376
15377 * util/grub-mkconfig_lib.in: Add missing quotes.
15378
bc09e1a2
VS
153792011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15380
15381 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
15382 old method if mountinfo would return /dev/root and /dev/root doesn't
15383 exist.
15384
290766fb
VS
153852011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15386
15387 ZFS zlib support
15388
15389 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
15390 (decomp_table): Add zlib entries.
15391 (zio_read): USe 8 bits for compression function rather than 3.
15392 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
15393
153942011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15395
15396 * grub-core/disk/ahci.c: Add missing license statements.
15397 * grub-core/fs/romfs.c: Likewise.
15398 * grub-core/lib/ia64/setjmp.S: Likewise.
15399 * grub-core/loader/i386/pc/freedos.c: Likewise.
15400 * grub-core/loader/ia64/efi/linux.c: Likewise.
15401 * grub-core/video/colors.c: Likewise.
15402 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
15403
5ab3f48a
VS
154042011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15405
15406 AHCI support.
15407
15408 * grub-core/Makefile.core.def (ata_pthru): Removed.
15409 (ahci): New module.
15410 (pata): Likewise.
15411 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
15412 on unload.
15413 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
15414 readwrite.
15415 (grub_hdparm_do_check_powermode_cmd): Likewise.
15416 (grub_hdparm_do_smart_cmd): Likewise.
15417 (grub_hdparm_set_val_cmd): Likewise.
15418 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
15419 * grub-core/disk/ahci.c: New file.
15420 * grub-core/disk/ata.c: Factor out the low-level part into ...
15421 * grub-core/disk/pata.c: ... here.
15422 * grub-core/disk/ata_pthru.c: Contents moved to ...
15423 * grub-core/disk/pata.c: ... here.
15424 * grub-core/disk/scsi.c (grub_scsi_names): New array.
15425 (grub_scsi_iterate): Use grub_scsi_names.
15426 (grub_scsi_open): Likewise.
15427 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
15428 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
15429 (grub_ata_regs_t): New struct.
15430 (grub_disk_ata_pass_through_parms): Likewise.
15431 (grub_ata_device): Renamed to ...
15432 (grub_ata): ... this.
15433 (grub_ata_dev): New struct.
15434 Removed all low-level inline functions.
15435 * include/grub/scsi.h: Add PATA and AHCI subsystems.
15436 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
15437 iterate hooks and open. All users updated.
15438 * util/grub-install.in: Handle AHCI disk module.
15439
c31dc5f5
SJ
154402011-06-23 Szymon Janc <szymon@janc.net.pl>
15441
15442 Add support for DRI and RSTn markers in JPEG files.
15443
15444 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
15445 (JPEG_MARKER_RST0): Likewise.
15446 (JPEG_MARKER_RST1): Likewise.
15447 (JPEG_MARKER_RST2): Likewise.
15448 (JPEG_MARKER_RST3): Likewise.
15449 (JPEG_MARKER_RST4): Likewise.
15450 (JPEG_MARKER_RST5): Likewise.
15451 (JPEG_MARKER_RST6): Likewise.
15452 (JPEG_MARKER_RST7): Likewise.
15453 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
15454 (grub_jpeg_decode_dri): New function.
15455 (grub_jpeg_decode_sos): Move image data related part into
15456 grub_jpeg_decode_data function.
15457 (grub_jpeg_decode_data): New function.
15458 (grub_jpeg_reset): New function.
15459 (grub_jpeg_decode_jpeg): Handle new markers.
15460
fe12fd5b
VS
154612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15462
15463 * util/ieee1275/ofpath.c (check_sas): Close fd.
15464 (main): Free of_path.
15465 Reported by: David Volgyes <dvolgyes>.
15466
03147f46
VS
154672011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15468
15469 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
15470 Reported by: David Volgyes <dvolgyes>.
15471
cad3237f
VS
154722011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15473
15474 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
15475 file after stat.
15476 Reported by: David Volgyes <dvolgyes>.
15477
13548d26
VS
154782011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15479
15480 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
15481
15482 Reported by: David Volgyes <dvolgyes>.
15483
e061a1b5
VS
154842011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15485
15486 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
15487 Prevent memory leak.
15488
1abe47dc
VS
154892011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15490
15491 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
15492 (main): Close file.
e061a1b5 15493 Reported by: David Volgyes <dvolgyes>.
1abe47dc 15494
fbc62666
VS
154952011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15496
15497 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
15498 to continue if allocation is failed.
15499
15500 Reported by: David Volgyes <dvolgyes>.
15501
e98c83e9
DV
155022011-06-23 David Volgyes <dvolgyes>
15503
15504 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
15505 dereference.
15506
a199a8cd
VS
155072011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15508
15509 Fix spurious warning.
15510
15511 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
15512 (acorn_partition_map_find): Use .bin member.
15513
e2d1dba0
VS
155142011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15515
15516 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
15517 /dev/root as a valid device.
15518
8a5d6919
JM
155192011-06-23 Jim Meyering <meyering@redhat.com>
15520
e2d1dba0
VS
15521 Avoid NULL deref in grub_device_open.
15522
8a5d6919
JM
15523 * grub-core/kern/device.c (grub_device_open): Don't dereference
15524 a NULL pointer upon failed grub_env_get.
15525
f7db6f4a
VS
155262011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15527
15528 Support non-512B sectors and agglomerate reads.
15529
15530 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
15531 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
15532 (disk_io_guid): Removed.
15533 (make_devices): Locate solely by BlockIO.
15534 (grub_efidisk_open): Fill log_sector_size and total_sectors.
15535 (grub_efidisk_read): Use read_blocks.
15536 (grub_efidisk_write): Use write_blocks.
15537 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
15538 log_sector_size.
15539 (get_safe_sectors): Handle non-512B sectors.
15540 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
15541 sectors.
15542 (grub_biosdisk_write): Handle non-512B sectors.
15543 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
15544 (grub_scsi_read): Remove special non-512B block handling (now handled
15545 one level up).
15546 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
15547 and do sanity checks.
15548 (grub_disk_adjust_range): Handle non-512B sectors.
15549 (transform_sector): New function.
15550 (grub_disk_read_small): Likewise.
15551 (grub_disk_read): Rewritten.
15552 (grub_disk_write): Handle non-512B sectors.
15553 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
15554 log_sector_size.
15555 (open_device): Use log_sector_size.
15556 (grub_util_biosdisk_read): Likewise.
15557 (grub_util_biosdisk_write): Likewise.
15558 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
15559 non-512B sectors.
15560 (pc_partition_map_embed): Likewise.
15561 * include/grub/disk.h (grub_disk): New field log_sector_size.
15562 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
15563 (GRUB_DISK_CACHE_BITS): Increased to 6.
15564 * util/grub-fstest.c (fstest): New command testload.
15565 (argp_parser): Likewise.
15566
881ac815
RM
155672011-06-16 Robert Millan <rmh@gnu.org>
15568
15569 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
15570 `ata' driver on kernel of FreeBSD 9.
15571
15572 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
15573 (get_ataraid_disk_name): New functions.
15574 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
15575 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
15576 get_ataraid_disk_name() and get_ada_disk_name().
15577
1e9aef7d
CW
155782011-06-13 Colin Watson <cjwatson@ubuntu.com>
15579
15580 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
15581 input format.
15582
351c7c8a
CW
155832011-05-29 Colin Watson <cjwatson@ubuntu.com>
15584
15585 * docs/grub.texi (Obtaining and Building GRUB): Substitute
15586 `ftp.gnu.org' for `alpha.gnu.org'.
15587
6b4e6430
CW
155882011-05-27 Colin Watson <cjwatson@ubuntu.com>
15589
15590 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
15591 partitions under /dev/disk/by-id/.
15592
c64db050
CW
155932011-05-27 Colin Watson <cjwatson@ubuntu.com>
15594
15595 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
15596 after ten consecutive open failures. Scanning all the way up to
15597 10000 is excessive and can cause serious performance problems in
15598 some configurations.
15599 Fixes Ubuntu bug #787461.
15600
245f4aba
VS
156012011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15602
15603 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
15604 opening new one.
15605
f767c929
VS
156062011-05-21 Colin Watson <cjwatson@ubuntu.com>
156072011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15608
15609 Don't stat devices unless we have to.
15610
15611 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
15612 dir == /dev/mapper.
15613 (grub_guess_root_device): Use already known os_dev if possible.
15614 * grub-core/kern/emu/hostdisk.c
15615 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
15616 if device is known to be a dm one.
15617
f35fa3a6
CW
156182011-05-20 Colin Watson <cjwatson@ubuntu.com>
15619
15620 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
15621 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
15622 Reported by: Pawel Tecza.
15623
9a79fcf2
VS
156242011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
15625
15626 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
15627 (lsefisystab): Likewise.
15628 (lssal): Likewise.
15629 (lsefimmap): Likewise.
15630 (hdparm): Enable on qemu-mips.
15631 (setjmp): Add ia64 nodist.
15632 (serial): Simplify tags.
15633
63e3eea9
CW
156342011-05-18 Colin Watson <cjwatson@ubuntu.com>
15635
15636 * Makefile.util.def (grub-ofpathname): Install manual page.
15637
09728256
CW
156382011-05-18 Colin Watson <cjwatson@ubuntu.com>
15639
15640 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
15641
8b63a142
CW
156422011-05-18 Colin Watson <cjwatson@ubuntu.com>
15643
15644 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
15645
e775d8ed
VS
156462011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15647
15648 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
15649 into dprintf.
15650
bf947d36
VS
156512011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15652
15653 Use full 64-bit division.
15654
15655 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
15656 (grub_divmod64): ... this.
15657 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
15658 version.
15659
b84f26c5
CW
156602011-05-18 Colin Watson <cjwatson@ubuntu.com>
15661
15662 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
15663 `source'.
15664
5626056f
CW
156652011-05-18 Colin Watson <cjwatson@ubuntu.com>
15666
15667 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
15668 to avoid accidents when debugging with 'sh -x'.
15669 * grub-core/gensyminfo.sh.in: Likewise.
15670 * tests/example_scripted_test.in: Likewise.
15671 * tests/grub_cmd_regexp.in: Likewise.
15672 * tests/grub_script_blanklines.in: Likewise.
15673 * tests/grub_script_dollar.in: Likewise.
15674 * tests/grub_script_expansion.in: Likewise.
15675 * tests/grub_script_final_semicolon.in: Likewise.
15676 * tests/partmap_test.in: Likewise.
15677 * tests/util/grub-shell-tester.in: Likewise.
15678 * tests/util/grub-shell.in: Likewise.
15679
e2965f4a
CW
156802011-05-18 Colin Watson <cjwatson@ubuntu.com>
15681
15682 Move gfxmenu color handling to video, so that gfxterm can use it
15683 too.
15684
15685 * grub-core/gfxmenu/named_colors.c: Move to ...
15686 * grub-core/video/colors.c: ... here. Rename
15687 grub_gui_get_named_color to grub_video_get_named_color.
15688 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
15689 * grub-core/video/colors.c (my_isxdigit): ... here.
15690 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
15691 Move to ...
15692 * grub-core/video/colors.c (parse_hex_color_component): ... here.
15693 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
15694 to ...
15695 * grub-core/video/colors.c (grub_video_parse_color): ... here.
15696
15697 * include/grub/gui.h (grub_gui_color_t): Move to ...
15698 * include/grub/video.h (grub_video_rgba_color_t): ... here.
15699 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
15700 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
15701 * include/grub/gui.h (grub_gui_map_color): Move to ...
15702 * include/grub/video.h (grub_video_map_rgba_color): ... here.
15703 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
15704 to ...
15705 * include/grub/video.h (grub_video_get_named_color): ... here.
15706 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
15707 * include/grub/video.h (grub_video_parse_color): ... here.
15708
15709 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
15710 video/colors.c.
15711 (gfxmenu): Remove gfxmenu/named_colors.c.
15712 (video) [videomodules]: Add video/colors.c.
15713
15714 Add a background_color command.
15715
15716 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
15717 function.
15718 (GRUB_MOD_INIT): Register background_color command.
15719 (GRUB_MOD_FINI): Unregister background_color command.
15720 (redraw_screen_rect): Allow blend/replace of text layer to be
15721 controlled independently from whether there is a background bitmap.
15722 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
15723 changing bitmap.
15724
1e4b4390
VS
157252011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15726
26618ff0
VS
15727 Patch BPB in ntldr and chainloader --bpb.
15728
1e4b4390
VS
15729 * grub-core/fs/fat.c: Include grub/fat.h.
15730 (grub_fat_bpb): Moved to ...
15731 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
15732 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
15733 grub/ntfs.h.
15734 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
15735 Moved from here...
15736 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
15737 here.
15738 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
15739 New function.
15740 (grub_chainloader_cmd): Patch BPB if --bpb is given.
15741 (GRUB_MOD_INIT): Show --bpb.
15742 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
15743 * grub-core/normal/main.c (features): New variable.
15744 (GRUB_MOD_INIT): Set feature_* variables.
15745 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
15746 proto.
15747 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
15748
cf02731e
VS
157492011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15750
15751 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
15752 for cleanness.
15753
e3a1073f
VS
157542011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15755
15756 FreeDOS direct loading support.
15757
15758 * docs/grub.texi (Supported OS): Add FreeDOS.
15759 * grub-core/Makefile.core.def (freedos): New module.
15760 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
15761 variable.
15762 (grub_relocator16_boot): Handle %ebx.
15763 * grub-core/lib/i386/relocator16.S: Likewise.
15764 * grub-core/loader/i386/pc/freedos.c: New file.
15765
05caa461
VS
157662011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15767
15768 Long Linux command line support.
15769
15770 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15771 (maximal_cmdline_size): New variable.
15772 (allocate_pages): Use maximal_cmdline_size.
15773 (grub_cmd_linux): Set and use maximal_cmdline_size.
15774 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15775 (allocate_pages): Use maximal_cmdline_size.
15776 (grub_cmd_linux): Set and use maximal_cmdline_size.
15777 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
15778 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
15779 and cmdline_size.
15780
a2491e23
VS
157812011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
157822011-05-18 Colin Watson <cjwatson@ubuntu.com>
15783
15784 Improve devmapper support
15785
15786 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
15787 (grub_util_is_lvm): New function.
15788 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
15789 than lvm if not dmraid.
15790 Handle mapped md nodes.
15791 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
15792 (grub_util_device_is_mapped): ... this. Make always available. All users
15793 updated.
15794 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
15795 (convert_system_partition_to_system_disk): Handle lvm, mpath and
15796 dmraid nodes.
15797 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
15798
6ad6223e
VS
157992011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15800
15801 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
15802
15803 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
15804 * grub-core/modinfo.sh.in: New file.
15805 * grub-core/Makefile.core.def (modinfo.sh): New script.
15806 * util/grub-mknetdir.in: Use modinfo.sh.
15807 * util/grub-mkrescue.in: Likewise.
15808
543a8f6e
VS
158092011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15810
15811 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15812 Fix potential usage of Elf32 instead of Elf64 when compiling on
15813 32-bit architecture. Add endianness macros while on it.
15814
4959e111
VS
158152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15816
15817 Use mipsel- rather than mips- in directories involving mipsel ports to
15818 allow both endiannesses coexist.
15819
15820 * configure.ac: proparate target_cpu=mipsel rather than resetting to
15821 mips. All conditions adjusted.
15822 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
15823 variable.
15824 * util/grub-install.in: Adjust conditions to take renaming into account.
15825 * util/grub-mkimage.c (image_targets): Likewise. New target
15826 mips-qemu_mips-elf for bigendian mips.
15827
35341bbc
VS
158282011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15829
15830 Avoid unnecessary copying on MIPS.
15831
15832 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
15833 early if src == dest.
15834 * util/grub-mkimage.c (generate_image): Arange for src == dest if
15835 compression is none.
15836
b772baed
VS
158372011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15838
15839 Reduce memory footprint on SGI by putting modules before the kernel
15840 as opposed to after.
15841
15842 * grub-core/Makefile.core.def (kernel): Increase linking address.
15843 (none_decompress): Likewise.
15844 (xz_decompress): Likewise.
15845 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
15846 address.
15847 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
15848 layout change.
15849 (grub_arch_modules_addr): New function.
15850 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
15851 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
15852 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
15853 here.
15854 * grub-core/kern/mips/startup.S (total_size): Rename to ...
15855 (grub_total_modules_size): ... this. Make global.
15856 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
15857 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
15858 New definition.
15859 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
15860 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
15861 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
15862 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
15863 * util/grub-mkimage.c (image_target_desc): New flag
15864 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
15865 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
15866 (generate_image): Handle images with modules before kernel.
15867
566a1917
VS
158682011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15869
15870 Prevent potential loss of memory map by overwrite on qemu-mips.
15871
15872 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15873 Save ram size in $s4.
15874 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
15875 All users changed to grub_arch_memsize.
15876 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
15877 Loongson.
15878 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
15879 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
15880 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
15881 external variable.
15882
5d420cd9
CW
158832011-05-17 Colin Watson <cjwatson@ubuntu.com>
15884
15885 * .bzrignore: Remove grub-dumpbios.
15886
d064b830
CW
158872011-05-17 Colin Watson <cjwatson@ubuntu.com>
15888
15889 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
15890 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
15891 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
15892 existing options which append).
15893 * docs/grub.texi (Simple configuration): Document new options.
15894 Reported by: Ian Jackson. Fixes Debian bug #617538.
15895
3ca2b466
CW
158962011-05-17 Colin Watson <cjwatson@ubuntu.com>
15897
15898 * util/grub-fstest.c (cmd_cat): New function.
15899 (fstest): Handle CMD_CAT.
15900 (options): Add cat.
15901 (argp_parser): Handle cat.
15902
24c9143a
CW
159032011-05-17 Colin Watson <cjwatson@ubuntu.com>
15904
15905 * Makefile.util.def (grub-bin2h): Don't install.
15906 * docs/man/grub-bin2h.h2m: Remove.
15907
90f7ac19
VS
159082011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15909
15910 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
15911 place.
15912
8d4a5178
VS
159132011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15914
15915 Reenable qemu-mips port.
15916
15917 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
15918 Fix small arc bug while on it.
15919 * gentpl.py: Handle qemu_mips.
15920 * grub-core/Makefile.am: Likewise.
15921 * grub-core/Makefile.core.def: Likewise.
15922 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
15923 inappropriate includes.
15924 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
15925 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
15926 * grub-core/kern/main.c (grub_modules_get_end)
15927 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
15928 * grub-core/kern/mips/qemu-mips: Moved to ..
15929 * grub-core/kern/mips/qemu_mips: ... this.
15930 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
15931 (grub_machine_init): Call terminfo_init and serial_init.
15932 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
15933 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15934 New variable.
15935 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
15936 parameter passing.
15937 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
15938 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
15939 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
15940 * include/grub/mips/qemu_mips/cmos.h: New file.
15941 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
15942 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
15943 Removed.
15944 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
15945 Use correct mips-style address.
15946 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
15947 (GRUB_TICKS_PER_SECOND): Removed.
15948 (grub_get_rtc): Likewise.
15949 (grub_cpu_idle): Likewise.
15950 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
15951 New definition.
15952 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
15953 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
15954 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
15955 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
15956 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15957 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15958 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
15959 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
15960
400b9371
VS
159612011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15962
15963 SGI ARCS port.
15964
15965 * Makefile.util.def (libgrubmods.a): Add dvh.c.
15966 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
15967 platforms.
15968 * configure.ac: New target mips-arc.
15969 * gentpl.py: Likewise.
15970 * grub-core/Makefile.am: Likewise.
15971 * grub-core/Makefile.core.def: Likewise.
15972 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
15973 (none_decompress): Likewise.
15974 (lsdev): New module.
15975 (datetime): Use lib/arc/datetime.c on ARC.
15976 (part_dvh): New module.
15977 * grub-core/commands/arc/lsdev.c: New file.
15978 * grub-core/disk/arc/arcdisk.c: Likewise.
15979 * grub-core/kern/mips/arc/init.c: Likewise.
15980 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
15981 aligned addresses.
15982 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
15983 support.
15984 (grub_arch_dl_relocate_symbols): Likewise.
15985 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
15986 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
15987 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
15988 platforms.
15989 * grub-core/lib/arc/datetime.c: New file.
15990 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
15991 pci.h on non-loongson.
15992 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
15993 (grub_linux_boot): Set unused registers to 0.
15994 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
15995 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
15996 * grub-core/mmap/mips/uppermem.c: ...here.
15997 * grub-core/partmap/dvh.c: New file.
15998 * grub-core/term/arc/console.c: Likewise.
15999 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
16000 (grub_terminfo_set_current): Add terminal "arc".
16001 (grub_terminfo_readkey): Support ARC sequences.
16002 * include/grub/arc/arc.h: New file.
16003 * include/grub/arc/console.h: Likewise.
16004 * include/grub/disk.h (grub_disk_dev_id): Add
16005 GRUB_DISK_DEVICE_ARCDISK_ID.
16006 * include/grub/mips/arc/kernel.h: New file.
16007 * include/grub/mips/arc/memory.h: Likewise.
16008 * include/grub/mips/arc/time.h: Likewise.
16009 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
16010 * include/grub/mips/kernel.h (grub_halt): ... here.
16011 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
16012 here...
16013 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
16014 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
16015 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
16016 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
16017 proto.
16018 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
16019 from here ...
16020 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
16021 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
16022 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
16023 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
16024 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
16025 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
16026 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
16027 (grub_phys_addr_t): Moved from here ...
16028 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
16029 (grub_vtop): Moved from here ...
16030 * include/grub/mips/memory.h (grub_vtop): ... here.
16031 (grub_map_memory): Moved from here ...
16032 * include/grub/mips/memory.h (grub_map_memory): ... here.
16033 (grub_unmap_memory): Moved from here ...
16034 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
16035 (grub_machine_mmap_iterate): Moved from here ...
16036 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
16037 (grub_mmap_get_lower): Moved from here ...
16038 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
16039 (grub_mmap_get_upper): Moved from here ...
16040 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
16041 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
16042 here ...
16043 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
16044 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
16045 here ...
16046 * include/grub/mips/time.h (grub_get_rtc): ... here.
16047 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
16048 here ...
16049 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
16050 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
16051 here ...
16052 * include/grub/mips/time.h (grub_cpu_idle): ... here.
16053 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
16054 definition.
16055 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
16056 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
16057 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
16058 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
16059 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16060 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16061 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
16062 (GRUB_MACHINE_LINK_ADDR): Likewise.
16063 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
16064 to 6.
16065 * util/grub-install.in: Run dvhtool on ARC.
16066 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 16067 (generate_image): Handle ECOFF output for mips-arc.
400b9371 16068
c8ecc840
VS
160692011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16070
16071 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
16072 blocks.
16073
153a4b55
VS
160742011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
16077 after enabling port.
16078
ff44d107
VS
160792011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16080
16081 Skip incorrect USB devices.
16082
16083 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
16084 configcnt == 0.
16085 * include/grub/usb.h (grub_usb_err_t): New enum value
16086 GRUB_USB_ERR_BADDEVICE.
16087
638dbe4f
VS
160882011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16089
16090 Fuloong video init support.
16091
16092 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
16093 well.
16094 (grub_vga_read_arx): New function.
16095 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
16096 definition.
16097 (framebuffer): New members io, mmioptr and mmiobase.
16098 (read_sis_cmd): New function.
16099 (write_sis_cmd): Likewise.
16100 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
16101 rather than 640x400.
16102 * grub-core/video/sis315_init.c: New file.
16103
c3fc520c
VS
161042011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16105
16106 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
16107 non-loongson.
16108 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
16109 to grub_dl_register_symbol.
16110
67b1e5c9
VS
161112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16112
16113 Fix compilation errors.
16114
16115 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
16116 potentially unused.
16117 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
16118 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
16119 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
16120 to loongson machines.
16121
b756f75f
VS
161222011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16123
16124 Several FS mtime support.
16125
16126 * grub-core/fs/affs.c (grub_affs_time): New struct.
16127 (grub_affs_file): New field mtime.
16128 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
16129 type. Removed 'size'. New field 'di'. All users updated.
16130 (grub_affs_mount): Simplify checsum checking.
16131 (grub_affs_iterate_dir): New helper grub_affs_create_node.
16132 (grub_affs_dir): Handle mtime.
16133 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
16134 (grub_cpio_dir): Likewise.
16135 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
16136 (grub_hfs_filerec): New field mtime.
16137 (grub_hfs_dir): Handle mtime.
16138 (grub_hfs_mtime): New function.
16139 (grub_hfs_fs): Register grub_hfs_mtime.
16140 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
16141 (grub_iso9660_dir): New field mtime.
16142 (grub_fshelp_node): New field dirent.
16143 (iso9660_to_unixtime): New function.
16144 (iso9660_to_unixtime2): Likewise.
16145 (grub_iso9660_read_symlink): Use node->dirent.
16146 (grub_iso9660_iterate_dir): Likewise.
16147 (grub_iso9660_dir): Set mtime.
16148 (grub_iso9660_mtime): New function.
16149 (grub_iso9660_fs): Register grub_iso9660_mtime.
16150 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
16151 (grub_jfs_inode): New fields atime, ctime and mtime.
16152 (grub_jfs_dir): Set mtime.
16153 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
16154 * grub-core/fs/ntfs.c (list_file): Set mtime.
16155 (grub_ntfs_dir): Likewise.
16156 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
16157 (grub_reiserfs_iterate_dir): Set mtime.
16158 (grub_reiserfs_dir): Likewise.
16159 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
16160 (grub_fshelp_node): Likewise.
16161 (grub_sfs_iterate_dir): Set mtime.
16162 (grub_sfs_dir): Likewise.
16163 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
16164 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
16165 (grub_xfs_inode): New fields atime, mtime, ctime.
16166 (grub_xfs_dir): Set mtime.
16167 * include/grub/datetime.h (grub_datetime2unixtime): New function.
16168 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
16169 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
16170
16171 Support UDF symlinks.
16172
16173 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
16174 (grub_ufs_read_symlink): New function. All users updated.
16175
16176 Check amiga partmap checksum.
16177
16178 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
16179 (grub_amiga_partition): Likewise.
16180 (amiga_partition_map_checksum): New function.
16181 (amiga_partition_map_iterate): Check checksum.
16182
5470225d
VS
161832011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16184
16185 ROMFS support.
16186
16187 * Makefile.util.def (libgrubmods.a): Add romfs.
16188 * grub-core/Makefile.core.def (romfs): New module.
16189 * grub-core/fs/romfs.c: New file.
16190
d4680a35
VS
161912011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16192
16193 Squashfs v4 support.
16194
16195 * Makefile.util.def (libgrubmods.a): Add squash4.
16196 * grub-core/Makefile.core.def (squash4): New module.
16197 * grub-core/fs/squash4.c: New file.
16198 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
16199 disk_input_start, disk_input.
16200 (get_byte): Handle disk_input.
16201 (grub_zlib_disk_read): New function.
16202 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
16203
bcb18e74
FZ
162042011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
162052011-05-15 Feiran Zheng <famcool@gmail.com>
16206
16207 * Makefile.util.def (libgrubmods.a): Add minix3.
16208 * grub-core/Makefile.core.def (minix3): New module.
16209 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
16210 (GRUB_MINIX_BSIZE): Removed.
16211 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
16212 (grub_minix_ino_t): New type.
16213 (grub_minix_le_to_cpu_ino): New macro.
16214 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
16215 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
16216 (grub_minix_data): New field block_size.
16217 (grub_minix_read_file): Handle 64-bit correctly.
16218 * grub-core/fs/minix3.c: New file.
16219
32297d5f
TG
162202011-05-15 Tristan Gingold <gingold@free.fr>
162212011-05-15 Robert Millan <rmh.grub@aybabtu.com>
162222011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16223
16224 IA64 support.
16225
16226 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
16227 * configure.ac: Add ia64-efi target.
16228 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
16229 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
16230 * gentpl.py: Add ia64_efi platform.
16231 Rename x86_efi to efi and Add ia64-efi. All users updated.
16232 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
16233 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
16234 Remove kern/generic/rtc_get_time_ms.c on EFI.
16235 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
16236 kern/ia64/dl_helper.c on ia64-efi.
16237 Add kern/emu/cache.c on emu.
16238 (linux): Use on loader/ia64/efi/linux.c on ia64.
16239 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
16240 whether symbol is a function.
16241 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
16242 (grub_symbol): New field 'isfunc'.
16243 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
16244 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
16245 (grub_dl_load_segments): Place all sections into the same region.
16246 [__ia64__]: Create trampolines and got.
16247 [GRUB_MACHINE_EMU]: Call mprotect.
16248 (grub_dl_resolve_symbols): Resolve symbol type as well.
16249 [__ia64__]: Create function descriptors.
16250 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
16251 (grub_rtc_get_time_ms): ... this. Expressions simplified.
16252 (grub_get_rtc): New function.
16253 * grub-core/kern/emu/cache.c [__ia64__]: New file.
16254 * grub-core/kern/emu/cache.S: Renamed to ...
16255 * grub-core/kern/emu/cache_s.S: ... this.
16256 [__ia64__]: Add a nop.
16257 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
16258 [__ia64__]: New function.
16259 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
16260 * grub-core/kern/ia64/dl.c: New file.
16261 * grub-core/kern/ia64/dl_helper.c: Likewise.
16262 * grub-core/kern/ia64/efi/init.c: New file.
16263 * grub-core/kern/ia64/efi/startup.S: Likewise.
16264 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
16265 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
16266 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
16267 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
16268 * grub-core/loader/ia64/efi/linux.c: New file.
16269 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
16270 (GRUB_MOD_DEP): Likewise.
16271 (grub_dl) [__ia64__]: New fields got and tramp.
16272 (grub_dl): New field 'base'.
16273 (grub_dl_register_symbol): New argument isfunc. All users updated.
16274 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
16275 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
16276 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
16277 (grub_ia64_dl_get_tramp_got_size): New proto.
16278 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
16279 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
16280 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
16281 * include/grub/efi/api.h: Skip call wrappers on ia64.
16282 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
16283 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
16284 * include/grub/elf.h (ELF_ST_INFO): New definition.
16285 * include/grub/ia64/efi/kernel.h: New file.
16286 * include/grub/ia64/efi/memory.h: Likewise.
16287 * include/grub/ia64/efi/time.h: Likewise.
16288 * include/grub/ia64/kernel.h: Likewise.
16289 * include/grub/ia64/setjmp.h: Likewise (from glibc).
16290 * include/grub/ia64/time.h: New file.
16291 * include/grub/ia64/types.h: Likewise.
16292 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
16293 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
16294 New protos.
16295 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
16296 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16297 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
16298 * util/grub-mkimage.c (image_target_desc): New field pe_target.
16299 All users updated.
16300 (EFI64_HEADER_SIZE): New definition. All users updated.
16301 (image_targets): Add ia64-efi.
16302 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
16303 jumpers_addr. All users updated.
16304 Create function descriptors.
16305 (count_funcs): New function.
16306 (unaligned_uint32): New struct.
16307 (MASK20): New definition.
16308 (MASK19): Likewise.
16309 (MASKF21): Likewise.
16310 (add_value_to_slot_20b): New function.
16311 (add_value_to_slot_21_real): Likewise.
16312 (add_value_to_slot_21): Likewise.
16313 (ia64_kernel_trampoline): New struct.
16314 (nopm): New variable.
16315 (jump): Likewise.
16316 (make_trampoline): New function.
16317 (relocate_addresses): Handle ia64.
16318 (make_reloc_section): Likewise.
16319 (load_image): Likewise.
16320
983b414d
VS
163212011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16322
16323 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
16324 warning. Move variables before code while on it.
16325
5d063cdc
VS
163262011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16327
16328 Fuloong support.
16329
16330 * configure.ac: Rename yeeloong platform to loongson. All users updated.
16331 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
16332 * grub-core/boot/mips/loongson/fuloong.S: New file.
16333 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
16334 Explicitly init CS5536.
16335 [FULOONG]: Don't use serial until CS5536 is available.
16336 Set GPIO based on dumps.
16337 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
16338 [FULOONG]: Handle GPIO and memory controller differences.
16339 Parse machine type in $a2.
16340 * grub-core/boot/mips/startup_raw.S: Determine and save the
16341 architecture.
16342 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
16343 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
16344 init on architecture type.
16345 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16346 SIS315E. Don't init at_keyboard on fuloong.
16347 (grub_halt): Support Fuloong.
16348 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
16349 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
16350 (loongson_machtypes): New array.
16351 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
16352 type.
16353 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
16354 config. All users updated. Handle CS5536 serial.
16355 * grub-core/term/serial.c (grub_serial_register): Conditionalise
16356 default port on machine type. Register serial as inactive.
16357 * grub-core/video/sis315pro.c: New file.
16358 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
16359 definition.
16360 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
16361 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
16362 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
16363 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
16364 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
16365 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
16366 to ...
16367 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
16368 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
16369 definition.
16370 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
16371 (grub_arch_machine): New extern var.
16372 * include/grub/mips/loongson/serial.h
16373 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
16374 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
16375 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
16376 (GRUB_MACHINE_SERIAL_PORT0): ... this.
16377 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
16378 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
16379 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
16380 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
16381 * include/grub/term.h (grub_term_register_input_inactive): New inline
16382 function.
16383 (grub_term_register_output_inactive): Likewise.
16384 * include/grub/video.h (grub_video_driver_id): New value
16385 GRUB_VIDEO_DRIVER_SIS315PRO.
16386 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
16387 New field "names". All users updated.
16388 New field value IMAGE_FULOONG_FLASH.
16389 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
16390
6ada82d1
JU
163912011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
16392
16393 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
16394 and add some clarification.
16395
90c571a4
VS
163962011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16397
16398 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
16399 platforms if kernel is compressed.
16400
de04eecf
VS
164012011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16402
16403 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
16404 unused modules since currently referrence counter isn't reliable and
16405 there isn't much memory to recover there anyway.
16406
57688121
VS
164072011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
16410 rather than resetting it to allow modules to reference themselves
16411 in init.
16412
3d2c7e35
VS
164132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16414
16415 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
16416 counter on dependencies since grub_dl_unref already handles this.
16417
b25db218
VS
164182011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16419
16420 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
16421 on error if not already done.
16422
25a45338
VS
164232011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16424
16425 Fix few potential memory misusage.
16426
16427 * grub-core/font/font.c (load_font_index): Don't free char_index to
16428 avoid double free.
b25db218
VS
16429 (grub_font_load): Zero-fill font at alloc for safety.
16430 Close file on error.
16431 (free_font): Free bmp_idx.
25a45338 16432
0cac83df
VS
164332011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16434
16435 * docs/grub.texi (Installation): Fix several outdated claims.
16436
2217a143
VS
164372011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16438
16439 Handle module_license on windows.
16440
16441 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
16442 sections shifted.
16443 (insert_string): Make argument const char * instead of char *.
16444 (write_section_data): Handle long section names.
16445 Handle module_license.
16446
d4de6b01
VS
164472011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16448
16449 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
16450 handle class-free menuentries.
16451 (grub_normal_add_menu_entry): Add a check to be sure.
16452
4c2a3b43
VS
164532011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16454
16455 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
16456 PgUp and PgDown.
16457
85c6210f
VS
164582011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16459
16460 * configure.ac: Bump version to 1.99.
16461
36084912
VS
164622011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16463
16464 Give ATA device a bit more time on first try in order to allow disks
16465 to spin up.
16466
16467 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
16468 if dev->present is 1. Reset dev->present on failure.
16469 (grub_ata_device_initialize): Set dev->present to 1.
16470 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
16471 (grub_ata_device): New member 'present'.
16472
bda0e219
VS
164732011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16474
16475 * util/grub-mkimage.c (generate_image): Update hash.
16476
19e1c41b
VS
164772011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16478
16479 Flush caches on DMA memory.
16480
16481 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
16482 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
16483 (grub_dma_free): Likewise.
16484 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
16485
91bbcc0c
VS
164862011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16487
16488 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
16489 to avoid asm treating ld and sd as macros.
16490
60ddfad3
VS
164912011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16492
16493 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
16494 decompressor.
16495
a298aa04
VS
164962011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16497
16498 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
16499 grub_decompress_core since later would fail if grub_decompress_core
16500 is too far.
16501
9b44feca
VS
165022011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16503
16504 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
16505 R_MIPS_JALR since it's used by newer compiler.
16506
56dbe7b4
VS
165072011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
16508
16509 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
16510
52856af2
VS
165112011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16512
16513 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
16514 file_path to 0 for surety.
16515 (grub_chainloader_boot): Set exit_data to NULL.
16516 Unset the loader once done.
16517 (grub_cmd_chainloader): Fix confusing error message if file is empty.
16518
9c9bfc6d
VS
165192011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16520
16521 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
16522 unknown key into a dprintf.
16523
dd94a3df
VS
165242011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16525
16526 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
16527 on first non-existant partition.
16528
fa68d99c
VS
165292011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16530
16531 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
16532 openning fails.
16533 Reported by: Mark Korenberg.
16534
157effb7
VS
165352011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16536
16537 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
16538 overflow.
16539
ea75312f
VS
165402011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16541
16542 * util/grub-mkimage.c (main): Explicitely flush and sync the output
16543 before closing to ensure that it will be readable by grub-setup.
16544
072b5d31
VS
165452011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16546
16547 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
16548 (devpath_1): Use MAKE_PIWG_PATH.
16549 (devpath_2): Likewise.
16550 (devpath_3): Likewise.
16551 (devpath_4): Likewise.
16552 (devpath_5): Likewise.
16553 (devpath_6): Likewise.
16554
16555 The appleldr.mod was checked that to be binary identical to previous
16556 version.
16557
7fae0051
Z
165582011-05-05 Zach <mikezackles>
16559
16560 Support 2010 Macbooks.
16561
16562 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
16563 (devs): Add devpath_6.
16564
7c515bee
VS
165652011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16566
16567 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
16568 /dev/random. /dev/urandom is good enough for our purposes (salting).
16569
ed660bd8
VS
165702011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16571
16572 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
16573
ee5614b7
VS
165742011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16575
16576 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
16577 hexadecimal.
16578
664889a6
VS
165792011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16580
16581 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
16582 and not 0 on failure.
16583
bd405bbc
CW
165842011-05-03 Colin Watson <cjwatson@ubuntu.com>
16585
16586 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
16587 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
16588 disk; otherwise grub_fs_probe will not fall back to the next
16589 filesystem.
16590 (grub_pxefs_open): Likewise, for consistency.
16591 Reported and tested by: Ezekiel Grave.
16592
4ebff753
CW
165932011-05-03 Colin Watson <cjwatson@ubuntu.com>
16594
16595 * tests/partmap_test.in: Don't hardcode path to parted.
16596 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
16597
8f942553
CW
165982011-05-01 Colin Watson <cjwatson@ubuntu.com>
16599
16600 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
16601 of `ls' to find out which devices are available.
16602
3c62402d
VS
166032011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16604
16605 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
16606 than source address for efi mmap buffer.
16607
723f63f2
VS
166082011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16609
16610 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
16611 wrong action on non-detecting the magic.
16612
68797f92
VS
166132011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16614
16615 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
16616 already supplied by another part of the module (fixes compilation on
16617 FreeBSD).
16618
6be8715d
VS
166192011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16620
16621 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
16622 match the one used by mdadm.
16623
e91dba5b
CW
166242011-04-21 Colin Watson <cjwatson@ubuntu.com>
16625
16626 * po/README: Add instructions for creating po/LINGUAS.
16627
c85140b3
CW
166282011-04-21 Colin Watson <cjwatson@ubuntu.com>
16629
16630 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
16631 #551428.
16632
16633 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
16634 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
16635 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
16636 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
16637 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
16638 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
16639 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
16640 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
16641 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
16642 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
16643 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
16644 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
16645 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
16646 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
16647 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
16648 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
16649 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
16650 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
16651 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
16652 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
16653 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
16654 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
16655
92051871
CW
166562011-04-21 Colin Watson <cjwatson@ubuntu.com>
16657
16658 * grub-core/kern/emu/getroot.c
16659 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
16660 test that was incorrectly reintroduced in r3214.
16661 Reported by: Ian Dall. Fixes Savannah bug #33133.
16662
b13f79a4
CW
166632011-04-21 Colin Watson <cjwatson@ubuntu.com>
16664
16665 Fix stack pointer handling in 16-bit relocator.
16666
16667 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
16668 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
16669 Fixes Ubuntu bug #683904.
16670
9b710a88
VS
166712011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16672
16673 * configure.ac: Bump version to 1.99~rc2.
16674
d97e7b59
VS
166752011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16676
16677 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
16678 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
16679 * grub-core/lib/x86_64/setjmp.S: Likewise.
16680 * grub-core/lib/mips/setjmp.S: Likewise.
16681 * grub-core/lib/powerpc/setjmp.S: Likewise.
16682 * grub-core/lib/sparc64/setjmp.S: Likewise.
16683
0624551c
VS
166842011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16685
16686 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
16687 * grub-core/lib/efi/datetime.c: Likewise.
16688
e8f28d4c
VS
166892011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16690
16691 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
16692 New function.
16693 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
16694 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
16695 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
16696
bba79a15
VS
166972011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16698
16699 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
16700 bitmap.
16701 (grub_gfxterm_term_init): Likewise.
16702
abc474ef
VS
167032011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16704
16705 Take into account the decorations the computing menu entry width.
16706
16707 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
16708 (grub_gfxmenu_create_box): Register get_border_width.
16709 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
16710 if available.
16711 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
16712 get_border_width.
16713
e74b3947
EP
167142011-04-18 Endres Puschner <code@e7p.de>
16715
16716 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
16717 Don't skip first class.
16718
34faa595
VS
167192011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16720
16721 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
16722 chunks.
16723 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
16724
93a777e3
VS
167252011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16726
16727 Complete 64-bit division support.
16728
16729 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
16730 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
16731 * include/grub/misc.h (grub_divmod64): Rename to ...
16732 (grub_divmod64_full): ... this.
16733 (grub_divmod64): New inline function.
16734
a5102d94
VS
167352011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16736
16737 * util/grub-mkimage.c (generate_image): Add forgotten comma.
16738
f3fb7b36
VS
167392011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16740
16741 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
16742 performing the necessary test.
16743
9ac718b0
VS
167442011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16745
16746 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
16747 (kfreebsd.elf): Likewise.
16748 (pc-chainloader.elf): Likewise.
16749 (ntldr.elf): Likewise.
16750
50d2cc5a
VS
167512011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16752
16753 Identify RAID by its UUID rather than (guessed) name.
16754
16755 * grub-core/disk/raid.c (ascii2hex): New function.
16756 (grub_raid_open): Accept mduuid/%s specification.
16757 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
16758 (get_mdadm_uuid): ... this.
16759 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
16760
e03f7bea
VS
167612011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
16762
16763 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
16764 to negative size.
16765
e74c3112
CW
167662011-04-13 Colin Watson <cjwatson@ubuntu.com>
16767
16768 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
16769 btrfs subvolume.
16770 * util/grub.d/20_linux_xen.in: Likewise.
16771
78fa584f
CW
167722011-04-13 Colin Watson <cjwatson@ubuntu.com>
16773
16774 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
16775 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
16776
16777 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16778 Build a list of relevant visible mounts using the mnt_id and
16779 parent_mnt_id fields, and then scan that list at the end.
16780
9d5f8162
CW
167812011-04-12 Colin Watson <cjwatson@ubuntu.com>
16782
16783 * docs/grub.texi (normal): New section.
16784 (normal_exit): New section.
16785 (Embedded configuration): Add reference to normal.
16786 (GRUB only offers a rescue shell): Likewise.
16787 * docs/grub-dev.texi (Error Handling): Fix typo.
16788
09a9d66f
CW
167892011-04-12 Colin Watson <cjwatson@ubuntu.com>
16790
16791 * NEWS: Drop obsolete entry about probe-only btrfs support.
16792
0c676933
CW
167932011-04-12 Colin Watson <cjwatson@ubuntu.com>
16794
16795 * util/import_gcry.py: Fix typo.
16796
ec9f5e0d
VS
167972011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16798
16799 * NEWS: Add btrfs support.
16800
fe6b2cba
VS
168012011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
168022011-04-11 Colin Watson <cjwatson@ubuntu.com>
16803
16804 BtrFS support. Written by me (Vladimir) with important bugfixes and
16805 even more important testing by Colin.
16806
16807 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
16808 * grub-core/Makefile.core.def (btrfs): Add crc.c.
16809 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
16810 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
16811 mem_input_off and mem_input. All users updated to accept in-RAM input.
16812 (gzio_seek): New function.
16813 (test_zlib_header): Likewise.
16814 (grub_gzio_read): Likewise.
16815 (grub_zlib_decompress): Likewise.
16816 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
16817 Accept partial and non-virtual mounts.
16818 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
16819 avoid receiving /dev/dm-X as device.
16820 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
16821 Handle bind and partial mounts.
16822 * grub-core/lib/crc.c: New file.
16823 * include/grub/deflate.h: Likewise.
16824 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
16825 proto.
16826 * include/grub/lib/crc.h: New file.
16827
e745cf0c
VS
168282011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16829
16830 Implement automatic module license checking according to new GNU
16831 guidelines.
16832
16833 * grub-core/kern/dl.c (grub_dl_check_license): New function.
16834 (grub_dl_load_core): Use grub_dl_check_license.
16835 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
16836 (GRUB_MOD_LICENSE): Likewise.
16837 (GRUB_MOD_DUAL_LICENSE): Likewise.
16838 All modules updated.
16839
2a9bc016
CW
168402011-04-11 Colin Watson <cjwatson@ubuntu.com>
16841
16842 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
16843 reserved_first_sector to 1. btrfs reserves plenty of space for boot
16844 loaders.
16845 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
16846
8a3bc88e
VS
168472011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16848
16849 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
16850
af869a4a
VS
168512011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16852
16853 * util/grub-fstest.c (read_file): Report GRUB error if file opening
16854 failed.
16855
9ee8d94f
VS
168562011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16857
16858 * grub-core/kern/file.c (grub_file_open): Don't take into account the
16859 parenthesis in the middle of the filename.
16860
b01abe3e
VS
168612011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16862
16863 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
16864 rather than trying to put initrd way too high.
16865 Reported by: Ryan Lortie <desrt@desrt.ca>
16866
335bda1e
VS
168672011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16868
16869 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
16870 improperly removed string.
16871
5ca1a64d
VS
168722011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16873
16874 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
16875 is_disk.
16876 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
16877 (open_device) Likewise.
16878 (grub_util_biosdisk_close): Likewise.
d8ce9995 16879 Reported by: Mark Korenberg.
5ca1a64d 16880
cbac5b1e
AK
168812011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
16882
16883 * util/grub-mkconfig_lib.in: Add missing quotes.
16884
088cdb65
CW
168852011-04-10 Colin Watson <cjwatson@ubuntu.com>
16886
16887 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
16888 is NULL.
16889
8b8a81fa
VS
168902011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16891
16892 Dynamically count the number of lines for the lower banner.
16893
16894 * grub-core/normal/menu_entry.c (per_term_screen): New member
16895 num_entries.
16896 (print_down): Use num_entries.
16897 (update_screen): Likewise.
16898 (grub_menu_entry_run): Set num_entries.
16899 * grub-core/normal/menu_text.c (menu_viewer_data): New member
16900 num_entries.
16901 (grub_print_message_indented): Move real part to ...
16902 (grub_print_message_indented_real): ... here. Additional argument
16903 dry_run.
16904 (draw_border): Additional argument num_entries.
16905 (print_message): Additional argument dry_run.
16906 (print_entries): Receive menu viewer data.
16907 (grub_menu_init_page): New argment num_entries.
16908 (menu_text_set_chosen_entry): Use num_entries.
16909 (grub_menu_try_text): Likewise.
16910 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
16911 All users updated.
16912 (grub_ucs4_count_lines): New function.
16913 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
16914 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
16915 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
16916 (grub_term_border_height): Likewise.
16917 (grub_term_num_entries): Likewise.
16918
277f955b
VS
169192011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16920
16921 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
16922 Remove now unused string.
16923
536ce85a
CW
169242011-04-09 Colin Watson <cjwatson@ubuntu.com>
16925
16926 * docs/grub-dev.texi (Finding your way around): Update for 1.99
16927 build system.
16928 (Getting started): GRUB is developed in Bazaar now, not Subversion.
16929
16930 (Comment): Fix typo.
16931 (Getting started): General copy-editing.
16932 (Typical Development Experience): Likewise.
16933 (Error Handling): Likewise.
16934 (Video API): Likewise.
16935
2cf09e32
CW
169362011-04-09 Colin Watson <cjwatson@ubuntu.com>
16937
16938 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
16939 throughout.
16940
1ec652f4
VS
169412011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16942
16943 * util/grub-mkimage.c (main): Handle special naming of yeeloong
16944 directory.
16945
2c583728
CW
169462011-04-08 Colin Watson <cjwatson@ubuntu.com>
16947
16948 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
16949 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
16950 "development".
16951
d7a565e9
VS
169522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16953
16954 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
16955 grub_strcpy since the lines aren't necessarily 0-terminated.
16956
7c2e4909
VS
169572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16958
16959 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
16960 root on legacy.
16961
34c09785
VS
169622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16963
16964 * grub-core/commands/probe.c (options): Argument to set isn't optional.
16965 (GRUB_MOD_INIT): DEVICE isn't optional.
16966
6a6f8058
VS
169672011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16968
16969 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
16970 word on new line if it's too long anyway. Fixes a hang.
16971
2e335e90
VS
169722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16973
16974 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
16975 const.
16976 * util/grub-setup.c (main): Reuse md device name if available.
16977 * util/raid.c (grub_util_raid_getmembers): Receive device name and
16978 not GRUB name as argument.
16979 Based on patch by: Florian Wagner <fwagner>.
16980
10a7a867
VS
169812011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16982
16983 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16984 Place mbi on low memory for better compatibility.
16985
7a3d6cd9
VS
169862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16987
16988 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
16989
18dd6b47
VS
169902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
169912011-04-08 Colin Watson <cjwatson@ubuntu.com>
16992
16993 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 16994 * conf/Makefile.common: Likewise.
18dd6b47 16995
3c0e3f14
VS
169962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16997
f7148863
VS
16998 * grub-core/normal/menu.c: Add missing include.
16999
170002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17001
17002 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 17003
6d1fa41f
MZ
170042011-04-08 Martin Zuther <mzuther@mzuther.de>
17005
17006 * util/grub-mkconfig.in: Ignore emacsen backup.
17007
478182a8
VS
170082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17009
17010 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
17011 on open.
17012 (grub_util_biosdisk_close): Likewise.
17013
72a89a54
VS
170142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17015
17016 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
17017 const attribute and use grub_isdigit.
17018
b5ebecfa
A
170192011-04-06 Andrey <dev_null@ukr.net>
17020
17021 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
17022 gcc warning.
17023
7755f66e
VS
170242011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17025
17026 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
17027 useful grub_dprintf's.
17028
461121ff
VS
170292011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17030
17031 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
17032
2a961775
VS
170332011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17034
17035 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
17036
adf594cc
VS
170372011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17038
17039 Output errors if theme loading failed.
17040
17041 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
17042 grub_gfxterm_fullscreen on error paths to ...
17043 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
17044 theme loading error.
17045
665900a3
VS
170462011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17047
17048 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
17049 space for older compilers.
17050 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17051
a562b479
VS
170522011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17053
17054 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
17055 and report them as not RAID members since they are useless for GRUB.
17056 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17057
850e9373
VS
170582011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17059
17060 Increase LVM implementation robustness in order not to crash on
17061 configurations like pvmove. Previously code assumed that in some places
17062 only lvs or only pvs are used whereas it seems that they are used
17063 interchangeably.
17064
17065 * grub-core/disk/lvm.c (read_node): New function.
17066 (read_lv): Use read_node.
17067 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
17068 Match volumes only at the end when all lvs are found. Take both
17069 pvs (first) and lvs (second) into account.
17070 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
17071 mirror_* into node_*. All users updated.
17072 (grub_lvm_stripe): Merge this ...
17073 (grub_lvm_mirror): ... and this ...
17074 (grub_lvm_node): ... into this. All users updated.
17075
6f332153
VS
170762011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17077
17078 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
17079 of function to allow further scanning for LVMs.
17080
829ea451
VS
170812011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17082
17083 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
17084 on failed seek as it breaks open fd reusage.
17085
09ceb9a5
VS
170862011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17087
17088 * util/grub-install.in: Add a recommendation to use --recheck before
17089 reporting bugs.
17090
67e11623
VS
170912011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17092
17093 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
17094 are obtained.
17095
caee5efd
VS
170962011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17097
17098 GRUB developper manual based on existing Internals section and
17099 contributions by the various authors with active copyright assignment.
17100
17101 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
17102 * docs/font_char_metrics.png: New file.
17103 * docs/font_char_metrics.txt: Likewise.
17104 * docs/grub-dev.texi: Likewise.
17105 * docs/grub.texi (Internals): Move from here ...
17106 * docs/grub-dev.texi: ... here.
17107
2cccc747
CW
171082011-04-01 Colin Watson <cjwatson@ubuntu.com>
17109
17110 Store the loopback device as data on loopback grub_disk structures,
17111 rather than the file it points to. This fixes use of freed memory
17112 if an existing loopback device is replaced.
17113
17114 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
17115 disk->data, not dev->file.
17116 (grub_loopback_read): Adjust file assignment to match.
17117 Fixes Ubuntu bug #742967.
17118
186ae367
CW
171192011-04-01 Colin Watson <cjwatson@ubuntu.com>
17120
17121 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
17122 when replacing an existing device.
17123
cfed2ad0
VS
171242011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
17125
17126 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
17127 memory corruptions.
17128
17129 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
17130 unsigned.
17131 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
17132 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
17133 (grub_jfs_read_inode): Likewise.
17134 (grub_jfs_opendir): Likewise. Remove now useless casts.
17135 (grub_jfs_getent): Likewise.
17136 Make ino a grub_uint32_t rather than int.
17137 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
17138 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
17139 division and module with bit operations.
17140 (grub_jfs_find_file): Make ino a grub_uint32_t.
17141 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
17142
05d2ed32
CW
171432011-04-01 Colin Watson <cjwatson@ubuntu.com>
17144
17145 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
17146 warning. (This was in fact always initialised before use, but GCC
17147 wasn't smart enough to prove that.)
17148 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
17149
91dc6073
VS
171502011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17151
17152 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
17153 stack alignment.
17154 (efi_wrap_1): Likewise.
17155 (efi_wrap_2): Likewise.
17156 (efi_wrap_3): Likewise.
17157 (efi_wrap_4): Likewise.
17158 (efi_wrap_5): Likewise.
17159 (efi_wrap_6): Likewise.
17160 (efi_wrap_10): Likewise.
17161 Based on information by: Red Hat/Peter Jones.
17162
a8afc1d1
CW
171632011-03-31 Colin Watson <cjwatson@ubuntu.com>
17164
17165 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
17166 set-but-not-used variable.
17167
a826cc7d
CW
171682011-03-31 Colin Watson <cjwatson@ubuntu.com>
17169
17170 * docs/grub.texi (Simple configuration): Be more explicit about
17171 GRUB_DEFAULT, and add an example.
17172 Reported by: Leslie Rhorer.
17173
875b67ba
CW
171742011-03-30 Colin Watson <cjwatson@ubuntu.com>
17175
17176 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
17177 shell".
17178
fd7cd914
AS
171792011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
17180
17181 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
17182 * util/grub.d/20_linux_xen.in: Likewise.
17183
090b1b6a
VS
171842011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17185
17186 * util/grub.d/10_linux.in: Try alternative config filenames where
17187 we parse config file.
17188 * util/grub.d/20_linux_xen.in: Likewise.
17189
baad885c
AS
171902011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
17191
17192 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
17193 * util/grub.d/20_linux_xen.in: Likewise.
17194
241e41f5
VS
171952011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17196
17197 * grub-core/disk/raid.c (insert_array): Add few potentially
17198 useful grub_util_info.
17199 (grub_raid_register): Likewise.
17200
56445fb2
VS
172012011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17202
17203 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
17204 Preserve partition number in mdadm code path.
17205
c871b1c6
VS
172062011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17207
17208 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
17209 few potentially useful grub_util_info.
17210
5e631b4f
CW
172112011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17212
17213 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
17214
2d5d0333
CW
172152011-03-30 Colin Watson <cjwatson@ubuntu.com>
17216
17217 * docs/grub.texi (default): Use @example rather than nested
17218 itemized lists to avoid breaking gendocs.
17219
3d7ed04e
CW
172202011-03-30 Colin Watson <cjwatson@ubuntu.com>
17221
17222 * docs/grub.texi (Future): Update.
17223
abf04200 172242011-03-30 Colin Watson <cjwatson@ubuntu.com>
17225
17226 * docs/grub.texi (Environment): New chapter.
17227 (Changes from GRUB Legacy): Link to "Environment block" section for
17228 details of limitations.
17229 (Simple configuration): Likewise. Link to documentation of gfxmode
17230 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
17231 respectively.
17232 (Shell-like scripting): Note that normal variables are stored in the
17233 environment.
17234 (gettext): Link to documentation of lang and locale_dir.
17235 (list_env): New section.
17236 (load_env): New section.
17237 (save_env): New section.
17238
17239 (Reporting bugs): Fix typo.
17240
e1ad0edd
VS
172412011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17242
17243 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
17244 the example.
17245
5d803174
VS
172462011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17247
17248 * grub-core/term/at_keyboard.c (set_scancodes)
17249 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
17250
2a2da1d0
CW
172512011-03-30 Colin Watson <cjwatson@ubuntu.com>
17252
17253 * docs/grub.texi (Menu-specific commands): Remove some semantics
17254 that were true in GRUB Legacy but not in GRUB 2.
17255 (submenu): New section.
17256 (false): New section.
17257 (read): New section.
17258 (true): New section.
17259
a7527639
CW
172602011-03-30 Colin Watson <cjwatson@ubuntu.com>
17261
17262 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
17263
172642011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
17265
17266 * docs/grub.texi (Simple configuration): Explain some of the
17267 current limitations of grub-mkconfig.
8a748df2 17268 Reported by: Leslie Rhorer.
e30af029 17269
fc858482
VS
172702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 Old macs search for boot.efi rather than for bootia32.efi.
17273
17274 * util/grub-install.in: Copy bootia32.efi to boot.efi.
17275 * util/grub-mkrescue.in: Likewise.
17276 Suggested by: Peter Jones.
17277
e1eb511d
VS
172782011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17279
17280 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
17281
70e75364
VS
172822011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17283
17284 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
17285 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
17286 (grub_lvm_mirror): New struct.
17287 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
17288 (grub_lvm_iterate): Iterate only visible volumes.
17289 (grub_lvm_read): Factor out to ..
17290 (read_lv): ... this. Support mirrors.
17291 (grub_lvm_read): New wrapper function.
17292 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
17293 stripped or mirrored.
17294
fc18f6a3
VS
172952011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17296
17297 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
17298
5c650f4c
CW
172992011-03-29 Colin Watson <cjwatson@ubuntu.com>
17300
17301 * docs/grub.texi (loopback): New section.
17302
61d7156b
CW
173032011-03-29 Colin Watson <cjwatson@ubuntu.com>
17304
17305 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
17306 removed -p option.
17307
994b8264
CW
173082011-03-29 Colin Watson <cjwatson@ubuntu.com>
17309
17310 * docs/grub.texi (BIOS installation): New section, partly based on
17311 previous text in other sections.
17312 (Installing GRUB using grub-install): Replace BIOS discussion with a
17313 cross-reference.
17314 (Images): Likewise.
17315
9e4d19e0
VS
173162011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17317
17318 * grub-core/kern/emu/hostdisk.c (find_partition_start)
17319 [HAVE_DIOCGDINFO]: Add safety checks.
17320
a307c0b2
VS
173212011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17322
17323 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
17324 per default compiled in kernel and prior to 8.0 isn't shipped at all.
17325
b4db4f39
CW
173262011-03-29 Colin Watson <cjwatson@ubuntu.com>
17327
17328 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
17329 real_sb->size is zero (e.g. RAID-0), get the disk size from
17330 real_sb->data_size instead.
17331 Fixes Ubuntu bug #743136.
17332
35e5f84c
VS
173332011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17334
17335 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
17336 printf clauses for printing size and start.
17337
d2e29d81
VS
173382011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17339
17340 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
17341 Reported and tested by: Timothy Nikkel.
17342
ed5587af
VS
173432011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17344
17345 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
17346 (dirty_region_add_real): ... this.
17347 (dirty_region_add): Don't discard margin refresh when performing
17348 scheduled repaint.
17349
a1dc717c
VS
173502011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17351
17352 * grub-core/lib/relocator.c (allocate_regstart)
17353 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
17354 terminals are capabple of malloc-free operation.
17355 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
17356 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
17357
9f3677d3
VS
173582011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
17359
17360 * util/grub-setup.c: Copy the partition table zone if floppy support
17361 is disabled, even if no partition table is found.
17362
17363 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
17364 during POST if an invalid partition table is contained in the PBR
17365 of the active partition when GRUB is installed to a partition.
17366
24148725
CW
173672011-03-28 Colin Watson <cjwatson@debian.org>
17368
17369 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
17370 comment.
17371
f329eda7
CW
173722011-03-28 Colin Watson <cjwatson@debian.org>
17373
17374 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
17375 to be specific about what kind of RAID device we're scanning for.
17376
c482ad98
SG
173772011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
17378
17379 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
17380 return freed string.
17381
5ee04984
VS
173822011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17383
17384 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
17385
f4727da9
VS
173862011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17387
17388 Use libgeom on FreeBSD to detect partitions.
17389
17390 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
17391 (grub-mkrelpath): Likewise.
17392 (grub-script-check): Likewise.
17393 (grub-editenv): Likewise.
17394 (grub-mkpasswd-pbkdf2): Likewise.
17395 (grub-fstest): Likewise.
17396 (grub-mkfont): Likewise.
17397 (grub-mkdevicemap): Likewise.
17398 (grub-probe): Likewise.
17399 (grub-setup): Likewise.
17400 (grub-ofpathname): Likewise.
17401 (grub-mklayout): Likewise.
17402 (example_unit_test): Likewise.
17403 (grub-menulst2cfg): Likewise.
17404 * grub-core/Makefile.core.def (grub-emu): Likewise.
17405 (grub-emu-lite): Likewise.
17406 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
17407 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
17408 define HAVE_DIOCGDINFO.
17409 (follow_geom_up) [FreeBSD]: New function.
17410 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
17411 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
17412 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
17413 unconditionally of HAVE_DIOCGDINFO.
17414
82fe6c75
VS
174152011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17416
17417 Fix FreeBSD compilation problem.
17418
17419 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
17420 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
17421
4c6c9431
CW
174222011-03-24 Colin Watson <cjwatson@ubuntu.com>
17423
17424 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
17425 Switch back to page zero before loading a kernel, since some kernel
17426 drivers expect that.
17427 Thanks to: Felix Kuehling.
17428
c7064d94
VS
174292011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17430
17431 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
17432 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
17433 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
17434
3f71cded
VS
174352011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17436
17437 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
17438 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
17439
ef6de21a
VS
174402011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17441
17442 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
17443 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
17444 malloc is disabled.
17445
8bc66a2c
VS
174462011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17447
17448 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
17449 for modules headers when counting the needed allocation size.
17450
5657722c
VS
174512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17452
17453 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
17454 if no ASCII character is found to prevent crash.
17455
41a85f55
AK
174562011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
17457
17458 * grub-core/video/bitmap.c (match_extension): Ignore case.
17459
59e1e5f1
VS
174602011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17461
17462 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
17463
bd4d051a
VS
174642011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17465
17466 * grub-core/script/parser.y: Declare "time" as valid argument.
17467
bae7fcc1
PJ
174682011-03-23 Peter Jones <pjones@redhat.com>
17469
17470 Fix incorrect assert failure reporting.
17471
17472 * grub-core/tests/example_functional_test.c (example_test): Add
17473 a failure comment.
17474 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
17475 (failure_start): ...this. Check that malloc succeeded.
17476 Don't call xvasprintf. Return failure struct.
17477 (failure_append_vtext): New function.
17478 (failure_append_text): Likewise.
17479 (add_failure): Likewise.
17480 (grub_test_assert_helper): Likewise.
17481 * include/grub/test.h (grub_test_assert_helper): New declaration.
17482 (grub_test_assert): Macro rewritten.
17483
537dc9be
VS
174842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17485
17486 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
17487
fa3e01bf
VS
174882011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17489
17490 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
17491
b1d28404
VS
174922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17493
17494 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
17495 into GRUB-style one.
17496
2e3e2e09
VS
174972011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17498
17499 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
17500 error and not grub_errno.
17501 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
17502
ed57e557
VS
175032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17504
17505 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
17506 GRUB_USB_SPEED_NONE in case of failure and not the error code.
17507
d1611f01
VS
175082011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17509
17510 * grub-core/efiemu/i386/pc/cfgtables.c
17511 (grub_machine_efiemu_init_tables): Make declaration a prototype.
17512 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
17513 (grub_xnu_unlock): Likewise.
17514 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
17515
7d4e39d6
VS
175162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17517
17518 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
17519 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
17520 * grub-core/commands/hashsum.c (aliases): Likewise.
17521 * grub-core/commands/setpci.c (pci_registers): Likewise.
17522 * grub-core/disk/usbms.c (attach_hook): Likewise.
17523 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
17524 (zio_checksum_table): Likewise.
17525 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
17526 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
17527 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
17528 * grub-core/lib/relocator.c (leftovers): Likewise.
17529 (extra_blocks): Likewise.
17530 * grub-core/loader/i386/bsd.c (relocator): Likewise.
17531 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
17532 (modules_last): Likewise.
17533 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
17534 (devices): Likewise.
17535 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
17536 (modules_last): Likewise.
17537 * grub-core/normal/auth.c (users): Likewise.
17538 * grub-core/normal/context.c (initial_menu): Likewise.
17539 (current_menu): Likewise.
17540 * grub-core/normal/crypto.c (crypto_specs): Likewise.
17541 * grub-core/term/serial.c (grub_serial_ports): Likewise.
17542 (grub_serial_terminfo_input_template): Likewise.
17543 (grub_serial_terminfo_output_template): Likewise.
17544 (grub_serial_terminfo_input): Likewise.
17545 (grub_serial_terminfo_output): Likewise.
17546 (registered): Likewise.
17547 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
17548
40fc4659
VS
175492011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17550
17551 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
17552 grub_video_mode_type_t.
17553 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
17554 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
17555 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
17556
2da48d28
VS
175572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17558
17559 * util/grub-install.in: Correct the x86-64 name as x86_64.
17560
9b43bf39
CW
175612011-03-11 Colin Watson <cjwatson@ubuntu.com>
17562
17563 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
17564 initial chunk read from the kernel always includes GRUB's multiboot
17565 header, which is now outside the first sector.
17566
be1a7ce0
CW
175672011-03-09 Colin Watson <cjwatson@ubuntu.com>
17568
17569 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
17570 cached mmap_size, so that this works correctly when called multiple
17571 times.
17572 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
17573
83a3c48d
CW
175742011-03-09 Colin Watson <cjwatson@ubuntu.com>
17575
17576 * docs/grub.texi (Simple configuration): Tidy up formatting.
17577
57d75699
SJ
175782011-03-07 Szymon Janc <szymon@janc.net.pl>
17579
17580 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
17581 Set-but-not-used variable removed.
17582
028501a0
VS
175832011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17584
17585 Workaround yet another IEEE1275 bug.
17586
17587 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
17588 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
17589 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
17590 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
17591 is set.
17592 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17593 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
17594
d998657d
VS
175952011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17596
17597 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
17598 error.
17599
fee7cdd4
CW
176002011-02-11 Colin Watson <cjwatson@ubuntu.com>
17601
17602 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
17603 empty, since in that case we can only generate either nothing or a
17604 syntactically invalid configuration file.
17605 Reported by: Michal Suchanek. Fixes Debian bug #612898.
17606
97286eb5
CW
176072011-02-09 Colin Watson <cjwatson@ubuntu.com>
17608
17609 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
17610 (Making a GRUB bootable CD-ROM): Likewise.
17611 (Invoking grub-mkrescue): New section.
17612 Reported by: Yann Dirson. Fixes Debian bug #612585.
17613
22b28eb3
CW
176142011-02-09 Colin Watson <cjwatson@ubuntu.com>
17615
17616 * util/grub-install.in: Remove unnecessary brackets from tr
17617 arguments.
17618 * util/grub.d/10_hurd.in: Likewise.
17619 * util/grub.d/10_kfreebsd.in: Likewise.
17620 * util/grub.d/10_linux.in: Likewise.
17621 * util/grub.d/20_linux_xen.in: Likewise.
17622 Reported by: Jamie Heilman. Fixes Debian bug #612564.
17623
7e735e43
CW
176242011-02-08 Colin Watson <cjwatson@ubuntu.com>
17625
17626 * include/grub/file.h (not_easly_seekable): Rename to ...
17627 (not_easily_seekable): ... this. Update all users.
17628
800f1881
CW
176292011-01-28 Colin Watson <cjwatson@ubuntu.com>
17630
17631 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
17632 grub-mkrescue.
17633
3281d3d6
VS
176342011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
17635
17636 * util/grub-mkimage.c (generate_image): Refuse to create the images
17637 bigger than the actual flash (512K) in Loongson machines. 512K is also
17638 the biggest chip supported by them.
17639
3533413c
VS
176402011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17641
17642 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
17643
73ae4f4f
VS
176442011-01-22 Anthony DeRobertis <anthony@derobert.net>
17645
17646 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
17647 super_offset field.
17648
37f4f608
VS
176492011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17650
17651 * util/grub-install.in: Ignore install device on platforms
17652 where it doesn't make sense. Always use UUIDs except on pc, efi and
17653 sparc64.
17654 Reported by: Daniel Kahn Gillmor.
17655
03a4ccb5
VS
176562011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17657
17658 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
17659
ffc8f4d8
VS
176602011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17661
17662 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
17663 (iterate_real): Don't rely on partition being non-NULL.
17664
80f23be7
VS
176652011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17666
17667 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
17668 supported platforms. Put a compile time assert for this rather than
17669 generate a warning with 32-bit shift.
17670
5d4f4dd5
VS
176712011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17672
17673 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
17674 logical expression more readable.
17675
e489601a
VS
176762011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17677
17678 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
17679 even if some elements have a name.
17680 Reported by: Alexander GQ Gerasiov.
17681
96e0a6ea
CW
176822011-01-22 Colin Watson <cjwatson@ubuntu.com>
17683
17684 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
17685 path unreadable if `grub-probe -t abstraction' fails, for example if
17686 memberlist fails on an LVM volume group.
17687 Reported by: Darius Jahandarie.
17688
81431e2b
CW
176892011-01-22 Colin Watson <cjwatson@ubuntu.com>
17690
17691 * docs/grub.texi (Simple configuration): Document
17692 GRUB_PRELOAD_MODULES.
17693
5e79d66a
CW
176942011-01-17 Colin Watson <cjwatson@ubuntu.com>
17695
17696 * .bzrignore: Remove nonexistent grub-pbkdf2.
17697
646ada34
VS
176982011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
17699
17700 * configure.ac: Bump version to 1.99~rc1.
17701
04360337
VS
177022011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17703
17704 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
17705 for safety.
17706
46c9db88
VS
177072011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17708
17709 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
17710 module.
17711
177122011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
17713
17714 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
17715
4fbf1852
VS
177162011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17717
17718 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
17719 diskdevid.
17720
f1632d4d
VS
177212011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17722
17723 Fix compilation on cygwin.
17724
17725 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
17726 -R .drectve on cygwin.
17727 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
17728 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
17729 (COND_CYGWIN): New condition.
17730 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
17731 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
17732 not @TARGET_OBJ2ELF@.
17733 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
17734 type to determine whether aux is to be used.
17735
0b5e127b
VS
177362011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17737
17738 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
17739 realpath'ed device string.
17740 Handle floppy (somewhat).
17741 Issue error in unknown case rather than garbage.
17742 Reported by: Axel Beckert.
17743
173b71e9
VS
177442011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17745
17746 * util/grub.d/00_header.in (load_video): Handle the case when no video
17747 drivers available.
17748 Thanks to: Axel Beckert.
17749
f8f479db
VS
177502011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17751
17752 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
17753 variable. Fixes problem on big endian platforms.
17754
8fc0a245
VS
177552011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17756
17757 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
17758 It doesn't work well there.
17759
b8494fbe
VS
177602011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17761
17762 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
17763 warning.
17764 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
17765 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
17766 counter.
17767
b44a558c
VS
177682011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17769
17770 Use alias->path rather than buggy "canon".
17771
17772 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
17773 (ofdisk_hash_add): New argument curcan. All users updated.
17774
51fa856c
CW
177752011-01-11 Colin Watson <cjwatson@ubuntu.com>
17776
17777 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
17778
9da068a5
VS
177792011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17780
17781 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
17782 loadmask before doing any calculations. Use correct type for offset.
17783 (grub_linux_load64): Likewise.
17784
86205c94
CW
177852011-01-11 Colin Watson <cjwatson@ubuntu.com>
17786
17787 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
17788 with NULL.
17789 (console_grub_equivalences_unshift): Likewise.
17790 Reported by: Daniel Dehennin.
17791
4531a206
VS
177922011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17793
17794 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
17795 (set_env_limn_ro): Likewise.
17796 (GRUB_MOD_INIT): Likewise.
17797 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
17798 ARRAY_SIZE while on it.
17799 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
17800 * grub-core/normal/context.c (grub_env_export): Move from here ...
17801 * grub-core/kern/env.c (grub_env_export): ... here.
17802 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
17803 prefix.
17804 * grub-core/kern/main.c (grub_main): Export root and prefix.
17805 * include/grub/env.h (grub_env_export): Export.
17806 Reported by: Seth Goldberg.
17807
45146057
VS
178082011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17809
17810 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17811 Take into account space used by ELF sections and multiboot palette.
17812 Reported by: Grégoire Sutre.
17813
f093110b
VS
178142011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17815
17816 * BUGS: New file.
17817
3395fe52
VS
178182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17819
17820 Pass more appropriate video id to Linux.
17821
17822 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
17823 grub_video_get_driver_id and variable gfxpayloadforcelfb to
17824 fill have_vga.
17825 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
17826 shift params->lfb_size.
17827 * include/grub/i386/linux.h: Make an enume out of have_vga values.
17828
c2fa6cbb
VS
178292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17830
17831 * util/grub-menulst2cfg.c: Add missing include of misc.h.
17832
b3ff6ff0
VS
178332011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17834
17835 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
17836 separator and pass bootpath/devid even if only one of them is available.
17837 Reported by: Seth Goldberg.
17838
ae67942e
VS
178392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17840
17841 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
17842 implementations bug on them.
17843
17844 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
17845 memory.
17846 (filter_memory_map): Likewise.
17847
d570097a
VS
178482011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17849
17850 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
17851 Reported by: nebuchadnezzar.
17852
a508e776
VS
178532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17854
17855 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
17856 Reported by: nebuchadnezzar.
17857
dcb883b1
VS
178582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17859
17860 Submenu default support.
17861
17862 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
17863 auto_boot. All users updated.
17864 Declared static.
17865 Handle chosen and default with submenus.
17866 (grub_menu_execute_with_fallback): Declared static.
17867 Don't notify failure if autobooted. Upper level does it.
17868 (menuentry_eq): New function.
17869 (get_entry_number): Use menuentry_eq.
17870 (show_menu): New parameter "autobooted". All users updated.
17871 (grub_show_menu): Likewise.
17872 * include/grub/normal.h (grub_show_menu): Likewise.
17873 * include/grub/menu.h (grub_menu_execute_entry): Removed.
17874 (grub_menu_execute_with_fallback): Likewise.
17875
6fef99b4
VS
178762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17877
17878 * util/grub-mklayout.c (usage): Update help text.
17879
47a77af5
VS
178802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17881
17882 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
17883
ce6bb3ee
VS
178842011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17885
17886 * util/grub-menulst2cfg.c (main): Trim the line.
17887
db87be2a
VS
178882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17889
17890 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
17891 (grub_machine_init): Don't check amount of low memory as reportedly
17892 INT 12h can be broken and if low memory is too low we wouldn't have
17893 gotten into grub_machine_init anyway.
17894
c49849cc
VS
178952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17896
17897 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
17898 (grub_machine_mmap_iterate): Take low memory into account
17899
b1969b30
VS
179002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17901
17902 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
17903 badfs.
17904 Reported by: TiCPU.
17905
cf0eaf13
VS
179062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17907
17908 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
17909 members errors.
17910
1f060f39
GS
179112011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17912
17913 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
17914 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
17915
a21e5672
GS
179162011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17917
17918 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
17919 openbsd and netbsd types being in part_bsd module.
17920
c88172fa
VS
179212011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17922
17923 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
17924 (_FILE_OFFSET_BITS): Likewise.
17925 Reported by: Seth Goldberg.
17926
53798c4b
GS
179272011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17928
17929 * configure.ac: Check for libdevmapper header.
17930
e7121b69
VS
179312011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17932
17933 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
17934 avoid aliasing.
17935 (fzap_lookup): Likewise.
17936 (dnode_get): Likewise.
17937 (make_mdn): Likewise.
17938 (zfs_mount): Likewise.
17939 (fzap_iterate): Use temporary pointer to avoid aliasing.
17940 (grub_zfs_read): Likewise.
17941 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
17942 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
17943 pointers to avoid aliasing.
17944 (grub_cmd_xnu_kernel64): Likewise.
17945 (grub_xnu_load_driver): Likewise.
17946
fc836af9
VS
179472011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17948
17949 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
17950 aliasing warning.
17951 (grub_cmd_terminal_output): Likewise.
17952 Reported and tested by: Grégoire Sutre.
17953
f9f37648
VS
179542011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17955
17956 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
17957 warning.
17958 Reported and tested by: Grégoire Sutre.
17959
ec1dfd63
VS
179602011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17961
17962 * configure.ac: Do CPU substitution even if it's specified explicitly.
17963 Reported and tested by: Alain Greppin.
17964
9462775a
VS
179652011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17966
17967 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
17968 Reported and tested by: Alain Greppin.
17969
0fd48e35
VS
179702011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17971
17972 Satisfy some bison versions need for inttypes.h.
17973
17974 * grub-core/lib/posix_wrap/inttypes.h: New file.
17975 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
17976 (int16_t): Likewise.
17977 (int32_t): Likewise.
17978 (int64_t): Likewise.
17979 Reported and tested by: Alain Greppin.
17980
43f1bc83
VS
179812011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17982
17983 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
17984 Silence spurious warning.
17985 Reported and tested by: Alain Greppin.
17986
64d1f041
SJ
179872011-01-07 Szymon Janc <szymon@janc.net.pl>
17988
17989 * docs/grub.texi (Support automatic decompression): Update with xz
17990 decompression support.
17991
25953e10
SJ
179922011-01-07 Szymon Janc <szymon@janc.net.pl>
17993
17994 Improve loaders' kernel command line handling.
17995
17996 * grub-core/lib/cmdline.c: New file.
17997 * include/grub/lib/cmdline.h: Likewise.
17998 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
17999 grub_create_loader_cmdline to create kernel command line.
18000 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18001 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
18002 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
18003 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
18004 (linux): Add lib/cmdline.c on common.
18005
e72d259f
VS
180062011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18007
18008 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
18009 inopos might be unaligned.
18010
c0cf26da
VS
180112011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18012
18013 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
18014 endian transformations.
18015 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18016 Based on report by: Doug Nazar.
18017
0ca09e6c
DN
180182011-01-07 Doug Nazar <nazard.michi@gmail.com>
18019
18020 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
18021 array->members[i].start_sector.
18022 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
18023
014b6806
VS
180242011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18025
18026 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
18027 Reported and tested by: Grégoire Sutre.
18028
415502c2
CW
180292011-01-06 Colin Watson <cjwatson@ubuntu.com>
18030
18031 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
18032 avoid causing test failures by clearing the screen.
18033
71b6a2b7
CW
180342011-01-06 Colin Watson <cjwatson@ubuntu.com>
18035
18036 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18037 Fix prefix check to handle the case where dir ends with a slash
18038 (most significantly, "/" itself).
18039 Reported by: Michael Vogt.
18040
b3f8d28a
VS
180412011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18042
18043 Run terminfo_cls on initing terminfo output to clear the screen and
18044 move the cursor to (0,0).
18045
18046 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
18047 Call grub_terminfo_output_init.
18048 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
18049 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
18050 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
18051
4c3e4f37
VS
180522011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18053
18054 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
18055 only when needed.
18056
488f71f1
VS
180572011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18058
18059 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
18060 CTRL.
18061
18a38098
VS
180622011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18063
18064 The E820 type 5 is BADRAM, not EXEC_CODE.
18065
18066 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
18067 (GRUB_E820_BADRAM): New define.
18068 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
18069 into reserved. Propagate BADRAM.
18070 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
18071 (GRUB_E820_BADRAM): New define.
18072
9eae2084
VS
180732011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18074
18075 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
18076 Ignore the memory post-4G.
18077 (grub_relocator_firmware_alloc_region): Additional debug statement.
18078
ebc71d28
VS
180792011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18080
18081 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
18082 names.
18083 Reported by: David Pravec.
18084
446fa400
VS
180852011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18086
18087 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
18088 BIOSes.
18089
a0159f37
VS
180902011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18091
18092 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
18093 Prevent overflow.
18094 (grub_reed_solomon_recover): Likewise.
18095
e5146ca1
VS
180962011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18097
18098 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
18099
181002011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
18101
18102 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
18103 variable.
18104
5b1bdf12
CW
181052011-01-04 Colin Watson <cjwatson@ubuntu.com>
18106
18107 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
18108 descriptions of extract_legacy_entries_source and
18109 extract_legacy_entries_configfile.
18110 Reported by: Seung Soo, Ha.
18111
99d925aa
CW
181122011-01-03 Colin Watson <cjwatson@ubuntu.com>
18113
18114 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
18115 on devices that do not implement function 0.
18116
4af0504b
DV
181172011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
18118
18119 * grub-core/fs/hfsplus.c: Make parent unsigned.
18120 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
18121 overflows.
18122 (grub_hfsplus_cmp_extkey): Likewise
18123
469ee10a
VS
181242011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
18125
18126 * util/grub-install.in: Correctly use bootloader_id and not
18127 GRUB_DISTRIBUTOR on efibootmgr line.
18128
323a8e9c
VS
181292011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
18130
18131 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
18132
1b394975
IC
181332010-12-31 Ian Campbell <ijc@hellion.org.uk>
18134
18135 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
18136 Xen and reorder menu item wording to make it clearer that this entry
18137 will launch Xen. Print separate messages when loading Xen and
18138 Linux.
18139
275bff5f
VS
181402010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18141
18142 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
18143 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
18144 loop in case of incorrect amiga partmap.
18145
307806cb
VS
181462010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18147
18148 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
18149 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
18150 Reported by:EHeM.
18151
b12b923e
VS
181522010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18153
18154 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
18155 spurious warning.
18156 Reported by: crocket
18157
14b48a19
VS
181582010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18159
18160 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
18161 Preload EFIemu.
18162 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
18163
693db2df
VS
181642010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18165
18166 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
18167 is loaded
18168 (grub_cmd_xnu_kextdir): Likewise.
18169 (grub_cmd_xnu_splash): Likewise.
18170
c7638645
VS
181712010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18172
18173 Avoid using Reed-Solomon with 0 redundancy.
18174
18175 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
18176 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
18177 or 0 redundancy.
18178 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
18179 (grub_reed_solomon_recover): Likewise.
18180
25dd4780
VS
181812010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18182
18183 Don't use disk subsystem in freebsd_boot.
18184
18185 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
18186 (freebsd_biosdev): Likewise.
18187 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
18188 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
18189
0b2db943
VS
181902010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
18191
18192 Handling of files of unknown size is currently limited. They can't be
18193 used e.g. for initrd or modules. Moreover gzip handling of not
18194 easily seekable files is buggy. Disable unknown file size for now. May
18195 be inefficient but works.
18196
18197 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
18198 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
18199
5c408d0f
MP
182002010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
18201
18202 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
18203 floppy probe.
18204
190a011a
JD
182052010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
18206
18207 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
18208
022d01b8
SL
182092010-12-25 Shea Levy <shlevy>
18210
18211 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
18212
c4855fdc
VS
182132010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18214
18215 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
18216 Windows Server 2008.
18217 Reported by: Devin Giddings.
18218
0354b867
VS
182192010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18220
18221 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
18222 writing an error message because of async power management.
18223 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
18224 (grub_reboot): Likewise.
18225
ab66c69f
JU
182262010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
18227
18228 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
18229 keep unit tests from failing when they shouldn't.
18230
1426ef35
CW
182312010-12-21 Colin Watson <cjwatson@ubuntu.com>
18232
18233 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
18234 previous patch increased the size of the RS code by 20 bytes (at
18235 least with gcc-4.4), so increase this by 20 bytes to match.
18236 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18237
20641b6b
CW
182382010-12-21 Colin Watson <cjwatson@ubuntu.com>
18239
18240 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
18241 scratch area. Make sure to initialise chosen in standalone mode as
18242 well as non-standalone.
18243 Reported by: Robert Hooker and Andy Whitcroft.
18244 Tested by: Andy Whitcroft.
18245
d060ad60
CW
182462010-12-21 Colin Watson <cjwatson@ubuntu.com>
18247
18248 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
18249 constructing a new unescaped string and passing it to grub_xputs in
18250 one go, rather than passing characters to grub_printf one at a time.
18251
b889cfad
CW
182522010-12-21 Colin Watson <cjwatson@ubuntu.com>
18253
18254 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
18255 initialising utf16.
18256
4e01b6c8
CW
182572010-12-21 Colin Watson <cjwatson@ubuntu.com>
18258
18259 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
18260 comment. Add an extra layer of quotation, requiring the output of
18261 this function to be used in a printf format string.
18262 (gettext_printf): New function.
18263 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
18264 Extract translatable strings from here-documents and use a temporary
18265 variable instead, so that xgettext can find them.
18266 * util/grub.d/10_kfreebsd.in: Likewise.
18267 * util/grub.d/10_linux.in: Likewise.
18268 * util/grub.d/20_linux_xen.in: Likewise.
18269
18270 * po/grub.d.sed: New file.
18271 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
18272 arguments. Set c-format flags on all strings extracted from
18273 util/grub.d/ (xgettext refuses to include these itself for strings
18274 it extracted from a shell file, but these really are c-format).
18275
5318fe98
VS
182762010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18277
18278 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
18279 Avoid next pointing to nowhere.
18280
6c85b743
VS
182812010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18282
18283 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
18284 rather than assuming than rootblock is exactly in the middle.
18285 (grub_affs_label): Likewise.
18286
a2a08a35
VS
182872010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18288
18289 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
18290 reserved_first_sector to 0.
18291 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
18292 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
18293 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
18294
7059d1ec
VS
182952010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18296
18297 Fix handling of UTF-16 UDF labels.
18298
18299 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
18300 (read_string): .. here.
18301 (grub_udf_label): Use read_string.
18302
30aff4cb
BC
183032010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
18304
18305 * grub-core/normal/menu_entry.c (run): Execute commands from menu
18306 editor under argument scope.
18307 Reported by: Jordan Uggla
18308
5cf86f4b
VS
183092010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18310
18311 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
18312
32570200
CW
183132010-12-18 Colin Watson <cjwatson@ubuntu.com>
18314
18315 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
18316 line, and other keys scroll an entire page (previous handling was
18317 for \r and \n to scroll a page and other keys to scroll two lines).
18318
e1dffcf2
VS
183192010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18320
18321 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18322 Set ptrdest to correct get_physical_target_address rather than
18323 incorrect get_virtual_current_address.
18324
b04298cf 183252010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
18326
18327 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
18328 correct cat to grub_uint8_t * rather than grub_uint32_t *.
18329
5367ecd3
CW
183302010-12-10 Colin Watson <cjwatson@ubuntu.com>
18331
18332 * .bzrignore: Ignore grub-core/rs_decoder.S.
18333
1fb430f8
CW
183342010-12-10 Colin Watson <cjwatson@ubuntu.com>
18335
18336 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
18337 .mo/.mo.gz opening sequence to ...
18338 (grub_mofile_open_lang): ... here.
18339 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
18340 * util/grub.d/00_header.in (grub_lang): Include country part of
18341 locale.
18342 Reported by: Mario Limonciello.
18343
a94a6671
RM
183442010-12-09 Robert Millan <rmh@gnu.org>
18345
18346 * NEWS: Document addition of ZFS support.
18347
24b7938b
CW
183482010-12-04 Colin Watson <cjwatson@ubuntu.com>
18349
18350 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
18351 rather than `/ 2', as the latter requires -Wa,--divide which would
18352 require bumping our minimum binutils version.
18353
bddc3ef6
BC
183542010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
18355
18356 * util/grub-script-check.c (main): Print script line number on
18357 error.
18358
bf78d5b2
RM
183592010-12-01 Robert Millan <rmh@gnu.org>
18360
18361 * grub-core/fs/zfs/zfs.c: New file.
18362 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
18363 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
18364 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
18365 * grub-core/fs/zfs/zfsinfo.c: Likewise.
18366
18367 * include/grub/zfs/dmu.h: Likewise.
18368 * include/grub/zfs/dmu_objset.h: Likewise.
18369 * include/grub/zfs/dnode.h: Likewise.
18370 * include/grub/zfs/dsl_dataset.h: Likewise.
18371 * include/grub/zfs/dsl_dir.h: Likewise.
18372 * include/grub/zfs/sa_impl.h: Likewise.
18373 * include/grub/zfs/spa.h: Likewise.
18374 * include/grub/zfs/uberblock_impl.h: Likewise.
18375 * include/grub/zfs/vdev_impl.h: Likewise.
18376 * include/grub/zfs/zap_impl.h: Likewise.
18377 * include/grub/zfs/zap_leaf.h: Likewise.
18378 * include/grub/zfs/zfs.h: Likewise.
18379 * include/grub/zfs/zfs_acl.h: Likewise.
18380 * include/grub/zfs/zfs_znode.h: Likewise.
18381 * include/grub/zfs/zil.h: Likewise.
18382 * include/grub/zfs/zio.h: Likewise.
18383 * include/grub/zfs/zio_checksum.h: Likewise.
18384
18385 * Makefile.util.def: Build ZFS into libgrubmods.
18386 * grub-core/Makefile.core.def: Build zfs.mod.
18387
3f0f3831
SJ
183882010-11-30 Szymon Janc <szymon@janc.net.pl>
18389
18390 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
18391 variable.
18392 * grub-core/commands/wildcard.c (match_files): Likewise.
18393
3a4253b2
RM
183942010-11-30 Robert Millan <rmh@gnu.org>
18395
18396 * grub-core/loader/i386/bsd.c
18397 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
18398 whether kernel is loaded using grub_loader_is_loaded(), rather
18399 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
18400 certain error conditions.
18401
8c317b27
RM
184022010-11-30 Robert Millan <rmh@gnu.org>
18403
c5c9cd3e
RM
18404 * grub-core/commands/echo.c: Include `<grub/term.h>'.
18405 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 18406
49d3ab46
VS
184072010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18408
18409 Avoid using tricks for initialising endian variables.
18410
18411 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
18412 Make const.
18413 (GRUB_MOD_INIT): Don't byte-swap.
18414 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18415 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
18416 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
18417 (grub_swap_bytes32_compile_time): Likewise.
18418 (grub_cpu_to_le32_compile_time): Likewise.
18419 (grub_cpu_to_le16_compile_time): Likewise.
18420
f420a804
VS
184212010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18422
18423 * util/grub-setup.c (setup): Stop recommending --force. People who
18424 understand the dangers of blocklists are able to find this option
18425 anyway and the ones who don't shouldn't use it anyway.
18426
4e7db17b
RM
184272010-11-26 Robert Millan <rmh@gnu.org>
18428
18429 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
18430 Update all users.
18431
9be57a0d
CW
184322010-11-26 Colin Watson <cjwatson@ubuntu.com>
18433
18434 Fix LVM-on-RAID probing.
18435
18436 * util/grub-probe.c (probe): Remember which disk was detected as
18437 RAID (perhaps an LVM physical volume). Use that disk's raidname
18438 rather than that of the top-level disk.
18439
2c7859b3 184402010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 18441
d7647bb6
BC
18442 Fix cmdline argument quotes for setparams command of menuentry
18443 definitions.
7e623b0d
BC
18444
18445 * grub-core/commands/menuentry.c (setparams_prefix): Use single
18446 quotes for arguments.
f866fe80 18447 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 18448 grub_strchrsub function instead.
f866fe80 18449
7955bea0 18450 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 18451
74f72a64
CW
184522010-11-24 Colin Watson <cjwatson@ubuntu.com>
18453
18454 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
18455 effort by skipping "." and ".." entries up-front.
18456 Suggested by: Michael Lazarev.
18457
5a407278
CW
184582010-11-24 Colin Watson <cjwatson@ubuntu.com>
18459
18460 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
18461 ldflags to ldadd, to fix link line ordering.
18462 (none_decompress): Likewise.
18463
3030d8ec
CW
184642010-11-24 Colin Watson <cjwatson@ubuntu.com>
18465
18466 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
18467 platforms.
18468 (grub-emu-lite): Remove kern/emu/cache.S.
18469
b7fbac12
CW
184702010-11-23 Colin Watson <cjwatson@ubuntu.com>
18471
18472 * util/deviceiter.c (compare_devices): If the by-id link for a
18473 device couldn't be resolved, fall back to sorting by the by-id link
18474 rather than segfaulting.
18475 Reported and tested by: Daniel Mierswa.
18476
5225f328
CW
184772010-11-23 Colin Watson <cjwatson@ubuntu.com>
18478
18479 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
18480 ldflags, to fix link line ordering.
18481
038b3ce8
CW
184822010-11-23 Colin Watson <cjwatson@ubuntu.com>
18483
18484 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
18485 linkers are picky about this.
18486
bf16e98e
CW
184872010-11-23 Colin Watson <cjwatson@ubuntu.com>
18488
18489 * grub-core/Makefile.am (command.lst): Adjust sed expression
18490 ordering so that extended and priority commands aren't treated as
18491 ordinary commands.
18492
7242bab6
CW
184932010-11-23 Colin Watson <cjwatson@ubuntu.com>
18494
18495 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18496 Remove byte-swapping function calls, which are not valid in
18497 structure initialisers.
18498 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
18499 non-const.
18500 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
18501 grub_gpt_partition_type_bios_boot.
18502
14e8b279
CW
185032010-11-22 Colin Watson <cjwatson@ubuntu.com>
18504
18505 Fix test program build on GNU/kFreeBSD.
18506
18507 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
18508 $(LIBNVPAIR)' library dependencies.
18509
e6f63338 185102010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
18511
18512 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
18513
cf8ffc38
CW
185142010-11-22 Colin Watson <cjwatson@ubuntu.com>
18515
18516 * util/grub-install.in: Remove excessive quoting that broke
18517 installations to RAID devices.
18518
7f8b0fd7
VS
185192010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18520
18521 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
18522 bootloader version instead of 0.
18523
dfd240b1
VS
185242010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18525
18526 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
18527 warning.
18528
7b61e609
VS
185292010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18530
18531 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
18532 retrieve the metadat sector if size isn't known.
18533 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18534
9dfe92d0
RM
185352010-11-18 Robert Millan <rmh@gnu.org>
18536
18537 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
18538 with grub_memcmp().
18539
41cc919e
VS
185402010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
18541
18542 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
18543 arrow.
18544 Reported by: Jordan Uggla.
18545
1afcc914
VS
185462010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18547
18548 Make better UTF compliant.
18549
18550 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
18551 sequences as incorrect.
18552 (grub_is_valid_utf8): Likewise.
18553 (grub_utf8_to_ucs4): Likewise.
18554 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
18555 (grub_ucs4_to_utf8_alloc): Likewise.
18556 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
18557
f1808884
VS
185582010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18559
18560 Make legacy_source behave like source.
18561
18562 * grub-core/commands/legacycfg.c (legacy_file): Don't call
18563 grub_show_menu.
18564 (grub_cmd_legacy_source): Call grub_show_menu if needed.
18565
24ec575b
CW
185662010-11-16 Colin Watson <cjwatson@debian.org>
18567
18568 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
18569 (-Wunused implies -Wunused-parameter, but not vice versa).
18570
72b7c7aa
CW
185712010-11-16 Colin Watson <cjwatson@ubuntu.com>
18572
18573 * configure.ac: Make error messages less confusing by testing for
18574 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
18575 accepted, but produces a diagnostic if something else is wrong).
18576
e98937aa
VS
185772010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18578
18579 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
18580 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
18581 (now unused).
18582 (grub_keyboard_controller_init)
18583 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
18584 read the initial state since controller isn't inited yet.
18585
f6bbabc3
VS
185862010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18587
18588 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
18589 allocate_regbeg may need to create new chunk header.
18590
22e7dbb2
VS
185912010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18592
18593 Fix quoting in legacy parser.
18594
18595 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
18596 single quotes.
18597 (grub_legacy_parse): Likewise.
18598 Reported by: Jordan Uggla.
18599 Tested by: Jordan Uggla.
18600
03f80960
VS
186012010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18602
18603 Don't add -lgcc on i386 and x86_64.
18604
18605 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
18606 * conf/Makefile.common (LDADD_KERNEL): Likewise.
18607 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
18608
779dc15b
VS
186092010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18610
18611 * configure.ac: Add -Wno-trampolines when supported.
18612
d20a3b37
MV
186132010-11-14 Modestas Vainius <modax@debian.org>
18614
18615 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
18616 fakeraid.
18617
e5360933
GC
186182010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18619
18620 Add generic logical block size support for UDF.
18621
18622 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
18623 (GRUB_UDF_BLKSZ): Removed.
18624 (struct grub_udf_data): New field "lbshift" to hold the logical block
18625 size of the file system in log2 format. All users updated.
18626 (sblocklist): Change type to unsigned.
18627 (grub_udf_mount): Change type of "sblklist" to unsigned.
18628 Move AVDP search before VRS recognition, because the latter requires
18629 knowledge of the logical block size, which is detected during the
18630 former.
18631 Detect and validate logical block size during AVDP search, adding
18632 support for block sizes 512, 1024 and 4096.
18633 Make VRS recognition independent of block size.
18634
cb0229c5
GC
186352010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18636
18637 Properly handle deleted files on UDF.
18638
18639 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
18640 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
18641 set.
18642
406858a8
GC
186432010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18644
18645 Support reading files larger than 2 GiB.
18646
18647 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
18648 "offset" to grub_off_t.
18649 (grub_udf_read_file): Likewise for parameter "pos".
18650
130da6a7
VS
186512010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18652
18653 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
18654 unavailable.
18655 (Simple configuration): Refer to Changes from GRUB Legacy about
18656 save_env availability.
18657
65e93f6b
VS
186582010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18659
18660 * util/grub-install.in: Ignore empty partition table detection
18661 instead of trying to include part_ module.
18662
1fd08bf1
VS
186632010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18664
18665 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
18666 LVM on RAID support.
18667
de1a024f
VS
186682010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18669
18670 Properly define WORDS_BIGENDIAN in wrapped environments.
18671
18672 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
18673 definition.
18674 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
18675
18676 Reported by: Manoel Rebelo Abranches.
18677 Tested by: Manoel Rebelo Abranches.
18678
bc5dd0b9
VS
186792010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18680
18681 * util/grub-mkconfig.in: Fix quoting.
18682
58c184be
VS
186832010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18684
18685 Support big ext2 files.
18686
18687 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
18688 (grub_ext2_read_block): Support triple indirect blocks.
18689 (grub_ext2_read_file): Use 64-bit types and read size_high.
18690 (grub_ext2_open): Read size_high.
18691 Reported by: Ximin Luo.
18692 Tested by: Manoel Rebelo Abranches.
18693
5f0c02b3
VS
186942010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18695
18696 * util/grub-install.in: Handle filenames containing spaces.
18697 Reported by: Jordan Uggla.
18698 Tested by: Jordan Uggla.
18699
4417aae6
VS
187002010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18701
18702 * util/grub-mkconfig.in (grub_script_check): New variable.
18703 Use grub_script_check instead of grub-script-check.
18704 Reported by: Barry Jackson.
18705
7625a68e
VS
187062010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18707
18708 * docs/grub.texi (menu): Correct the order.
18709 Reported by: D. Hugh Redelmeier.
18710
10001ac5
VS
187112010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
18712
18713 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
18714 jump.
18715
9c4cf53b
MRA
187162010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18717
10001ac5
VS
18718 * include/grub/elfload.h (grub_elf32_size): New parameter.
18719 All users updated.
9c4cf53b
MRA
18720 Return maximum segments alignment.
18721 (grub_elf64_size): Likewise.
18722 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
18723 Return maximum segments alignment.
18724 (grub_elf64_size): Likewise.
18725 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
18726 (grub_linux_claimmap_iterate): New function. Uses the
18727 "available" property in the "memory" node for memory allocation
18728 for kernel in the PowerPC loader.
9c4cf53b
MRA
18729 (grub_linux_load32): Correctly find linux entry point offset.
18730 (grub_linux_load64): Likewise.
18731
d2bf06bf
RM
187322010-11-07 Robert Millan <rmh@gnu.org>
18733
18734 On mips-yeeloong, build with -march=loongson2f when this flag is
18735 available (GCC >= 4.4).
18736 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
18737 `-march=mips3'.
18738 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
18739 or otherwise add -march=mips3.
18740
898c99a2
BC
187412010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
18742
87220a68
BC
18743 Suppress shell expansion on echo '*' and echo "*" like cases.
18744 Reported by: Jordan Uggla.
898c99a2
BC
18745
18746 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
18747 string arguments before shell expansion.
18748 * tests/grub_cmd_echo.in: New testcases.
18749
4f9b406a
RM
187502010-11-07 Robert Millan <rmh@gnu.org>
18751
18752 * conf/mips-qemu-mips.rmk: Remove stale file from previous
18753 transition.
18754
80c6d25e
VS
187552010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
18756
18757 * grub-core/kern/emu/hostdisk.c
18758 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
18759
4a1a0153
VS
187602010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18761
18762 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
18763 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
18764 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
18765
34706ddc
VS
187662010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18767
18768 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
18769
6972dea9
VS
187702010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18771
18772 * util/grub-install.in: Replace useless recomendation to pass
18773 --modules with a recomendation to report a bug.
18774
9c693bd6
VS
187752010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18776
18777 Properly register serial terminfo.
18778 Reported by: Jordan Uggla
18779
18780 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
18781 const.
18782 (grub_serial_terminfo_output_template): Likewise.
18783 (grub_cmd_serial): Register "serial" with terminfo.
18784 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
18785 grub_serial_terminfo_output.
18786
6c9e4c0c
RM
187872010-11-05 Robert Millan <rmh@gnu.org>
18788
18789 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
18790 needed).
18791
b9b3839f
RM
187922010-11-05 Robert Millan <rmh@gnu.org>
18793
18794 On Yeeloong, pass machine type information to Linux.
18795
18796 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
18797 (LOONGSON_MACHTYPE): New macro, set to
18798 "machtype=lemote-yeeloong-2f-8.9inches".
18799 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
18800 additional argument to Linux.
18801
1a3aaff4
RM
188022010-11-04 Robert Millan <rmh@gnu.org>
18803
18804 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
18805 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
18806 (its SATA disks are detected as slaveless IDE master drives on
18807 kFreeBSD).
18808 Reported by Carsten Aulbert.
18809
a75f4f62
CW
188102010-11-02 Colin Watson <cjwatson@ubuntu.com>
18811
18812 * util/bin2h.c (main): Fix spelling error in generated output.
18813
33b4b0c6
GS
188142010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
18815
18816 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
18817
2b36fbf4
VS
188182010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18819
18820 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
18821 vga= option is supplied.
18822
74aaf558
VS
188232010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18824
18825 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
18826 * util/grub.d/10_kfreebsd.in: Likewise.
18827 * util/grub.d/10_linux.in: Likewise.
18828 * util/grub.d/20_linux_xen.in: Likewise.
18829
6428dec3
VS
188302010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18831
18832 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
18833 argument as an argument to no-argument option.
18834
f8729d98
VS
188352010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18836
18837 * util/grub.d/10_linux.in: Add missing load_video with explicit
18838 GRUB_GFXPAYLOAD_LINUX.
18839
89d68fa6
VS
188402010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18841
18842 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
18843
3a1197cd
VS
188442010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18845
18846 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
18847 elements with invlid index.
18848 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18849 * grub-core/disk/raid.c (insert_array): Automatically reallocate
18850 members.
18851 * include/grub/raid.h (grub_raid_member): New struct.
18852 (grub_raid_array): Transform devices and start_sector into usage of
18853 grub_raid_member. All users updated
18854 (allocated_devs): New member.
18855
71574288
VS
188562010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18857
18858 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
18859 is modified
18860
8d40ec65
BC
188612010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
18862
18863 NetBSD build fix for getline function conflict from gnulib.
18864
18865 * Makefile.util.def (libgrubkern.a): New library for grub kernel
18866 components that depend on gnulib headers.
18867 (libgrubmods.a): Renamed from earlier libgrub.a.
18868 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
18869
95b9257e
VS
188702010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18871
18872 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
18873 install rather than creating a broken install.
18874
26c53dc6
VS
188752010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18876
18877 * util/grub-setup.c (argp): Remove misleading example of installing to
18878 a partition.
18879
4171b3c5
VS
188802010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18881
18882 * util/grub-setup.c (setup): Clarify the error message.
18883
18568d18
VS
188842010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18885
18886 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
18887
4f6a2e21
VS
188882010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
18889
18890 * grub-core/kern/emu/misc.c
18891 (grub_make_system_path_relative_to_its_root)
18892 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
18893
188942010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
18895
18896 * grub-core/kern/emu/misc.c
18897 (grub_make_system_path_relative_to_its_root): Revert r2882.
18898
e138c458
VS
188992010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
18900
18901 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
18902 useless field head. All users updated.
18903 (free_subchunk): Correct handling of IN_REGION subchunk.
18904
0cbcdf0e
CW
189052010-10-22 Colin Watson <cjwatson@ubuntu.com>
18906
18907 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
18908 (Supported kernels): Likewise.
18909
b65ea155
GS
189102010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18911
18912 Make mktemp invocations portable.
18913
18914 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
18915 exit if mktemp fails.
18916 * tests/grub_script_blockarg.in: Likewise.
18917 * tests/partmap_test.in: Likewise.
18918 * tests/util/grub-shell-tester.in: Likewise.
18919 * tests/util/grub-shell.in: Likewise.
18920 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18921 * Makefile.am: Likewise, and chain shell commands with `&&'
18922 instead of ';'.
18923 * util/grub-mkrescue.in: Use the same explicit template as above, and
18924 exit if mktemp fails.
18925
05f43cdd
BC
189262010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
18927
18928 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
18929 Linux kernel, reported by Dennis Schridde.
18930
800e6a9b
SJ
189312010-10-17 Szymon Janc <szymon@janc.net.pl>
18932
18933 * grub-core/normal/auth.c (grub_auth_check_authentication):
18934 Set-but-not-used variable removed.
18935
d82df574
VS
189362010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18937
18938 * docs/grub.texi (GNU/Linux): Document APM unavailability with
18939 32-bit linux protocol.
18940
7bced458
VS
189412010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18942
18943 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
18944 cursor shape for sanity.
18945
5b027690
VS
189462010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18947
18948 * docs/grub.texi (Installation): Document buggy BIOS install.
18949
ba5f65cf
VS
189502010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18951
18952 * docs/grub.texi (Installation): Indent.
18953
fdf2ec9c
VS
189542010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18955
18956 * util/grub-setup.c (setup): New parameter allow_floppy.
18957 (arguments): New member allow_floppy.
18958 (argp_parser): Handle --allow-floppy.
18959 (main): Pass allow_floppy.
18960 * util/grub-install.in: New option --allow-floppy passed though to
18961 grub-setup.
18962
861dfd4c
VS
189632010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18964
18965 * util/grub-install.in: Handle partitionless disks.
18966
f77a8c24
VS
189672010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18968
18969 * util/grub-setup.c (setup): Don't clean blocklists before readability
18970 verfification.
18971
27d9ee32
VS
189722010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18973
18974 * docs/grub.texi (Installation): Document embedding zone. Remove
18975 obsolete grub-install example.
18976
6bdda8f8
SJ
189772010-10-16 Szymon Janc <szymon@janc.net.pl>
18978
18979 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
18980 Set-but-not-used variable ifdef'ed.
18981 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
18982 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
18983 variable removed.
18984 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
18985 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
18986 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18987 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
18988 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
18989 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18990 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
18991 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
18992 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
18993 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
18994 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
18995 Likewise.
18996
e19b016b
VS
189972010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18998
18999 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
19000 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
19001 enum value.
19002
6c8d3002
VS
190032010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19004
19005 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
19006 synonym to _S5_. Needed for some DSDTs.
19007
c32b51c9
VS
190082010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19009
19010 Userspace ACPI parser debugging.
19011
19012 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
19013 headers and add relevant defines. Don't include standard headers.
19014 (main) [GRUB_DSDT_TEST]: New function.
19015 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
19016 Don't declare functions.
19017
fbfbeb39
VS
190182010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19019
19020 Remove dead grub_efi_mm_fini.
19021
19022 * grub-core/kern/efi/mm.c (allocated_page): Removed.
19023 (ALLOCATED_PAGES_SIZE): Likewise.
19024 (MAX_ALLOCATED_PAGES): Likewise.
19025 (allocated_pages): Likewise.
19026 (grub_efi_allocate_pages): Don't record allocated pages.
19027 (grub_efi_free_pages): Likewise.
19028 (grub_efi_mm_init): Likewise.
19029 (grub_efi_mm_fini): Removed.
19030
65f7ed7c
VS
190312010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19032
19033 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
19034 (grub_efi_mm_init): Take into account the memory map size increase.
19035
24977b44
VS
190362010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19037
19038 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
19039 (serial_hw_put): Wait based on real time rather than port reads. Don't
19040 roken ports.
19041 * include/grub/serial.h (grub_serial_port): New field broken.
19042
1eb01cd2
RM
190432010-10-16 Robert Millan <rmh@gnu.org>
19044
19045 * grub-core/kern/emu/misc.c
19046 (grub_make_system_path_relative_to_its_root): Fix premature return
19047 when processing non-root ZFS filesystems.
5f8b440b 19048 Reported by Sergio Talens-Oliag.
1eb01cd2 19049
2d5fed60
RM
190502010-10-15 Robert Millan <rmh@gnu.org>
19051
19052 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
19053 guarantee compressed ones are processed first.
19054
d0f4c1ea
VS
190552010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
19056
19057 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
19058 grub_efiemu_autocore.
19059
d87c681f
VS
190602010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
19061
19062 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
19063 rather than 0x1b.
19064 (grub_console_getkey): Use correct jae opcode rather than ja.
19065
219b3564
RM
190662010-10-12 Robert Millan <rmh@gnu.org>
19067
19068 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
19069 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
19070 variable. All references updated.
19071
19072 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
19073
20c6bb7e
VS
190742010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
19075
19076 Correctly distinguish mdraid flavours.
19077
19078 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
19079 (insert_array): New argument raid.
19080 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
19081 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
19082 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
19083
74baff84
VS
190842010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
19085
19086 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
19087 handling of special keys.
19088
3ef068df 190892010-10-02 Aleš Nesrsta <starous@volny.cz>
19090
c7980ad9
VS
19091 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
19092 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 19093
a9455194 190942010-10-02 Aleš Nesrsta <starous@volny.cz>
19095
c7980ad9
VS
19096 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
19097 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
19098 users updated.
a9455194 19099 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 19100 Use right endpoint when querying descriptor.
a9455194 19101
441cfe65
VS
191022010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
19103
19104 Clear out 0x80 color bit on EFI.
19105 Tested by: decoder
19106 Reported by: decoder and meta tech.
19107
19108 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
19109 (grub_console_setcolorstate): Clear out 0x80 bit.
19110 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
19111 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
19112 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
19113
bf26bcc4
VS
191142010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
19115
19116 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
19117 Set to "auto".
19118
6e3c515d
VS
191192010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19120
19121 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
19122 mo_file after freeing.
19123
e6d983ba
VS
191242010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19125
19126 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
19127
74ccb5b5
VS
191282010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19129
19130 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
19131 flags.
19132
17821956
VS
191332010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19134
19135 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
19136 usage.
19137
ee74fa48
VS
191382010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19139
19140 Put terminfo into core on ieee1275 and yeeloong (needed for console).
19141
19142 * gentpl.py: New groups terminfoinkernel and terminfomodule.
19143 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
19144 and terminfo.h when needed.
19145 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
19146 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
19147 (terminfo): Enable only on terminfokernel.
19148 (extcmd): Likewise.
19149 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
19150 * include/grub/lib/arg.h: Likewise.
19151 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
19152 incorrect usage of ->.
19153
aa438e68
VS
191542010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19155
19156 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
19157 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
19158
57994012
VS
191592010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19160
19161 Fix coreboot compilation.
19162
19163 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19164 Take VBE info into account even if only text is supported.
19165 (fill_vbe_info): Take into account the case when only VGA text
19166 is supported.
19167 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
19168 on coreboot, multiboot and qemu.
19169
2a406611
VS
191702010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19171
19172 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
19173 debug messages.
19174 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
19175
d33613fc
VS
191762010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19177
19178 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
19179 parameters.
19180
44a1b432
VS
191812010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19182
19183 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
19184 if they were BSD-style.
19185
edde54e6
VS
191862010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19187
19188 * grub-core/boot/i386/pc/lnxboot.S: Replace
19189 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
19190 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
19191
b65830fa
VS
191922010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19193
19194 Write embedding zone using Reed-Solomon.
19195
19196 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
19197 * grub-core/Makefile.am (rs_decoder.S): New target.
19198 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
19199 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
19200 (multiboot): Move to RS part.
19201 (post_reed_solomon): New label.
19202 (grub_boot_drive): Move to non-RS part since it's modified in memory
19203 on boot.
19204 Include rs_decoder.S.
19205 * grub-core/lib/reed_solomon.c: New file.
19206 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
19207 New definition.
19208 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
19209 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
19210 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
19211 * include/grub/partition.h (grub_partition_map): Change prototype of
19212 embed to allow returning additional sectors.
19213 * include/grub/reed_solomon.h: New file.
19214 * util/grub-setup.c (setup): Handle Reed-Solomon.
19215
0b4b227f
CW
192162010-09-28 Colin Watson <cjwatson@ubuntu.com>
19217
19218 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
19219 i386 and x86-64 definedness tests.
19220
f772623b
YB
192212010-09-27 Yves Blusseau <blusseau@zetam.org>
19222
19223 Fix generation of kernel_syms.lst
19224
19225 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
19226 ASM_PREFIX
19227
8e57a6ca
RM
192282010-09-26 Robert Millan <rmh@gnu.org>
19229
19230 Support degraded ZFS arrays in "grub-probe -t device" resolution.
19231
19232 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
19233 the pool is an array of devices, iterate through it and return the
19234 first device that passes a stat() test (instead of blindly returning
19235 the first one).
19236
f9130836
RM
192372010-09-26 Robert Millan <rmh@gnu.org>
19238
19239 Build fixes for GNU/kFreeBSD.
19240
19241 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
19242 to programs that require ZFS conversion.
19243 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
19244 kernels that don't have FLOPPY_MAJOR.
19245
96510faf
BC
192462010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
19247
19248 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
19249
449333eb
BC
192502010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
19251
19252 Fix grub-emu build.
19253
19254 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
19255 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
19256 mdraid09 and mdraid1x.
19257
e1fd1939
CW
192582010-09-24 Colin Watson <cjwatson@ubuntu.com>
19259
19260 Re-enable grub-extras.
19261
19262 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
19263 avoid confusing Automake. Run autogen only twice, once for the top
19264 level and once for grub-core. Add Makefile.util.def and
19265 Makefile.core.def from extra modules to the appropriate autogen
19266 invocations. If Makefile.common exists in an extra module, include
19267 it in both Makefile.util.am and grub-core/Makefile.core.am;
19268 similarly, include any Makefile.util.common file in Makefile.util.am
19269 and any Makefile.core.common file in grub-core/Makefile.core.am.
19270 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
19271 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
19272 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
19273 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
19274
19275 * gentpl.py (gvar_add): Turn GVARS into a set.
19276 (global_variable_initializers): Sort global variables on output.
19277 (vars_init): New function.
19278 (first_time): Likewise.
19279 (library): Ensure that non-global variable initialisations are
19280 emitted before the first time we emit code for a library block.
19281 Append to variables rather than setting them. Only emit
19282 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
19283 each conditional path.
19284 (program): installdir() emits an Autogen macro, so must be passed to
19285 var_add rather than gvar_add.
19286 (data): Likewise.
19287 (script): Likewise.
19288 (rules): New function, centralising handling for different target
19289 types. Set up Guile association lists for first_time and vars_init,
19290 and send most output to a diversion so that variable initialisations
19291 can be emitted first.
19292 (module_rules): Use new rules function.
19293 (kernel_rules): Likewise.
19294 (image_rules): Likewise.
19295 (library_rules): Likewise.
19296 (program_rules): Likewise.
19297 (script_rules): Likewise.
19298 (data_rules): Likewise.
19299
19300 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
19301
19302 * .bzrignore: Add contrib and grub-core/contrib. Remove
19303 grub-core/Makefile.gcry.am.
19304
1d12cf29
YB
193052010-09-24 Yves Blusseau <blusseau@zetam.org>
19306
19307 * grub-core/lib/LzFind.c: Add missing include.
19308 * grub-core/lib/LzmaEnc.c: Likewise.
19309 * grub-core/script/lexer.c: Likewise.
19310 * grub-core/script/yylex.l: Likewise.
19311 * util/grub-macho2img.c: Likewise.
19312 * util/grub-menulst2cfg.c: Likewise.
19313 * util/grub-mklayout.c: Likewise.
19314 * util/grub-mkpasswd-pbkdf2.c
19315 * util/grub-mkrelpath.c: Likewise.
19316 * util/resolve.c: Likewise.
19317
dd363028
BC
193182010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
19319
19320 * Makefile.util.def (example_unit_test): Add
19321 grub-core/gnulib/libgnu.a.
19322
f5a109e2
GS
193232010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
19324
19325 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
19326
6d0fa83c
VS
193272010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
19328
19329 Support xz compression on yeeloong.
19330
19331 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
19332 * configure.ac: Check for LZMA.
19333 * grub-core/Makefile.core.def (xz_decompress): New target.
19334 (none_decompress): Likewise.
19335 * grub-core/boot/decompressor/minilib.c: New file.
19336 * grub-core/boot/decompressor/none.c: Likewise.
19337 * grub-core/boot/decompressor/xz.c: Likewise.
19338 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
19339 * grub-core/kern/mips/cache_flush.S: Likewise.
19340 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
19341 * grub-core/kern/mips/startup.S: Move first stage to ...
19342 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
19343 nomacro.
19344 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
19345 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
19346 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
19347 Allocate statically.
19348 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
19349 Allocate statically or use scratch. Don't check CRC32.
19350 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
19351 Allocate statically. Don't check CRC32.
19352 * include/grub/decompressor.h: New file.
19353 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
19354 Removed.
19355 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
19356 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
19357 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
19358 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
19359 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
19360 * util/grub-mkimage.c (grub_compression_t): New type.
19361 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
19362 (image_target_desc): New field default_compression.
19363 (image_targets): Adjust yeeloong targets.
19364 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
19365 (compress_kernel): New parameter comp.
19366 (generate_image): Likewise. Handle new compression case.
19367 (options): New option --compression
19368 (help): Likewise.
19369 (main): Handle new option.
19370
1b655af6
GS
193712010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
19372
19373 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
19374
8f03f0b5
CW
193752010-09-22 Colin Watson <cjwatson@ubuntu.com>
19376
19377 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
19378 typo in __i386__ conditional.
19379
7835dfd3
VS
193802010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19381
19382 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
19383 include.
19384
e255597e
VS
193852010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19386
6d0fa83c 19387 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
19388
19389 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
19390 new tags as supported.
19391 (acpiv2_size): New function.
19392 (grub_multiboot_get_mbi_size): Take new tags into account.
19393 (grub_multiboot_make_mbi): Add new tags.
19394 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 19395
6cc14051 193962010-09-21 Aleš Nesrsta <starous@volny.cz>
19397
19398 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
19399 Added missing configuration of USB device.
19400
df7769d8
CW
194012010-09-21 Colin Watson <cjwatson@ubuntu.com>
19402
19403 * grub-core/normal/menu_entry.c (run): Make sure we always return
19404 a value.
19405
b031012d
CW
194062010-09-21 Colin Watson <cjwatson@ubuntu.com>
19407
19408 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
19409 NumberOfPages is UINT64 according to the UEFI specification, not
19410 UINTN. Fix printf format.
19411
174de8f3
CW
194122010-09-21 Colin Watson <cjwatson@ubuntu.com>
19413
19414 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
19415 `err' to grub_usb_err_t.
19416 Reported and tested by: KESHAV P.R.
19417
d7dbe923
CW
194182010-09-21 Colin Watson <cjwatson@ubuntu.com>
19419
19420 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
19421 tpart non-const, so that we can assign to it. (Since this is a
19422 typedef, the constness refers to the pointer rather than what it
19423 points to.)
19424
8d5e2af3
CW
194252010-09-21 Colin Watson <cjwatson@ubuntu.com>
19426
19427 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
19428 $(top_srcdir)/grub-core/gnulib as well as
19429 $(top_builddir)/grub-core/gnulib.
19430 Reported by: KESHAV P.R.
19431
5c527783
CW
194322010-09-21 Colin Watson <cjwatson@ubuntu.com>
19433
19434 * util/grub-install.in: Fix the bootloader ID option to be
19435 consistently --bootloader-id, not --bootloader_id.
19436 Reported by: KESHAV P.R.
19437
d309a16e
CW
194382010-09-21 Colin Watson <cjwatson@ubuntu.com>
19439
19440 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
19441 check hash checksum." consistently translatable.
19442
b830cd16
YB
194432010-09-21 Yves Blusseau <blusseau@zetam.org>
19444
19445 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
19446 $(top_builddir).
19447
c4fe27a8
CW
194482010-09-21 Colin Watson <cjwatson@ubuntu.com>
19449
19450 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
19451 (GRUB_MOD_INIT): Register sha1sum command.
19452 (GRUB_MOD_FINI): Unregister sha1sum command.
19453
a4c1d277
YB
194542010-09-21 Yves Blusseau <blusseau@zetam.org>
19455
19456 Keep boot and grub directory names in sync with utils scripts
19457
19458 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
19459 * config.h.in: Add previous macros.
19460 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
19461 * util/grub-install.in: Use $bootdir and $grubdir variables.
19462
4eff79d2
CW
194632010-09-21 Colin Watson <cjwatson@ubuntu.com>
19464
19465 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
19466 convert partition names to disk names if the new `convert' parameter
19467 is set.
19468 (grub_util_biosdisk_get_grub_dev): If opening the disk device
19469 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
19470 disk in its own right. This can happen with Xen disk images.
19471
934d7e44
YB
194722010-09-21 Yves Blusseau <blusseau@zetam.org>
19473
19474 * util/grub-editenv.c: Update strings to avoid warnings when generating
19475 grub.pot file.
19476 * util/grub-setup.c: Likewise.
934d7e44 19477
df3367cc
VS
194782010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19479
19480 * configure.ac: Change version to 1.99~beta0.
19481
77a94e98
VS
194822010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19483
19484 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
19485 Add BADRAM.
19486 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
19487 Likewise.
19488 * include/multiboot.h: Resynced with specification.
19489 * include/multiboot2.h: Likewise.
19490
269004c1
CW
194912010-09-21 Colin Watson <cjwatson@ubuntu.com>
19492
19493 Fix po directory handling.
19494
19495 * configure.ac: Create po/Makefile.in rather than po/Makefile.
19496 * grub-core/gnulib/Makefile.am: Import gettext module.
19497 * m4/gnulib-cache.m4: Likewise.
19498 * m4/gnulib-comp.m4: Likewise.
19499 * m4/gettext.m4: New file, from gnulib.
19500 * m4/glibc2.m4: Likewise.
19501 * m4/iconv.m4: Likewise.
19502 * m4/intdiv0.m4: Likewise.
19503 * m4/intl.m4: Likewise.
19504 * m4/intldir.m4: Likewise.
19505 * m4/intlmacosx.m4: Likewise.
19506 * m4/intmax.m4: Likewise.
19507 * m4/inttypes-pri.m4: Likewise.
19508 * m4/lcmessage.m4: Likewise.
19509 * m4/lib-ld.m4: Likewise.
19510 * m4/lib-link.m4: Likewise.
19511 * m4/lib-prefix.m4: Likewise.
19512 * m4/lock.m4: Likewise.
19513 * m4/nls.m4: Likewise.
19514 * m4/po.m4: Likewise.
19515 * m4/printf-posix.m4: Likewise.
19516 * m4/progtest.m4: Likewise.
19517 * m4/threadlib.m4: Likewise.
19518 * m4/uintmax_t.m4: Likewise.
19519 * m4/visibility.m4: Likewise.
19520 * po/Makefile.am: Remove.
19521 * po/Makefile.in.in: New file, from gettext.
19522 ($(DOMAIN).pot-update): Support POTFILES-shell.
19523 * po/Makevars: New file.
19524 * po/POTFILES-shell: Rename to ...
19525 * po/POTFILES-shell.in: ... this. Update.
19526 * po/POTFILES: Rename to ...
19527 * po/POTFILES.in: ... this. Update.
19528 * po/Rules-quot: New file, from gettext.
19529 * po/boldquot.sed: Likewise.
19530 * po/en@boldquot.header: Likewise.
19531 * po/en@quot.header: Likewise.
19532 * po/insert-header.sin: Likewise.
19533 * po/quot.sed: Likewise.
19534 * po/remove-potcdate.sin: Likewise.
19535
3e0fa5d0
VS
195362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19537
19538 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
19539
ade9bd66
VS
195402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19541
19542 * util/grub.d/20_linux_xen.in: Use submenus.
19543
fc55cc4c
VS
195442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19545
19546 Support submenus.
19547
19548 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
19549 parameter submenu. All users updated.
19550 * grub-core/normal/main.c (free_menu): Rename to ...
19551 (grub_normal_free_menu): ... this. Made global.
19552 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
19553 if requested.
19554 * grub-core/normal/menu_entry.c (screen): New field submenu.
19555 (make_screen): Set submenu.
19556 (run): Open new context if requested.
19557 * include/grub/menu.h (grub_menu_entry): New field submenu.
19558 * include/grub/normal.h (grub_normal_free_menu): New proto.
19559
600cedf7
VS
195602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19561
19562 Menu entries extractor.
19563
19564 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
19565 variants.
19566 (GRUB_MOD_INIT): Register new variants.
19567 (GRUB_MOD_FINI): Unregister new variants.
19568 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
19569 into grub_cmd_legacy_source.
19570 (grub_cmd_legacy_source): Implement extractor variants.
19571 (GRUB_MOD_INIT): Register new variants.
19572 (GRUB_MOD_FINI): Unregister new variants.
19573 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
19574 as an extractor.
19575 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
19576 search as an extractor.
19577 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
19578 test as an extractor.
19579 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
19580 as an extractor.
19581 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
19582 (grub_env_new_context): New function.
19583 (grub_env_context_open): Likewise.
19584 (grub_env_extractor_open): Likewise.
19585 (grub_env_extractor_close): Likewise.
19586 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19587 grub_extractor_level.
19588 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
19589 * include/grub/env.h (grub_env_extractor_open): New proto.
19590 (grub_env_extractor_close): Likewise.
19591 * include/grub/normal.h (grub_extractor_level): New external variable.
19592
7bda3a87
VS
195932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19594
19595 Make cutmem accept a region specification.
19596 Suggested by: Samuel Thibault
19597
19598 * grub-core/mmap/mmap.c (parsemem): New function.
19599 (grub_cmd_cutmem): Handle new arguments.
19600
2ea57f88
VS
196012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19602
19603 New command cutmem.
19604
19605 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
19606 (GRUB_MOD_INIT): Register new command.
19607 (GRUB_MOD_FINI): Unregister new command.
19608
74342e31
VS
196092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19610
19611 Support some annoying BSD and Minix subpartitions.
19612
19613 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
19614 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
19615 Properly handle concatenation.
19616 * grub-core/kern/device.c (grub_device_iterate): Likewise.
19617 * grub-core/normal/completion.c (iterate_partition): Likewise.
19618 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
19619 contain partition. All users updated.
19620 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
19621 struct.
19622 (grub_openbsdlabel_partition_map): Likewise.
19623 (bsdlabel_partition_map_iterate): Rename to ..
19624 (iterate_real): ... this. New arguments sector, freebsd and pmap.
19625 (bsdlabel_partition_map_iterate): New function.
19626 (netopenbsdlabel_partition_map_iterate): Likewise.
19627 (netbsdlabel_partition_map_iterate): Likewise.
19628 (openbsdlabel_partition_map_iterate): Likewise.
19629 (GRUB_MOD_INIT): Register new partmaps.
19630 (GRUB_MOD_FINI): Unregister new partmaps.
19631 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
19632 (grub_partition_msdos_iterate): ... this. All users updated.
19633 Don't support embedding other than in a minix partition.
19634 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
19635 proto.
19636 * include/grub/partition.h (grub_partition): New field msdostype.
19637 * util/grub-install.in: Handle openbsd and netbsd types being in
19638 part_bsd module.
19639
1e8d555b
VS
196402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19641
19642 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
19643
19644 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
19645 * grub-core/Makefile.core.def (mdraid): Renamed to ...
19646 (mdraid09): ... this.
19647 (mdraid1x): New module.
19648 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
19649 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
19650
899d8af4
VS
196512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19652
19653 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
19654 vsprintf.
19655
40901acd
CW
196562010-09-20 Colin Watson <cjwatson@ubuntu.com>
19657
19658 * grub-core/commands/efi/lsefimmap.c: Correct header.
19659 * NEWS: Update.
19660
dfe3b247
CW
196612010-09-20 Colin Watson <cjwatson@ubuntu.com>
19662
19663 * util/grub-editenv.c (argp_parser): Don't pass translated strings
19664 as printf format strings; the translations might contain '%' which
19665 could cause a crash.
19666 (main): Likewise.
19667 * util/grub-fstest.c (argp_parser): Likewise.
19668 * util/grub-setup.c (argp_parser): Likewise.
19669 (main): Likewise.
19670
3286a4b4
VS
196712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19672
19673 Use argp in grub-fstest.
19674
19675 * util/grub-fstest.c: Don't include getopt.h.
19676 Include argp.h.
19677 (root): New variable.
19678 (args_count): Likewise.
19679 (nparm): Likewise.
19680 (num_disks): Likewise.
19681 (images): Likewise.
19682 (cmd): Likewise.
19683 (debug_str): Likewise.
19684 (args): Likewise.
19685 (options): Transformed to argp.
19686 (usage): Removed.
19687 (main): Split argument parsing into ...
19688 (argp_parser): ... this. Changed to argp format.
19689 (argp): New variable.
19690 (main): Use argp_parse.
19691
3dccbe4b
TG
196922010-09-20 Tristan Gingold <gingold@free.fr>
196932010-09-20 Robert Millan <rmh.grub@aybabtu.com>
196942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19695
19696 * grub-core/commands/efi/lsefimmap.c: New file.
19697 * grub-core/Makefile.core.def (lsefimmap): New module.
19698 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
19699
38c259a7
VS
197002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19701
19702 Pause the execution (10s max) if any errors are displayed so the user
19703 has a chance to see them.
19704
19705 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
19706 (grub_print_error): Increment grub_err_printed_errors.
19707 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
19708 execution if any errors were displayed.
19709 (show_menu): Remove old code for pause.
19710 * grub-core/normal/menu_entry.c (run): Likewise.
19711 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
19712 users updated.
19713 (grub_normal_get_char_counter): Likewise.
19714 * include/grub/err.h (grub_err_printed_errors): New external variable.
19715 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
19716
f218b09c
VS
197172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19718
19719 Support multiboot VBE info.
19720
19721 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19722 Take VBE info into account.
19723 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
19724 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19725 Call fill_vbe_info when appropriate.
19726 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
19727 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
19728 as supported.
19729 (grub_multiboot_get_mbi_size): Take new tags into account.
19730 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
19731 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19732 Call fill_vbe_tag when appropriate.
19733 (grub_multiboot_make_mbi): Properly align tags.
19734 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
19735 function.
19736 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
19737 proto.
19738 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
19739
a9cc5438
VS
197402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19741
19742 Suport manual terminal geometry specification.
19743
19744 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
19745 Save state in grub_ofconsole_terminfo_output.
19746 (grub_ofconsole_term): Use grub_terminfo_getwh.
19747 (grub_ofconsole_getwh): Removed.
19748 * grub-core/term/serial.c (grub_serial_getwh): Removed.
19749 (grub_serial_term): Use grub_terminfo_getwh.
19750 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
19751 (options): New struct.
19752 (OPTION_*): New enum.
19753 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
19754 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
19755 width and height.
19756 (grub_terminfo_getwh): New proto.
19757 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
19758
1a8fed20
VS
197592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19760
19761 Handle legacy "terminal" command.
19762
19763 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
19764 and FLAG_TERMINAL.
19765 (legacy_commands): Add terminal and title.
19766 (grub_legacy_parse): Handle terminal. Simplify title handling.
19767
41e9c57d
VS
197682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19769
19770 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
19771 parameters overflow.
19772
61c874c5
CW
197732010-09-20 Colin Watson <cjwatson@ubuntu.com>
19774
19775 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
19776 widthspec.h.
19777
19778 * docs/grub.texi (Shell-like scripting): Document `!'.
19779 (Network): Simplify using new i386-pc-pxe format. Mention
19780 grub-mknetdir.
19781
19782 * NEWS: Update.
19783
943682b4
CW
197842010-09-20 Colin Watson <cjwatson@ubuntu.com>
19785
19786 * Makefile.am (SUBDIRS): Restore "."; it's important to force
19787 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
19788 when needed.
19789
6d3d698d
CW
197902010-09-20 Colin Watson <cjwatson@ubuntu.com>
19791
19792 * grub-core/commands/efi/lsefisystab.c: Correct header.
19793 * grub-core/commands/efi/lssal.c: Likewise.
19794 * grub-core/commands/testload.c: Likewise.
19795
c982589f
CW
197962010-09-20 Colin Watson <cjwatson@ubuntu.com>
19797
19798 * util/grub-mkrescue.in: Add explicit root argument to --set to
19799 prevent the UUID being interpreted as an argument to --set (matches
19800 previous change to prepare_grub_to_access_device).
19801
a63c31b6
CW
198022010-09-20 Colin Watson <cjwatson@ubuntu.com>
19803
19804 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
19805 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
19806 the verbosity of later #ifs.
19807 (find_partition_start): Define this function on FreeBSD too.
19808 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
19809 function.
19810 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
19811 on FreeBSD.
19812
6439b8ee
YB
198132010-09-20 Yves Blusseau <blusseau@zetam.org>
19814
19815 * util/grub-editenv.c: Use argp instead of getopt.
19816
c5930ec8
YB
198172010-09-20 Yves Blusseau <blusseau@zetam.org>
19818
19819 * util/grub-setup.c: Use argp instead of getopt.
19820
15c69261
YB
198212010-09-20 Yves Blusseau <blusseau@zetam.org>
19822
19823 Use gnulib-tool to create gnulib source files.
19824
19825 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
19826 grub-core/gnulib directories
19827 * .bzignore: Add **/.deps and autogenerated gnulib files
19828 * configure.ac: Assign auxiliary directory to build-aux, add invocation
19829 of gnulib macros, add grub-core/gnulib/Makefile
19830 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
19831 include m4 directory to aclocal.
19832 * Makefile.util.def: Remove direct compilation of gnulib source files
19833 and use the new grub-core/gnulib/libgnu.a.
19834 * build-aux/config.rpath: move config.rpath from top directory to
19835 build-aux
19836 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
19837 in gnulib headers
19838 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
19839 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
19840 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
19841 header.
19842 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
19843 string.
19844
e511c9f5
YB
198452010-09-20 Yves Blusseau <blusseau@zetam.org>
19846
19847 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
19848 grub-core/genmod.sh and grub-core/gensyminfo.sh
19849
c2dede05
BC
198502010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
19851
19852 Add a test for echo command options.
19853
19854 * tests/grub_cmd_echo.in: New test.
19855 * Makefile.util.def: Rules for new test.
19856
c55f5018
SJ
198572010-09-20 Szymon Janc <szymon@janc.net.pl>
19858
19859 Remove crc.mod and move crc command to hashsum.mod.
19860 Remove lib/crc.c - users updated to use gcrypt implementation.
19861
19862 * grub-core/commands/crc.c: Removed.
19863 * grub-core/Makefile.core.def (crc): Module removed.
19864 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
19865 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
19866 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
19867 * grub-core/lib/crc.c: Removed.
19868 * include/grub/lib/crc.h: Removed.
19869 * Makefile.util.def (crc): Remove lib/crc.c
19870 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
19871 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
19872 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
19873 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
19874 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
19875 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
19876
e0337366
VS
198772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19878
19879 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
19880
742f9232
VS
198812010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19882
19883 Split config.h for util and core.
19884
19885 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
19886 (ADDR32): Likewise.
19887 (DATA32): Likewise.
19888 (BSS_START_SYMBOL): Likewise.
19889 (END_SYMBOL): Likewise.
19890 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
19891 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
19892 * config.h.in: New file.
19893 * configure.ac: Use config-util.h as config define file.
19894 Rename MACHINE into GRUB_MACHINE. All users updated.
19895 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
19896 updated.
19897 (NESTED_FUNC_ATTR): Likewise.
19898 Substitue new variables.
19899 (COND_HAVE_ASM_USCORE): New conditional.
19900 * grub-core/Makefile.am (ASM_PREFIX): New variable.
19901 (kernel_syms.lst): Use ASM_PREFIX.
19902 * grub-core/kern/emu/console.c: Include config-util.h.
19903 * grub-core/kern/emu/misc.c: Likewise.
19904 * grub-core/kern/emu/mm.c: Likewise.
19905 * include/grub/emu/misc.h: Likewise.
19906 * include/grub/libgcc.h: Likewise.
19907
39feb0e8
VS
199082010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19909
19910 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
19911 constants usage.
19912 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
19913 Fix GRUB_TERM_KEY_* constants usage.
19914 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
19915
9af6dac3
VS
199162010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19917
19918 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
19919 print pointer.
19920 * grub-core/bus/usb/uhci.c: Remove empty define.
19921 (grub_uhci_check_transfer): Add missing cast.
19922 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
19923 print pointer.
19924 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
19925 PRIuGRUB_SIZE.
19926 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
19927
d6d94820
VS
199282010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19929
19930 * grub-core/Makefile.core.def (legacycfg): Add
19931 lib/i386/pc/vesa_modes_table.c on emu.
19932
3572f2b6
BC
199332010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19934
19935 Reduce number of temporary files generated by build system.
19936
19937 * grub-core/gencmdlist.sh: Removed.
19938 * grub-core/genfslist.sh: Removed.
19939 * grub-core/genhandlerlist.sh: Removed.
19940 * grub-core/genmodsrc.sh: Removed.
19941 * grub-core/genpartmaplist.sh: Removed.
19942 * grub-core/genparttoollist.sh: Removed.
19943 * grub-core/gentermiinallist.sh: Removed.
19944 * grub-core/genvideolist.sh: Removed.
19945
19946 * grub-core/genmod.sh.in: New file.
19947 * grub-core/gensyminfo.sh.in: New file.
19948
19949 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
19950 * conf/Makefile.extra-dist: Update with new files.
19951 * gentpl.py: Remove rules related to unnecessary temporary files.
19952 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
19953 and und-* files.
19954 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
19955 genmod.sh scripts.
19956 * grub-core/bus/usb/uhci.c: Remove empty #define.
19957 * grub-core/genmoddep.awk: Updated with new syminfo format.
19958 * util/bash-completion.d/Makefile.am: Add config.log to
19959 CLEANFILES.
19960
c836b030
YB
199612010-09-19 Yves Blusseau <blusseau@zetam.org>
19962
19963 * Makefile.util.def: Add forgotten $(LIBINTL) library.
19964
2f4e8053
BC
199652010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19966
19967 * util/grub-mkconfig.in: Check the config script for syntax errors
19968 before saving.
19969
75831c34
CW
199702010-09-19 Colin Watson <cjwatson@ubuntu.com>
199712010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19972
19973 * Makefile.util.def (grub-install): Use util/grub-install.in on all
19974 platforms.
19975 * util/grub-install.in: Add EFI and IEEE1275 support.
19976 * util/i386/efi/grub-install.in: Removed.
19977 * util/ieee1275/grub-install.in: Likewise.
19978
eaf41b25
VS
199792010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19980
19981 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
19982 (grub_cmd_cmosclean): Likewise.
19983 (GRUB_MOD_INIT): Register command cmosclean.
19984 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
19985 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
19986
1a9130dd
CPE
199872010-09-18 Carles Pina i Estany <carles@pina.cat>
199882010-09-18 Aleš Nesrsta <starous@volny.cz>
199892010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19990
19991 Add keyboard layouts support.
19992
19993 * Makefile.util.def (grub-mklayout): New file.
19994 (grub-kbdcomp): New script.
19995 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
19996 Add keyboard_layouts.h.
19997 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
19998 commands/boot.c on yeeloong.
19999 (keylayouts): New module.
20000 * grub-core/bus/usb/ohci.c
20001 * grub-core/bus/usb/uhci.c
20002 * grub-core/bus/usb/usbhub.c (rescan): New variable.
20003 (grub_usb_add_hub): Poll interrupt pipe for device handling.
20004 (attach_root_port): Likewise.
20005 (poll_nonroot_hub): Likewise.
20006 (grub_usb_poll_devices): Likewise.
20007 (detach_device): Close transfer.
20008 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
20009 function.
20010 (grub_usb_bulk_setup_readwrite): Likewise.
20011 (grub_usb_bulk_finish_readwrite): Likewise.
20012 * grub-core/commands/keylayouts.c: New file.
20013 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
20014 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
20015 aliases.
20016 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
20017 support scancode 2.
20018 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
20019 * include/grub/keyboard_layouts.h: New file.
20020 * util/grub-mklayout.c: New file.
20021 * util/grub-kbdcomp.in: Likewise.
20022
a1d84a5e
VS
200232010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20024
20025 Unify memory types.
20026
20027 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
20028 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
20029 types.
20030 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
20031 (grub_upper_mem): Likewise.
20032 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
20033 * include/grub/memory.h (grub_memory_type_t): New enum.
20034 All users updated.
20035
9696382e
VS
200362010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20037
20038 * grub-core/Makefile.core.def (lsapm): New module.
20039 * grub-core/commands/i386/pc/lsapm.c: New file.
20040 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
20041 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
20042 Likewise.
20043 * include/grub/i386/pc/apm.h: New file.
20044 * include/multiboot.h (multiboot_apm_info): New struct.
20045
200462010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20047
20048 GRUB-legacy configuration file support.
20049
20050 * Makefile.util.def (grub-menulst2cfg): New util.
20051 * docs/man/grub-menulst2cfg.h2m: New file.
20052 * grub-core/Makefile.core.def (legacycfg): New module.
20053 * grub-core/commands/legacycfg.c: New file.
20054 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
20055 (grub_normal_add_menu_entry): ... this.
20056 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
20057 (grub_normal_set_password): ...this.
20058 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
20059 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
20060 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
20061 * grub-core/lib/legacy_parse.c: New file.
20062 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
20063 * include/grub/i386/pc/vesa_modes_table.h: New file.
20064 * include/grub/legacy_parse.h: Likewise.
20065 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
20066 * util/grub-menulst2cfg.c: New file.
20067
bf8d1338
CW
200682010-09-17 Colin Watson <cjwatson@ubuntu.com>
20069
20070 * grub-core/kern/emu/hostdisk.c
20071 (convert_system_partition_to_system_disk): Initialise node.
20072
9c0bad2e
CW
200732010-09-17 Colin Watson <cjwatson@ubuntu.com>
20074
20075 * grub-core/kern/emu/hostdisk.c
20076 (convert_system_partition_to_system_disk): Fix devmapper memory pool
20077 leak.
20078 Reported and based on patch by: Modestas Vainius.
20079
a939d135
CW
200802010-09-17 Colin Watson <cjwatson@ubuntu.com>
20081
20082 Fix DM-RAID probing with recent versions of device-mapper udev
20083 rules.
20084
20085 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
20086 canonicalise device paths under /dev/mapper/.
20087 (convert_system_partition_to_system_disk): Compare the
20088 uncanonicalised path to /dev/mapper/ rather than the canonicalised
20089 path, since device nodes under /dev/mapper/ are often symlinks.
20090
0f7ee3c9
YB
200912010-09-17 Yves Blusseau <blusseau@zetam.org>
20092
20093 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
20094
10854d0d
YB
200952010-09-16 Yves Blusseau <blusseau@zetam.org>
20096
20097 * configure.ac: Avoid some annoying error messages if freetype-config
20098 program is not found.
20099
108538d8
CW
201002010-09-16 Colin Watson <cjwatson@ubuntu.com>
20101
20102 Support RAID on virtio devices, and others.
20103
20104 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
20105 Rename to ...
20106 [__MINGW32__] (grub_find_device): ... this.
20107 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
20108 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
20109 reasonable default if dir is NULL.
20110 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
20111 ...
20112 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
20113 (grub_guess_root_device): Update callers.
20114 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
20115
20116 * util/raid.c (grub_util_getdiskname): Remove.
20117 (grub_util_raid_getmembers): Use grub_find_device rather than
20118 grub_util_getdiskname.
20119
e5bfc130
CW
201202010-09-16 Colin Watson <cjwatson@ubuntu.com>
20121
20122 * docs/grub.texi (serial): Remove obsolete comment about GRUB
20123 needing to be compiled with serial support.
20124 (ls): Indicate that multiple files are accepted.
20125 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
20126 indicate that multiple files are accepted.
20127
be458ae2
CW
201282010-09-16 Colin Watson <cjwatson@ubuntu.com>
20129
20130 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
20131 libgrub_a_init.c, and util/bash-completion.d/grub.
20132
cb731b5e
VS
201332010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20134
20135 * util/grub-setup.c (setup): Fix incorrect container semantics.
20136
35139e8a
VS
201372010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20138
20139 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
20140 misusage.
20141 Reported by: J. Nick Terry
20142
e50fca4a
VS
201432010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20144
20145 Move embedding routines to partmap sources files.
20146
20147 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
20148 [GRUB_UTIL]: New variable.
20149 (gpt_partition_map_iterate): Set part.parent.
20150 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
20151 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
20152 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
20153 New function.
20154 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
20155 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
20156 (grub_partition_map) [GRUB_UTIL]: New field embed.
20157 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
20158 (setup): Use ->embed.
20159
f00478b7
VS
201602010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20161
20162 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
20163 function.
20164 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
20165 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
20166
2b94e3ff
YB
201672010-09-15 Yves Blusseau <blusseau@zetam.org>
20168
20169 Add function to get completions from usage.
20170
20171 * util/bash-completion.d/grub-completion.bash.in: Add function to get
20172 completions from usage. Use LC_ALL=C to get options properly.
20173
2e04a006
VS
201742010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20175
20176 * grub-core/gnulib/basename-lgpl.c: Imported.
20177 * grub-core/gnulib/basename.c: Likewise.
20178 * grub-core/gnulib/dirname-lgpl.c: Likewise.
20179 * grub-core/gnulib/dirname.c: Likewise.
20180 * grub-core/gnulib/dirname.h: Likewise.
20181 * grub-core/gnulib/stripslash.c: Likewise.
20182
5dcdf93a
VS
201832010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20184
20185 * grub-core/gnulib/error.c: Resynced.
20186 * grub-core/gnulib/getopt.c: Likewise.
20187 * grub-core/gnulib/getopt_int.h: Likewise.
20188 * grub-core/gnulib/regex.h: Likewise.
20189 * grub-core/gnulib/regex_internal.c: Likewise.
20190 * grub-core/gnulib/regex_internal.h: Likewise.
20191
014f47b7
SJ
201922010-09-15 Szymon Janc <szymon@janc.net.pl>
20193
20194 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
20195 CRC calculations and validity checks.
20196 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
20197 calculations.
20198
dd521a4a
SJ
201992010-09-15 Szymon Janc <szymon@janc.net.pl>
20200
20201 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
20202
79c4eeb9
VS
202032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20204
20205 Fix incorrect echo options handling.
20206 Reported by: Yves Blusseau.
20207
20208 * include/grub/command.h (grub_command_flags_t): New flags
20209 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
20210 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
20211 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
20212
ed80f7d5
VS
202132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20214
20215 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
20216 users updated.
20217 (GRUB_COMMAND_FLAG_MENU): Likewise.
20218 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20219 (GRUB_COMMAND_FLAG_TITLE): Removed.
20220 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20221 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
20222 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
20223 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
20224 (grub_command_flags_t): New enum. All users updated.
20225
5fe7620a
SG
202262010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
20227
20228 Fix solaris compilation.
20229
20230 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
20231 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
20232 (grub-emu-list): Likewise.
20233
545b752f
VS
202342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20235
20236 Remove deprecated root command.
20237
20238 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
20239 updated.
20240
6c1a338c
VS
202412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20242
20243 * util/i386/pc/grub-setup.c: Merge this ...
20244 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
20245 * util/grub-setup.c: ... into this.
20246 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
20247 New struct.
20248
202492010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20250
20251 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
20252 possible.
20253
d2ea4551
VS
202542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20255
20256 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
20257 allocate p.
20258
3c3b5040
VS
202592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20260
20261 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
20262 explicit root argument to set to prevent UUID to be interpreted as
20263 argument to set.
20264
b71c3fae
VS
202652010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20266
20267 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
20268
275433e6
VS
202692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20270
20271 Don't export grub_gate_a20.
20272
20273 * grub-core/kern/i386/pc/init.c: Remove leftovers.
20274 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
20275 to ...
20276 (grub_gate_a20): ... this. All users updated.
20277 * include/grub/i386/pc/init.h: Removed. All users updated.
20278
a5dbb1f1
VS
202792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20280
20281 Create euro.pf2 which supports most European languages.
20282
20283 * Makefile.am (grubdata_DATA): Add euro.pf2.
20284 (euro.pf2): New target.
20285 (CLEANFILES): Add euro.pf2.
20286
62a747cb
VS
202872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20288
20289 * configure.ac: Disable emu-usb by default to prevent inadvertent
20290 device takeover.
20291
608e43b1
VS
202922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20293
20294 Disable usbserial on grub-emu since our libusb code isn't good enough
20295 yet.
20296
20297 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
20298 (usbserial_pl2303): Likewise.
20299 (usbserial_ftdi): Likewise.
20300
94564f81
VS
203012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20302
20303 * include/grub/disk.h (grub_disk): Remove has_partitions.
20304 All users updated.
20305 * disk/loopback.c (grub_loopback): Remove has_partitions.
20306 All users updated.
20307 (options): Remove partitions. All users updated.
20308 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
20309 * util/i386/pc/grub-setup.c (setup): copy partition table only when
20310 actual partition table is found.
20311
3352800b
VS
203122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20313
20314 Remove readability checks (too many false negatives).
20315
20316 * util/grub-install.in: Remove readability checks.
20317 * util/grub-mkconfig.in: Likewise.
20318 * util/grub.d/10_hurd.in: Likewise.
20319 * util/grub.d/10_kfreebsd.in: Likewise.
20320 * util/grub.d/10_linux.in: Likewise.
20321 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
20322 way.
20323
2419f17a
VS
203242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20325
20326 Enable acpi shutdown on all ACPI platforms.
20327
20328 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
20329 on coreboo, multiboot and EFI.
20330 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
20331 (grub_acpi_halt): Likewise.
20332 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
20333 (grub_cmd_halt): Don't call grub_acpi_halt directly.
20334 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
20335 * grub-core/lib/i386/halt.c (grub_halt)
20336 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
20337
0575c7c3
VS
203382010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20339
20340 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
20341 context.
20342
54ac3cd1
VS
203432010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20344
20345 * grub-core/video/efi_gop.c: Fix over-80-chars line.
20346 * grub-core/video/efi_uga.c: Likewise.
20347
b2a30ac5
VS
203482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20349
20350 Filter devaliases and never open same device twice.
20351
20352 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
20353 (last_ihandle): Likewise.
20354 (ofdisk_hash_ent): New member shortest.
20355 (ofdisk_hash_add): Add canonical path too.
20356 (scan): New function.
20357 (grub_ofdisk_iterate): Iterate over hashed entries.
20358 (compute_dev_path): Don't add :0.
20359 (grub_ofdisk_open): Don't really open the disk.
20360 (grub_ofdisk_close): Avoid closing unrelated disk.
20361 (grub_ofdisk_read): Implement reopen logic.
20362 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
20363 New function.
20364 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
20365 New proto.
20366
fb53b340
VS
203672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20368
20369 Fix sparc64.
20370
20371 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
20372 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
20373 right address. Add sparc64_ieee1275_ldflags.
20374 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
20375 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
20376 to grub_host_to_target_addr
20377 (load_image): Likewise.
20378
f452b040
VS
203792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20380
20381 * grub-core/normal/completion.c (complete_file): Handle device
20382 containing slash.
20383 Fix based on patch by Doug Nazar.
20384
9b5b2541
VS
203852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20386
20387 grub-mknetdir script.
20388
20389 * Makefile.util.def (grub-mknetdir): New module.
20390 * tests/util/grub-shell.in: Support boot=net
20391 * util/grub-mknetdir.in: New file.
20392
9d2be652
VS
203932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20394
20395 videoinfo on non-vbe.
20396
20397 * grub-core/Makefile.core.def (vbeinfo): Removed.
20398 (vbetest): Removed.
20399 (videoinfo): New module.
20400 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
20401 * grub-core/commands/i386/pc/vbetest.c: Removed.
20402 * grub-core/commands/videoinfo.c: New file.
20403 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
20404 specification.
20405 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
20406 as vbetest.
20407 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
20408 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
20409 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
20410 mode_number. New parameter mode. All users updated.
20411 (grub_video_gop_iterate): New function.
20412 (grub_video_efi_gop): New member iterate.
20413 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
20414 (grub_vbe_set_video_mode): Remove setting useless fields.
20415 (vbe2videoinfo): New function.
20416 (grub_video_vbe_iterate): Likewise.
20417 (grub_video_vbe_setup): Use vbe2videoinfo.
20418 (grub_video_vbe_print_adapter_specific_info): New function.
20419 (grub_video_vbe_adapter): New fields iterate and
20420 print_adapter_specific_info.
20421 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
20422 All users updated.
20423 (grub_video_mode_info): New field mode_number.
20424 (grub_video_adapter): New fields iterate and
20425 print_adapter_specific_info.
20426
179503f5
TG
204272010-09-13 Tristan Gingold <gingold@free.fr>
204282010-09-13 Robert Millan <rmh.grub@aybabtu.com>
204292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20430
20431 * grub-core/commands/efi/lsefisystab.c: New file.
20432 * grub-core/commands/efi/lssal.c: Likewise.
20433 * grub-core/Makefile.core.def (lsacpi): New module.
20434 (lsefisystab): Likewise.
20435 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
20436 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
20437 (grub_efi_sal_system_table): New struct.
20438 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
20439 (grub_efi_sal_system_table_memory_descriptor): Likewise.
20440 (grub_efi_sal_system_table_platform_features): Likewise.
20441 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
20442 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
20443 (grub_efi_sal_system_table_ap_wakeup): Likewise.
20444 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
20445
cf9827de
VS
204462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20447
20448 Support explicit user claim that a device is BIOS-visible.
20449
20450 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
20451 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
20452 * grub-core/kern/emu/hostdisk.c
20453 (convert_system_partition_to_system_disk): Support mdX.
20454 (find_system_device): New parameter add. All users updated.
20455 (grub_util_biosdisk_is_present): New function.
20456 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
20457 proto.
20458
53f0eb1f
VS
204592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20460
20461 Search hints support.
20462
20463 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
20464 All users updated.
20465
b23ffd70
YB
204662010-09-13 Yves Blusseau <blusseau@zetam.org>
20467
20468 Bash completion script for util commands
20469
20470 * Makefile.am: Add util/bash-completion.d directory
20471 * configure.ac: Likewise.
20472 * util/bash-completion.d/Makefile.am: New file.
20473 * util/bash-completion.d/grub-completion.bash.in: Likewise.
20474
d547dc28
VS
204752010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20476
20477 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
20478 (print_backlog): set backlog_ucs4 and backlog_glyphs.
20479 Reported by: Yves Blusseau.
20480
2fc8ccb9
VS
204812010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20482
20483 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
20484 partition size and offset.
20485
d8a84076
VS
204862010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20487
20488 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
20489
84fb3b3d
VS
204902010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20491
20492 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
20493
768ec2e2
VS
204942010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20495
20496 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
20497 (grub_xvasprintf): Likewise.
20498
4870900f
VS
204992010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20500
20501 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
20502
faca6bec
VS
205032010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20504
20505 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
20506 args ending with NULL.
20507
205082010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
20509
20510 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
20511 pointer.
20512
3c70f225
SJ
205132010-09-11 Szymon Janc <szymon@janc.net.pl>
20514
20515 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
20516
4df7996d
VS
205172010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20518
20519 Shutdown using ACPI.
20520
20521 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
20522 * grub-core/commands/acpihalt.c: New file.
20523 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
20524 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
20525 (grub_acpi_halt): New proto.
20526 (GRUB_ACPI_SLP_EN): New const.
20527 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
20528 (GRUB_ACPI_OPCODE_*): New enum.
20529 (GRUB_ACPI_EXTOPCODE_*): Likewise.
20530
126b4c32
TG
205312010-09-11 Tristan Gingold <gingold@free.fr>
205322010-09-11 Robert Millan <rmh.grub@aybabtu.com>
205332010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20534
20535 * commands/lsacpi.c: New file.
20536 * grub-core/Makefile.core.def (lsacpi): New module.
20537 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
20538 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
20539 (grub_acpi_madt_entry_header): New struct.
20540 (grub_acpi_madt): Likewise.
20541 (grub_acpi_madt_entry_interrupt_override): Likewise.
20542 (grub_acpi_madt_entry_sapic): Likewise.
20543 (grub_acpi_madt_entry_lsapic): Likewise.
20544 (grub_acpi_madt_entry_platform_int_source): Likewise.
20545 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
20546 (PRIuGRUB_UINT32_T): Likewise.
20547 (PRIxGRUB_UINT64_T): Likewise.
20548
1aa4fe88
VS
205492010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20550
20551 Implement loading palette on ieee1275_fb.
20552
20553 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
20554 (have_setcolors): Likewise.
20555 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
20556 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
20557 (grub_video_ieee1275_set_palette): Implement.
20558
25761e13
VS
205592010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
205602010-09-11 Colin Watson <cjwatson@ubuntu.com>
20561
20562 * util/grub-install.in (grub_partition): New variable.
20563 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
20564 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
20565 Fixes a bug reported by Yves Blusseau.
20566
050abaea
VS
205672010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20568
20569 Fix emu on mipsel.
20570
20571 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
20572 =grub_cpu_flush_cache on all mips and not only yeeloong.
20573 * configure.ac (COND_mips): New conditional.
20574 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
20575 platforms.
20576 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
20577 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
20578 [GRUB_LINKER_HAVE_INIT]: New function.
20579 (grub_emu_post_init): Likewise.
20580 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
20581 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
20582 * include/grub/cache.h (_mips): Include mips/cache.h.
20583 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
20584 LVM and RAID prototypes.
20585 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
20586 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
20587 function.
20588
5ed7d816
CW
205892010-09-10 Colin Watson <cjwatson@ubuntu.com>
20590
20591 * util/grub-install.in: Don't try to verify core.img until after
20592 running grub-mkimage to create it.
20593
90367e04
RM
205942010-09-10 Robert Millan <rmh@gnu.org>
20595
20596 * util/grub.d/10_hurd.in: Add misc readability checks.
20597 * util/grub.d/10_kfreebsd.in: Likewise.
20598 * util/grub.d/10_linux.in: Likewise.
20599
c452fa66
CW
206002010-09-10 Colin Watson <cjwatson@ubuntu.com>
20601
20602 * util/grub-install.in: ${imgext} won't be defined here until the
20603 install branch is merged. For the meantime, only verify core.img on
20604 i386-pc and sparc64-ieee1275 platforms.
20605
c38fe9f4
RM
206062010-09-10 Robert Millan <rmh@gnu.org>
20607
20608 Solaris support in grub_find_zpool_from_dir(). Thanks
20609 Seth Goldberg for referring to getextmntent() facility.
20610
20611 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
20612 `sys/mkdev.h'.
20613 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
20614 `<sys/mnttab.h>'.
20615 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
20616 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
20617 method for finding zpool name.
20618
905f7773
CW
206192010-09-10 Colin Watson <cjwatson@ubuntu.com>
20620
20621 grub-fstest needs the host and hostfs modules while other utilities
20622 actively require those modules to be absent, so grub-fstest needs
20623 its own initialisation and finalisation code.
20624
20625 * Makefile.am (grub_fstest.pp): New target.
20626 (grub_fstest_init.lst): Likewise.
20627 (grub_fstest_init.c): Likewise.
20628 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
20629
fb90b546
RM
206302010-09-10 Robert Millan <rmh@gnu.org>
20631
20632 * configure.ac: Check for `struct statfs.f_fstypename' and
20633 `struct statfs.f_mntfromname'.
20634
20635 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
20636 kFreeBSD-specific code.
20637
66d4bea5
RM
206382010-09-10 Robert Millan <rmh@gnu.org>
20639
20640 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
20641 on ZFS. Now non-main filesystems are supported as / too.
20642
b6a690ee
CW
206432010-09-09 Colin Watson <cjwatson@ubuntu.com>
20644
20645 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
20646 and grub-core/disk/host.c to ...
20647 (grub-fstest): ... here. Having the host disk implementation
20648 present confuses grub-probe and other utility programs.
20649
20650 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
20651 when writing to a file, not when writing to stdout.
20652
8901b00c 206532010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
20654
20655 * tests/partmap_test.in: New test for partitions.
20656 * Makefile.util.def: Rules for new test.
20657
7bf45fdd
RM
206582010-09-09 Robert Millan <rmh@gnu.org>
20659
20660 * util/grub-probe.c (probe): Fix a pair of unhandled error
20661 conditions.
20662
4dfbc574
RM
206632010-09-09 Robert Millan <rmh@gnu.org>
20664
20665 Basic Btrfs support (detection and UUID).
20666
20667 * grub-core/fs/btrfs.c: New file.
20668 * Makefile.util.def (library): Register btrfs.c.
20669 * grub-core/Makefile.core.def: Likewise.
20670
6b8e78ae
RM
206712010-09-08 Robert Millan <rmh@gnu.org>
20672
20673 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
20674 with (optional) parameters to specify device and relative path.
20675 * util/grub-install.in: Use is_path_readable_by_grub() to
20676 verify readability of a few critical files.
20677 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
20678 verify readability of grub.cfg.new.
20679
27f21a8b
VS
206802010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20681
20682 Split minix.mod into minix.mod and minix2.mod.
20683
20684 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
20685 * grub-core/Makefile.core.def (minix2): New module.
20686 * grub-core/fs/minix.c: Use definitions instead of runtime version
20687 checking.
20688 * grub-core/fs/minix2.c: New file.
20689
c0e53ea5
YB
206902010-09-08 Yves Blusseau <blusseau@zetam.org>
20691
20692 Add new --boot-directory option to replace --root-directory
20693
20694 * util/grub-install.in: Add new --boot-directory option
20695 * util/grub-reboot.in: Likewise.
20696 * util/grub-set-default.in: Likewise.
20697
b9fe6ea2
YB
206982010-09-08 Yves Blusseau <blusseau@zetam.org>
20699
20700 * util/grub-mkconfig.in: Use new variable.
20701
d87aedff
YB
207022010-09-08 Yves Blusseau <blusseau@zetam.org>
20703
20704 * configure.ac: Define some useful variables.
20705
e55e8495
VS
207062010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20707
20708 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20709 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
20710 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
20711 Use terminfo and don't use cursor-on/cursor-off unless it's known
20712 to work.
20713 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
20714 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
20715
6fa6d675
CW
207162010-09-08 Colin Watson <cjwatson@ubuntu.com>
20717
20718 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
20719 starts with "(,", fill the drive containing the loaded image in
20720 between those two characters, but expect that a full partition
20721 specification including partition map names will follow.
20722
92f2aef0
RM
207232010-09-08 Robert Millan <rmh@gnu.org>
20724
20725 * configure.ac: Remove `--enable-grub-fstest' option.
20726 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
20727
20728 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
20729 `grub-fstest' instead of `grub-probe' for readability verification.
20730 * util/grub-probe.c (probe): Remove readability verification kludge.
20731
99fd620d
RM
207322010-09-08 Robert Millan <rmh@gnu.org>
20733
20734 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
20735 initializing `GRUB_FS'.
20736
058e30ac 207372010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
20738
20739 Not command (!) support to GRUB script.
20740
20741 * tests/grub_script_not.in: New test.
20742 * Makefile.util.def: Rules for new test.
20743
20744 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20745 ! command as a special case.
20746 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
20747
b61d05ed 207482010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20749
058e30ac 20750 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
20751 grub_free.
b61d05ed 20752
4d69c786 207532010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20754
20755 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
20756
aa3119c4 207572010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20758
20759 * docs/grub.texi (Shell-like scripting): Documentation for break,
20760 continue, shift and return commands.
20761
db0f7e3d
VS
207622010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
20763
20764 Rename CD-ROM to cd on BIOS.
20765
20766 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
20767 "cd".
20768 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
20769
88b87c93
VS
207702010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20771
20772 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
20773 * util/grub-probe.c (main): Likewise.
20774 * util/i386/pc/grub-setup.c (main): Likewise.
20775 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20776 Reported and debugged by: alexxy
20777
294f324d
VS
207782010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20779
20780 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
20781 diagnostic info.
20782
d7ee3441
JS
207832010-09-05 Jo Shields <directhex@apebox.org>
20784
20785 * util/grub.d/30_os-prober.in: Add missing classes.
20786
d7e06c1f
VS
207872010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20788
20789 * docs/grub.texi (Theme file format): Document new position format.
20790
fc157e53
VS
207912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20792
20793 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
20794 a table. Use @code instead of @verbatim.
20795
506e9a1c
CB
207962010-09-05 Colin D Bennett <colin@gibibit.com>
20797
20798 Gfxmenu documentation.
20799
20800 * docs/grub.texi (Theme file format): New chapter.
20801
f0aff67c
SJ
208022010-09-05 Szymon Janc <szymon@janc.net.pl>
20803
20804 * grub-core/Makefile.core.def (xzio): New module.
20805 * grub-core/io/xzio.c: New file.
20806 * grub-core/lib/xzembed/xz.h: New file (from xembed).
20807 * grub-core/lib/xzembed/xz_config.h: Likewise.
20808 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
20809 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
20810 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
20811 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
20812 * grub-core/lib/xzembed/xz_private.h: Likewise.
20813 * grub-core/lib/xzembed/xz_stream.h: Likewise.
20814 * include/grub/file.h (grub_file_filter_id): New compression filter
20815 GRUB_FILE_FILTER_XZIO.
20816
82a85062
VS
208172010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20818
20819 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
20820 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
20821 size.
20822
3579415d
VS
208232010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20824
20825 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
20826 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
20827
5124ae6d
VS
208282010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20829
20830 Uncompressed checksum support.
20831
20832 * grub-core/commands/hashsum.c (options): Add option --uncompress.
20833 (check_list): New parameter uncompress.
20834 (grub_cmd_hashsum): Handle --uncompress.
20835
9aadb3d1
VS
208362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20837
20838 Reintroduce testload.
20839
20840 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
20841 from here ...
20842 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
20843 (GRUB_MOD_INIT): New function.
20844 (GRUB_MOD_FINI): Likewise.
20845 * grub-core/Makefile.core.def (testload): New module.
20846
a17792c3
SJ
208472010-09-05 Szymon Janc <szymon@janc.net.pl>
20848
20849 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
20850 (uint8_t): New type.
20851 (uint16_t): Likewise.
20852 (uint32_t): Likewise.
20853 (uint64_t): Likewise.
20854
b81e40a3
SJ
208552010-09-05 Szymon Janc <szymon@janc.net.pl>
20856
20857 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
20858
fc2ef117
VS
208592010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20860
20861 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
20862 Made static.
20863 (grub_gzfile_open): Removed. All users updated.
20864 (GRUB_MOD_INIT): New function.
20865 (GRUB_MOD_FINI): Likewise.
20866 * grub-core/kern/file.c (grub_file_filters_all): New variable.
20867 (grub_file_filters_enabled): Likewise.
20868 (grub_file_open): Handle filters.
20869 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
20870 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
20871 * include/grub/file.h (grub_file_filter_id_t): New type.
20872 (grub_file_filter_t): Likewise.
20873 (grub_file_filters_all): New extern variable.
20874 (grub_file_filters_enabled): Likewise.
20875 (grub_file_filter_register): New inline function.
20876 (grub_file_filter_unregister): Likewise.
20877 (grub_file_filter_disable): Likewise.
20878 (grub_file_filter_disable_compression): Likewise.
20879 * include/grub/gzio.h: Removed.
20880
35ee15e0
BC
208812010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20882
20883 Filename expansion support for wildcards in GRUB script.
20884
20885 * tests/grub_script_expansion.in: New test.
20886 * Makefile.util.def: Rule for new test.
20887
20888 * grub-core/commands/wildcard.c: New file, implements filename
20889 expansion support for GRUB script.
20890 * grub-core/Makefile.core.def: Rule update for regexp.mod.
20891 * grub-core/script/argv.c: Cosmetic changes.
20892 * grub-core/script/execute.c (grub_script_arglist_to_argv):
20893 Refactored to perform wildcard expansion on arguments.
20894 * include/grub/script_sh.h (grub_script_wildcard_translator): New
20895 struct.
20896
20897 * tests/util/grub-shell.in: Fix quoting for read input.
20898
5f0c4aca
BC
208992010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20900
20901 Support for updating environment variables with matched substrings
20902 of regexp.
20903
20904 * tests/grub_cmd_regexp.in: New test.
20905 * Makefile.util.def: Rule for new test.
20906
20907 * grub-core/commands/regexp.c: New option -s to update environment
20908 variables with regexp matches.
20909
3759a35f
SJ
209102010-09-04 Szymon Janc <szymon@janc.net.pl>
20911
20912 * include/grub/file.h (grub_file): New member not_easly_seekable.
20913 (grub_file_seekable): New inline function.
20914 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
20915 easily seekable.
20916 (grub_gzio_open): Set not_easly_seekable.
20917 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
20918 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
20919
ed8c6dec
BC
209202010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20921
20922 Support for options to appear multiple times on cmdline.
20923
20924 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
20925 * grub-core/commands/extcmd.c: Support for repeatable option.
20926 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
20927 repeatable option support.
20928
20929 Refactor menuentry into a regular command.
20930
20931 * grub-core/commands/menuentry.c: New file, menuentry command
20932 implementation.
20933 * grub-core/Makefile.core.def: Rule update for normal.mod.
20934 * grub-core/normal/main.c: Moved menuentry creation to
20935 grub-core/commands/menuentry.c.
20936 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
20937 (grub_menu_execute_entry_real): Removed.
20938 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
20939 function.
20940 (grub_script_execute_menuentry): Removed.
20941 * grub-core/script/parser.y (menuentry): Removed.
20942 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
20943 * grub-core/script/yylex.l (menuentry): Removed.
20944 * include/grub/menu.h (grub_menu_init): New prototype.
20945 (grub_menu_fini): New prototype.
20946 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
20947 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
20948 (grub_script_execute_sourcecode): New prototype.
20949
dacd0cf0
BC
209502010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20951
20952 "return" command for GRUB script functions.
20953
20954 * tests/grub_script_return.in: New test.
20955 * Makefile.util.def: Rules for new test.
20956
20957 * grub-core/script/execute.c (grub_script_return): New function.
20958 * grub-core/script/main.c: Register/unregister return commaond.
20959 * include/grub/script_sh.h (grub_script_return): New prototype.
20960
52e72f9d
BC
209612010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20962
20963 "setparams" command to update positional parameters.
20964
20965 * tests/grub_script_setparams.in: New test.
20966 * Makefile.util.def: Rules for new test.
20967
20968 * grub-core/script/argv.c (grub_script_argv_make): New function.
20969 * grub-core/script/execute.c (replace_scope): New function.
20970 (grub_script_setparams): New function.
20971 * grub-core/script/lexer.c: Remove unused variables.
20972 * grub-core/script/main.c: Register/unregister setparams command.
20973 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
20974 (grub_script_setparams): New prototype.
20975
25b60c91
BC
209762010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20977
20978 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
20979 grub_free order.
20980
37e7bf68
BC
209812010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20982
20983 Support for passing block of commands as an argument to extcmds.
20984
20985 * Makefile.util.def: Rules for new test.
20986 * tests/grub_script_blockarg.in: New test.
20987 * grub-core/tests/test_blockarg.c: New file, block argument
20988 command used in the test.
20989
20990 * include/grub/extcmd.h (grub_extcmd_context): New struct.
20991 (grub_register_extcmd_prio): New function prototype.
20992 (grub_extcmd_dispatcher): New function prototype.
20993 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
20994 type.
20995 * include/grub/script_sh.h (struct grub_script): New members
20996 `children', `next_siblings' and `refcnt' for block arguments and
20997 reference counting.
20998 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
20999 (grub_script_arg): New member `script' for block argument.
21000 (grub_script_argv): New member `script' for block argument.
21001 (grub_parser_param): New member `scripts' for block argument.
21002 (grub_script_mem_free): New extern function prototype.
21003 (grub_script_ref): New function prototype.
21004 (grub_script_unref): New function prototype.
21005
21006 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
21007 extcmd form to support block arguments.
21008 * grub-core/script/argv.c: Block arguments support.
21009 * grub-core/script/execute.c: Likewise.
21010 * grub-core/script/lexer.c: Likewise.
21011 * grub-core/script/main.c: Likewise.
21012 * grub-core/script/script.c: Likewise.
21013 * grub-core/script/parser.y: Likewise. New `block' and `block0'
21014 non-terminals.
21015
21016 * grub-core/commands/acpi.c: Update extcmd implementations with
21017 grub_extcmd_context_t.
21018 * grub-core/commands/cat.c: Likewise.
21019 * grub-core/commands/echo.c: Likewise.
21020 * grub-core/commands/extcmd.c: Likewise.
21021 * grub-core/commands/hashsum.c: Likewise.
21022 * grub-core/commands/hdparm.c: Likewise.
21023 * grub-core/commands/help.c: Likewise.
21024 * grub-core/commands/hexdump.c: Likewise.
21025 * grub-core/commands/i386/cpuid.c: Likewise.
21026 * grub-core/commands/i386/pc/drivemap.c: Likewise.
21027 * grub-core/commands/i386/pc/halt.c: Likewise.
21028 * grub-core/commands/i386/pc/sendkey.c: Likewise.
21029 * grub-core/commands/iorw.c: Likewise.
21030 * grub-core/commands/keystatus.c: Likewise.
21031 * grub-core/commands/loadenv.c: Likewise.
21032 * grub-core/commands/ls.c: Likewise.
21033 * grub-core/commands/lspci.c: Likewise.
21034 * grub-core/commands/memrw.c: Likewise.
21035 * grub-core/commands/probe.c: Likewise.
21036 * grub-core/commands/search_wrap.c: Likewise.
21037 * grub-core/commands/setpci.c: Likewise.
21038 * grub-core/commands/sleep.c: Likewise.
21039 * grub-core/disk/loopback.c: Likewise.
21040 * grub-core/hello/hello.c: Likewise.
21041 * grub-core/loader/i386/bsd.c: Likewise.
21042 * grub-core/loader/xnu.c: Likewise.
21043 * grub-core/term/gfxterm.c: Likewise.
21044 * grub-core/term/serial.c: Likewise.
21045 * grub-core/tests/lib/functional_test.c: Likewise.
21046
888d1500
BC
210472010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21048
21049 Multi-line quoted strings support.
21050
21051 * grub-core/script/lexer.c (append_newline): Removed.
21052 (grub_script_lexer_yywrap): Refactored.
21053 (grub_script_lexer_init): Refactored.
21054 * grub-core/script/yylex.l (yywrap): New function.
21055 (grub_lexer_resplit): New function.
21056 (grub_lexer_unput): New function.
21057 * include/grub/script_sh.h (grub_lexer_param): New members, unput
21058 and resplit.
21059 * tests/grub_script_echo1.in: Added few more testcases.
21060
dda060dd
VS
210612010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
21062
21063 * grub-core/kern/misc.c: Don't add abort alias in utils.
21064 Reported by: echoline.
21065
6556eba9
BC
210662010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
21067
21068 Add missing files into "make dist" tarball for other platforms.
21069
21070 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
21071 * conf/Makefile.common (dist_noinst_DATA): New variable.
21072 * conf/Makefile.extra-dist: Added missing make dist files.
21073 * grub-core/Makefile.core.def: Likewise.
21074
c8e7bf5f
VS
210752010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
21076
21077 Compress grub_prefix.
21078
21079 * grub-core/boot/i386/pc/lnxboot.S: Use
21080 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
21081 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
21082 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
21083 GRUB_MACHINE_PREFIX_END. All users updated.
21084 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
21085 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
21086 + 0x40.
21087 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
21088 * util/grub-mkimage.c (image_target_desc): Change data_end to
21089 prefix_end. All users updated.
21090
a7c00cdb
VS
210912010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
21092
21093 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
21094 value.
21095 (grub_openbsd_boot): Likewise.
21096 (grub_netbsd_boot): Likewise.
21097 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
21098 (grub_xnu_boot): Likewise.
21099
9f915872
VS
211002010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21101
21102 * configure.ac: Clean LIBS variable after tests.
21103
efa1bee7
CW
211042010-09-02 Colin Watson <cjwatson@ubuntu.com>
21105
21106 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
21107
61d720e5
VS
211082010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21109
21110 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
21111 echo if libdevmapper will be used.
21112
ef8e0ec8
IT
211132010-09-02 Ian Turner <Ian.Turner@deshaw.com>
21114
21115 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
21116 constant for the same file.
21117
03e261d8
VS
211182010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21119
21120 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
21121
c2a4eba6
CW
211222010-09-02 Colin Watson <cjwatson@ubuntu.com>
21123
21124 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
21125 grub-core/*.pp.
21126
9056cbf3
CW
211272010-09-02 Colin Watson <cjwatson@ubuntu.com>
21128
21129 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
21130 required by the boot protocol.
21131
21132 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
21133 ebp and edi members.
21134 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
21135 state.ebp and state.edi.
21136 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
21137 %ebp and %edi according to grub_relocator32_ebp and
21138 grub_relocator32_edi respectively.
21139 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
21140 and state.edi.
21141
529cc99a
VS
211422010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21143
21144 Add i386-pc-pxe image target.
21145
21146 * util/grub-mkimage.c (image_target_desc): New enum value
21147 IMAGE_I386_PC_PXE.
21148 (image_targets): New target i386-pc-pxe.
21149 (generate_image): Handle i386-pc-pxe image.
21150
9a093920
VS
211512010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21152
21153 Fix grub_pxe_scan.
21154
21155 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
21156 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
21157 All users updated.
21158 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
21159 (grub_pxe_pxenv): Correct type.
21160
f9cefc4e
CW
211612010-09-01 Colin Watson <cjwatson@ubuntu.com>
21162
21163 * NEWS: Document most of the important changes since 1.98.
21164
4066f57f
CW
211652010-09-01 Colin Watson <cjwatson@ubuntu.com>
21166
21167 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
21168 generated manual page) a little.
21169
da2891f9
CW
211702010-09-01 Colin Watson <cjwatson@ubuntu.com>
21171
21172 * docs/grub.texi: Add myself as an author.
21173
ad717fae
VS
211742010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21175
21176 * Makefile.util.def (libgrub.a): Add missing sunpc.
21177 Reported by: Seth Goldberg.
21178
eefe8abd
VS
211792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21180
21181 Interrupt wrapping and code simplifications.
21182
9494ef9a
VS
21183 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
21184 x86_noieee1275 which are functionaly equivalent in this case.
21185 (grub-install): Make source on each platform explicit. Enable on
21186 all noemu.
21187 * gentpl.py (x86_efi_pc): Removed group.
21188 (x86_noefi): Likewise.
21189 (i386_noefi): Likewise.
21190 (x86_noieee1275): Likewise.
21191 (i386_noieee1275): Likewise.
21192 (i386_noefi_noieee1275): Likewise.
21193 (i386_pc_qemu_coreboot): Likewise.
21194 (i386_coreboot_multiboot): Likewise.
21195 (i386_pc_coreboot_multiboot_qemu): Likewise.
21196 (x86_noefi_mips): Likewise.
21197 (noieee1275): Likewise.
21198 (ieee1275_mips): Likewise.
21199 (noemu_noieee1275): Likewise.
21200 (cmos): New group.
21201 (usb): Likewise.
21202 (videoinkernel): Likewise.
21203 (videomodules): Likewise.
eefe8abd 21204 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
21205 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
21206 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
21207 include/grub/loader.h, include/grub/msdos_partition.h,
21208 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
21209 include/grub/machine/console.h, include/grub/machine/vga.h,
21210 include/grub/machine/vbe.h, include/grub/machine/init.h,
21211 include/grub/machine/kernel.h, include/grub/cpu/time.h,
21212 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 21213 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
21214 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
21215 * grub-core/Makefile.core.def (kernel): Explicit the source for
21216 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
21217 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
21218 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
21219 Use videoinkernel tag.
21220 (usb): Enable on all usb.
21221 (usbserial_common): Likewise.
21222 (usbserial_pl2303): Likewise.
21223 (usbserial_ftdi): Likewise.
21224 (uhci): Enable on all x86.
21225 (ohci): Enable on all pci.
21226 (cmostest): Enable on all CMOS.
21227 (acpi): Include commands/acpi.c on all platforms.
21228 (halt): Add relevant lib/*/halt.c.
21229 (hdparm): Enable on all pci.
21230 (lspci): Likewise.
21231 (usbtest): Enable on all usb.
21232 (ata): Enable on all pci.
21233 (ata_pthru): Likewise.
21234 (usbms): Enable on all usb.
21235 (usb_keyboard): Likewise.
21236 (font): Use tag videomodules.
21237 (bufio): Likewise.
21238 (datetime): Use tag cmos. Enable on all noemu.
21239 (mmap): Use tags common and x86.
21240 (gfxterm): Use tag videomodules.
21241 (bitmap): Likewise.
21242 (bitmap_scale): Likewise.
21243 (video_fb): Likewise.
21244 (video): Likewise.
21245 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
21246 adjust padding accordingly. All users updated.
21247 (grub_ohci_transaction): Fix bad format specification.
21248 (GRUB_MOD_INIT): Add asserts for struct size.
21249 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
21250 (grub_alloc_td): Likewise.
21251 (grub_free_queue): Likewise.
21252 (grub_uhci_transfer): Likewise.
21253 (grub_uhci_transaction): Fix bad format specification.
21254 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
21255 (grub_usb_bulk_readwrite): Likewise.
21256 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
21257 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
21258 Made static.
21259 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
21260 Made static.
21261 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
21262 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
21263 Transformed into C.
21264 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
21265 Moved from here ...
21266 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
21267 ... here. Transformed into C. Made static.
21268 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
21269 Moved from here ...
21270 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
21271 ... here. Transformed into C. Made static.
21272 * grub-core/kern/i386/pc/startup.S
21273 (grub_biosdisk_check_int13_extensions): Moved from here ...
21274 * grub-core/disk/i386/pc/biosdisk.c
21275 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
21276 Made static.
21277 * grub-core/kern/i386/pc/startup.S
21278 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
21279 * grub-core/disk/i386/pc/biosdisk.c
21280 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
21281 Transformed into C. Made static.
21282 * grub-core/kern/i386/pc/startup.S
21283 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
21284 * grub-core/disk/i386/pc/biosdisk.c
21285 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
21286 Transformed into C. Made static.
21287 * grub-core/kern/i386/pc/startup.S
21288 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
21289 * grub-core/disk/i386/pc/biosdisk.c
21290 (grub_biosdisk_get_diskinfo_standard): ... here.
21291 Transformed into C. Made static.
21292 * grub-core/kern/i386/pc/startup.S
21293 (grub_biosdisk_get_num_floppies): Moved from here ...
21294 * grub-core/disk/i386/pc/biosdisk.c
21295 (grub_biosdisk_get_num_floppies): ... here.
21296 Transformed into C. Made static.
21297 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
21298 New function.
21299 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
21300 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
21301 Transformed into C. Made static.
21302 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
21303 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
21304 Transformed into C. Made static.
21305 * grub-core/kern/i386/ieee1275/init.c: Removed.
21306 * grub-core/kern/i386/misc.S: Likewise.
21307 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
21308 Splitted from here ...
21309 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
21310 Transformed into C. Made static. All users updated.
21311 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
21312 Transformed into C. Made static. All users updated.
21313 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
21314 Moved from here...
21315 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
21316 Transformed into C. Made static. All users updated.
21317 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
21318 Moved from here...
21319 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
21320 Transformed into C. Made static. All users updated.
21321 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
21322 Removed (replaced by C version).
21323 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
21324 Moved from here...
21325 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
21326 Transformed into C. Made static.
21327 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
21328 Moved from here...
21329 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
21330 ... here. Transformed into C.
21331 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
21332 Moved from here...
21333 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
21334 ... here. Transformed into C.
21335 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
21336 Moved from here...
21337 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
21338 ... here. Transformed into C. Made static.
21339 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
21340 Moved from here...
21341 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
21342 ... here. Transformed into C.
21ed554b
VS
21343 * grub-core/kern/i386/pc/startup.S
21344 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
21345 * grub-core/video/i386/pc/vbe.c
21346 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
21347 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
21348 Moved from here...
21349 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
21350 ... here. Transformed into C.
21351 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
21352 Moved from here...
21353 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
21354 ... here. Transformed into C.
21355 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
21356 Moved from here...
21357 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
21358 ... here. Transformed into C.
21359 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
21360 Moved from here...
21361 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
21362 ... here. Transformed into C.
21363 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
21364 Moved from here...
21365 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
21366 ... here. Transformed into C. Made static.
21367 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
21368 Moved from here...
21369 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
21370 ... here. Transformed into C. Made static.
21371 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
21372 Moved from here...
21373 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
21374 ... here. Transformed into C. Made static.
21375 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
21376 pxe_rm_entry as third argument.
21377 (grub_bios_interrupt): New function.
21378 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
21379 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
21380 of calling grub_stop.
21381 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
21382 * grub-core/lib/efi/halt.c (grub_halt): ...here.
21383 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
21384 * grub-core/lib/emu/halt.c (grub_halt): ... here.
21385 * grub-core/lib/i386/halt.c: Moved from here ...
21386 * grub-core/lib/i386/halt.c: ... here.
21387 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
21388 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
21389 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
21390 grub_stop_floppy.
21391 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
21392 * include/grub/i386/coreboot/init.h: Removed.
21393 * include/grub/i386/multiboot/init.h: Likewise.
21394 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
21395 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
21396 * include/grub/i386/pc/int.h: New file.
21397 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
21398 (grub_pxe_scan): Removed.
21399 (grub_pxe_call): Update prototype.
21400 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
21401 prototypes.
21402 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
21403 * include/grub/i386/qemu/init.h: Removed.
21404 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
21405 noreturn.
21406 (grub_halt): Likewise.
21407 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
21408 (grub_reboot): Likewise.
21409 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
21410 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
21411 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
21412
215dd471
RM
214132010-08-30 Robert Millan <rmh@gnu.org>
21414
21415 * NEWS: Document addition of ZFS support in `grub-install' and
21416 `grub-mkconfig'.
21417
ebd65b82
BC
214182010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
21419
21420 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
21421 dprintf output.
21422
11721d19
VS
214232010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21424
21425 Remove leftover embedding of font objects.
21426
21427 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
21428 * util/grub-install.in (font): Removed.
21429 * util/grub-mkimage.c (generate_image): Remove font support. All users
21430 updated.
21431
37837d4e
VS
214322010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21433
21434 Remove leftover embedding of font objects.
21435
21436 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
21437 * util/grub-install.in (font): Removed.
21438 * util/grub-mkimage.c (generate_image): Remove font support. All users
21439 updated.
21440
b4c1aae0
VS
214412010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21442
21443 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 21444 Reported by: Ian Turner
b4c1aae0 21445
8920a08d
VS
214462010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21447
21448 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
21449 timeout to avoid indefinite boot stalling.
21450
f21db033
VS
214512010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21452
21453 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
21454 (grub_env_write_color_highlight): Likewise.
21455
9a9de209
VS
214562010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21457
21458 * grub-core/normal/term.c (print_more): Return to normal and not
21459 to standard state after printing "---MORE---".
21460
3dca01d7
VS
214612010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21462
21463 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
21464 Mask out the bit 0x80 since it has other meaning that specifiing color.
21465
0b986c40
VS
214662010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21467
21468 New relocator. Allows for more kernel support and more straightforward
21469 loader writing.
21470
21471 * Makefile.am (BOOTTARGET): New variable.
21472 (QEMU32): Likewise.
21473 (linux.init.x86_64): New target.
21474 (linux.init.i386): Likewise.
21475 (multiboot.elf): Likewise.
21476 (kfreebsd.elf): Likewise.
21477 (kfreebsd.aout): Likewise.
21478 (pc-chainloader.elf): Likewise.
21479 (pc-chainloader.bin): Likewise.
21480 (ntldr.elf): Likewise.
21481 (ntldr.bin): Likewise.
21482 (multiboot2.elf): Likewise.
21483 (kfreebsd.init.x86_64): Likewise.
21484 (kfreebsd.init.i386): Likewise.
21485 (knetbsd.init.i386): Likewise.
21486 (kopenbsd.init.i386): Likewise.
21487 (knetbsd.init.x86_64): Likewise.
21488 (kopenbsd.init.x86_64): Likewise.
21489 (linux-initramfs.i386): Likewise.
21490 (linux-initramfs.x86_64): Likewise.
21491 (kfreebsd-mfsroot.i386.img): Likewise.
21492 (knetbsd.image.i386): Likewise.
21493 (kopenbsd.image.i386): Likewise.
21494 (kopenbsd.image.x86_64): Likewise.
21495 (knetbsd.miniroot-image.i386.img): Likewise.
21496 (kfreebsd-mfsroot.x86_64.img): Likewise.
21497 (knetbsd.image.x86_64): Likewise.
21498 (knetbsd.miniroot-image.x86_64.img): Likewise.
21499 (kfreebsd-mfsroot.i386.gz): Likewise.
21500 (bootcheck-kfreebsd-i386): Likewise.
21501 (kfreebsd-mfsroot.x86_64.gz): Likewise.
21502 (bootcheck-kfreebsd-x86_64): Likewise.
21503 (knetbsd.miniroot-image.i386.gz): Likewise.
21504 (bootcheck-knetbsd-i386): Likewise.
21505 (bootcheck-kopenbsd-i386): Likewise.
21506 (bootcheck-kopenbsd-x86_64): Likewise.
21507 (knetbsd.miniroot-image.x86_64.gz): Likewise.
21508 (bootcheck-knetbsd-x86_64): Likewise.
21509 (bootcheck-linux-i386): Likewise.
21510 (bootcheck-linux-x86_64): Likewise.
21511 (bootcheck-linux16-i386): Likewise.
21512 (bootcheck-linux16-x86_64): Likewise.
21513 (bootcheck-multiboot): Likewise.
21514 (bootcheck-multiboot2): Likewise.
21515 (bootcheck-kfreebsd-aout): Likewise.
21516 (bootcheck-pc-chainloader): Likewise.
21517 (bootcheck-ntldr): Likewise.
21518 (CLEANFILES): Add new targets.
21519 (BOOTCHECKS): New variable.
21520 (.PHONY): Add bootchecks.
21521 (SUCCESSFUL_BOOT_STRING): New variable.
21522 (BOOTCHECK_TIMEOUT): Likewise.
21523 (bootcheck): New target
21524 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
21525 * configure.ac: Correct efiemu excuse.
21526 * docs/grub.texi (Supported kernels): New chapter.
21527 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
21528 include/grub/mm_private.h. Simplify inclusion of
21529 include/grub/boot.h, include/grub/loader.h
21530 and include/grub/msdos_partition.h
21531 (KERNEL_HEADER_FILES) [i386_coreboot]:
21532 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
21533 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
21534 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
21535 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
21536 include/grub/machine/loader.h.
21537 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
21538 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
21539 extra_dist.
21540 (pci.mod): Enable on i386-multiboot.
21541 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
21542 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
21543 i386-qemu.
21544 (relocator.mod): Rewritten.
21545 (aout.mod): Enable on all x86.
21546 (bsd.mod): Likewise.
21547 (ntldr.mod): New module.
21548 (linux.mod): Use loader/i386/linux.c on all x86.
21549 (xnu.mod): Enable on all x86.
21550 (vga_text.mod): disable on EFI and QEMU.
21551 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
21552 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
21553 * grub-core/efiemu/loadcore.c: Likewise.
21554 * grub-core/efiemu/main.c: Likewise.
21555 (grub_efiemu_exit_boot_services): Removed.
21556 (grub_efiemu_finish_boot_services): Likewise.
21557 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
21558 function.
21559 * grub-core/efiemu/i386/nocfgtables.c: New file.
21560 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
21561 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
21562 (grub_efi_finish_boot_services): Moved from here ...
21563 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
21564 Fille finish memory map and related data.
21565 (finish_mmap_buf): New variable.
21566 (grub_efi_uintn_t finish_mmap_size): Likewise.
21567 (grub_efi_uintn_t finish_key): Likewise.
21568 (grub_efi_uintn_t finish_desc_size): Likewise.
21569 (grub_efi_uint32_t finish_desc_version): Likewise.
21570 (grub_efi_is_finished): Likewise.
21571 (grub_efi_get_memory_map): Use saved memory map if EFI is already
21572 finished.
21573 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
21574 (grub_elf64_phdr_iterate): Likewise.
21575 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
21576 (grub_os_area_size): Likewise.
21577 (grub_machine_init): Don't reserve os area.
21578 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
21579 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
21580 * grub-core/kern/i386/loader.S: Removed.
21581 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
21582 (grub_os_area_size): Likewise.
21583 (grub_machine_init): Don't reserve os area.
21584 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
21585 Don't call grub_dl_unload_all.
21586 Don't include loader.S.
21587 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
21588 Declare the memory after _end as available.
21589 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 21590 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 21591 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
21592 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
21593 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
21594 * include/grub/mm_private.h (grub_mm_header): ... here.
21595 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
21596 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
21597 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
21598 (grub_mm_region): ..here. Removed addr. Added pre_size.
21599 All users updated.
21600 * grub-core/kern/mm.c (base): Renamed to ...
21601 (grub_mm_base): ... this. Made global.
21602 (grub_real_malloc): Alloc from end of region.
21603 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
21604 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
21605 * grub-core/kern/powerpc/cache_flush.S: ... here.
21606 * grub-core/lib/efi/relocator.c: New file.
21607 * grub-core/lib/i386/relocator.c: Rewritten.
21608 * grub-core/lib/i386/relocator16.S: New file.
21609 * grub-core/lib/i386/relocator32.S: Likewise.
21610 * grub-core/lib/i386/relocator64.S: Likewise.
21611 * grub-core/lib/i386/relocator_asm.S: Rewritten.
21612 * grub-core/lib/i386/relocator_common.S: New file.
21613 * grub-core/lib/ieee1275/relocator.c: Likewise.
21614 * grub-core/lib/mips/relocator.c: Rewritten.
21615 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
21616 stylistic adjustments.
21617 * grub-core/lib/powerpc/relocator.c: New file.
21618 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
21619 * grub-core/lib/relocator.c: Rewritten.
21620 * grub-core/lib/x86_64/relocator_asm.S: New file.
21621 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
21622 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
21623 (bsd_tag): New struct.
21624 (tags): New variable.
21625 (tags_last): Likewise.
21626 (netbsd_module): New struct.
21627 (netbsd_mods): New variable.
21628 (netbsd_mods_last): Likewise.
21629 (openbsd_opts): New parameter "serial".
21630 (OPENBSD_SERIAL_ARG): New definition.
21631 (netbsd_opts): New parameter "serial".
21632 (NETBSD_SERIAL_ARG): New definition.
21633 (grub_freebsd_add_meta): Reorganised into ...
21634 (grub_bsd_add_meta): ...this. All users updated.
21635 (grub_freebsd_add_mmap): Reorganised into ...
21636 (generate_e820_mmap): ...this...
21637 (grub_bsd_add_mmap): ...and this. All users updated.
21638 (grub_freebsd_list_modules): Use tags.
21639 (grub_netbsd_add_meta_module): New function.
21640 (grub_netbsd_list_modules): Likewise.
21641 (grub_freebsd_boot): Use relocator and finish EFI.
21642 (grub_openbsd_boot): Likewise.
21643 (grub_netbsd_setup_video): New function.
21644 (grub_netbsd_add_modules): Likewise.
21645 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
21646 and finish EFI.
21647 (grub_bsd_unload): Unload tags.
21648 (grub_bsd_load_aout): Use relocator.
21649 (grub_bsd_elf32_size_hook): New function.
21650 (grub_bsd_elf32_hook): Use relocator.
21651 (grub_bsd_elf64_size_hook): New function.
21652 (grub_bsd_elf64_hook): Use relocator.
21653 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
21654 (grub_bsd_load): Zero-out openbsd_ramdisk.
21655 (grub_bsd_load): Use relocator.
21656 (grub_cmd_openbsd): Support serial.
21657 (grub_cmd_netbsd): Support modules.
21658 (grub_cmd_freebsd_module): Use relocator.
21659 (grub_netbsd_module_load): New function.
21660 (grub_cmd_netbsd_module): Likewise.
21661 (grub_cmd_openbsd_ramdisk): Likewise.
21662 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
21663 kopenbsd_ramdisk.
21664 (GRUB_MOD_FINI): Unregister new commands.
21665 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
21666 (grub_freebsd_load_elfmodule_obj): Use relocator.
21667 (grub_freebsd_load_elfmodule): Likewise.
21668 (grub_freebsd_load_elf_meta): Likewise.
21669 (grub_netbsd_load_elf_meta): New function.
21670 (grub_openbsd_find_ramdisk): Likewise.
21671 * grub-core/loader/i386/bsd_helper.S: Removed.
21672 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
21673 * grub-core/loader/i386/bsd_trampoline.S: Removed.
21674 * grub-core/loader/i386/efi/linux.c: Likewise.
21675 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
21676 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
21677 (DEFAULT_VIDEO_MODE): Likewise.
21678 (real_mode_target): New variable.
21679 (prot_mode_target): Likewise.
21680 (initrd_mem_target): Likewise.
21681 (relocator): Likewise.
21682 (efi_mmap_buf): Likewise.
21683 (efi_mmap_size): Likewise.
21684 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
21685 (free_pages): Use relocator.
21686 (allocate_pages): Account for efi_mmap and use relocator. Return error.
21687 (grub_linux_setup_video): Return error.
21688 (grub_linux_trampoline_start): Removed.
21689 (grub_linux_trampoline_end): Likewise.
21690 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
21691 andd video parameters depending on firmware.
21692 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
21693 [GRUB_MACHINE_EFI]: Pass EFI parameters.
21694 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
21695 (grub_cmd_initrd): Use relocator.
21696 * grub-core/loader/i386/linux_trampoline.S: Removed.
21697 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
21698 (elf_sec_entsize): Likewise.
21699 (elf_sec_shstrndx): Likewise.
21700 (elf_sections): Likewise.
21701 (grub_multiboot_load): Use relocator.
21702 (grub_multiboot_get_mbi_size): Account for sections.
21703 (grub_multiboot_make_mbi): Use relocator and support sections.
21704 (grub_multiboot_add_elfsyms): New function.
21705 (grub_multiboot_free_mbi): Free sections.
21706 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
21707 (grub_linux_real_target): Likewise.
21708 (grub_linux_real_chunk): Likewise.
21709 (grub_linux16_prot_size): Likewise.
21710 (grub_linux16_boot): Use relocator.
21711 (grub_linux_unload): Unload relocator.
21712 (grub_cmd_linux): Use relocator.
21713 (grub_cmd_initrd): Likewise.
21714 * grub-core/loader/i386/pc/ntldr.c: New file.
21715 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
21716 Don't try to guess CPU frequency.
21717 (grub_xnu_set_video): Stretch bitmap.
21718 (grub_xnu_boot): Use relocator.
21719 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
21720 (grub_linux_unload): Free relocator.
21721 (grub_linux_load32): Use relocator.
21722 (grub_linux_load64): Likewise.
21723 (grub_cmd_initrd): Likewise.
21724 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
21725 (grub_multiboot_unload): Unload relocator.
21726 (grub_cmd_multiboot): Use relocator.
21727 (grub_cmd_module): Likewise.
21728 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
21729 Use relocator and support sections.
21730 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
21731 (elf_sec_entsize): Likewise.
21732 (elf_sec_shstrndx): Likewise.
21733 (elf_sections): Likewise.
21734 (grub_multiboot_load): Use relocator.
21735 (grub_multiboot_get_mbi_size): Account for sections.
21736 (grub_multiboot_make_mbi): Use relocator and support sections.
21737 (grub_multiboot_add_elfsyms): New function.
21738 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
21739 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
21740 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
21741 Prototype changed. All users updated.
21742 (grub_xnu_align_heap): Simplified.
21743 (grub_xnu_writetree_toheap): Likewise.
21744 (grub_xnu_unload): Unload relocator.
21745 (grub_cmd_xnu_kernel): Use relocator.
21746 (grub_cmd_xnu_kernel64): Likewise.
21747 (grub_xnu_register_memory): Simplified.
21748 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
21749 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
21750 EFI is finished.
21751 (grub_console_checkkey): Likewise.
21752 (grub_console_getkey): Likewise.
21753 (grub_console_getwh): Likewise.
21754 (grub_console_getxy): Likewise.
21755 (grub_console_gotoxy): Likewise.
21756 (grub_console_cls): Likewise.
21757 (grub_console_setcolorstate): Likewise.
21758 (grub_console_setcursor): Likewise.
21759 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
21760 * grub-core/tests/boot/kbsd.init-i386.S: New file.
21761 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
21762 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
21763 * grub-core/tests/boot/kernel-8086.S: Likewise.
21764 * grub-core/tests/boot/kernel-i386.S: Likewise.
21765 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
21766 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
21767 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
21768 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
21769 * grub-core/tests/boot/knetbsd.cfg: Likewise.
21770 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
21771 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
21772 * grub-core/tests/boot/linux.cfg: Likewise.
21773 * grub-core/tests/boot/linux.init-i386.S: Likewise.
21774 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
21775 * grub-core/tests/boot/linux16.cfg: Likewise.
21776 * grub-core/tests/boot/multiboot.cfg: Likewise.
21777 * grub-core/tests/boot/multiboot2.cfg: Likewise.
21778 * grub-core/tests/boot/ntldr.cfg: Likewise.
21779 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
21780 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
21781 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
21782 New definition.
21783 * include/grub/dl.h (grub_dl_unload_all): Removed.
21784 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
21785 (grub_efi_finish_boot_services): Change prototype.
21786 (grub_efi_is_finished): New variable.
21787 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
21788 Changed prototype.
21789 (grub_efiemu_finish_boot_services): Removed.
21790 (grub_machine_efiemu_init_tables): New prototype.
21791 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
21792 (grub_elf64_phdr_iterate): Likewise.
21793 * include/grub/i386/bsd.h: Include relocator.h.
21794 (freebsd_tag_header): New struct.
21795 (grub_openbsd_bios_mmap): Removed.
21796 (grub_unix_real_boot): Removed.
21797 (grub_freebsd_load_elfmodule32): Changed prototype.
21798 (grub_freebsd_load_elfmodule_obj64): Likewise.
21799 (grub_freebsd_load_elf_meta32): Likewise.
21800 (grub_freebsd_load_elf_meta64): Likewise.
21801 (grub_freebsd_add_meta): Removed.
21802 (grub_netbsd_load_elf_meta32): New prototype.
21803 (grub_netbsd_load_elf_meta64): Likewise.
21804 (grub_bsd_add_meta): Likewise.
21805 (grub_openbsd_ramdisk_descriptor): New struct.
21806 (grub_openbsd_find_ramdisk32): New prototype.
21807 (grub_openbsd_find_ramdisk64): Likewise.
21808 * include/grub/i386/coreboot/loader.h: Removed.
21809 * include/grub/i386/efi/loader.h: Likewise.
21810 * include/grub/i386/ieee1275/loader.h: Likewise.
21811 * include/grub/i386/linux.h (linux_kernel_header): Change void *
21812 to grub_uint32_t.
21813 * include/grub/i386/loader.h: Removed.
21814 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
21815 value.
21816 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
21817 (grub_phys_addr_t): New type.
21818 (grub_vtop): New inline function.
21819 (grub_map_memory): Likewise.
21820 (grub_unmap_memory): Likewise.
21821 * include/grub/i386/multiboot/loader.h: Removed.
21822 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
21823 (NETBSD_BTINFO_CONSOLE): New definition.
21824 (NETBSD_BTINFO_SYMTAB): Likewise.
21825 (NETBSD_BTINFO_MODULES): Likewise.
21826 (NETBSD_BTINFO_FRAMEBUF): Likewise.
21827 (grub_netbsd_bootinfo): New struct.
21828 (grub_netbsd_btinfo_common): Use explicit bitsize.
21829 (grub_netbsd_btinfo_mmap_entry): Removed.
21830 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
21831 (grub_netbsd_btinfo_bootdisk): New struct.
21832 (grub_netbsd_btinfo_symtab): Likewise.
21833 (grub_netbsd_btinfo_serial): Likewise.
21834 (grub_netbsd_btinfo_modules): Likewise.
21835 (grub_netbsd_btinfo_framebuf): Likewise.
21836 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
21837 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
21838 Likewise.
21839 (grub_openbsd_bootargs): Use explicit bitsize.
21840 (grub_openbsd_bootarg_console): New struct.
21841 (GRUB_OPENBSD_COM_MAJOR): New definition.
21842 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
21843 * include/grub/i386/pc/efiemu.h: Removed.
21844 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
21845 * include/grub/i386/qemu/loader.h: Removed.
21846 * include/grub/i386/relocator.h: Rewritten.
21847 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
21848 * include/grub/mips/memory.h: New file.
21849 * include/grub/mips/multiboot.h: Rewritten.
21850 * include/grub/mips/relocator.h: Rewritten.
21851 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
21852 (grub_vtop): New function.
21853 (grub_map_memory): Likewise.
21854 (grub_unmap_memory): Likewise.
21855 * include/grub/misc.h (ALIGN_DOWN): New definition.
21856 * include/grub/mm.h (grub_mm_check_real): New proto.
21857 (GRUB_MM_CHECK): New definition.
21858 * include/grub/mm_private.h: New file.
21859 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
21860 (grub_multiboot_get_mbi_size): Removed.
21861 (grub_multiboot_make_mbi): Change prottype.
21862 (grub_multiboot_set_accepts_video): New proto.
21863 (grub_multiboot_add_elfsyms): Likewise.
21864 (grub_multiboot_payload_eip): New variable.
21865 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
21866 New prototype.
21867 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
21868 New definition.
21869 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
21870 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
21871 * include/grub/powerpc/ieee1275/loader.h: Removed.
21872 * include/grub/powerpc/memory.h: New file.
21873 * include/grub/powerpc/relocator.h: Likewise.
21874 * include/grub/relocator.h: Likewise.
21875 * include/grub/relocator_private.h: Likewise.
21876 * include/grub/sparc64/ieee1275/loader.h: Removed.
21877 * include/grub/x86_64/memory.h: New file.
21878 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
21879 (grub_xnu_heap_malloc): Likewise.
21880 (grub_xnu_heap_real_start): Removed.
21881 (grub_xnu_heap_start): Likewise.
21882 (grub_xnu_relocator): New variable.
21883 (grub_xnu_heap_target_start): Likewise.
21884 * tests/util/grub-shell.in: Support non-pc.
21885 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 21886
5303b85d
VS
218872010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21888
21889 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
21890 on malloc error.
21891 (grub_bidi_logical_to_visual): Check that malloc succeded.
21892 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
21893 puts.
21894 (grub_xputs_normal): Likewise.
21895
d768d159
VS
218962010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21897
21898 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
21899 extra_dist.
21900
219012010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21902
21903 * grub-core/efiemu/runtime/efiemu.sh: Removed.
21904
5bf84df4
VS
219052010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21906
21907 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
21908
3626810e
VS
219092010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21910
21911 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
21912 dprintf.
21913
a7363f53
BC
219142010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
21915
21916 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
21917
902f75f6
VS
219182010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21919
21920 * grub-core/normal/term.c (print_more): Fix a memory leak.
21921 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
21922 (grub_xputs_normal): Likewise.
21923
3c707967
VS
219242010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21925
21926 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
21927 the begining of the string
21928
2053cc07
VS
219292010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21930
21931 * grub-core/script/script.c (grub_script_parse): Free parsed on
21932 failure.
21933
46422ebf
VS
219342010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21935
21936 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
21937 on failure.
21938
9e0fa3f6
VS
219392010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21940
21941 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
21942 return.
21943
3393cf16
VS
219442010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21945
21946 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
21947 (scroll_up): Fix a memory leak.
21948
b17540cb
VS
219492010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21950
21951 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
21952 errors.
21953
67140446
VS
219542010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
21955
21956 Handle USB pendrives exposed as floppies.
21957
21958 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
21959 floppy.
21960 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21961 Check for partitions on all devices.
21962
e35e46fc
VS
219632010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21964
21965 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
21966 (readkey): Likewise.
21967
d24c6190
BC
219682010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
21969
21970 Multiple variable names support to "export" command.
21971
21972 * normal/context.c (grub_cmd_export): "export" command supports
21973 multiple variable names.
21974
04ddcc6a
ST
219752010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
21976
21977 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
21978 --target=drive output to Mach device name.
21979
0c8b61d8
BC
219802010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21981
21982 New Automake based build system for GRUB.
21983
21984 * ABOUT-NLS: New file.
21985 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
21986 in Makefile.util.def file.
21987 * Makefile.util.def: New file. Autogen build definitions file for
21988 GRUB host utils.
21989 * conf/Makefile.common: New file. Common variables for GRUB host
21990 utils and target modules.
21991 * conf/Makefile.extra-dist: New file. Extra files for make dist.
21992 * docs/Makefile.am: New file. Automake file for docs.
21993 * gentpl.py: New file. Python script to generate Autogen
21994 template.
21995 * grub-core/Makefile.am: New file. GRUB target modules' rules
21996 that doesn't fit in Makefile.core.def file.
21997 * grub-core/Makefile.core.def: New file. Autogen build
21998 definitions file for GRUB target modules.
21999 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
22000 specific setjmp.S file.
22001 * po/Makefile.am: New file.
22002
22003 * .bzrignore: New ignores.
22004 * INSTALL: New requirements, without Ruby.
22005 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
22006 * autogen.sh: Updated to invoke autogen as necessary.
22007 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
22008 and defines for Automake conditionals.
22009 * geninit.sh: Refactoring.
22010
22011 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
22012 necessary.
22013 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
22014 New prototype.
22015
22016 * include/grub/test.h: Fix functional test modules' naming.
22017 * grub-core/tests/example_functional_test.c: Fix test module name.
22018
22019 * util/misc.c: Hosted versions' of grub functions for libgrub.a
22020 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
22021 * util/grub-editenv.c: Likewise.
22022 * util/grub-fstest.c: Likewise.
22023 * util/grub-mkdevicemap.c: Likewise.
22024 * util/grub-mkfont.c: Likewise.
22025 * util/grub-mkimage.c: Likewise.
22026 * util/grub-mkpasswd-pbkdf2.c: Likewise.
22027 * util/grub-probe.c: Likewise.
22028 * util/grub-script-check.c: Likewise.
22029 * util/i386/pc/grub-setup.c: Likewise.
22030 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22031
22032 * tests/util/grub-shell.in: Fix override directory path.
22033 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
22034 * util/import_gcry.py: Create Makefile.gcry.def file instead.
22035
22036 * util/lvm.c: Update #includes.
22037 * util/raid.c: Likewise.
22038 * util/resolve.c: Likewise.
22039 * grub-core/bus/emu/pci.c: Likewise.
22040 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
22041 * grub-core/lib/posix_wrap/string.h: Likewise.
22042 * grub-core/kern/emu/main.c: Likewise.
22043
22044 * grub-core/gensymlist.sh: New file. Script for generating kernel
22045 symbols file.
22046 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
22047
22048 * grub-core/gentrigtables.c: Fix unused variable warnings.
22049
22050 * Makefile.in: Removed.
22051 * conf/any-emu.rmk: Removed.
22052 * conf/common.rmk: Removed.
22053 * conf/i386-coreboot.rmk: Removed.
22054 * conf/i386-efi.rmk: Removed.
22055 * conf/i386-ieee1275.rmk: Removed.
22056 * conf/i386-multiboot.rmk: Removed.
22057 * conf/i386-pc.rmk: Removed.
22058 * conf/i386-qemu.rmk: Removed.
22059 * conf/i386.rmk: Removed.
22060 * conf/mips-yeeloong.rmk: Removed.
22061 * conf/mips.rmk: Removed.
22062 * conf/powerpc-ieee1275.rmk: Removed.
22063 * conf/sparc64-ieee1275.rmk: Removed.
22064 * conf/tests.rmk: Removed.
22065 * conf/x86-efi.rmk: Removed.
22066 * conf/x86_64-efi.rmk: Removed.
22067 * gendistlist.sh: Removed.
22068 * geninitheader.sh: Removed.
22069 * genkernsyms.sh.in: Removed.
22070 * genmk.rb: Removed.
22071 * gensymlist.sh.in: Removed.
22072 * mkinstalldirs: Removed.
22073 * boot: Moved ...
22074 * grub-core/boot: ... to here.
22075 * bus: Moved ...
22076 * grub-core/bus: ... to here.
22077 * commands: Moved ...
22078 * grub-core/commands: ... to here.
22079 * disk: Moved ...
22080 * grub-core/disk: ... to here.
22081 * efiemu: Moved ...
22082 * grub-core/efiemu: ... to here.
22083 * font: Moved ...
22084 * grub-core/font: ... to here.
22085 * fs: Moved ...
22086 * grub-core/fs: ... to here.
22087 * gencmdlist.sh: Moved ...
22088 * grub-core/gencmdlist.sh: ... to here.
22089 * genemuinit.sh: Moved ...
22090 * grub-core/genemuinit.sh: ... to here.
22091 * genemuinitheader.sh: Moved ...
22092 * grub-core/genemuinitheader.sh: ... to here.
22093 * genfslist.sh: Moved ...
22094 * grub-core/genfslist.sh: ... to here.
22095 * genhandlerlist.sh: Moved ...
22096 * grub-core/genhandlerlist.sh: ... to here.
22097 * genmoddep.awk: Moved ...
22098 * grub-core/genmoddep.awk: ... to here.
22099 * genmodsrc.sh: Moved ...
22100 * grub-core/genmodsrc.sh: ... to here.
22101 * genpartmaplist.sh: Moved ...
22102 * grub-core/genpartmaplist.sh: ... to here.
22103 * genparttoollist.sh: Moved ...
22104 * grub-core/genparttoollist.sh: ... to here.
22105 * genterminallist.sh: Moved ...
22106 * grub-core/genterminallist.sh: ... to here.
22107 * gentrigtables.c: Moved ...
22108 * grub-core/gentrigtables.c: ... to here.
22109 * genvideolist.sh: Moved ...
22110 * grub-core/genvideolist.sh: ... to here.
22111 * gettext: Moved ...
22112 * grub-core/gettext: ... to here.
22113 * gfxmenu: Moved ...
22114 * grub-core/gfxmenu: ... to here.
22115 * gnulib: Moved ...
22116 * grub-core/gnulib: ... to here.
22117 * hello: Moved ...
22118 * grub-core/hello: ... to here.
22119 * hook: Moved ...
22120 * grub-core/hook: ... to here.
22121 * io: Moved ...
22122 * grub-core/io: ... to here.
22123 * kern: Moved ...
22124 * grub-core/kern: ... to here.
22125 * lib: Moved ...
22126 * grub-core/lib: ... to here.
22127 * loader: Moved ...
22128 * grub-core/loader: ... to here.
22129 * mmap: Moved ...
22130 * grub-core/mmap: ... to here.
22131 * normal: Moved ...
22132 * grub-core/normal: ... to here.
22133 * partmap: Moved ...
22134 * grub-core/partmap: ... to here.
22135 * parttool: Moved ...
22136 * grub-core/parttool: ... to here.
22137 * script: Moved ...
22138 * grub-core/script: ... to here.
22139 * term: Moved ...
22140 * grub-core/term: ... to here
22141 * tests/example_functional_test.c: Moved ...
22142 * grub-core/tests/example_functional_test.c: ... to here.
22143 * tests/lib/functional_test.c: Moved ...
22144 * grub-core/tests/lib/functional_test.c: ... to here.
22145 * tests/lib/test.c: Moved ...
22146 * grub-core/tests/lib/test.c: ... to here.
22147 * video: Moved ...
22148 * grub-core/video: ... to here.
22149
645586e6
BC
221502010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
22151
22152 Replace --enable-grub-emu-modules with grub-emu-lite.
22153
22154 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
22155 cache.S.
22156
22157 * include/grub/emu/misc.h (grub_emu_init): New prototype.
22158 * kern/emu/full.c: New file. For grub-emu specific initialization.
22159 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
22160 * kern/emu/main.c: Call initialization function grub_emu_init.
22161
22162 * Makefile.in: Include grub-emu-lite in install.
22163 * commands/parttool.c: Use grub_no_autoload to differentiate
22164 between grub-emu and grub-emu-lite.
22165 * include/grub/misc.h: New variable grub_no_autoload.
22166
22167 * conf/any-emu.rmk: New rules for grub-emu-lite.
22168 * configure.ac: Remove --enable-grub-emu-modules.
22169 * genmk.rb: Cleanup unnecessary rules.
22170 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
22171
22172 * normal/main.c: Don't load list files on grub-emu-lite.
22173 * util/misc.c (grub_arch_sync_caches): Removed.
22174
f86a4030
CW
221752010-08-23 Colin Watson <cjwatson@ubuntu.com>
22176
22177 * kern/mips/startup.S (grub_prefix): Update comment to refer to
22178 grub-mkimage rather than grub-mkelfimage.
22179 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
22180
06776944
VS
221812010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
22182
22183 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
22184 a key after CapsLock or NumLock. It's just a qemu bug.
22185
df262419
VS
221862010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
22187
22188 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
22189 needed by libusb wrapper.
22190
b40ea81b
ST
221912010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
22192
22193 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
22194
dee50575
VS
221952010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
22196
22197 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
22198 --nounzip is passed.
22199
fb1d7b79
VS
222002010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
22201
22202 USB hotunplugging and USB serial support.
22203
22204 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
22205 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
22206 (grub_uhci_transfer): Respect timeout and set *actual.
22207 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
22208 non-standard length.
22209 (grub_usb_device_attach): Autoload modules.
22210 (GRUB_MOD_INIT): Set grub_term_poll_usb.
22211 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
22212 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
22213 users updated.
22214 (grub_usb_add_hub): Fill nports and children.
22215 (attach_root_port): Receive hub instead of controller.
22216 All users updated. Fill hub->devices.
22217 (grub_usb_root_hub): Allocate hub->devices.
22218 (detach_device): New function.
22219 (poll_nonroot_hub): Fill children and detach devices.
22220 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
22221 actual arguments. All users updated.
22222 (grub_usb_bulk_read_extended): New function.
22223 * bus/usb/serial/common.c: New file.
22224 * bus/usb/serial/ftdi.c: Likewise.
22225 * bus/usb/serial/pl2303.c: Likewise.
22226 * commands/terminal.c (handle_command): Support wildcard.
22227 * commands/usbtest.c: Output "Unknown" instead of empty string.
22228 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
22229 (usbserial_common_mod_SOURCES): New variable.
22230 (usbserial_common_mod_CFLAGS): Likewise.
22231 (usbserial_common_mod_LDFLAGS): Likewise.
22232 (pkglib_MODULES): Add usbserial_pl2303.mod.
22233 (usbserial_pl2303_mod_SOURCES): New variable.
22234 (usbserial_pl2303_mod_CFLAGS): Likewise.
22235 (usbserial_pl2303_mod_LDFLAGS): Likewise.
22236 (pkglib_MODULES): Add usbserial_ftdi.mod.
22237 (usbserial_ftdi_mod_SOURCES): New variable.
22238 (usbserial_ftdi_mod_CFLAGS): Likewise.
22239 (usbserial_ftdi_mod_LDFLAGS): Likewise.
22240 (pkglib_MODULES): Add serial.mod.
22241 (serial_mod_SOURCES): New variable.
22242 (serial_mod_CFLAGS): Likewise.
22243 (serial_mod_LDFLAGS): Likewise.
22244 * conf/i386-pc.rmk: Likewise.
22245 * conf/mips-yeeloong.rmk: Likewise.
22246 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
22247 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
22248 * disk/usbms.c (first_available_slot): New variable.
22249 (grub_usbms_attach): Don't reuse free slots due to potential cache
22250 problems.
22251 * include/grub/serial.h: Moved to ..
22252 * include/grub/ns8250.h: ...this.
22253 * include/grub/serial.h: New file.
22254 * include/grub/term.h (grub_term_poll_usb): New variable.
22255 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
22256 readkey. All users updated.
22257 (grub_terminfo_output_state): Pass term to put.
22258 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
22259 (grub_usb_controller_dev): Add timeout and actual arguments to
22260 transfer. All users updated.
22261 (grub_usb_interface): New field detach_data.
22262 (grub_usb_device): New fields children and nports.
22263 (grub_usb_ep_type_t): New type.
22264 (grub_usb_get_ep_type): New function.
22265 (grub_usb_bulk_read_extended): Likewise.
22266 * include/grub/usbdesc.h (grub_usb_desc): New type.
22267 * include/grub/usbserial.h: New file.
22268 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
22269 * kern/term.c (grub_term_poll_usb): New variable.
22270 (grub_getkey): Call grub_term_poll_usb if set.
22271 (grub_checkkey): Likewise.
22272 (grub_getkeystatus): Likewise.
22273 * term/serial.c: Moved controller-specific parts to ...
22274 * term/ns8250.c: ... here.
22275 * term/serial.c: Mostly rewritten.
22276 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
22277 according to spec.
22278
21a313de
RM
222792010-08-20 Robert Millan <rmh@gnu.org>
22280
22281 Make kFreeBSD code more generic to support ext2fs as root, ufs as
22282 a separate module and maybe other interesting combinations.
22283
22284 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
22285 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
22286 (kfreebsd_entry): Add generic filesystem module load routine.
22287 Map GRUB `ext2' to kFreeBSD `ext2fs'.
22288
63c734a6
CW
222892010-08-20 Colin Watson <cjwatson@ubuntu.com>
22290
22291 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
22292 "numcenter" (I misunderstood the purpose of this entry).
22293 * docs/grub.texi (sendkey): Likewise.
22294
c4d16542
CW
222952010-08-20 Colin Watson <cjwatson@ubuntu.com>
22296
22297 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
22298 status flag options; simply omitting the option is equivalent and
22299 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
22300 (keysym_table): Rename "num5numlock" to "numlock".
22301 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
22302 can uniformly say that only the last of multiple `sendkey'
22303 invocations has any effect.
22304 * docs/grub.texi (sendkey): New section.
22305
93541d66
CW
223062010-08-19 Colin Watson <cjwatson@ubuntu.com>
22307
22308 * commands/i386/pc/sendkey.c (options): Fix three typos.
22309
b4ece5e1
VS
223102010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
22311
22312 Implement sendkey support.
22313
22314 * commands/i386/pc/sendkey.c: New file.
22315 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
22316 (sendkey_mod_SOURCES): New variable.
22317 (sendkey_mod_CFLAGS): Likewise.
22318 (sendkey_mod_LDFLAGS): Likewise.
22319
51f1f5af
CW
223202010-08-18 Colin Watson <cjwatson@ubuntu.com>
22321
22322 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
22323 fix warnings from Autoconf.
22324
9da94e05
CW
223252010-08-18 Colin Watson <cjwatson@ubuntu.com>
22326
22327 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
22328 to avoid false positives with some assemblers that output things
22329 like "someprefix_func" as part of their output.
22330
729a0f2e
RM
223312010-08-15 Robert Millan <rmh@gnu.org>
22332
22333 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
22334 errors.
22335 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
22336 grub_get_libzfs_handle() errors.
22337
f3710e08
RM
223382010-08-14 Robert Millan <rmh@gnu.org>
22339
22340 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
22341 filesystem is not ZFS.
22342
7a3c13de
BC
223432010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22344
22345 Fix for misspelled color names defaulting to black/black (bug
22346 reported by Doug Nazar)
22347
22348 * include/grub/normal.h (grub_parse_color_name_pair): Add return
22349 status to prototype.
22350 * normal/color.c (grub_parse_color_name_pair): Return failure
22351 status.
22352 (grub_env_write_color_normal): Ignore bad color names.
22353 (grub_env_write_color_highlight): Likewise.
22354 * normal/main.c (GRUB_MOD_INIT): Set default color names.
22355
ab8ba50d
BC
223562010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22357
22358 "shift" command support to GRUB script.
22359
22360 * include/grub/script_sh.h (grub_script_shift): New prototype.
22361 * script/execute.c (grub_script_shift): New function.
22362 * script/main.c (grub_script_init): Register shift command.
22363 (grub_script_fini): Unregister shift command.
22364 * util/grub-script-check.c (grub_script_cmd_shift): New function.
22365
22366 * tests/grub_script_shift.in: New testcase.
22367 * conf/tests.rmk: Rules for new testcase.
22368
4d61999e
BC
223692010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22370
22371 "continue" command support to GRUB script.
22372
22373 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
22374 (grub_script_break): Continue support.
22375 * script/main.c (grub_script_init): Register continue command.
22376 (grub_script_fini): Unregister continue command.
22377
22378 * tests/grub_script_continue.in: New testcase.
22379 * conf/tests.rmk: Rules for new testcase.
22380
4df51e00
BC
223812010-08-12 BVK Chaitanya <bvk@dbook>
22382
22383 "break" command support to GRUB script.
22384
22385 * conf/common.rmk: Rule updates to grub-script-check.
22386 * include/grub/misc.h (grub_min): New function.
22387 * include/grub/script_sh.h (grub_script_init): New prototype.
22388 (grub_script_fini): New prototype.
22389 (grub_script_break): New prototype.
22390 * script/main.c (grub_script_init): New function.
22391 (grub_script_fini): New function.
22392 * script/execute.c (grub_script_break): New function.
22393 * normal/main.c: Calls to grub_script_{init,fini}.
22394 * util/grub-script-check.c (grub_script_break): New function.
22395
22396 * tests/grub_script_break.in: New testcase.
22397 * conf/tests.rmk: Rules for new test case.
22398
f12c8420
BC
223992010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22400
22401 Function parameters support to GRUB script.
22402
22403 * script/yylex.l (VARIABLE): Regular expression update.
22404 * script/function.c (grub_script_function_call): Moved ...
22405 * script/execute.c (grub_script_function_call): ... to here.
22406 (grub_script_execute_arglist_to_argv): Removed.
22407 (grub_script_arglist_to_argv): New function.
22408 * script/argv.c: New file.
22409 (grub_script_argv_free): New function.
22410 (grub_script_argv_next): Likewise.
22411 (grub_script_argv_append): Likewise.
22412 (grub_script_argv_split_append): Likewise.
22413 * include/grub/script_sh.h (grub_script_argv): New struct.
22414 (grub_script_argv_free): New function.
22415 (grub_script_argv_next): Likewise.
22416 (grub_script_argv_append): Likewise.
22417 (grub_script_argv_split_append): Likewise.
22418
22419 * conf/common.rmk (normal.mod): New source script/argv.c.
22420
22421 * tests/grub_script_echo1.in: More tests.
22422 * tests/grub_script_vars1.in: Likewise.
22423 * tests/grub_script_functions.in: New test case.
22424 * conf/tests.rmk: Rules for new testcase.
22425
8022b748
BC
224262010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22427
22428 Remove grub_script_cmdblock struct.
22429
22430 * include/grub/script_sh.h: Remove grub_script_cmdblock.
22431 * script/parser.y: Likewise.
22432 * script/execute.c: Rename cmdblock suffix to cmdlist.
22433 * script/script.c: Likewise.
22434 * util/grub-script-check.c: Likewise.
22435
79a6ba61
YB
224362010-08-11 Yves Blusseau <blusseau@zetam.org>
22437
22438 * .bzrignore: add grub-macho2img
22439
d04b9414
VS
224402010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22441
22442 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
22443
f947ab49
VS
224442010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22445
22446 Remove the dump of sm712 initialisation sequence.
22447
22448 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
22449 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
22450 (GRUB_VGA_IO_MISC_WRITE): Likewise.
22451 (GRUB_VGA_CR_*): Added many registers.
22452 (GRUB_VGA_SR_*): Likewise.
22453 (GRUB_VGA_GR_*): Likewise.
22454 (grub_vga_write_arx): New function.
22455 (grub_video_hw_config): New struct.
22456 (grub_vga_set_geometry): New function.
22457 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
22458 GRUB_PCI_CLASS_SUBCLASS_VGA.
22459 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
22460 * video/sm712.c (grub_sm712_write_reg): New function
22461 (grub_sm712_read_reg): Likewise.
22462 (grub_sm712_sr_write): Likewise.
22463 (grub_sm712_gr_write): Likewise.
22464 (grub_sm712_cr_write): Likewise.
22465 (grub_sm712_write_arx): Likewise.
22466 (grub_sm712_cr_shadow_write): Likewise.
22467 (grub_sm712_write_dda_lookup): Likewise.
22468 (grub_video_sm712_setup): Initialise the video rather then
22469 blindly replay the dump.
22470 (main) [TEST]: Add a routine to be able to compile as standalone for
22471 tests.
22472 * video/sm712_init.c (sm712_init): Removed.
22473 (sm712_sr_seq1): New array.
22474 (sm712_sr_seq2): Likewise.
22475
f0206638
VS
224762010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22477
22478 * include/grub/vga.h: Add missing grub/pci.h include.
22479
2764da3b
YB
224802010-08-10 Yves Blusseau <blusseau@zetam.org>
22481
22482 * util/grub-macho2img.c (main): fix typo
22483
cf0c775e
VS
224842010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22485
22486 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
22487 (grub_vga_gr_read): Likewise.
22488 (grub_vga_cr_write): Likewise.
22489 (grub_vga_cr_read): Likewise.
22490 (grub_vga_sr_write): Likewise.
22491 (grub_vga_sr_read): Likewise.
22492 (grub_vga_palette_read): Likewise.
22493 (grub_vga_palette_write): Likewise.
22494 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
22495 (grub_sm712_sr_read): New function.
22496 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
22497 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
22498
07f360e9
RM
224992010-08-09 Robert Millan <rmh@gnu.org>
22500
22501 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
22502 out unused variables on non-ZFS build.
22503
346c2072
RM
225042010-08-08 Robert Millan <rmh@gnu.org>
22505
22506 Fix path generation for sub-filesystems in ZFS.
22507
22508 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
22509 missing slash.
22510
71175420
RM
225112010-08-08 Robert Millan <rmh@gnu.org>
22512
22513 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
22514
0d8286f3
RM
225152010-08-08 Robert Millan <rmh@gnu.org>
22516
22517 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
22518 exist, issue a proper error message (rely on `ls' for translated
22519 strings).
22520
55dd2924
RM
225212010-08-08 Robert Millan <rmh@gnu.org>
22522
22523 Fix grub-probe invocation.
22524
22525 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
22526
d3dd9e80
RM
225272010-08-04 Robert Millan <rmh@gnu.org>
22528
22529 * configure.ac: Remove checks for getfsstat() and getmntany().
22530 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
22531 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
22532 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
22533 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
22534 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
22535 function.
22536 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
22537 via find_mount_point_from_dir() and getfsstat() / getmntany().
22538
0de22aa9
RM
225392010-08-04 Robert Millan <rmh@gnu.org>
22540
22541 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22542 (grub_find_zpool_from_mount_point): Merge into ...
22543 (grub_find_zpool_from_dir): ... this.
22544 * kern/emu/misc.c: Likewise.
22545
22546 * kern/emu/misc.c
22547 (grub_make_system_path_relative_to_its_root): Replace
22548 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
22549 with grub_find_zpool_from_dir().
22550 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
22551
62858144
RM
225522010-08-04 Robert Millan <rmh@gnu.org>
22553
22554 Support OpenSolaris in ZFS device resolution.
22555
22556 * configure.ac: Check for getmntany().
22557 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
22558 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
22559 support.
22560
9dd6fd50
RM
225612010-08-03 Robert Millan <rmh@gnu.org>
22562
22563 Fix grub-emu build.
22564
22565 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
22566 * include/grub/emu/misc.h: ... here.
22567
22568 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
22569 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
22570
22571 * util/misc.c: Remove `<grub/util/libzfs.h>'.
22572 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
22573 (grub_get_libzfs_handle): Move to ...
22574 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
22575 (grub_get_libzfs_handle): ... here.
22576
c9f7ff97
BC
225772010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
22578
22579 * script/execute.c (grub_script_execute_cmdline): Check for NULL
22580 as command name case.
22581
a870a783
CW
225822010-08-02 Colin Watson <cjwatson@ubuntu.com>
22583
22584 * disk/raid.c (insert_array): Select unique numbers for named arrays
22585 as well, for use as keys in the disk cache.
22586
c7db243b
RM
225872010-08-01 Robert Millan <rmh@gnu.org>
22588
22589 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
22590 kFreeBSD device name, except on ZFS where the filesystem label is
22591 used.
22592 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
22593 `/boot/zfs/zpool.cache'.
22594 Set mountfrom kernel variable using ${kfreebsd_device}.
22595
f7abdefb
RM
225962010-08-01 Robert Millan <rmh@gnu.org>
22597
22598 Make it even harder to use uninitialized `libzfs_handle' (and
22599 make the interface a bit simpler).
22600
22601 * include/grub/util/misc.h (grub_util_init_libzfs)
22602 (libzfs_handle): Remove.
22603 (grub_get_libzfs_handle): New prototype.
22604
22605 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
22606 attribute.
22607 (grub_util_init_libzfs): Remove.
22608 (grub_get_libzfs_handle): New function.
22609
22610 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
22611 grub_get_libzfs_handle() to obtain a libzfs handle instead of
22612 accessing `libzfs_handle' directly.
22613
c882acc0
RM
226142010-08-01 Robert Millan <rmh@gnu.org>
22615
22616 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22617 (grub_find_zpool_from_mount_point): New function prototypes.
22618
22619 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22620 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22621
22622 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22623 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22624 `static' attribute.
22625
22626 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22627 finding zpool from mount point into ...
22628 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22629
22630 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22631 requested path is part of a ZFS pool, use
22632 grub_find_zpool_from_mount_point() to detect its filesystem name,
22633 and generate a path with `/fsname@path' syntax.
22634
8bfe31d8
CW
226352010-08-01 Colin Watson <cjwatson@ubuntu.com>
22636
22637 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
22638 (void) rather than () so that this is a proper prototype.
22639
553df63d
VS
226402010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22641
22642 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
22643
8687cf07
VS
226442010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22645
22646 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
22647 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
22648
ea9be8ea
CW
226492010-08-01 Colin Watson <cjwatson@ubuntu.com>
22650
22651 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
22652
6eea041a
CW
226532010-08-01 Colin Watson <cjwatson@ubuntu.com>
22654
22655 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
22656
2cfb45df
CW
226572010-08-01 Colin Watson <cjwatson@ubuntu.com>
22658
22659 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
22660 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
22661 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
22662 disable gfxpayload.
22663 (Shell-like scripting): Add real content.
22664 (Serial terminal): Suggest `terminal_input serial; terminal_output
22665 serial' rather than putting the two commands on separate lines,
22666 since console input will be inoperative after the first command.
22667 (menuentry): Document --class, --users, and --hotkey options.
22668 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
22669 Vladimir Serbinenko).
22670
7decd202
VS
226712010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
226722010-08-01 Colin Watson <cjwatson@ubuntu.com>
22673
22674 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
22675
c882acc0
RM
226762010-08-01 Robert Millan <rmh@gnu.org>
22677
22678 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22679 (grub_find_zpool_from_mount_point): New function prototypes.
22680
22681 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22682 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22683
22684 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22685 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22686 `static' attribute.
22687
22688 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22689 finding zpool from mount point into ...
22690 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22691
22692 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22693 requested path is part of a ZFS pool, use
22694 grub_find_zpool_from_mount_point() to detect its filesystem name,
22695 and generate a path with `/fsname@path' syntax.
22696
deb0caa3
RM
226972010-08-01 Robert Millan <rmh@gnu.org>
22698
22699 Prevent accidental use of uninitialized libzfs_handle.
22700
22701 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
22702 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
22703 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
22704
ce04ef47
CW
227052010-08-01 Colin Watson <cjwatson@ubuntu.com>
22706
22707 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
22708 util/grub.d/10_linux.in). Fixes Debian bug #591093.
22709
ebf53056
RM
227102010-08-01 Robert Millan <rmh@gnu.org>
22711
22712 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 22713
3710bb6b
RM
227142010-07-31 Robert Millan <rmh@gnu.org>
22715
22716 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
22717
8072efeb
RM
227182010-07-31 Robert Millan <rmh@gnu.org>
22719
22720 * kern/emu/misc.c: Add missing license header.
22721
3169f4c7
RM
227222010-07-31 Robert Millan <rmh@gnu.org>
22723
22724 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
22725
22726 * include/grub/util/libnvpair.h: Include `<config.h>'.
22727 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
22728 declaring libnvpair prototypes ourselves.
22729 * include/grub/util/libzfs.h: Include `<config.h>'.
22730 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
22731 declaring libzfs prototypes ourselves.
22732
22733 (libzfs_handle): Moved to ...
22734 * include/grub/util/misc.h (libzfs_handle): ... here.
22735 Include `<grub/util/libzfs.h>'.
22736
c9a00aee
RM
227372010-07-30 Robert Millan <rmh@gnu.org>
22738
22739 * include/grub/emu/misc.h: Add missing license header.
22740
a184f9c8
RM
227412010-07-30 Robert Millan <rmh@gnu.org>
22742
22743 Enable `grub-probe -t device' resolution on ZFS.
22744
22745 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
22746 * include/grub/util/libnvpair.h: New file.
22747 * include/grub/util/libzfs.h: New file.
22748
22749 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
22750 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
22751 `<grub/util/libnvpair.h>'.
22752 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
22753
22754 (find_mount_point_from_dir): New static function.
22755 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
22756 function.
22757 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
22758 find_root_device_from_libzfs() before ressorting to find_root_device().
22759
22760 * include/grub/util/misc.h (grub_util_init_libzfs): New function
22761 prototype.
22762 * util/misc.c: Include `<grub/util/libzfs.h>'.
22763 (grub_util_init_libzfs): New function.
22764 [HAVE_LIBZFS] (libzfs_handle): New global variable.
22765 [HAVE_LIBZFS] (fini_libzfs): New static function.
22766 (grub_util_init_libzfs): New function.
22767 * util/grub-probe.c (main): Call grub_util_init_libzfs().
22768
f7790cdd
RM
227692010-07-30 Robert Millan <rmh@gnu.org>
22770
22771 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
22772 (xmalloc, xrealloc, xstrdup, xasprintf): Add
22773 `warn_unused_result' attribute.
22774 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
22775 (grub_xasprintf, grub_xvasprintf): Likewise.
22776 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
22777
0806b63c
RM
227782010-07-29 Robert Millan <rmh@gnu.org>
22779
22780 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
22781 (probe): Handle `PRINT_FS_LABEL'.
22782 (main): Handle `-t fs_label'.
22783
9f841f5c
RM
227842010-07-29 Robert Millan <rmh@gnu.org>
22785
22786 * configure.ac: Remove grub-mkisofs checks.
22787
46371121
VS
227882010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22789
22790 * util/ieee1275/grub-install.in: Don't use empty grub_device.
22791 Reported by: Lennart Sorensen.
22792
227932010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22794
22795 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
22796 prior to terminal_input/terminal_output separation. It's been over 1.5
22797 years and those versions weren't widely deployed.
22798
a9600892
CW
227992010-07-22 Colin Watson <cjwatson@ubuntu.com>
22800
22801 * disk/raid.c (insert_array): Don't count named arrays when looking
22802 for unused array numbers.
697e053c 22803 Reported and tested by: Michael Guntsche.
a9600892 22804
c03507df
CW
228052010-07-20 Colin Watson <cjwatson@ubuntu.com>
22806
22807 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
22808 implementation of this so that grub-emu links again, with a note
22809 that this should support hotplugging in the future.
22810
b26f1c11
CW
228112010-07-20 Colin Watson <cjwatson@ubuntu.com>
22812
22813 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22814
efc9d7f1
CW
228152010-07-20 Colin Watson <cjwatson@ubuntu.com>
22816
22817 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
22818 handle on failure.
22819 (grub_loopback_close): Remove empty function.
22820 (grub_loopback_dev): Remove close method.
22821
dd8ff5c9
CW
228222010-07-20 Colin Watson <cjwatson@ubuntu.com>
22823
22824 Disable EFI cursor when the EFI console becomes inactive.
22825
22826 * term/efi/console.c (grub_efi_console_init): New function.
22827 (grub_efi_console_fini): New function.
22828 (grub_console_term_output): Register init and fini methods.
22829
5e3bec67
VS
228302010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22831
22832 * tests/util/grub-shell-tester.in: Remove bashism and declare as
22833 sh script.
22834
afaec079
VS
228352010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22836
22837 * disk/loopback.c (grub_loopback): Replace filename with file.
22838 (delete_loopback): Handle new semantics.
22839 (grub_cmd_loopback): Likewise.
22840 (grub_loopback_iterate): Likewise.
22841 (grub_loopback_close): Likewise.
22842
a6a11f3c
VS
228432010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22844
22845 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
22846 with -p "".
22847 Reported by: Tito Keitel.
22848
64a638b0
VS
228492010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22850
22851 * docs/grub.texi (Naming convention): Document new naming convention.
22852
ab8ba957
VS
228532010-07-20 Vadim Solomin <vadic052@gmail.com>
228542010-07-20 Colin Watson <cjwatson@ubuntu.com>
22855
22856 Generate device.map in something closer to the old ordering.
22857
22858 * util/deviceiter.c (struct device): New declaration.
22859 (compare_file_names): Rename to ...
22860 (compare_devices): ... this. Sort by kernel name in preference to
22861 the stable by-id name, but keep the latter as a fallback comparison.
22862 Update header comment.
22863 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
22864 of `struct device' rather than of plain file names.
22865
a29d6a4b
TF
228662010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
22867
22868 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
22869 on i386.
22870
39d824e8
VS
228712010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22872
22873 * commands/acpi.c (setup_common_tables): Use sizeof instead of
22874 hardcoding size.
22875 (setv1table): Likewise.
22876
f058276b
FZ
228772010-07-20 Colin Watson <cjwatson@ubuntu.com>
22878
22879 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
22880 removing the homehost if present.
22881 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
22882 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
22883 removing the homehost if present.
22884 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
22885 if possible.
22886 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
22887
22888 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
22889 parameter. Set its pointer target to 0.
22890 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
22891 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
22892 `data_offset' value from the superblock for 1.x metadata.
22893 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
22894 data on the device.
22895 (insert_array): Record the start sector of data on the device.
22896 (grub_raid_register): Pass start_sector parameters to
22897 grub_raid_list->detect and insert_array.
22898 * include/grub/raid.h (struct grub_raid_array): Add start_sector
22899 member.
22900 (struct grub_raid): Add start_sector parameter to `detect'.
22901
22902 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
22903 __attribute__ ((packed)), leaving a comment.
22904 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
22905 (grub_mdraid_detect_09): ... here and ...
22906 (grub_mdraid_detect_1x): ... here.
22907
229082010-07-20 Peter Henn <peter.henn@web.de>
22909
22910 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
22911 chunk size and disk size, which are already given as sector counts
22912 as distinct from the 0.90 units. Fetch the correct device number
22913 from the role table instead of using the table index.
22914
229152010-07-20 Felix Zielcke <fzielcke@z-51.de>
22916
22917 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
22918 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
22919 (WriteMostly1): New macro.
22920 Set array->name to NULL for metadata format 0.90. Add support for
22921 metadata 1.x. Fix some comments.
22922 * disk/raid.c (): Add support for name based RAID arrays. Fix a
22923 few comments.
22924 * util/getroot.c (grub_util_get_grub_dev): Add support for
22925 /dev/md/name style devices.
22926
4b761da9
CW
229272010-07-20 Colin Watson <cjwatson@ubuntu.com>
22928
22929 * .bzrignore: Ignore 20_linux_xen.
22930
5771289a
CW
229312010-07-17 Colin Watson <cjwatson@ubuntu.com>
22932
22933 * util/import_unicode.py: Remove unnecessary imports.
22934
5dab68df
AN
229352010-07-17 Aleš Nesrsta <starous@volny.cz>
22936
22937 Hotplugging and USB hub support.
22938
22939 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
22940 (grub_ohci): Likewise.
22941 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
22942 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
22943 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
22944 (GRUB_OHCI_CTRL_EDS): Likewise.
22945 (GRUB_OHCI_BULK_EDS): Likewise.
22946 (GRUB_OHCI_TDS): Likewise.
22947 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
22948 (grub_ohci_ed_phys2virt): New function.
22949 (grub_ohci_virt_to_phys): Likewise.
22950 (grub_ohci_td_phys2virt): Likewise.
22951 (grub_ohci_td_virt2phys): Likewise.
22952 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
22953 attachment.
22954 (grub_ohci_find_ed): New function.
22955 (grub_ohci_alloc_td): Likewise.
22956 (grub_ohci_free_td): Likewise.
22957 (grub_ohci_free_tds): Likewise.
22958 (grub_ohci_transfer): Use previously allocated memory.
22959 (grub_ohci_portstatus): Reset status changed bit.
22960 (grub_ohci_detect_dev): Supply status changed.
22961 (grub_ohci_fini_hw): Free memory.
22962 (grub_ohci_restore_hw): Reallocate memory.
22963 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
22964 Reset status change.
22965 (grub_uhci_detect_dev): Supply status_change.
22966 * bus/usb/usb.c (attach_hooks): New var.
22967 (grub_usb_device_attach): New function.
22968 (grub_usb_register_attach_hook_class): Likewise.
22969 (grub_usb_unregister_attach_hook_class): Likewise.
22970 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
22971 (grub_usb_add_hub): Reset connection changed bit.
22972 (attach_root_port): New function.
22973 (grub_usb_root_hub): Likewise.
22974 (poll_nonroot_hub): Likewise.
22975 (grub_usb_poll_devices): Likewise.
22976 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
22977 * disk/usbms.c (grub_usbms_open): Use device hooks.
22978 (grub_usbms_iterate) :Poll devices.
22979 (grub_usbms_finddevs): Split into ...
22980 (grub_usbms_attach): ... this ...
22981 (grub_usbms_attach): ... and this.
22982 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
22983 in detect_dev.
22984 (grub_usb_interface): New fields attached and detach_hook.
22985 (grub_usb_attach_hook_class): New type.
22986 (grub_usb_attach_desc): New struct.
22987 (grub_usb_register_attach_hook_class): New function.
22988 (grub_usb_unregister_attach_hook_class): Likewise.
22989 (grub_usb_poll_devices): Likewise.
22990 (grub_usb_device_attach): Likewise.
22991 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
22992 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
22993
3222efaf
VS
229942010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22995
22996 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
22997 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
22998 delta determination style. Works with most NetBSD partitions too.
22999
139b714a
VS
230002010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23001
23002 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
23003 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
23004
986aad56
VS
230052010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23006
23007 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
23008
99be513c
AB
230092010-07-14 Anton Blanchard <anton@samba.org>
23010
23011 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
23012 ET_DYN files.
23013
18075f62
GS
230142010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23015
23016 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
23017
8d9a5b15
GS
230182010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23019
23020 * kern/partition.c (grub_partition_check_containment): New function to
23021 check that a partition is physically contained in a parent. Since
23022 offsets are relative (and non-negative), this reduces to checking that
23023 the partition ends before its parent.
23024 (grub_partition_map_probe): Discard out-of-range sub-partitions.
23025 (grub_partition_iterate): Likewise.
23026 * include/grub/partition.h (grub_partition_map): Slightly more detailed
23027 comments.
23028 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
23029 partitions that start before their parent, and add debug printfs.
23030
19563c25
CW
230312010-07-13 Colin Watson <cjwatson@ubuntu.com>
23032
23033 * Makefile.in (.SUFFIX): Spell correctly, as ...
23034 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
23035 bare module name without `.mod', e.g. `test') tried to invoke a
23036 Modula-2 compiler.
23037
1a1f1e67
CW
230382010-07-13 Colin Watson <cjwatson@ubuntu.com>
23039
23040 * README: Point to the Info manual.
23041
811b0dca
JS
230422010-07-13 Jiro SEKIBA <jir@unicus.jp>
23043
23044 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
23045 2nd superblock position from partition size.
23046
e4f4eafc
CW
230472010-07-10 Colin Watson <cjwatson@ubuntu.com>
23048
23049 * Makefile.in (MAINTAINER_CLEANFILES): Remove
23050 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
23051 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
23052 outputs.
23053
4274c30f
VS
230542010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23055
23056 Restructure SCSI .id handling.
23057 Reported and tested by: Aleš Nesrsta.
23058
23059 * disk/ata.c (grub_atapi_close): Removed. All users updated.
23060 (grub_atapi_dev): Changed .name to "ata". New field .id.
23061 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
23062 (grub_usbms_dev): New field .id.
23063 * disk/scsi.c (grub_scsi_iterate): Generate name.
23064 (grub_scsi_open): Parse name.
23065 * include/grub/scsi.h (grub_make_scsi_id): New function.
23066 (grub_scsi_dev): Change iterate and open to number instead of naming
23067 busses. All users updated.
23068 (grub_scsi): Remove name. Add .bus.
23069
5bc24388
VS
230702010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23071
23072 * commands/help.c (grub_cmd_help): Fix a typo.
23073
249975ba
VS
230742010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23075
23076 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
23077 Reported and tested by: Colin Watson.
23078
3eaac1a1
VS
230792010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23080
23081 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
23082 in this context.
23083
becce1b1
VS
230842010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
23085
23086 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
23087
f7bf0918
CW
230882010-07-07 Colin Watson <cjwatson@ubuntu.com>
23089
23090 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
23091 indentation.
23092
0b0f9620
CW
230932010-07-06 Colin Watson <cjwatson@ubuntu.com>
23094
23095 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
23096 and disk/raid6_recover.c.
23097 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23098 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
23099
1e545469
CW
231002010-07-06 Colin Watson <cjwatson@ubuntu.com>
23101
23102 * term/gfxterm.c (repaint_schedulded): Rename to ...
23103 (repaint_scheduled): ... this. Update all callers.
23104 (repaint_was_schedulded): Rename to ...
23105 (repaint_was_scheduled): ... this. Update all callers.
23106
5357687a
CW
231072010-07-06 Colin Watson <cjwatson@ubuntu.com>
23108
23109 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
23110 which we expect to be handled by upper layers.
23111
29d7e783
BC
231122010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
23113
23114 * bus/usb/usbhub.c: #include time.h header.
23115
37582066
CW
231162010-07-06 Colin Watson <cjwatson@ubuntu.com>
23117
23118 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
23119 entry_name also for entries without stat blocks (e.g. ".."); fixes
23120 corruption of the first entry in a directory.
23121
c8c06953
CW
231222010-07-06 Colin Watson <cjwatson@ubuntu.com>
23123
23124 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
23125 after setting gfxterm as the active terminal. GRUB_BACKGROUND
23126 doesn't work otherwise.
23127
e75056f1
CW
231282010-07-05 Colin Watson <cjwatson@ubuntu.com>
23129
23130 * docs/grub.texi (Features): Update list of supported file systems.
23131 (GNU/Linux): Update for GRUB 2.
23132 (Serial terminal): Remove mention of --disable-serial, which was a
23133 GRUB Legacy configure option. Update instructions to use
23134 `terminal_input' and `terminal_output' rather than `terminal'.
23135 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
23136 configuration' and `Installing GRUB using grub-install'.
23137 (Menu entry editor): Update for GRUB 2.
23138 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
23139 Document new -a, -u, and -v options.
23140 (initrd): New section.
23141 (initrd16): New section.
23142 (linux): New section.
23143 (linux16): New section.
23144 (search): The `var' argument to `--set' is optional.
23145 (GRUB only offers a rescue shell): Go into a little more detail on
23146 drive ordering.
23147
5cf69151
CW
231482010-07-05 Colin Watson <cjwatson@ubuntu.com>
23149
23150 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
23151
e3f90044
CW
231522010-07-05 Colin Watson <cjwatson@ubuntu.com>
23153
23154 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
23155 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
23156
38d8f4f3
CW
231572010-07-05 Colin Watson <cjwatson@ubuntu.com>
23158
23159 * util/i386/pc/grub-setup.c (setup): Rename prefix to
23160 install_prefix, in line with install_dos_part and install_bsd_part.
23161 Add new prefix variable, which is copied to install_prefix after
23162 comparing core.img in memory with the one read from disk in the
23163 no-embedding case, and use that rather than overwriting
23164 install_prefix immediately when installing to a partition.
23165 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
23166 Bicakci.
23167
57ebd41e
GS
231682010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
23169
23170 * configure.ac: Avoid == in test command, it's not portable.
23171 * util/grub.d/30_os-prober.in: Likewise.
23172
cb7f64b2
CW
231732010-07-04 Colin Watson <cjwatson@ubuntu.com>
23174
23175 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
23176
6b654bb0
GS
231772010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
23178
23179 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
23180 multiple (top-level) partmaps.
23181
72a2026d
VS
231822010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23183
23184 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 23185 Reported by: Tino Keitel.
72a2026d 23186
df3eb88f
VS
231872010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23188
23189 Bidi and diacritics support.
23190
23191 * Makefile.in (widthspec.bin): New target.
23192 (widthspec.h): Likewise.
23193 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
23194 * autogen.sh: Generate unidata.c.
23195 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
23196 * commands/ls.c (grub_ls_list_devices): Likewise.
23197 (grub_ls_list_files): Likewise.
23198 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
23199 (grub_mini_cmd_lsmod): Likewise.
23200 * commands/read.c: Likewise.
23201 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
23202 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
23203 * lib/arg.c (grub_arg_show_help): Likewise.
23204 * lib/crypto.c (grub_password_get): Likewise.
23205 * normal/auth.c (grub_username_get): Likewise.
23206 * normal/misc.c (grub_normal_print_device_info): Likewise.
23207 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
23208 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
23209 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
23210 (normal/charset.c_DEPENDENCIES): New variable.
23211 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
23212 (pkglib_MODULES): Remove charset.mod.
23213 (charset_mod_SOURCES): Removed.
23214 (charset_mod_CFLAGS): Likewise.
23215 (charset_mod_LDFLAGS): Likewise.
23216 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
23217 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
23218 and term/tparm.c.
23219 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23220 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23221 (kernel_img_HEADERS): Add terminfo.h.
23222 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
23223 Fill ->font. Reverse ascii bitmaps.
23224 (grub_font_get_xheight): New function.
23225 * font/font.c (grub_font_get_string_width): Moved from here ...
23226 * gfxmenu/font.c (grub_font_get_string_width): ... here.
23227 * font/font.c (grub_font_draw_string): Moved from here ...
23228 * gfxmenu/font.c (grub_font_draw_string): ... here.
23229 * font/font.c (grub_font_dup_glyph): New function.
23230 (grub_font_blit_glyph): Likewise.
23231 (grub_font_blit_glyph_mirror): Likewise.
23232 (blit_comb): Likewise.
23233 (grub_font_construct_dry_run): Likewise.
23234 (grub_font_get_constructed_device_width): Likewise.
23235 (grub_font_construct_glyph): Likewise.
23236 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
23237 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
23238 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
23239 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
23240 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
23241 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
23242 (grub_font_get_xheight): New proto.
23243 (grub_font_get_constructed_device_width): Likewise.
23244 (grub_font_construct_glyph): Likewise.
23245 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
23246 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
23247 * include/grub/font.h (grub_font_draw_string): Moved from here ...
23248 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
23249 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
23250 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
23251 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
23252 (grub_console_getcharwidth): Likewise.
23253 * include/grub/misc.h (grub_xputs): New proto.
23254 (grub_puts): Inlined.
23255 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
23256 (grub_normal_get_line_counter): Removed.
23257 (grub_install_newline_hook): Likewise.
23258 (grub_normal_get_char_counter): New proto.
23259 (grub_normal_reset_more): Likewise.
23260 (grub_xputs_normal): Likewise.
23261 * include/grub/powerpc/ieee1275/console.h: Removed.
23262 * include/grub/sparc64/ieee1275/console.h: Likewise.
23263 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
23264 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
23265 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
23266 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
23267 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
23268 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
23269 (grub_term_input): Pass reference to self. All users updated.
23270 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
23271 Pass reference to self. New fields normal_color, highlight_color and
23272 data. All users updated.
23273 (grub_putchar): Removed.
23274 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
23275 (grub_unicode_estimate_width): New function.
23276 (grub_term_getcharwidth): Add defaults.
23277 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
23278 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
23279 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
23280 (grub_cls): Remove EXPORT_FUNC.
23281 (grub_setcolorstate): Inline.
23282 (grub_newline_hook): Removed.
23283 * include/grub/terminfo.h: Rewritten. All users updated.
23284 * include/grub/unicode.h: New file.
23285 * include/grub/video.h (grub_video_signed_rect): New type.
23286 * kern/emu/console.c (grub_console_highlight_color): Removed.
23287 (grub_console_normal_color): Likewise.
23288 (grub_console_standard_color): Made static.
23289 (grub_ncurses_putchar): Remove mapping.
23290 (grub_ncurses_getcharwidth): Removed.
23291 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
23292 (grub_ncurses_setcolor): Removed.
23293 (grub_ncurses_getcolor): Likewise.
23294 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
23295 (grub_console_putchar): ... this.
23296 (grub_console_putchar): Handle argument difference.
23297 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
23298 console_init_early and console_init_lately.
23299 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
23300 * kern/misc.c (grub_puts): Removed.
23301 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
23302 (grub_vsnprintf_real): Remove str = NULL support.
23303 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
23304 * normal/charset.c (grub_utf8_to_ucs4): ... here.
23305 * kern/term.c (grub_putcode): Renamed to ...
23306 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
23307 (grub_putchar): Removed.
23308 (grub_xputs_dumb): New function.
23309 (grub_xputs): New variable.
23310 * lib/charset.c: Move from here ...
23311 * normal/charset.c: ... to here.
23312 (grub_ucs4_to_utf8): New function.
23313 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
23314 (join_types): New variable.
23315 (unpack_join): New function.
23316 (bidi_types): New variable.
23317 (unpack_bidi): New function.
23318 (get_bidi_type): Likewise.
23319 (get_join_type): Likewise.
23320 (is_mirrored): Likewise.
23321 (grub_unicode_get_comb_type): Likewise.
23322 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
23323 (is_type_after): Likewise.
23324 (grub_unicode_aglomerate_comb): Likewise.
23325 (bidi_line_wrap): Likewise.
23326 (grub_bidi_line_logical_to_visual): Likewise.
23327 (grub_bidi_logical_to_visual): Likewise.
23328 (grub_unicode_mirror_code): Likewise.
23329 (grub_unicode_shape_code): Likewise.
23330 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
23331 Don't use grub_putchar.
23332 * normal/main.c (grub_normal_init_page): Use grub_putcode.
23333 (grub_normal_reader_init): Likewise.
23334 (grub_xputs_saved): New variable.
23335 (GRUB_MOD_INIT): Set grub_xputs.
23336 (GRUB_MOD_FINI): Restore grub_xputs.
23337 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
23338 (menu_init): Avoid printing gfxmenu error.
23339 (show_menu): Use grub_normal_get_char_counter.
23340 * normal/menu_entry.c (update_screen): Fix out-of-array.
23341 (complete): Avoid NULL dereferencing.
23342 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
23343 * normal/menu_text.c (print_spaces): Removed.
23344 (grub_print_ucs4): Likewise.
23345 (grub_print_message_indented): Use grub_print_ucs4.
23346 (print_message): Use grub_putcode.
23347 (print_entry): Hanlde diacritics.
23348 * normal/term.c (term_state): New type.
23349 (grub_more_lines): Removed.
23350 (term_states): New variable.
23351 (grub_normal_line_counter): Renamed to ..
23352 (grub_normal_char_counter): ...this. All users updated.
23353 (grub_normal_get_line_counter): Renamed to ...
23354 (grub_normal_get_char_counter): ... this.
23355 (grub_normal_reset_more): New function.
23356 (process_newline): Removed.
23357 (print_more): New function.
23358 (grub_install_newline_hook): Removed.
23359 (map_code): New function.
23360 (grub_puts_terminal): Use grub_print_ucs4.
23361 (putglyph): New function.
23362 (putcode_real): Likewise.
23363 (grub_putcode): Use putcode_real.
23364 (get_maxwidth): New function.
23365 (get_startwidth): Likewise.
23366 (print_ucs4_terminal): Likewise.
23367 (find_term_state): Likewise.
23368 (put_glyphs_terminal): Likewise.
23369 (print_backlog): Likewise.
23370 (print_ucs4_real): Likewise.
23371 (grub_print_ucs4): Likewise.
23372 (grub_xputs_normal): Likewise.
23373 * term/efi/console.c (grub_console_putchar): Output diacritics.
23374 (grub_console_getcharwidth): Removed.
23375 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23376 * term/gfxterm.c (clear_char): Free chars.
23377 (scroll_up): Avoid leaking memory.
23378 (grub_gfxterm_putchar): Support diacritics.
23379 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23380 * term/i386/pc/console.c (grub_console_term_output): Declare as
23381 GRUB_TERM_CODE_TYPE_VGA.
23382 * term/i386/pc/vga.c (grub_vga_term): Declare as
23383 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
23384 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
23385 GRUB_TERM_CODE_TYPE_VGA.
23386 * term/i386/vga_common.c (map_char): Removed.
23387 (grub_console_putchar): Likewise.
23388 (grub_console_getcharwidth): Likewise.
23389 * term/ieee1275/ofconsole.c: Simplify using terminfo.
23390 (colors): Reordered to match terminfo.
23391 (grub_ofconsole_normal_color): Removed.
23392 (grub_ofconsole_writeesc): Likewise.
23393 (grub_ofconsole_highlight_color): Likewise.
23394 (grub_ofconsole_getcharwidth): Likewise.
23395 (grub_ofconsole_setcolorstate): Likewise.
23396 (grub_ofconsole_setcolor): Likewise.
23397 (grub_ofconsole_getcolor): Likewise.
23398 (grub_ofconsole_readkey): Renamed to ...
23399 (readkey): ... this. Remove escape sequence handling. Return -1 on no
23400 key.
23401 (grub_ofconsole_checkkey): Removed.
23402 (grub_ofconsole_getkey): Likewise.
23403 (grub_ofconsole_getxy): Likewise.
23404 (grub_ofconsole_gotoxy): Likewise.
23405 (grub_ofconsole_cls): Likewise.
23406 (grub_ofconsole_refresh): Likewise.
23407 (grub_ofconsole_terminfo_input): New struct.
23408 (grub_ofconsole_terminfo_output): Likewise.
23409 (grub_ofconsole_term_input): Use terminfo.
23410 (grub_ofconsole_term_output): Likewise.
23411 (grub_console_init): Split into ...
23412 (grub_console_init_early): ...this and ...
23413 (grub_console_init_lately): ...this. Use terminfo.
23414 (grub_ofconsole_putchar): Renamed to ...
23415 (put): ... this. Remove mapping.
23416 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
23417 * term/serial.c: Simplify using terminfo.
23418 (xpos): Removed.
23419 (ypos): Likewise.
23420 (keep_track): Likewise.
23421 (registered): Likewise.
23422 (input_buf): Likewise.
23423 (npending): Likewise.
23424 (serial_translate_key_sequence): Likewise.
23425 (fill_input_buf): Likewise.
23426 (grub_serial_checkkey): Likewise.
23427 (grub_serial_getkey): Likewise.
23428 (grub_serial_getxy): Likewise.
23429 (grub_serial_gotoxy): Likewise.
23430 (grub_serial_putchar): Likewise.
23431 (grub_serial_cls): Likewise.
23432 (grub_serial_setcolorstate): Likewise.
23433 (grub_serial_setcursor): Likewise.
23434 (serial_hw_init): Use serial_hw_fetch.
23435 (grub_serial_terminfo_input): New variable.
23436 (grub_serial_terminfo_output): Likewise.
23437 (grub_serial_term_input): Use terminfo.
23438 (grub_serial_term_output): Likewise.
23439 * term/terminfo.c (putstr): Use put.
23440 (grub_terminfo_all_free): New function
23441 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
23442 (grub_terminfo_output_register): New function.
23443 (grub_terminfo_output_unregister): Likewise.
23444 (grub_terminfo_getxy): Likewise.
23445 (grub_terminfo_readkey): Likewise.
23446 (grub_terminfo_checkkey): Likewise.
23447 (grub_terminfo_getkey): Likewise.
23448 (grub_terminfo_input_init): Likewise.
23449 (print_terminfo): Likewise.
23450 (grub_cmd_terminfo): Handle encoding.
23451 (grub_terminfo_gotoxy): Track position.
23452 (grub_terminfo_cls): Likewise.
23453 (grub_terminfo_putchar): Likewise.
23454 (grub_terminfo_setcolorstate): Handle colors
23455 (grub_terminfo_cursor_on): This ...
23456 (grub_terminfo_cursor_off): ... and this merged into ...
23457 (grub_terminfo_setcursor): ... this.
23458 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
23459 * unicode/ArabicShaping.txt: New file (imported from Unicode).
23460 * unicode/BidiMirroring.txt: Likewise.
23461 * unicode/UnicodeData.txt: Likewise.
23462 * unicode/COPYING: Likewise.
23463 * util/grub-editenv.c (grub_putchar): Removed.
23464 (grub_xputs_real): New function.
23465 (grub_xputs): New variable.
23466 * util/grub-fstest.c (grub_putchar): Removed.
23467 (grub_xputs_real): New function.
23468 (grub_xputs): New variable.
23469 * util/grub-mkdevicemap.c (grub_putchar): Removed.
23470 (grub_xputs_real): New function.
23471 (grub_xputs): New variable.
23472 * util/grub-probe.c (grub_putchar): Removed.
23473 (grub_xputs_real): New function.
23474 (grub_xputs): New variable.
23475 * util/grub-script-check.c (grub_putchar): Removed.
23476 (grub_xputs_real): New function.
23477 (grub_xputs): New variable.
23478 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
23479 (grub_xputs_real): New function.
23480 (grub_xputs): New variable.
23481 * util/import_unicode.py: New file.
23482 * util/grub-mkfont.c (ft_errmsgs): New array.
23483 (grub_glyph_info): Make bitmap a pointer.
23484 (file_formats): New type WIDTH_SPEC.
23485 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
23486 (options): Add width-spec.
23487 (help): Likewise.
23488 (add_char): Renamed to ...
23489 (add_glyph): ... this.
23490 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
23491 (glyph_replace): New type.
23492 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
23493 (add_char): New function.
23494 (add_subst): Likewise.
23495 (process_cursive): Likewise.
23496 (add_font): Handle GSUB.
23497 (write_font_width_spec): New function.
23498 (main): Sort glyphs.
23499 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
23500 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
23501 * kern/term.c (grub_cls): Moved from here...
23502 * normal/term.c (grub_cls): ... here.
23503
50f0bcda
CW
235042010-07-02 Colin Watson <cjwatson@ubuntu.com>
23505
23506 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
23507 suitable for using within the format argument of printf when
23508 converting grub_size_t.
23509 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
23510 "x" to convert grub_size_t arguments.
23511
40372103
VS
235122010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23513
23514 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
23515 too long captions.
23516 (list_get_minimal_size): Take selection box into account.
23517
942a10c7
VS
235182010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23519
23520 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
23521 NULL font.
23522
2bdb2892
CW
235232010-07-02 Colin Watson <cjwatson@ubuntu.com>
23524
23525 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
23526 devices when iterating over /dev/disk/by-id; they will be handled
23527 later if appropriate, which they aren't always (e.g. LVM).
23528
e03ed6c1
CW
235292010-07-02 Colin Watson <cjwatson@ubuntu.com>
23530
23531 * include/grub/misc.h (grub_reboot): Declare as noreturn.
23532 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
23533 fails.
23534 (grub_halt): Likewise.
23535 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
23536 reset-all fails.
23537 (grub_halt): Don't return, even if all of shut-down, power-off, and
23538 poweroff fail.
23539
47695765
CW
235402010-07-02 Colin Watson <cjwatson@ubuntu.com>
23541
23542 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
23543 arguments, not three.
23544
507736c8
CW
235452010-07-02 Colin Watson <cjwatson@ubuntu.com>
23546
23547 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
23548 * util/grub.d/10_linux.in: Use it to check for LVM, so that
23549 LVM-on-RAID is handled correctly.
23550
e3c8cd37
CW
235512010-07-02 Colin Watson <cjwatson@ubuntu.com>
23552
23553 * docs/grub.texi (Changes from GRUB Legacy): New section.
23554 (Future): Fix typo.
23555
8d4a2fec
CW
235562010-07-02 Colin Watson <cjwatson@ubuntu.com>
23557
23558 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
23559 grub.d/README accidentally ends up executable for one reason or
23560 another. Ignore it.
23561
1c4827be
VS
235622010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23563
23564 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
23565 (gpt_partition_map_iterate): Support non-512B sectors.
23566
d9a0c941
VS
235672010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23568
23569 * kern/efi/init.c (grub_efi_init): Disable watchdog.
23570 Tested by: Seth Goldberg.
23571
48f27e87
VS
235722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23573
23574 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
23575 Properly align mbi.
23576 Reported by: Seth Goldberg.
23577
b0c4f956
VS
235782010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23579
23580 * util/grub-mkrescue.in: Avoid module duplication.
23581
105a2e8c
SF
235822010-07-01 Sean Finney <seanius@seanius.net>
23583
23584 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
23585
5944958c
SF
235862010-07-01 Sean Finney <seanius@seanius.net>
23587
23588 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
23589
235902010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23591
23592 * disk/lvm.c (grub_lvm_checkvalue): New function.
23593 (grub_lvm_check_flag): Likewise.
23594
b79889ba
RM
235952010-07-01 Robert Millan <rmh@gnu.org>
23596
23597 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
23598 Support 'p' as partition separator on kernel of FreeBSD (used
23599 with GPT labels).
23600 (grub_util_biosdisk_get_grub_dev): Likewise.
23601
ec1d04f1
VS
236022010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23603
23604 Yeeloong firmware port.
23605
23606 * boot/mips/yeeloong/fwstart.S: New file.
23607 * bus/cs5536.c (gpiodump): New const.
23608 (set_io_space): New function.
23609 (set_iod): Likewise.
23610 (set_p2d): Likewise.
23611 (grub_cs5536_init_geode): Likewise.
23612 * commands/mips/yeeloong/lsspd.c: New file.
23613 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
23614 (serial_mod_SOURCES): New variable.
23615 (serial_mod_CFLAGS): Likewise.
23616 (serial_mod_LDFLAGS): Likewise.
23617 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
23618 term/terminfo.c and term/tparm.c.
23619 (pkglib_IMAGES): Add fwstart.img.
23620 (fwstart_img_SOURCES): New variable.
23621 (fwstart_img_CFLAGS): Likewise.
23622 (fwstart_img_ASFLAGS): Likewise.
23623 (fwstart_img_LDFLAGS): Likewise.
23624 (fwstart_img_FORMAT): Likewise.
23625 (pkglib_MODULES): Add lsspd.mod.
23626 (lsspd_mod_SOURCES): New variable.
23627 (lsspd_mod_CFLAGS): Likewise.
23628 (lsspd_mod_LDFLAGS): Likewise.
23629 (pkglib_MODULES): Add halt.mod.
23630 (halt_mod_SOURCES): New variable.
23631 (halt_mod_CFLAGS): Likewise.
23632 (halt_mod_LDFLAGS): Likewise.
23633 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
23634 (serial_mod_SOURCES): Removed.
23635 (serial_mod_CFLAGS): Likewise.
23636 (serial_mod_LDFLAGS): Likewise.
23637 * disk/ata.c (check_device): New function.
23638 (grub_ata_device_initialize): Use check_device.
23639 (grub_ata_iterate): Recheck devices.
23640 (grub_ata_open): Likewise.
23641 (grub_atapi_iterate): Likewise.
23642 (grub_atapi_open): Likewise.
23643 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
23644 (GRUB_ATA_CH1_PORT1): Likewise.
23645 (GRUB_ATA_CH0_PORT2): Likewise.
23646 (GRUB_ATA_CH1_PORT2): Likewise.
23647 * include/grub/mips/loongson.h: New file.
23648 * include/grub/mips/yeeloong/ec.h: Likewise.
23649 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
23650 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
23651 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
23652 * include/grub/misc.h (grub_halt): Declare as noreturn.
23653 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
23654 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
23655 (UART_ENABLE_FIFO_TRIGGER1): New definition.
23656 (UART_ENABLE_DTRRTS): Likewise.
23657 (UART_ENABLE_MODEM): Removed.
23658 (UART_ENABLE_OUT2): New const.
23659 * include/grub/term.h (grub_term_register_input_active): New function.
23660 (grub_term_register_output_active): Likewise.
23661 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
23662 argument.
23663 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
23664 (init_pci): New function.
23665 (grub_machine_init): Execute platform init when firmware. Init serial.
23666 (grub_halt): Implement.
23667 (grub_exit): Likewise.
23668 (grub_reboot): Likewise.
23669 * term/serial.c (serial_hw_init): Update macros.
23670 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
23671 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
23672 (image_targets): New target mipsel-yeeloong-flash.
23673 (generate_image): Support IMAGE_YEELOONG_FLASH.
23674 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
23675 (grub_video_sm712_setup): Init card.
23676 (grub_video_sm712_set_palette): Removed.
23677 * video/sm712_init.c: New file.
23678
ff4a70d2
CW
236792010-06-30 Colin Watson <cjwatson@ubuntu.com>
23680
23681 * Makefile.in (install-local): Temporarily prepend $(builddir) to
23682 PATH when running help2man and then run it on the unadorned
23683 executable names, rather than passing $(builddir)/* paths to
23684 help2man. This avoids the build directory ending up in generated
23685 manual pages.
23686
1246efeb
CW
236872010-06-29 Colin Watson <cjwatson@ubuntu.com>
23688
23689 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
23690 to avoid accidents when debugging with 'sh -x'.
23691 * util/grub-mkrescue.in: Likewise.
23692 * util/grub.d/00_header.in: Likewise.
23693 * util/grub.d/10_hurd.in: Likewise.
23694 * util/grub.d/10_kfreebsd.in: Likewise.
23695 * util/grub.d/10_linux.in: Likewise.
23696 * util/grub.d/10_netbsd.in: Likewise.
23697 * util/grub.d/10_windows.in: Likewise.
23698 * util/grub.d/20_linux_xen.in: Likewise.
23699 * util/grub.d/30_os-prober.in: Likewise.
23700 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23701
1ba9b889
CW
237022010-06-29 Colin Watson <cjwatson@ubuntu.com>
23703
23704 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
23705 last character in the buffer.
23706 Reported by: Vladimir Serbinenko.
23707
dccaf99d
RM
237082010-06-29 Robert Millan <rmh@gnu.org>
23709
23710 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
23711 (Command-line and menu entry commands): Document `badram' command.
23712
d500ed12
RM
237132010-06-28 Robert Millan <rmh@gnu.org>
23714
23715 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
23716 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
23717 command using ${GRUB_BADRAM} as parameter.
23718
20bc84a6
CW
237192010-06-28 Colin Watson <cjwatson@ubuntu.com>
23720
23721 * docs/grub.texi (Device map): New section.
23722 (Themes): New section (stub).
23723 * Makefile.in (docs/grub.info): The info documentation now builds
23724 without errors. Make sure it stays that way.
23725
4045dee1
VS
237262010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23727
23728 Use normal parser for menu entries.
23729 Reported by: Thomas Frauendorfer
23730
23731 * include/grub/parser.h (grub_parser_execute): Don't export.
23732 * normal/menu.c (grub_menu_execute_entry_real): New function.
23733 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
23734
bca58c7b
CW
237352010-06-28 Colin Watson <cjwatson@ubuntu.com>
23736
23737 * docs/grub.texi (Embedded configuration): New section (replacing
23738 old "Preset Menu" stub).
23739 (Images): New section.
23740 (configfile): Note that any menu entries defined in `file' are shown
23741 immediately.
23742
dec53e63
JT
237432010-06-28 Josh Triplett <josh@joshtriplett.org>
23744
23745 * mmap/i386/pc/mmap_helper.S: Set CF on return.
23746
c06e40f7
CW
237472010-06-28 Colin Watson <cjwatson@ubuntu.com>
23748
23749 * util/grub-install.in: Add --debug-image= option.
23750
cb88052b
CW
237512010-06-28 Colin Watson <cjwatson@ubuntu.com>
23752
23753 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
23754 possible on Linux.
23755
23756 * util/deviceiter.c (check_device): Rename to ...
23757 (check_device_readable_unique): ... this. Update all callers.
23758 Maintain and check a list of which devices (by canonicalized name)
23759 have already been seen.
23760 (clear_seen_devices): New function.
23761 (compare_file_names) [__linux__]: New function.
23762 (grub_util_iterate_devices): Clear the list of seen devices on exit
23763 and (just in case) on entry.
23764 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
23765 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
23766 seen-devices list, superseded by general code in check_device.
23767
bbe34652
CW
237682010-06-28 Colin Watson <cjwatson@ubuntu.com>
23769
23770 * commands/cat.c (options): New variable.
23771 (grub_cmd_cat): Parse options. If the --dos option is given, print
23772 DOS-style "\r\n" line endings as simple newlines (Debian bug
23773 #586358).
23774 (GRUB_MOD_INIT): Use extcmd.
23775 (GRUB_MOD_FINI): Likewise.
23776 * docs/grub.texi (cat): Document --dos.
23777
412e09f3
VS
237782010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23779
23780 XEN with Linux grub-mkconfig support.
23781
23782 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
23783 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
23784 GRUB_CMDLINE_XEN_DEFAULT.
23785 * util/grub.d/20_linux_xen.in: New file.
23786
53f3ef38 237872010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
23788
23789 Initialise VGA video on qemu ourselves.
23790
23791 * boot/i386/qemu/boot.S: Don't call 0xc000.
23792 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
23793 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
23794 (kernel_img_HEADERS): Add pci.h.
23795 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
23796 * configure.ac: Force unifont on qemu and yeeloong.
23797 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
23798 (grub_vga_palette_write): Use correct register.
23799 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
23800 Call grub_qemu_init_cirrus.
23801 * kern/i386/qemu/init.c: New file.
23802 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
23803
23804 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
23805
c75be4fb
PR
238062010-06-26 Pavel Roskin <proski@gnu.org>
23807
23808 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
23809 13.
23810
d8034603
CW
238112010-06-26 Colin Watson <cjwatson@ubuntu.com>
23812
23813 * docs/grub.texi (Simple configuration): Explain that
23814 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
23815 set to `true' to disable their respective recovery entries, not
23816 merely set.
23817
3fa06487
CW
238182010-06-26 Colin Watson <cjwatson@ubuntu.com>
23819
23820 Make the `source' command slightly faster.
23821
23822 * normal/main.c (grub_normal_execute): Don't re-read list files when
23823 nested.
23824
e9b29642
CW
238252010-06-23 Colin Watson <cjwatson@ubuntu.com>
23826
23827 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
23828 field position and mask size to red fields from mode_info, not
23829 green.
23830 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
23831 Remove redundant tag->common.framebuffer_type assignment.
23832 Reported by: Seth Goldberg.
23833
e726542f
CW
238342010-06-23 Colin Watson <cjwatson@ubuntu.com>
23835
23836 Sync up other versions of the Linux loader with Robert Millan's
23837 change of 2010-01-09, "Make loader output a bit more user-friendly".
23838
23839 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
23840 grub_dprintf().
23841 (grub_cmd_linux): Likewise.
23842 (grub_cmd_initrd): Likewise.
23843 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
23844 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23845
d6e98a17
CW
238462010-06-21 Colin Watson <cjwatson@ubuntu.com>
23847
23848 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
23849 larger than MEMORY_MAP_SIZE.
23850
14d3f08e
BC
238512010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
23852
23853 Fix parallel build.
23854
23855 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
23856 dependency.
23857 * script/parser.y: #include grub_script.tab.h header.
23858
4f9613a3
VS
238592010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23860
23861 Support >3GiB and <16MiB RAM in i386-qemu.
23862
23863 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
23864 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
23865 (grub_lower_mem): Removed.
23866 (grub_upper_mem): Likewise.
23867 (mem_size): Made static.
23868 (above_4g): New variable.
23869 (grub_machine_mmap_init): Detect small mem_size and above_4g.
23870 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
23871 support.
23872
05e51879
VS
238732010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23874
23875 Cirrus 5446 and Bochs video cards support.
23876
23877 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
23878 video_bochs.mod
23879 (video_cirrus_mod_SOURCES): New variable.
23880 (video_cirrus_mod_CFLAGS): Likewise.
23881 (video_cirrus_mod_LDFLAGS): Likewise.
23882 (video_bochs_mod_SOURCES): Likewise.
23883 (video_bochs_mod_CFLAGS): Likewise.
23884 (video_bochs_mod_LDFLAGS): Likewise.
23885 * include/grub/vga.h: New file.
23886 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
23887 (grub_video_fb_set_page_t): New type.
23888 (grub_video_fb_setup): New prototype.
23889 (grub_video_fb_swap_buffers): Likewise.
23890 (grub_video_fb_get_info_and_fini): Likewise.
23891 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
23892 (CRTC_DATA_PORT): Likewise.
23893 (CRTC_CURSOR): Likewise.
23894 (CRTC_CURSOR_ADDR_HIGH): Likewise.
23895 (CRTC_CURSOR_ADDR_LOW): Likewise.
23896 (CRTC_CURSOR_DISABLE): Likewise.
23897 (update_cursor): Use grub_vga_cr_write.
23898 (grub_vga_text_setcursor): Likewise.
23899 * video/bochs.c: New file.
23900 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
23901 (palette): Likewise.
23902 (palette_size): Likewise.
23903 (framebuffer): New variable.
23904 (grub_video_fb_init): Use 'framebuffer'.
23905 (grub_video_fb_fini): Likewise.
23906 (grub_video_fb_get_info): Likewise.
23907 (grub_video_fb_get_palette): Likewise.
23908 (grub_video_fb_set_palette): Likewise.
23909 (grub_video_fb_set_viewport): Likewise.
23910 (grub_video_fb_get_viewport): Likewise.
23911 (grub_video_fb_map_color): Likewise.
23912 (grub_video_fb_map_rgb): Likewise.
23913 (grub_video_fb_map_rgba): Likewise.
23914 (grub_video_fb_unmap_color): Likewise.
23915 (grub_video_fb_unmap_color_int): Likewise.
23916 (grub_video_fb_fill_rect): Likewise.
23917 (grub_video_fb_blit_bitmap): Likewise.
23918 (grub_video_fb_blit_render_target): Likewise.
23919 (grub_video_fb_scroll): Likewise.
23920 (grub_video_fb_create_render_target): Likewise.
23921 (grub_video_fb_doublebuf_blit_init): Likewise.
23922 (grub_video_fb_set_active_render_target): Handle doublebuffering.
23923 (doublebuf_pageflipping_update_screen): New function.
23924 (doublebuf_pageflipping_init): Likewise.
23925 (grub_video_fb_setup): Likewise.
23926 (grub_video_fb_swap_buffers): Likewise.
23927 (grub_video_fb_get_info_and_fini): Likewise.
23928 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
23929 All users updated.
23930 (doublebuf_pageflipping_commit): Restructured into ...
23931 (doublebuf_pageflipping_set_page): ... this.
23932 (doublebuf_pageflipping_update_screen): Removed.
23933 (doublebuf_pageflipping_init): Likewise.
23934 (double_buffering_init): Likewise.
23935 (grub_video_vbe_setup): Use grub_video_fb_setup.
23936 (grub_video_vbe_swap_buffers): Removed.
23937 (grub_video_vbe_set_active_render_target): Likewise.
23938 (grub_video_vbe_get_active_render_target): Likewise.
23939 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
23940 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
23941 grub_video_fb_set_active_render_target and
23942 grub_video_fb_get_active_render_target.
23943 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
23944 (SEQUENCER_DATA_PORT): Likewise.
23945 (MAP_MASK_REGISTER): Likewise.
23946 (CRTC_ADDR_PORT): Likewise.
23947 (CRTC_DATA_PORT): Likewise.
23948 (START_ADDR_HIGH_REGISTER): Likewise.
23949 (START_ADDR_LOW_REGISTER): Likewise.
23950 (GRAPHICS_ADDR_PORT): Likewise.
23951 (GRAPHICS_DATA_PORT): Likewise.
23952 (READ_MAP_REGISTER): Likewise.
23953 (INPUT_STATUS1_REGISTER): Likewise.
23954 (INPUT_STATUS1_VERTR_BIT): Likewise.
23955 (get_map_mask): Use grub_vga_sr_read.
23956 (set_map_mask): Use grub_vga_sr_write.
23957 (set_read_map): Use grub_vga_gr_write.
23958 (set_start_address): Use grub_vga_cr_write.
23959 * video/sm712.c (framebuffer): Remove leftover fields.
23960
4321c64a
CW
239612010-06-20 Colin Watson <cjwatson@ubuntu.com>
23962
23963 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
23964 setting GRUB_VIDEO_BACKEND. Make it available as a user override
23965 instead. Replace the gfxterm backend check with a check that
23966 ${GRUB_PREFIX}/video.lst is non-empty.
23967 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
23968 again.
23969 (load_video): New generated function. Call it before loading
23970 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
23971 * util/grub.d/10_linux.in (linux_entry): Call load_video.
23972 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
23973 * docs/grub.texi (Simple configuration): Document
23974 GRUB_VIDEO_BACKEND.
23975
239762010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23977
23978 Use video functions in linux and xnu loaders.
23979
23980 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
23981 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
23982 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
23983 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
23984 loader/i386/pc/linux.c.
23985 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
23986 (find_line_len): Removed.
23987 (find_framebuf): Likewise.
23988 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
23989 * loader/i386/efi/xnu.c: Removed.
23990 * loader/i386/pc/xnu.c: Moved from here...
23991 * loader/i386/xnu.c: ...here.
23992
23993 Enable priorities in video drivers.
23994
23995 * include/grub/video.h (grub_video_adapter_prio_t): New type.
23996 (grub_video_adapter): New field prio.
23997 (grub_video_register): Respect prio when inserting.
23998 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
23999 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
24000 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
24001 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
24002 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
24003 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
24004 * video/sm712.c (grub_video_sm712_adapter): Likewise.
24005
24006 Fix SDL driver ID.
24007
24008 * include/grub/video.h (grub_video_driver_id_t): New value
24009 GRUB_VIDEO_DRIVER_SDL.
24010 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
24011
7d24e434
CW
240122010-06-17 Colin Watson <cjwatson@ubuntu.com>
24013
24014 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
24015 argument to printf.
24016 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24017
c88a83f6
CW
240182010-06-17 Colin Watson <cjwatson@ubuntu.com>
24019
24020 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
24021 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24022
094dfb69
CW
240232010-06-17 Colin Watson <cjwatson@ubuntu.com>
24024
24025 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
24026 directly, and recommend grub-install instead.
24027 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24028
2164da6b
CW
240292010-06-17 Colin Watson <cjwatson@ubuntu.com>
24030
24031 Fix i386-pc prefix handling with nested partitions (Debian bug
24032 #585068). Note that the case where the core image is booted using
24033 multiboot and relocated from its original location still requires
24034 more work.
24035
24036 * kern/i386/pc/init.c (make_install_device): If the prefix starts
24037 with "(,", fill the boot drive in between those two characters, but
24038 expect that a full partition specification including partition map
24039 names will follow.
24040 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
24041 specified, write a prefix without the drive name but including a
24042 full partition specification.
24043
044e2e60
CW
240442010-06-16 Colin Watson <cjwatson@ubuntu.com>
24045
24046 * util/grub-mkconfig.in: Ignore non-option arguments, for
24047 compatibility with older versions (before 2010-06-12) which did the
24048 same. In particular, this makes it easier to ship an update-grub
24049 wrapper which is compatible with that used with GRUB Legacy (Debian
24050 bug #586056).
24051
5591324f
GS
240522010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24053
24054 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
24055 for manual page generation.
24056
662e24d5
GS
240572010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24058
24059 * po/POTFILES: Remove leftover commands/handler.c.
24060
8d70754e
CW
240612010-06-14 Colin Watson <cjwatson@ubuntu.com>
24062
24063 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
24064 left this script non-functional.
24065
41160e2e
CW
240662010-06-14 Colin Watson <cjwatson@ubuntu.com>
24067
24068 * docs/man/grub-emu.h2m: New file.
24069
b5309cc1
CW
240702010-06-13 Colin Watson <cjwatson@ubuntu.com>
24071
24072 * docs/grub.texi (Commands): Document reduced command set in rescue
24073 mode.
24074 (cpuid): New section.
24075
fcb2d090
GS
240762010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
24077
24078 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
24079 new partition naming style.
24080 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
24081
96e5c556
BC
240822010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
24083
24084 Add "-o grub.iso" like cmdline options support.
24085
24086 * util/grub-install.in: Improve cmdline option parsing.
24087 * util/grub-mkconfig.in: Likewise.
24088 * util/grub-mkrescue.in: Likewise.
24089 * util/grub-reboot.in: Likewise.
24090 * util/grub-set-default.in: Likewise.
24091 * util/i386/efi/grub-install.in: Likewise.
24092 * util/ieee1275/grub-install.in: Likewise.
24093 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24094
c16be99b
CW
240952010-06-12 Colin Watson <cjwatson@ubuntu.com>
24096
24097 * .bzrignore: Ignore 41_custom.
24098
ce08a9fb
TS
240992010-06-12 Thomas Schmitt <scdbackup@gmx.net>
24100
24101 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
24102
7beac90c
CW
241032010-06-12 Colin Watson <cjwatson@ubuntu.com>
24104
24105 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
24106 prototype declarations.
24107
24108 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
24109 generating fs, partmap, and video lists.
24110 * include/grub/fs.h (grub_fs_register): Omit prototype if
24111 GRUB_LST_GENERATOR is defined.
24112 * include/grub/partition.h (grub_partition_map_register): Likewise.
24113 * include/grub/video.h (grub_video_register): Likewise.
24114
1c8f0f8d
JM
241152010-06-12 Javier Martín <lordhabbit@gmail.com>
24116
24117 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
24118
a6085973
TS
241192010-06-12 Thomas Schmitt <scdbackup@gmx.net>
24120
24121 * util/grub-mkrescue.in: Support --xorriso argument.
24122
25c56d29
VS
241232010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24124
24125 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
24126 Suggested by: Thomas Schmitt.
24127
e03e4b24
VS
241282010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24129
24130 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
24131 Suggested by: Thomas Schmitt.
24132
57711df6
VS
241332010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24134
24135 custom.cfg support.
24136
24137 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
24138 * util/grub.d/41_custom.in: New file.
24139
ee62c427
CW
241402010-06-12 Colin Watson <cjwatson@ubuntu.com>
24141
24142 * util/grub-mkrescue.in (make_image): Remove sh module, which has
24143 been merged back into normal.
24144
283af07a
CW
241452010-06-11 Colin Watson <cjwatson@ubuntu.com>
24146
24147 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
24148 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
24149
56a0d956
CW
241502010-06-11 Colin Watson <cjwatson@ubuntu.com>
24151
24152 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
24153 when generating manual pages.
24154 * docs/man/grub-bin2h.h2m: New file.
24155 * docs/man/grub-editenv.h2m: New file.
24156 * docs/man/grub-fstest.h2m: New file.
24157 * docs/man/grub-install.h2m: New file.
24158 * docs/man/grub-macho2img.h2m: New file.
24159 * docs/man/grub-mkconfig.h2m: New file.
24160 * docs/man/grub-mkdevicemap.h2m: New file.
24161 * docs/man/grub-mkfont.h2m: New file.
24162 * docs/man/grub-mkimage.h2m: New file.
24163 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
24164 * docs/man/grub-mkrelpath.h2m: New file.
24165 * docs/man/grub-mkrescue.h2m: New file.
24166 * docs/man/grub-ofpathname.h2m: New file.
24167 * docs/man/grub-pe2elf.h2m: New file.
24168 * docs/man/grub-probe.h2m: New file.
24169 * docs/man/grub-reboot.h2m: New file.
24170 * docs/man/grub-script-check.h2m: New file.
24171 * docs/man/grub-set-default.h2m: New file.
24172 * docs/man/grub-setup.h2m: New file.
24173
3a37e322
VS
241742010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
24175
24176 Use FOR_* macros instead of *_iterate whenever possible.
24177
24178 * commands/handler.c: Removed.
24179 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
24180 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
24181 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24182 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
24183 (grub_probe_SOURCES): Remove kern/parser.c.
24184 (util/grub-script-check.c_DEPENDENCIES): Removed.
24185 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
24186 and grub_script_check_init.c.
24187 (grub_script_check_init.lst): Removed.
24188 (grub_script_check_init.h): Likewise.
24189 (grub_script_check_init.c): Likewise.
24190 (pkglib_MODULES): Remove handler.mod and sh.mod.
24191 (handler_mod_SOURCES): Removed.
24192 (handler_mod_CFLAGS): Likewise.
24193 (handler_mod_LDFLAGS): Likewise.
24194 (normal_mod_SOURCES): Remove normal/handler.c.
24195 Add script/main.c, script/script.c, script/execute.c,
24196 script/function.c, script/lexer.c, grub_script.tab.c
24197 and grub_script.yy.c.
24198 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24199 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24200 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
24201 (grub_setup_SOURCES): Remove kern/parser.c.
24202 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24203 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
24204 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
24205 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24206 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24207 (grub_setup_SOURCES): Remove kern/parser.c.
24208 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24209 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
24210 * include/grub/command.h (grub_command_iterate): Removed.
24211 (FOR_COMMANDS): New macro.
24212 * include/grub/dl.h (grub_dl): New member next.
24213 (grub_dl_iterate): Removed.
24214 (grub_dl_head): New variable declaration.
24215 (FOR_DL_MODULES): New macro.
24216 * include/grub/fs.h: Include list.h.
24217 (grub_fs): Make next first element.
24218 (grub_fs_list): New variable declaration.
24219 (grub_fs_register): Make inline.
24220 (grub_fs_unregister): Likewise.
24221 (grub_fs_iterate): Removed.
24222 (FOR_FILESYSTEMS): New macro.
24223 * include/grub/handler.h: Removed.
24224 * include/grub/list.h (grub_list_hook_t): Removed.
24225 (grub_list_test_t): Likewise.
24226 (grub_list_pop): Likewise.
24227 (grub_list_iterate): Likewise.
24228 (grub_list_insert): Likewise.
24229 (FOR_LIST_ELEMENTS): New macro.
24230 * include/grub/parser.h (grub_parser_class): Removed.
24231 (grub_parser_register): Likewise.
24232 (grub_parser_unregister): Likewise.
24233 (grub_parser_get_current): Likewise.
24234 (grub_parser_set_current): Likewise.
24235 (grub_register_rescue_parser): Likewise.
24236 (grub_rescue_parse_line): New function.
24237 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
24238 * include/grub/script_sh.h (grub_script_function_list): New variable
24239 declaration.
24240 (FOR_SCRIPT_FUNCTIONS): New macro.
24241 (grub_script_function_iterate): Removed.
24242 (grub_normal_parse_line): New prototype.
24243 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
24244 (FOR_DISABLED_TERM_INPUTS): Likewise.
24245 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
24246 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
24247 * include/grub/video.h (grub_video_adapter): Move 'next' to first
24248 element.
24249 (grub_video_register): Inline.
24250 (grub_video_unregister): Likewise.
24251 (grub_video_adapter_list): New variable declaration.
24252 (grub_video_iterate): Removed.
24253 (FOR_VIDEO_ADAPTERS): New macro.
24254 * kern/dl.c (grub_dl_list): Removed. All users updated.
24255 (grub_dl_iterate): Removed.
24256 * kern/fs.c (grub_fs_list): Make global.
24257 (grub_fs_register): Removed.
24258 (grub_fs_unregister): Likewise.
24259 (grub_fs_iterate): Likewise.
24260 * kern/handler.c: Removed.
24261 * kern/list.c (grub_list_pop): Removed.
24262 (grub_list_iterate): Likewise.
24263 (grub_list_insert): Likewise.
24264 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
24265 (grub_prio_list_insert): Don't use grub_list_insert.
24266 * kern/main.c (grub_register_rescue_parser): Don't call
24267 grub_register_rescue_parser.
24268 * kern/parser.c (grub_parser_class): Removed.
24269 (grub_parser_execute): Use grub_rescue_parse_line.
24270 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
24271 (grub_rescue_parser): Removed.
24272 (grub_register_rescue_parser): Likewise.
24273 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
24274 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
24275 (grub_auth_check_authentication): Likewise.
24276 * normal/completion.c (iterate_command): Removed.
24277 (grub_normal_do_completion): Use FOR_COMMANDS.
24278 * normal/handler.c: Removed.
24279 * normal/main.c (read_config_file): Remove parser changing.
24280 (grub_normal_execute): Don't call read_handler_list.
24281 (grub_normal_read_line_real): Statically allocate prompt.
24282 (grub_cmdline_run): Use grub_normal_parse_line.
24283 (GRUB_MOD_FINI): Don't call free_handler_list.
24284 * normal/menu_entry.c (run): Likewise.
24285 * script/function.c (grub_script_function_list): Make global.
24286 (grub_script_function_iterate): Removed.
24287 * script/main.c (grub_normal_parse_line): Make global.
24288 (grub_sh_parser): Removed.
24289 (GRUB_MOD_INIT): Likewise.
24290 (GRUB_MOD_FINI): Likewise.
24291 * tests/lib/functional_test.c (grub_functional_test): Use
24292 FOR_LIST_ELEMENTS.
24293 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
24294 (grub_test_run): Use FOR_LIST_ELEMENTS.
24295 * tests/lib/unit_test.c (main): Likewise.
24296 * util/deviceiter.c (grub_util_iterate_devices): Don't use
24297 grub_list_pop.
24298 * util/grub-fstest.c (grub_term_input_class): Removed.
24299 (grub_term_output_class): Likewise.
24300 * util/grub-probe.c: Likewise.
24301 * util/i386/pc/grub-setup.c: Likewise.
24302 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24303 * util/grub-script-check.c (main): Don't call grub_init_all and
24304 grub_fini_all.
24305 * video/video.c (grub_video_adapter_list): Make global.
24306 (grub_video_register): Removed.
24307 (grub_video_unregister): Likewise.
24308 (grub_video_iterate): Likewise.
24309
6289c3a7
VS
243102010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
24311
24312 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
24313 reported by Henrique Ferreiro.
24314
91460247
RM
243152010-06-09 Robert Millan <rmh@gnu.org>
24316
24317 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
24318 ones, when both are available.
24319
0ea7c4f9
GS
243202010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24321
24322 Make --version uniform and avoid hard-coded program name.
24323
24324 * util/grub-mkimage.c (main): Use `program_name' instead of
24325 hard-coded string.
24326 * util/i386/pc/grub-setup.c (main): Likewise.
24327 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
24328 * util/grub-install.in: Save the basename of $0 in $self, and use the
24329 latter in informational messages. Use the same format for --version
24330 as the binary programs.
24331 * util/grub-mkconfig.in: Likewise.
24332 * util/grub-mkrescue.in: Likewise.
24333 * util/grub-reboot.in: Likewise.
24334 * util/grub-set-default.in: Likewise.
24335 * util/i386/efi/grub-install.in: Likewise.
24336 * util/ieee1275/grub-install.in: Likewise.
24337 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24338
e8a6f3b6
GS
243392010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24340
24341 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
24342 embedding area. Use <= instead of == when checking for non-emptiness.
24343
f4d095d7
GS
243442010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24345
24346 * configure.ac: Add `.' to the directories searched for unifont.
24347
50e532ca
CW
243482010-06-08 Colin Watson <cjwatson@ubuntu.com>
24349
24350 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
24351 grub_script.yy.h.
24352
d39f3dec
CW
243532010-06-08 Colin Watson <cjwatson@ubuntu.com>
24354
24355 * docs/grub.texi (History): Expand to cover GRUB 2.
24356 (Serial terminal): Refer to `terminal_input' and `terminal_output'
24357 commands, not `terminal'.
24358 (serial): Likewise.
24359 (terminal_input): New section.
24360 (terminal_output): New section.
24361 (uppermem): New section (stub).
24362 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
24363
6ef0ddb4
CW
243642010-06-08 Colin Watson <cjwatson@ubuntu.com>
24365
24366 * docs/grub.texi (Security): Menu entries are unrestricted by
24367 default, not restricted to superusers as I had previously thought.
24368 Reword to account for this.
24369
e0f4c438
CW
243702010-06-07 Colin Watson <cjwatson@ubuntu.com>
24371
24372 * kern/emu/misc.c (device_mapper_null_log): New function.
24373 (grub_device_mapper_supported): New function.
24374 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
24375 prototype.
24376 * kern/emu/hostdisk.c (find_partition_start): Check whether
24377 device-mapper is supported before trying to use it.
24378 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
24379
da908200
CW
243802010-06-07 Colin Watson <cjwatson@ubuntu.com>
24381
24382 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
24383 (File name syntax): Likewise.
24384 (help): --all is no longer supported in GRUB 2. Be more precise
24385 about pattern matching.
24386
fb55c3ac
CW
243872010-06-07 Colin Watson <cjwatson@ubuntu.com>
24388
24389 * normal/completion.c (grub_normal_do_completion): When completing
24390 arguments to "set" and the current word contains an equals sign,
24391 skip to after the equals sign before starting completion.
24392
258c2573
CW
243932010-06-07 Colin Watson <cjwatson@ubuntu.com>
24394
24395 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
24396
ee75515e
CW
243972010-06-07 Colin Watson <cjwatson@ubuntu.com>
24398
24399 * docs/grub.texi (Network): New section.
24400 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
24401 `(nd)' as in GRUB Legacy.
24402 (pxe_unload): New section.
24403
a6a700aa
CW
244042010-06-07 Colin Watson <cjwatson@ubuntu.com>
24405
24406 * docs/grub.texi (Troubleshooting): `echo' is not usually available
24407 in the rescue shell, so recommend using `set' instead. Thanks,
24408 Jordan Uggla.
24409
4003dd38
CW
244102010-06-07 Colin Watson <cjwatson@ubuntu.com>
24411
24412 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
24413 (password): New section.
24414 (password_pbkdf2): New section.
24415 (search): New section.
24416 (Security): New section.
24417 (Troubleshooting): New section, currently very incomplete.
24418 (Invoking grub-mkpasswd-pbkdf2): New section.
24419 (Internals): New section, currently very incomplete.
24420
e1cbcc40
CW
244212010-06-07 Colin Watson <cjwatson@ubuntu.com>
24422
24423 * util/grub.d/00_header.in: Add some more quoting (of
24424 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
24425 work again.
24426 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
24427
db8fa1ad
CW
244282010-06-07 Colin Watson <cjwatson@ubuntu.com>
24429
24430 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
24431 to `count', fixing variable shadowing that broke the -c option.
24432
244332010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
24434
24435 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
24436 in case they contain spaces.
24437
f28a9212
CW
244382010-06-04 Colin Watson <cjwatson@ubuntu.com>
24439
24440 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
24441 "part_" to partmap module names, in line with grub-install.
24442 Reported by: Jindřich Makovička (Debian bug #584426).
24443
9cdfe32f
CW
244442010-06-04 Colin Watson <cjwatson@ubuntu.com>
24445
24446 * util/grub-mkimage.c: Make target-related error messages slightly
24447 more helpful; -O talks about "format". Explicitly point to the use
24448 of -O if no target is specified.
24449 Reported by: Didier Raboud (Debian bug #584415).
24450
795b593a
CW
244512010-06-03 Colin Watson <cjwatson@ubuntu.com>
24452
24453 * INSTALL: Document several build requirements for optional features
24454 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
24455
9d9b5833
GS
244562010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
24457
24458 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
24459 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
24460 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
24461
0819fec8
CW
244622010-06-02 Colin Watson <cjwatson@ubuntu.com>
24463
24464 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
24465 Thanks to Jordan Uggla for spotting this.
24466
49396b4f
VS
244672010-06-02 Aleš Nesrsta <starous@volny.cz>
24468
24469 Finally make USB usable.
24470
24471 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
24472 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
24473 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
24474 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
24475 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
24476 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
24477 (GRUB_OHCI_FSMPS): Likewise.
24478 (GRUB_OHCI_PERIODIC_START): Likewise.
24479 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
24480 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
24481 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
24482 (GRUB_OHCI_SET_PORT_RESET): Likewise.
24483 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
24484 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
24485 (grub_ohci_transaction): Likewise.
24486 (grub_ohci_transfer): Improve condition detection algorithms.
24487 Handle toggle property. Program the transactions correctly.
24488 Improve error handling. Various important fixups.
24489 (grub_ohci_portstatus): Put register writes in right order.
24490 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
24491 (grub_uhci_transfer): Don't show "failed" message on success.
24492 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
24493 array.
24494 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
24495 determine its size.
24496 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
24497 before initialization is completed. Use IN direction for empty
24498 transfers. Use last_trans and compute toggle.
24499 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
24500 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
24501 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
24502 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
24503 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
24504 (grub_usb_device): Increase toggle to 256.
24505 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
24506 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
24507 GRUB_USBMS_SUBCLASS_SFF8070.
24508 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
24509 (grub_scsi_inquiry): New member page and alloc_length.
24510 (grub_scsi_request_sense): New structure.
24511 (grub_scsi_request_sense_data): Likewise.
24512 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
24513 control.
24514 * disk/scsi.c (grub_scsi_request_sense): New function.
24515 (grub_scsi_test_unit_ready): Likewise.
24516 (grub_scsi_inquiry): Fill new fields.
24517 (grub_scsi_read_capacity): Likewise.
24518 (grub_scsi_read10): Add request sense at the end.
24519 (grub_scsi_read12): Likewise.
24520 (grub_scsi_write10): Likewise.
24521 (grub_scsi_write12): Likewise.
24522 (grub_scsi_open): Add Test Unit Ready.
24523 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
24524 Support additional subclasses. Con't clear halt yet. Activate the
24525 proper config. Calculate LUNs correctly.
24526 (grub_usbms_transfer): Various important fixups.
24527
245282010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24529
24530 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
24531 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
24532 (grub_ohci_fini_hw): New function.
24533 (grub_ohci_restore_hw): Likewise.
24534 (GRUB_MOD_INIT(ohci)): Register preboot hook.
24535 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
24536 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
24537
245382010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24539
24540 Dedicated DMA allocations.
24541
24542 * bus/pci.c (grub_memalign_dma32): New function
24543 (grub_dma_free): Likewise.
24544 (grub_dma_get_virt): Likewise.
24545 (grub_dma_get_phys): Likewise.
24546 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
24547 (grub_ohci_pci_iter): Use dma32_alloc.
24548 (grub_ohci_transfer): Likewise.
24549 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24550 (grub_usb_bulk_readwrite): Likewise.
24551 * include/grub/pci.h: Add declarations.
24552
245532010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24554
24555 CS5536 support.
24556
24557 * bus/cs5536.c: New file.
24558 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
24559 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
24560 (cs5536_mod_SOURCES): New variable.
24561 (cs5536_mod_CFLAGS): Likewise.
24562 (cs5536_mod_LDFLAGS): Likewise.
24563 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
24564 machine/pci.h.
24565 (kernel_img_SOURCES): Add bus/cs5536.c.
24566 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
24567 usb_keyboard.mod.
24568 (usb_mod_SOURCES): New variable.
24569 (usb_mod_CFLAGS): New variable.
24570 (usb_mod_LDFLAGS): New variable.
24571 (usbtest_mod_SOURCES): New variable.
24572 (usbtest_mod_CFLAGS): New variable.
24573 (usbtest_mod_LDFLAGS): New variable.
24574 (ohci_mod_SOURCES): New variable.
24575 (ohci_mod_CFLAGS): New variable.
24576 (ohci_mod_LDFLAGS): New variable.
24577 (usbms_mod_SOURCES): New variable.
24578 (usbms_mod_CFLAGS): New variable.
24579 (usbms_mod_LDFLAGS): New variable.
24580 (usb_keyboard_mod_SOURCES): New variable.
24581 (usb_keyboard_mod_CFLAGS): New variable.
24582 (usb_keyboard_mod_LDFLAGS): New variable.
24583 * include/grub/smbus.h: New file.
24584 * include/grub/cs5536.h: New file.
24585
0b35b2a9
CW
245862010-06-02 Colin Watson <cjwatson@ubuntu.com>
24587
24588 * util/grub.d/00_header.in: Add safety check to make sure that
24589 ${locale_dir} exists before trying to probe it.
24590
ca0afd5b
CW
245912010-06-02 Colin Watson <cjwatson@ubuntu.com>
24592
24593 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
24594 per the GNU Coding Standards; this is now too obscure to be worth
24595 documenting.
24596 (QNX): Likewise.
24597 (chainloader): Remove cross-reference to `SCO UnixWare'.
24598
1c41aa78
CW
245992010-06-02 Colin Watson <cjwatson@ubuntu.com>
24600
24601 * docs/grub.texi (Chain-loading): New section.
24602 (DOS/Windows): New section, borrowed from GRUB Legacy with details
24603 adjusted for GRUB 2.
24604 (SCO UnixWare): Likewise.
24605 (QNX): Likewise.
24606 (chainloader): Add reference to `Block list syntax'.
24607 (drivemap): New section.
24608 (parttool): New section.
24609
bb8ea0f5
CW
246102010-06-02 Colin Watson <cjwatson@ubuntu.com>
24611
24612 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
24613 the grub shell'.
24614 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
24615 (Installing GRUB using grub-install): Remove reference to the grub
24616 shell; mention `grub-mkimage' and `grub-setup' instead.
24617 (Invoking grub-install): Likewise.
24618 (Interface): Add reference to `Menu entry editor'.
24619 (serial): Remove `--device' option.
24620
288dd6ed
CW
246212010-06-02 Colin Watson <cjwatson@ubuntu.com>
24622
24623 * docs/grub.texi (Configuration): New section, documenting
24624 configuration file generation using grub-mkconfig. I've left a slot
24625 for documenting the full shell scripting format but have not yet
24626 started on writing that up.
24627 (Invoking grub-mkconfig): New section.
24628
34c9f0e9
CW
246292010-06-02 Colin Watson <cjwatson@ubuntu.com>
24630
24631 * docs/grub.texi (direntry): Remove grub-terminfo reference.
24632 (GNU GRUB manual): Likewise.
24633 (General commands): Update description of `terminfo' for GRUB 2.
24634
9121567e
CW
246352010-06-02 Colin Watson <cjwatson@ubuntu.com>
24636
24637 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
24638 (GRUB_MOD_INIT): Fix capitalisation.
24639 * docs/grub.texi (Command-line and menu entry commands): Document
24640 gettext and gptsync commands.
24641
ab631611
CW
246422010-06-02 Colin Watson <cjwatson@ubuntu.com>
24643
24644 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
24645 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
24646
bde4a9ac
CW
246472010-06-01 Colin Watson <cjwatson@ubuntu.com>
24648
24649 Add btrfs probing support, currently only in the single-device case.
24650
24651 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
24652 function.
24653 (grub_guess_root_device): Call find_root_device_from_mountinfo
24654 before looking in /dev.
24655
b1d17e10
VS
246562010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24657
24658 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
24659 GRUB_DISK_SIZE_UNKNOWN.
24660 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
24661
dfbfe004
JS
246622010-05-31 Jiro SEKIBA <jir@unicus.jp>
24663
24664 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
24665 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
24666 corrupted or not synced properly.
24667
c2ffc8e9
VS
246682010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24669
24670 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
24671 Reported by: Seth Goldberg.
24672
56293166
VS
246732010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24674
24675 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
24676 addition of dest.
24677 Reported by: Seth Goldberg.
24678
7620e7de
VS
246792010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24680
24681 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
24682 Reported by: Seth Goldberg.
24683
c837af3f
VS
246842010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24685
24686 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
24687 64-bit address as signed on MIPS.
24688
c7c75cf4
CW
246892010-05-28 Colin Watson <cjwatson@ubuntu.com>
24690
24691 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
24692 to the empty string.
24693
fa4b8490
BC
246942010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
24695
24696 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
24697
24698 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
24699 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
24700 * kern/misc.c (__enable_execute_stack): Disable on
24701 GRUB_MACHINE_EMU.
24702
a33075b9
CW
247032010-05-28 Colin Watson <cjwatson@ubuntu.com>
24704
24705 Make grub-probe work with symbolic links under /dev/mapper as well
24706 as with real block devices. The Linux world seems to be (at best)
24707 in transition here, and GRUB shouldn't get caught in the middle.
24708
24709 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
24710 /dev/mapper.
24711
d8708134
CW
247122010-05-27 Colin Watson <cjwatson@ubuntu.com>
24713
24714 * util/grub-script-check.c (main): Ensure defined behaviour on empty
24715 input files (in which case exit zero).
24716
db2102a0
CW
247172010-05-27 Colin Watson <cjwatson@ubuntu.com>
24718
24719 * kern/emu/misc.c (canonicalize_file_name): realpath can still
24720 return NULL for various reasons even if it has a maximum-length
24721 buffer: for example, there might be a symlink loop, or the path
24722 might exceed PATH_MAX. If this happens, return NULL.
24723
5fdba519
RM
247242010-05-27 Robert Millan <rmh@gnu.org>
24725
24726 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
24727 partmap module to handle cross-partmap setups.
24728 Reported by Orestes Mas. Gràcies!
24729
d1d368e4
CW
247302010-05-27 Colin Watson <cjwatson@ubuntu.com>
24731
24732 * util/grub-mkrescue.in: Initialise override_dir rather than
24733 assuming that it's unset or empty in the environment.
24734
95ac3c73
GS
247352010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
24736
24737 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
24738 variable index into p_index to suppress a warning with -Wshadow.
24739
7d8c0213
BC
247402010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
24741
24742 * INSTALL: Added flex >= 2.5.35 requirement.
24743
db4d5813
VS
247442010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24745
24746 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
24747
f24f4300
VS
247482010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24749
24750 cmostest support.
24751
24752 * commands/i386/cmostest.c: New file.
24753 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
24754 (cmostest_mod_SOURCES): New variable.
24755 (cmostest_mod_CFLAGS): Likewise.
24756 (cmostest_mod_LDFLAGS): Likewise.
24757 * conf/i386-pc.rmk: Likewise.
24758 * docs/grub.texi (Vendor power-on keys): New section.
24759 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
24760 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
24761 and GRUB_BUTTON_CMOS_ADDRESS.
24762 * util/grub.d/00_header.in: Handle powering-on by separate button.
24763
ad603f61
VS
247642010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24765
24766 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
24767 Removed drawing_scrollbar argument. All users updated
24768 Fixes #29792.
24769 Reported by Jo Shields
24770
3ecb080a
VS
247712010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24772
24773 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
24774 buffer since gfxterm handles double repaint.
24775
5f2316c1
VS
247762010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24777
24778 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
24779 * term/gfxterm.c (real_scroll): Likewise.
24780
9a25f885
VS
247812010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24782
24783 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
24784 before calling BIOS.
24785
39fbb79a
VS
247862010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24787
24788 * include/grub/i18n.h: Always enable grub_gettext.
24789
228cfa97
VS
247902010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24791
24792 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
24793 partition naming style.
24794
21717c8f
CW
247952010-05-21 Colin Watson <cjwatson@ubuntu.com>
24796
24797 * util/grub-mkconfig.in: Fix handling of -o so that it works when
24798 not the first option.
24799
c0f48e65
CW
248002010-05-20 Colin Watson <cjwatson@ubuntu.com>
24801
24802 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
24803
96779aec
CW
248042010-05-20 Colin Watson <cjwatson@ubuntu.com>
24805
24806 * util/misc.c: Move inclusion of <limits.h> to ...
24807 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
24808
fa9d256e
GS
248092010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
24810
24811 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
24812 Fix merge error in NetBSD code.
24813 (find_partition_start) [__NetBSD__]: Likewise.
24814
123b7a85
BC
248152010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
24816
24817 Fix grub-mkrescue usage unit testing.
24818
24819 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
24820
74276c0d
CF
248212010-05-18 Christian Franke <franke@computer.org>
24822
24823 * util/grub.d/10_windows.in: Use path names instead of
24824 drive letters to prevent warning from Cygwin 1.7.
24825 Add drivemap command to menuentry if needed.
24826
c4f7b523
ST
248272010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
24828
24829 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
24830 gnumach and gnumach.gz.
24831
95b97950
VS
248322010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24833
24834 * include/grub/i18n.h (gettext): Inline instead of using #define.
24835 (grub_gettext): Likewise.
24836 (_): Likewise.
24837
01b8d2d7
VS
248382010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24839
24840 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
24841 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
24842 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
24843 (main): Add a slash after pkglibdirroot.
24844
654e1d1e
VS
248452010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24846
24847 * util/grub-install.in: Add missing "in" keyword.
24848
26966aeb
VS
248492010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24850
24851 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
24852 Reported by: Seth Goldberg.
24853
75006747
VS
248542010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24855
24856 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
24857
74cbf5bd
CW
248582010-05-18 Colin Watson <cjwatson@ubuntu.com>
24859
24860 * configure.ac: Check for Linux device-mapper support.
24861
24862 * util/hostdisk.c (device_is_mapped): New function.
24863 (find_partition_start): New function, partly broken out from
24864 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
24865 device-mapper support added.
24866 (linux_find_partition): Use find_partition_start.
24867 (convert_system_partition_to_system_disk): Add `st' argument.
24868 Support Linux /dev/mapper/* devices if device-mapper support is
24869 available; only DM-RAID devices are understood at present.
24870 (find_system_device): Add `st' argument. Pass it to
24871 convert_system_partition_to_system_disk.
24872 (grub_util_biosdisk_get_grub_dev): Pass stat result to
24873 find_system_device and convert_system_partition_to_system_disk. Use
24874 find_partition_start.
24875
24876 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
24877 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
24878 * util/deviceiter.c [__linux__]: Define MINOR.
24879 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
24880 * util/mkdevicemap.c (grub_putchar): New function.
24881 (grub_getkey): New function.
24882 (grub_refresh): New function.
24883 (main): Set debug=all if -v -v is used.
24884
355b51e9
CW
248852010-05-18 Colin Watson <cjwatson@ubuntu.com>
24886
24887 Fix build with non-GNU libcs.
24888
24889 * util/misc.c (canonicalize_file_name): Move to ...
24890 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
24891 grub_make_system_path_relative_to_its_root.
24892
7fb5c25f
CW
248932010-05-18 Colin Watson <cjwatson@ubuntu.com>
24894
24895 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
24896 we handle finding grub-mkimage. Default to finding grub-mkimage in
24897 ${bindir} with program_transform_name applied, and provide a
24898 --grub-mkimage option to override this.
24899
1d3293d6
VS
249002010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24901
24902 Remove grub-mkisofs.
24903
24904 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
24905 (grub_mkisofs_SOURCES): Removed.
24906 (grub_mkisofs_CFLAGS): Removed.
24907 * util/mkisofs/defaults.h: Removed.
24908 * util/mkisofs/eltorito.c: Likewise.
24909 * util/mkisofs/exclude.h: Likewise.
24910 * util/mkisofs/hash.c: Likewise.
24911 * util/mkisofs/include/: Likewise.
24912 * util/mkisofs/include/fctldefs.h: Likewise.
24913 * util/mkisofs/include/mconfig.h: Likewise.
24914 * util/mkisofs/include/prototyp.h: Likewise.
24915 * util/mkisofs/include/statdefs.h: Likewise.
24916 * util/mkisofs/iso9660.h: Likewise.
24917 * util/mkisofs/joliet.c: Likewise.
24918 * util/mkisofs/match.c: Likewise.
24919 * util/mkisofs/match.h: Likewise.
24920 * util/mkisofs/mkisofs.c: Likewise.
24921 * util/mkisofs/mkisofs.h: Likewise.
24922 * util/mkisofs/msdos_partition.h: Likewise.
24923 * util/mkisofs/multi.c: Likewise.
24924 * util/mkisofs/name.c: Likewise.
24925 * util/mkisofs/rock.c: Likewise.
24926 * util/mkisofs/tree.c: Likewise.
24927 * util/mkisofs/write.c: Likewise.
24928
5dde9afe
VS
249292010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24930
24931 Unify grub-mkimage accross platforms.
24932
24933 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
24934 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
24935 (grub_mkelfimage_SOURCES): Removed.
24936 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
24937 (util/grub-mkimage.c_DEPENDENCIES): .. this.
24938 (bin_UTILITIES): Add grub-mkimage.
24939 (grub_mkimage_SOURCES): New variable.
24940 (kernel_img_HEADERS): Remove machine/kernel.h.
24941 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
24942 (pkglib_PROGRAMS): Add kernel.img.
24943 (kernel_img_HEADERS): Add machine/kernel.h.
24944 (kernel_img_FORMAT): Removed.
24945 (bin_UTILITIES): Remove grub-mkimage.
24946 (grub_mkimage_SOURCES): Removed.
24947 (grub_mkimage_CFLAGS): Likewise.
24948 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24949 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
24950 (pkglib_PROGRAMS): Add kernel.img.
24951 (bin_UTILITIES): Remove grub-mkimage.
24952 (grub_mkimage_SOURCES): Removed.
24953 (grub_mkimage_CFLAGS): Likewise.
24954 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24955 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
24956 (pkglib_PROGRAMS): Add kernel.img.
24957 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
24958 (pkglib_PROGRAMS): Add kernel.img.
24959 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
24960 (grub_mkimage_SOURCES): Removed.
24961 (grub_mkimage_CFLAGS): Likewise.
24962 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24963 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
24964 (pkglib_PROGRAMS): Add kernel.img.
24965 (bin_UTILITIES): Remove grub-mkimage.
24966 (grub_mkimage_SOURCES): Removed.
24967 (grub_mkimage_CFLAGS): Likewise.
24968 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24969 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
24970 (grub_mkimage_SOURCES): Removed.
24971 (grub_mkimage_CFLAGS): Likewise.
24972 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24973 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
24974 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
24975 (grub_pe32_optional_header): ... this.
24976 (grub_pe64_optional_header): ... and this. All users updated.
24977 (GRUB_PE32_PE32_MAGIC): Split into ..
24978 (GRUB_PE32_PE32_MAGIC): .. this.
24979 (GRUB_PE32_PE64_MAGIC): .. and this.
24980 (GRUB_PE32_SIGNATURE_SIZE): New definition.
24981 * include/grub/elf.h (PT_GNU_STACK): New definition.
24982 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
24983 * include/grub/i386/efi/kernel.h: Likewise.
24984 * include/grub/i386/kernel.h: Likewise.
24985 * include/grub/i386/pc/kernel.h: Likewise.
24986 * include/grub/i386/qemu/boot.h: Likewise.
24987 * include/grub/mips/kernel.h: Likewise.
24988 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24989 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24990 * include/grub/powerpc/kernel.h: Likewise.
24991 * include/grub/sparc64/ieee1275/boot.h: Likewise.
24992 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24993 * include/grub/sparc64/kernel.h: Likewise.
24994 * include/grub/x86_64/efi/kernel.h: Likewise.
24995 * include/grub/x86_64/kernel.h: Likewise.
24996 * include/grub/offsets.h: New file.
24997 * include/grub/kernel.h (grub_module_info): Split into ...
24998 (grub_module_info32): ... this.
24999 (grub_module_info64): ... and this.
25000 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
25001 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
25002 (grub_boot_blocklist): Moved from here ...
25003 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
25004 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
25005 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
25006 * include/grub/types.h (grub_target_to_host16): Removed.
25007 (grub_target_to_host32): Likewise.
25008 (grub_target_to_host64): Likewise.
25009 (grub_host_to_target16): Likewise.
25010 (grub_host_to_target32): Likewise.
25011 (grub_host_to_target64): Likewise.
25012 (grub_host_to_target_addr): Likewise.
25013
25014 Support grub-mkrescue for efi, coreboot and qemu.
25015
25016 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
25017 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
25018 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
25019 * util/grub-mkrawimage.c: Moved from here ...
25020 * util/grub-mkimage.c: ... here. All users updated.
25021 (ALIGN_ADDR): Use image_target.
25022 (TARGET_NO_FIELD): New const.
25023 (image_target_desc): New type.
25024 (image_targets): New array.
25025 (grub_target_to_host64): Use image_target.
25026 (grub_target_to_host32): Likewise.
25027 (grub_target_to_host16): Likewise.
25028 (grub_host_to_target64): Likewise.
25029 (grub_host_to_target32): Likewise.
25030 (grub_host_to_target16): Likewise.
25031 (grub_host_to_target_addr): Likewise.
25032 (generate_image): Handle multiimage.
25033 (main): Require -O parameter. All users updated.
25034 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
25035 util/efi/grub-mkimage.c
25036 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
25037 New option --rom-directory.
25038 Use xorriso.
25039 * util/i386/efi/grub-mkimage.c: Removed.
25040 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
25041 (grub_target_to_host32): Likewise.
25042 (grub_target_to_host64): Likewise.
25043 (grub_host_to_target16): Likewise.
25044 (grub_host_to_target32): Likewise.
25045 (grub_host_to_target64): Likewise.
25046 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
25047 (grub_target_to_host32): Likewise.
25048 (grub_target_to_host64): Likewise.
25049 (grub_host_to_target16): Likewise.
25050 (grub_host_to_target32): Likewise.
25051 (grub_host_to_target64): Likewise.
25052
f4fc97d0
BC
250532010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
25054
25055 Source tree is reorganized for emu build.
25056
25057 * include/grub/util/console.h: Move from here...
25058 * include/grub/emu/console.h: ...to here.
25059 * include/grub/util/getroot.h: Move from here...
25060 * include/grub/emu/getroot.h: ...to here.
25061 * include/grub/util/hostdisk.h: Move from here...
25062 * include/grub/emu/hostdisk.h: ...to here.
25063 * util/console.c: Move from here...
25064 * kern/emu/console.c: ...to here.
25065 * util/getroot.c: Move from here...
25066 * kern/emu/getroot.c: ...to here.
25067 * util/grub-emu.c: Move from here...
25068 * kern/emu/main.c: ...to here.
25069 * util/hostdisk.c: Move from here...
25070 * kern/emu/hostdisk.c: ...to here.
25071 * util/hostfs.c: Move from here...
25072 * kern/emu/hostfs.c: ...to here.
25073 * util/mm.c: Move from here...
25074 * kern/emu/mm.c: ...to here.
25075 * util/pci.c: Move from here...
25076 * bus/emu/pci.c: ...to here.
25077 * util/sdl.c: Move from here...
25078 * video/emu/sdl.c: ...to here.
25079 * util/time.c: Move from here...
25080 * kern/emu/time.c: ...to here.
25081 * util/usb.c: Move from here...
25082 * bus/usb/emu/usb.c: ...to here.
25083
25084 * include/grub/emu/misc.h: New header for grub-emu functions.
25085 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
25086
25087 * conf/any-emu.rmk: Rule updates for above renames.
25088 * conf/common.rmk: Likewise.
25089 * conf/i386-pc.rmk: Likewise.
25090 * conf/i386-qemu.rmk: Likewise.
25091 * conf/mips.rmk: Likewise.
25092 * conf/sparc64-ieee1275.rmk: Likewise.
25093 * conf/x86-efi.rmk: Likewise.
25094
25095 * disk/lvm.h: #include updates for above renames.
25096 * util/grub-mkrelpath.c: Likewise.
25097 * util/grub-probe.c: Likewise.
25098 * util/i386/pc/grub-setup.c: Likewise.
25099 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25100 * kern/emu/console.c: Likewise.
25101 * kern/emu/getroot.c: Likewise.
25102 * kern/emu/hostdisk.c: Likewise.
25103 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
25104
25105 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
25106 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
25107 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
25108 * util/misc.c: Remove grub-emu functions.
25109
cced9145
VS
251102010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
25111
25112 Fix gfxmenu crash.
25113 Reported by: Thorsten Grützmacher.
25114
25115 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
25116 timeout hook.
25117 (circprog_set_property): Register and unregister timeout hook.
25118 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
25119 (label_destroy): Free template. and unregister hook.
25120 (label_set_state): New function.
25121 (label_set_property): Handle templates and hooks.
25122 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
25123 timeout hook.
25124 (progress_bar_set_property): Register and unregister timeout hook.
25125 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
25126 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
25127 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
25128 (update_timeout_visit): Removed.
25129 (update_timeouts): New function.
25130 (redraw_timeouts): Likewise.
25131 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
25132 (grub_gfxmenu_clear_timeout): Likewise.
25133 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
25134 (grub_gfxmenu_timeout_notify): Likewise.
25135 (grub_gfxmenu_timeout_notifications): New external variable.
25136 (grub_gfxmenu_timeout_register): New function.
25137 (grub_gfxmenu_timeout_unregister): Likewise.
25138
c6e5caab
VS
251392010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25140
25141 Transform (broken) vga terminal into (working) vga video driver.
25142
25143 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
25144 video/i386/pc/vga.c.
25145 * include/grub/video.h (grub_video_driver_id):
25146 Add GRUB_VIDEO_DRIVER_VGA.
25147 * term/i386/pc/vga.c: Renamed to ...
25148 * video/i386/pc/vga.c: ...this
25149 (DEBUG_VGA): Removed.
25150 (CHAR_WIDTH): Likewise.
25151 (CHAR_HEIGHT): Likewise.
25152 (TEXT_WIDTH): Likewise.
25153 (TEXT_HEIGHT): Likewise.
25154 (DEFAULT_FG_COLOR): Likewise.
25155 (DEFAULT_BG_COLOR): Likewise.
25156 (colored_char): Likewise.
25157 (xpos): Likewise.
25158 (ypos): Likewise.
25159 (cursor_state): Likewise.
25160 (fg_color): Likewise.
25161 (bg_color): Likewise.
25162 (text_buf): Likewise.
25163 (page): Likewise.
25164 (font): Likewise.
25165 (framebuffer): New variable.
25166 (set_read_map): Disabled.
25167 (setup): New variable.
25168 (is_target): Likewise.
25169 (grub_vga_mod_init): Likewise.
25170 (grub_vga_mod_fini): Likewise.
25171 (check_vga_mem): Likewise.
25172 (write_char): Likewise.
25173 (write_cursor): Likewise.
25174 (scroll_up): Likewise.
25175 (grub_vga_putchar): Likewise.
25176 (grub_vga_getcharwidth): Likewise.
25177 (grub_vga_getwh): Likewise.
25178 (grub_vga_getxy): Likewise.
25179 (grub_vga_gotoxy): Likewise.
25180 (grub_vga_cls): Likewise.
25181 (grub_vga_setcolorstate): Likewise.
25182 (grub_vga_setcursor): Likewise.
25183 (grub_video_vga_init): New function.
25184 (grub_video_vga_setup): Likewise.
25185 (grub_video_vga_fini): Likewise.
25186 (update_target): Likewise.
25187 (grub_video_vga_blit_bitmap): Likewise.
25188 (grub_video_vga_blit_render_target): Likewise.
25189 (grub_video_vga_set_active_render_target): Likewise.
25190 (grub_video_vga_get_active_render_target): Likewise.
25191 (grub_video_vga_swap_buffers): Likewise.
25192 (grub_video_vga_set_palette): Likewise.
25193 (grub_video_vga_get_info_and_fini): Likewise.
25194 (grub_vga_term): Removed.
25195 (grub_video_vga_adapter): New variable.
25196 (GRUB_MOD_INIT): Register a video driver instead of terminal.
25197 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
25198
2bf61a98
VS
251992010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25200
25201 * video/readers/jpeg.c: Indented.
25202
09ddcd11
VS
252032010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25204
25205 Various jpeg cleanups.
25206
25207 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
25208 (grub_jpeg_decode_quan_table): Use sizeof.
25209 (grub_jpeg_decode_du): Use ARRAY_SIZE.
25210
e5507505
PH
252112010-05-05 Peter Hurley <No e-mail available> (tiny change)
25212
25213 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
25214 tables. Ignore non-last ac bit.
25215 (grub_jpeg_decode_quan_table): Likewise.
25216
7e720a9b
VS
252172010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25218
25219 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
25220 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
25221 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
25222 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
25223 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
25224 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
25225
a7fc080b
VS
252262010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25227
25228 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
25229 error.
25230
2bf6012d
VS
252312010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25232
25233 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
25234
265d68cd
VS
252352010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25236
25237 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
25238 condition.
25239
252402010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
25241
25242 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
25243 part.
25244
265d68cd 252452010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
25246
25247 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
25248 pointers.
25249
265d68cd 252502010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
25251
25252 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
25253
d1b61374
CF
252542010-05-01 Christian Franke <franke@computer.org>
25255
25256 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
25257 Remove broken Cygwin path conversion.
25258 * util/misc.c: [__CYGWIN__] Add include and define.
25259 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
25260 for Cygwin 1.7.
25261 (make_system_path_relative_to_its_root): Simplify loop, replace early
25262 return by break.
25263 [__CYGWIN__] Add conversion to win32 path.
25264 Include "/" case in trailing slash removal.
25265
3558c6e9
VS
252662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25267
25268 * kern/main.c (grub_load_config): Fix copy-pasted comment.
25269 Reported by: Seth Goldberg
25270
f5f3ff93
VS
252712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25272
25273 * commands/help.c (grub_cmd_help): Fix a typo.
25274 Reported by: Seth Goldberg
25275
d8b5cd40
VS
252762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25277
25278 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
25279 name and add N_.
25280 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
25281 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
25282 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
25283 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
25284 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
25285 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
25286 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
25287 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
25288 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
25289 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
25290 * normal/context.c (GRUB_MOD_INIT): Likewise.
25291 * normal/main.c (GRUB_MOD_INIT): Likewise.
25292 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
25293 * term/serial.c (GRUB_MOD_INIT): Likewise.
25294 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
25295
88c14915
VS
252962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25297
25298 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
25299 extra == 0.
25300
165134bc
VS
253012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25302
25303 * commands/iorw.c: New file.
25304 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
25305 (iorw_mod_SOURCES): New variable.
25306 (iorw_mod_CFLAGS): Likewise.
25307 (iorw_mod_LDFLAGS): Likewise.
25308
c5ac9b32
VS
253092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25310
25311 Hotkey support
25312
25313 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
25314 * normal/main.c (hotkey_aliases): New variable.
25315 (grub_normal_add_menu_entry): Parse "--hotkey".
25316 * normal/menu_text.c (run_menu): Handle hotkeys.
25317
ce60689c
VS
253182010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25319
25320 * kern/i386/coreboot/init.c (grub_machine_init): Call
25321 grub_machine_mmap_init on qemu.
25322
0359d006
VS
253232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25324
25325 * boot/i386/qemu/boot.S: Add a missing .code16.
25326
7819a456
VS
253272010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25328
25329 Use LBIO on coreboot.
25330
25331 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
25332 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
25333 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
25334 New declaration.
25335 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
25336 grub_machine_mmap_init on coreboot.
25337 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
25338 GRUB_LINUXBIOS_MEMBER_LINK.
25339 (grub_machine_mmap_iterate): Fix declaration.
25340 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
25341
7210dca9
VS
253422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25343
25344 Split coreboot and multiboot ports.
25345
25346 * conf/i386-multiboot.rmk: New file.
25347 * configure.ac: Add multiboot port.
25348 * include/grub/i386/multiboot/boot.h: New file.
25349 * include/grub/i386/multiboot/console.h: Likewise.
25350 * include/grub/i386/multiboot/init.h: Likewise.
25351 * include/grub/i386/multiboot/kernel.h: Likewise.
25352 * include/grub/i386/multiboot/loader.h: Likewise.
25353 * include/grub/i386/multiboot/memory.h: Likewise.
25354 * include/grub/i386/multiboot/serial.h: Likewise.
25355 * include/grub/i386/multiboot/time.h: Likewise.
25356 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
25357 * loader/multiboot.c: Likewise.
25358 * loader/multiboot_mbi2.c: Likewise.
25359 * util/grub-mkrescue.in: Generate multiboot rescue.
25360
6f8aaf68
VS
253612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25362
3080f7a7
VS
25363 * kern/parser.c (grub_parser_execute): Cope with read-only config.
25364
253652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25366
25367 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
25368
25369 * commands/terminal.c (abstract_terminal): New struct.
25370 (handle_command): New function. Based on grub_cmd_terminal_input.
25371 (grub_cmd_terminal_input): Use handle_command.
25372 (grub_cmd_terminal_output): Use handle_command.
25373
a8ebb841
BC
253742010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
25375
25376 Fix comment handling.
25377
25378 * tests/grub_script_comments.in: New testcase.
25379 * conf/tests.rmk: Rules for new testcase.
25380 * script/yylex.l: Updated flex rules.
25381
bb06ba08
ST
253822010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
25383
25384 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
25385 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
25386 if argc is 1.
bb06ba08 25387
cc9d2425
VS
253882010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25389
25390 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
25391 autogen issues.
25392
460d8402
CF
253932010-04-26 Christian Franke <franke@computer.org>
25394
25395 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
25396 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
25397 (grub_get_prefix): Remove function.
25398 * util/grub-emu.c (main): Replace grub_get_prefix () call by
25399 make_system_path_relative_to_its_root ().
25400 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
25401
553c01f9
CF
254022010-04-24 Christian Franke <franke@computer.org>
25403
25404 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
25405 (kernel_img_LDFLAGS): Remove -static-libgcc.
25406
2aec1692
CF
254072010-04-24 Christian Franke <franke@computer.org>
25408
25409 * configure.ac: Do not CHECK_BSS_START_SYMBOL
25410 and CHECK_END_SYMBOL if grub-emu is built.
25411 Unset TARGET_OBJ2ELF if grub-emu is built
25412 without module support.
25413
f67dc308
JS
254142010-04-24 Jiro SEKIBA <jir@unicus.jp>
25415
25416 Nilfs2 support.
25417
25418 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
25419 (grub_fstest_SOURCES): Likewise.
25420 (pkglib_MODULES): Add nilfs2.mod.
25421 (nilfs2_mod_SOURCES): New variable.
25422 (nilfs2_mod_CFLAGS): Likewise.
25423 (nilfs2_mod_LDFLAGS): Likewise.
25424 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25425 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25426 * fs/nilfs2.c: New file.
25427
4ba8d354
VS
254282010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
25429
25430 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
25431 is not supported.
25432
0d2c20c6
GS
254332010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
25434
25435 Add grub-mkconfig support for NetBSD.
25436
25437 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
25438 * util/grub-mkconfig.in: export new NetBSD specific variables.
25439 * po/POTFILES-shell: added 10_netbsd.in.
25440 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
25441
bc4a2d83
BC
254422010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
25443
25444 Fix emu build with grub-emu-pci and grub-emu-modules.
25445
25446 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
25447 functions.
25448 * include/grub/libpciaccess.h: New file.
25449 * conf/any-emu.rmk: Update kernel headers for emu build.
25450
f48c87aa
VS
254512010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25452
25453 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
25454
18959385
VS
254552010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25456
25457 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
25458
0037de3f
VS
254592010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25460
25461 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
25462 Retrieve chosen/bootpath if bootpath isn't hardcoded.
25463 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
25464 util/ieee1275/ofpath.c.
25465 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
25466 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
25467 * include/grub/sparc64/ieee1275/boot.h
25468 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
25469 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
25470 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
25471 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
25472 const char *.
25473 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
25474 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
25475 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
25476 install.
25477
38e55e90
GS
254782010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
25479
25480 * util/grub-mkconfig.in: Corrected two == equality tests.
25481 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
25482 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
25483 expect a number appended to it.
25484 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
25485 expects a number appended to it.
25486
a9e6ff28
VS
254872010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25488
25489 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
25490
0b830b8f
VS
254912010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25492
25493 * util/hostdisk.c (make_device_name): Change to new partition naming.
25494
0973daeb
VS
254952010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
25496
25497 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
25498
460d8402 254992010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
25500
25501 * Makefile.in: Add missing localedir setting.
25502
0b456309
CW
255032010-04-14 Colin Watson <cjwatson@ubuntu.com>
25504
25505 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
25506 mistake in r2156. Noticed by Anthony Fok.
25507
25508 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
25509 @localedir@.
25510 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25511
08f46d62
BC
255122010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
25513
25514 Fix a spurious, uninitialized variable warning.
25515
25516 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
25517 Initialize variable, shdr.
25518 (grub_freebsd_load_elfmodule): Likewise.
25519 (grub_freebsd_load_elf_meta): Likewise.
25520
8c4a72d4
BC
255212010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
25522
25523 Fix for escaped dollar in double quoted strings.
25524
25525 * script/yylex.l: Updated flex rules.
25526 * conf/tests.rmk: Rule for new testcase.
25527 * tests/grub_script_dollar.in: New testcase.
25528
ce44826e
CPE
255292010-04-13 Carles Pina i Estany <carles@pina.cat>
255302010-04-13 Colin Watson <cjwatson@ubuntu.com>
25531
25532 Enclose all translated strings in grub.cfg in single quotes, and
25533 escape them appropriately (Ubuntu bug #552921).
25534
25535 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
25536 * util/grub.d/10_hurd.in: Use it.
25537 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25538 * util/grub.d/10_linux.in (linux_entry): Likewise.
25539
4b0cd8f8
VS
255402010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25541
25542 Fix cygwin compilation.
25543
25544 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
25545 * include/grub/misc.h (__register_frame_info)
25546 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
25547 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25548 * kern/misc.c (__register_frame_info)
25549 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
25550 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25551
01fcf061
VS
255522010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25553
25554 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
25555
5d04b11e
VS
255562010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25557
25558 Unify libgcc processing.
25559
25560 * Makefile.in (kernel_img_LDFLAGS): New variable.
25561 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
25562 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
25563 overwriting.
25564 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
25565 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
25566 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
25567 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
25568 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
25569 overwriting. Remove -lgcc and -static-libgcc
25570 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
25571 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25572 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25573 (kernel_img_LDFLAGS): Append instead of overwriting.
25574 Remove -lgcc and -static-libgcc
25575 * conf/sparc64-ieee1275.rmk: Likewise.
25576 * include/grub/powerpc/libgcc.h: Move to ...
25577 * include/grub/libgcc.h: .. this.
25578 * include/grub/libgcc.h: Don't export most of the function on x86.
25579 (__bswapsi2): New export.
25580 (__bswapdi2): Likewise.
25581 * include/grub/mips/libgcc.h: Removed.
25582 * include/grub/sparc64/libgcc.h: Likewise.
25583
b7f3ac29
VS
255842010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25585
25586 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
25587 disk_info_msg (conflicts with gettexting into languages with cases).
25588
2c7031b1
GS
255892010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
25590
25591 Add grub-probe support for NetBSD.
25592
25593 * util/getroot.c (find_root_device): Convert block device to
25594 character device on NetBSD.
25595 * util/probe.c (probe): Require character device on NetBSD.
25596 * util/hostdisk.c: NetBSD specific headers.
25597 (configure_device_driver): new function to tune device driver
25598 parameters (currently only for NetBSD floppy driver).
25599 (grub_util_biosdisk_open): NetBSD specific code (get disk size
25600 via disklabel ioctl).
25601 (open_device): call configure_device_driver on NetBSD.
25602 (convert_system_partition_to_system_disk): NetBSD specific code.
25603 (device_is_wholedisk): Likewise.
25604 (grub_util_biosdisk_get_grub_dev): Likewise.
25605 (make_device_name): Fixed a typo in bsd_part_str.
25606 * configure.ac: check for opendisk() and getrawpartition() on
25607 NetBSD and set LIBUTIL.
25608 * Makefile.in: add LIBUTIL to LIBS.
25609
f516290c
BC
256102010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25611
25612 Documentation fix.
25613
25614 * util/grub-script-check.c: Better help message.
25615
d8dcc0df
BC
256162010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25617
25618 Fix FreeBSD build.
25619
25620 * configure.ac: Flex version check.
25621 * conf/common.rmk: Add -Wno-error to sh.mod.
25622 * script/yylex.l: Remove all #pragma.
25623
6734334a
VS
256242010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25625
25626 * include/grub/util/misc.h (canonicalise_file_name): Add missing
25627 prototype.
25628 Reported by: Seth Goldberg.
25629
daea6abd
VS
256302010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25631
25632 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
25633 Rename "module" to "module2".
25634 Reported by: Seth Goldberg.
25635
f2fd9d2b
VS
256362010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25637
25638 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
25639 EXPORT_FUNC.
25640 Reported by: Seth Goldberg.
25641
be124579
VS
256422010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25643
25644 * lib/posix_wrap/locale.h: Add missing file.
25645 Reported by: Seth Goldberg.
25646
ef5da797
VS
256472010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25648
25649 grub-emu module load support.
25650
25651 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
25652 NO_DYNAMIC_MODULES switched to this.
25653 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
25654 (CFLAGS): Likewise.
25655 * conf/any-emu.rmk: Generate symlist.
25656 (kernel_img_HEADERS): Add util/datetime.h.
25657 (kernel_img_HEADERS) [sdl]: Add sdl.h.
25658 (kernel_img_HEADERS) [libusb]: Add libusb.h.
25659 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
25660 kern/$(target_cpu)/cache.S.
25661 * configure.ac (grub-emu-modules): New option.
25662 * genmk.rb: Handle multiple source lists.
25663 * include/grub/sdl.h: New file.
25664 * include/grub/libusb.h: Likewise.
25665 * util/grub-emu.c (main): Hanle (host) root.
25666 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
25667 GRUB_ERR_UNKNOWN_DEVICE.
25668 * util/misc.c: Move mm functions to ...
25669 * util/mm.c: ... here. All users updated.
25670
47822096
VS
256712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25672
25673 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
25674 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
25675 missing files.
25676 (maintainer-clean): Remove libgcrypt-grub.
25677
5d7e7445
VS
256782010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25679
25680 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
25681
25f4e252
EC
256822010-04-09 EFI Coder <eficoder@hotmail.com>
25683
25684 * normal/menu_text.c (print_message): Clean up the message and show
25685 the Fn information when on EFI
25686 * term/efi/console.c (grub_console_checkkey): Add F4 support.
25687
027de555
VS
256882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25689
25690 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
25691 All users updated.
25692 * normal/crypto.c (read_crypto_list): Likewise.
25693 * normal/dyncmd.c (read_command_list): Likewise.
25694 * normal/term.c (read_terminal_list): Likewise.
25695 * normal/main.c (read_lists): Use explicit prefix.
25696 (read_lists_hook): Use read_lists.
25697 (grub_normal_execute): Likewise.
25698
47779711
VS
256992010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25700
25701 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
25702 Reported by: Thomas Schmitt.
25703 Add -no-emul-boot to grub-mkisofs parameters.
25704
1118c32e
VS
257052010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25706
25707 * font/font.c: Indented.
25708
7d652447
BC
257092010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25710
25711 Elif support to GRUB script (by Deepak Vankadaru).
25712
25713 * tests/grub_script_if.in: New testcase.
25714 * conf/tests.rmk: Rule for new testcase.
25715 * script/parser.y: Grammar rules for elif.
25716
34bb22df
BC
257172010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25718
25719 While and until loops support to GRUB script.
25720
25721 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
25722 (grub_script_create_cmdwhile): New function prototype.
25723 (grub_script_execute_cmdwhile): New function prototype.
25724 * script/execute.c (grub_script_execute_cmdwhile): New function.
25725 * script/parser.y (command): New commands.
25726 (whilecmd): New grammar rule.
25727 (untilcmd): New grammar rule.
25728 * script/script.c (grub_script_create_cmdwhile): New function.
25729 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
25730 function.
25731
25732 * tests/grub_script_while1.in: New testcase.
25733 * conf/tests.rmk: Rule for new testcase.
25734
e215d8e0
VS
257352010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25736
25737 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
25738 as *.jpg.
25739
d7c43ba1
MV
257402010-04-09 Mario Vazquez <mariovazq@gmail.com>
25741
25742 GRUB_BACKGROUND support.
25743
25744 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
25745 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
25746
d64795c0
VS
257472010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25748
25749 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 25750 Idea by: Mario Vazquez
d64795c0
VS
25751
25752 * util/grub.d/00_header.in: Load pf2 and image modules.
25753
f267f83a
VS
257542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25755
25756 grub-mkconfig multiple terminal support.
25757
25758 * util/grub-mkconfig.in: Handle multiple terminals correctly.
25759 * util/grub.d/00_header.in: Likewise.
25760
b7841ceb
VS
257612010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25762
25763 * Makefile.in: Specify files explicitly instead of using $< and $@ since
25764 we use cd $(srcdir).
25765
df60998c
CW
257662010-04-08 Colin Watson <cjwatson@ubuntu.com>
25767
25768 * util/grub.d/10_linux.in: Only use the first word of
25769 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
25770 spaces in GRUB_DISTRIBUTOR.
25771 * util/grub.d/10_kfreebsd.in: Likewise.
25772 * util/grub.d/10_hurd.in: Likewise.
25773
fa09c82e
BC
257742010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
25775
14e18ae3 25776 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
25777
25778 * tests/util/grub-shell.in: Remove -serial stdio option.
25779
daf892b3
BC
257802010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25781
25782 POSIX header file wrappers.
25783
25784 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
25785 equivalents.
25786 * lib/posix_wrap/ctype.h: Likewise.
25787 * lib/posix_wrap/errno.h: Likewise.
25788 * lib/posix_wrap/langinfo.h: Likewise.
25789 * lib/posix_wrap/limits.h: Likewise.
25790 * lib/posix_wrap/localcharset.h: Likewise.
25791 * lib/posix_wrap/stdint.h: Likewise.
25792 * lib/posix_wrap/stdio.h: Likewise.
25793 * lib/posix_wrap/stdlib.h: Likewise.
25794 * lib/posix_wrap/string.h: Likewise.
25795 * lib/posix_wrap/sys/types.h: Likewise.
25796 * lib/posix_wrap/unistd.h: Likewise.
25797 * lib/posix_wrap/wchar.h: Likewise.
25798 * lib/posix_wrap/wctype.h: Likewise.
25799 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
25800 (grub_script.yy.h): Likewise.
25801 * script/yylex.l: Remove POSIX emulation #defines.
25802 * Makefile.in (POSIX_CFLAGS): New variable.
25803 (GNULIB_UTIL_CFLAGS): Likewise.
25804
25805 Regexp support.
25806
25807 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
25808 (regexp_mod_SOURCES): New variable.
25809 (regexp_mod_CFLAGS): Likewise.
25810 (regexp_mod_LDFLAGS): Likewise.
25811 * commands/regexp.c: New file.
25812 * gnulib/regcomp.c: New file. Imported from gnulib.
25813 * gnulib/regex.c: Likewise.
25814 * gnulib/regex_internal.c: Likewise.
25815 * gnulib/regex_internal.h: Likewise.
25816 * gnulib/regexec.c: Likewise.
25817 * gnulib/regex.h: Likewise.
25818
974ac4f7
VS
258192010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25820
25821 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
25822 unsupported video mode types.
25823
2622c3ff
VS
258242010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25825
25826 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
25827
064cb524
VS
258282010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25829
25830 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
25831 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
25832
a8c3b552
VS
258332010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25834
25835 Remove unused grub_vga_get_font.
25836
25837 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
25838 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
25839
187bbe3d
GS
258402010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25841
25842 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
25843 * include/grub/misc.h: Likewise.
25844
b9396631
GS
258452010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25846
25847 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
25848 for which failure is fatal.
25849
50479feb
GS
258502010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25851
25852 * util/grub-install.in: Use mkdir -p to create grub directory.
25853 * util/i386/efi/grub-install.in: Likewise.
25854 * util/ieee1275/grub-install.in: Likewise.
25855
b1654fdf
GS
258562010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25857
25858 * Makefile.in (LEX): new variable.
25859
bd5a6415
GS
258602010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25861
25862 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
25863 `=' and added double quotes on operands of this equality test.
25864
3db3a82b
VS
258652010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25866
25867 * Makefile.in (uninstall): Remove a leftover debug echo.
25868 Reported by: Grégoire Sutre
25869
38023412
VS
258702010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25871
25872 MIPS multiboot2 support.
25873
25874 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
25875 (multiboot2_mod_SOURCES): New variable.
25876 (multiboot2_mod_CFLAGS): Likewise.
25877 (multiboot2_mod_LDFLAGS): Likewise.
25878 (multiboot2_mod_ASFLAGS): Likewise.
25879 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
25880 definition.
25881 (MULTIBOOT_ENTRY_REGISTER): Likewise.
25882 (MULTIBOOT_MBI_REGISTER): Likewise.
25883 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
25884 (MULTIBOOT_ELF32_MACHINE): Likewise.
25885 (MULTIBOOT_ELF64_MACHINE): Likewise.
25886 * include/grub/mips/multiboot.h: New file.
25887 * include/grub/video.h (grub_video_driver_id): New type
25888 GRUB_VIDEO_DRIVER_SM712.
25889 (grub_video_get_info_and_fini): Export.
25890 (grub_video_get_palette): Likewise.
25891 (grub_video_get_driver_id): Likewise.
25892 * include/multiboot2.h: Resynced with spec.
25893 * loader/i386/multiboot.c: Moved from here ...
25894 * loader/multiboot.c: ... here. All users updated.
25895 (grub_multiboot_boot): Use platform-specific macros.
25896 * loader/i386/multiboot_elfxx.c: Moved from here ...
25897 * loader/multiboot_elfxx.c: ... here. All users updated.
25898 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
25899 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
25900 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
25901
47674667
VS
259022010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
25903
25904 Import gnulib argp module.
25905
25906 * gnulib/argp-ba.c: New file.
25907 * gnulib/argp-eexst.c: Likewise.
25908 * gnulib/argp-fmtstream.c: Likewise.
25909 * gnulib/argp-fmtstream.h: Likewise.
25910 * gnulib/argp-fs-xinl.c: Likewise.
25911 * gnulib/argp-help.c: Likewise.
25912 * gnulib/argp-namefrob.h: Likewise.
25913 * gnulib/argp-parse.c: Likewise.
25914 * gnulib/argp-pin.c: Likewise.
25915 * gnulib/argp-pv.c: Likewise.
25916 * gnulib/argp-pvh.c: Likewise.
25917 * gnulib/argp-version-etc.c: Likewise.
25918 * gnulib/argp-version-etc.h: Likewise.
25919 * gnulib/argp-xinl.c: Likewise.
25920 * gnulib/argp.h: Likewise.
25921
495442ed
VS
259222010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25923
25924 * kern/device.c (grub_device_iterate): Clear errors after failed
25925 opening device.
25926
f9fd65df
VS
259272010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25928
25929 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
25930 returned by firmware.
25931
af09641e
VS
259322010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
25933
25934 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
25935 compilation on coreboot and qemu
25936
016883a5
VS
259372010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25938
25939 * include/multiboot2.h: Resync with spec.
25940
f97e1f7d
VS
259412010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25942
25943 Multiboot2 tag support
25944
25945 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
25946 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
25947 Remove loader/multiboot_loader.c.
25948 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
25949 (grub_multiboot2_real_boot): Likewise.
25950 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
25951 (grub_get_multiboot_mmap_count): New proto.
25952 (grub_fill_multiboot_mmap): Likewise.
25953 (grub_multiboot_set_video_mode): Likewise.
25954 (grub_multiboot_set_console): Likewise.
25955 (grub_multiboot_load): Likewise.
25956 (grub_multiboot_load_elf): Likewise.
25957 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
25958 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
25959 * include/multiboot.h: Resynced with specification.
25960 * include/multiboot2.h: Resynced with specification.
25961 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
25962 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
25963 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
25964 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
25965 users updated.
25966 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
25967 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
25968 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
25969 Removed.
25970 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
25971 Moved from here...
25972 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
25973 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
25974 Moved from here...
25975 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
25976 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
25977 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
25978 All users updated.
25979 * loader/i386/multiboot_mbi2.c: New file.
25980
3506b90b
VS
259812010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25982
25983 Resync with gnulib.
25984
25985 * Makefile.in (GNULIB_CFLAGS): New variable.
25986 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
25987 (grub_script_check_CFLAGS): New variable.
25988 * gnulib/alloca.h: Resync with gnulib.
25989 * gnulib/error.c: Likewise.
25990 * gnulib/error.h: Likewise.
25991 * gnulib/fnmatch.c: Likewise.
25992 * gnulib/fnmatch_loop.c: Likewise.
25993 * gnulib/getdelim.c: Likewise.
25994 * gnulib/getline.c: Likewise.
25995 * gnulib/getopt.c: Likewise.
25996 * gnulib/getopt1.c: Likewise.
25997 * gnulib/getopt_int.h: Likewise.
25998 * gnulib/gettext.h: Likewise.
25999 * gnulib/progname.c: Likewise.
26000 * gnulib/progname.h: Likewise.
26001
394a3120
GS
260022010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
26003
26004 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
26005 which is the case with --disabled-nls.
26006
26007 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
26008 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
26009 * util/misc.c: Likewise.
26010 * util/mkisofs/mkisofs.c: Likewise.
26011 * util/mkisofs/mkisofs.h: Likewise.
26012
969d1c78
VS
260132010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
26014
26015 Simplify Apple CC support.
26016
26017 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
26018 Add 0 byte at the end not to have a symbol with empty target.
26019 * mmap/i386/pc/mmap_helper.S: Likewise.
26020 * genmk.rb: Ignore errors 2030 and 2050.
26021 * kern/i386/pc/startup.S: Use LOCAL when possible.
26022
8d2977bb
BC
260232010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
26024
26025 Testcase and the fix for final semicolon on cmdline.
26026
26027 * tests/grub_script_final_semicolon.in: New testcase.
26028 * conf/tests.rmk: Rules for the new testcase.
26029 * script/parser.y: Grammar fix.
26030
a7bd6915
BC
260312010-03-26 BVK Chaitanya <bvk@localhost>
26032
26033 Blank lines testcase for GRUB script.
26034
26035 * tests/grub_script_blanklines.in: New testcase.
26036 * conf/tests.rmk: Rules for the new testcase.
26037
e4ff6628
VS
260382010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26039
26040 Don't use __FILE__.
26041
26042 * genmk.rb: Add -DGRUB_FILE to all C targets.
26043 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
26044 * include/grub/list.h: Likewise.
26045 * include/grub/misc.h: Likewise.
26046 * include/grub/mm.h: Likewise.
26047 * include/grub/test.h: Likewise.
26048 * kern/mm.c: Likewise.
26049 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
26050
6a5cf6b6
VS
260512010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26052
26053 Sunpc partitions support.
26054
26055 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
26056 (grub_fstest_SOURCES): Likewise.
26057 (pkglib_MODULES): Add part_sunpc.mod.
26058 (part_sunpc_mod_SOURCES): New variable.
26059 (part_sunpc_mod_CFLAGS): Likewise.
26060 (part_sunpc_mod_LDFLAGS): Likewise.
26061 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
26062 * partmap/sunpc.c: New file.
26063
746d9045
BC
260642010-03-26 BVK Chaitanya <bvk@localhost>
26065
26066 For loop support to GRUB script.
26067
26068 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
26069 (grub_script_create_cmdfor): New function prototype.
26070 (grub_script_execute_cmdfor): New function prototype.
26071 * script/execute.c (grub_script_execute_cmdfor): New function.
26072 * script/parser.y (command): New for command.
26073 (forcmd): New grammar rule.
26074 * script/script.c (grub_script_create_cmdfor): New function.
26075 * util/grub-script-check.c (grub_script_execute_cmdfor): New
26076 function.
26077 * tests/grub_script_for1.in: New testcase.
26078 * conf/tests.rmk: Rules for new testcase.
26079
18486b18
VS
260802010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26081
26082 Nested partitions
26083
26084 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
26085 'partition' is NULL, grub_partition_get_start already does that.
26086 * commands/loadenv.c (check_blocklists): Likewise.
26087 (write_blocklists): Likewise.
26088 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
26089 (grub_fstest_SOURCES): Likewise.
26090 (pkglib_MODULES): Add part_bsd.mod.
26091 (part_bsd_mod_SOURCES): New variable.
26092 (part_bsd_mod_CFLAGS): Likewise.
26093 (part_bsd_mod_LDFLAGS): Likewise.
26094 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
26095 (grub_emu_SOURCES): Likewise.
26096 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26097 * include/grub/bsdlabel.h: New file.
26098 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
26099 'get_name'.
26100 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
26101 (grub_partition_map_list): New variable.
26102 (grub_partition_map_register): Inline.
26103 (grub_partition_map_unregister): Likewise.
26104 (FOR_PARTITION_MAPS): New macro.
26105 (grub_partition_map_iterate): Removed.
26106 (grub_partition_get_start): Handle nested partitions.
26107 * include/grub/msdos_partition.h: Remove bsd-related entries.
26108 (grub_pc_partition): Remove.
26109 * kern/disk.c (grub_disk_close): Free partition data.
26110 (grub_disk_adjust_range): Handle nested partitions.
26111 * kern/partition.c (grub_partition_map_probe): New function.
26112 (grub_partition_probe): Parse name to number, handle subpartitions.
26113 (get_partmap): New function.
26114 (grub_partition_iterate): Handle subpartitions.
26115 (grub_partition_get_name): Likewise.
26116 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
26117 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
26118 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
26119 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
26120 Set 'number'.
26121 (acorn_partition_map_probe): Remove.
26122 (acorn_partition_map_get_name): Likewise.
26123 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
26124 Set 'number'.
26125 Set 'index' to 0 since there can be only one partition entry per sector.
26126 (amiga_partition_map_probe): Remove.
26127 (amiga_partition_map_get_name): Likewise.
26128 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
26129 Set 'number'.
26130 Set 'offset' and 'index' to real positions of partitions.
26131 (apple_partition_map_probe): Remove.
26132 (apple_partition_map_get_name): Likewise.
26133 * partmap/bsdlabel.c: New file.
26134 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
26135 Set 'number'.
26136 Allocate 'data' so it can be correctly freed.
26137 Set 'index' to offset inside sector.
26138 (gpt_partition_map_probe): Remove.
26139 (gpt_partition_map_get_name): Likewise.
26140 * partmap/msdos.c (grub_partition_parse): Remove.
26141 (pc_partition_map_iterate): Don't force raw access.
26142 Set 'number'.
26143 Make 'ext_offset' a local variable.
26144 (pc_partition_map_probe): Remove.
26145 (pc_partition_map_get_name): Remove.
26146 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
26147 Set 'number'.
26148 (sun_partition_map_probe): Remove.
26149 (sun_partition_map_get_name): Likewise.
26150 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
26151 (grub_pcpart_type): Likewise.
26152 * util/hostdisk.c (open_device): Handle new numbering scheme.
26153 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
26154 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
26155 * util/grub-probe.c (probe_partmap): Handle nested paritions.
26156 * util/grub-install.in: Insert all subpartition modules.
26157 * util/ieee1275/grub-install.in: Likewise.
26158
a3940f88
AG
261592010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
26160
26161 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
26162 grammar.
26163
21b99926 261642010-03-24 Colin Watson <cjwatson@ubuntu.com>
26165
26166 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
26167
bed1d352
CW
261682010-03-21 Colin Watson <cjwatson@ubuntu.com>
26169
26170 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
26171 match where 'make install' puts them.
26172 * util/i386/efi/grub-install.in: Likewise.
26173
c9f58427
CW
261742010-03-19 Colin Watson <cjwatson@ubuntu.com>
26175
26176 * .bzrignore: Add gentrigtables, grub-script-check,
26177 grub_script_check_init.c, grub_script_check_init.h, and
26178 trigtables.c.
26179
f84afb27
VS
261802010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
26181
26182 * kern/parser.c: Indented.
26183
ed0e3d30
VS
261842010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
26185
26186 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
26187
0ea81d98
VS
261882010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
26189
26190 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
26191 alpha_mask_size == 0 case.
26192
0cdc2a09
BC
261932010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
26194
26195 GRUB shell lexer and parser improvements.
26196
26197 * conf/any-emu.rmk: Build rule updates.
26198 * conf/common.rmk: Likewise.
26199 * conf/i386-coreboot.rmk: Likewise.
26200 * conf/i386-efi.rmk: Likewise.
26201 * conf/i386-ieee1275.rmk: Likewise.
26202 * conf/i386-pc.rmk: Likewise.
26203 * conf/powerpc-ieee1275.rmk: Likewise.
26204 * conf/x86_64-efi.rmk: Likewise.
26205
26206 * configure.ac: Configure check for flex.
26207
26208 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
26209 types.
26210 (grub_lexer_param): Struct member updates.
26211 (grub_parser_param): Likewise.
26212 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
26213 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
26214 (grub_script_lexer_init): Prototype update.
26215 (grub_script_lexer_record_start): Likewise.
26216 (grub_script_lexer_record_stop): Likewise.
26217 (grub_script_lexer_yywrap): New function prototype.
26218 (grub_script_lexer_fini): Likewise.
26219 (grub_script_execute_argument_to_string): Removed by...
26220 (grub_script_execute_argument_to_argv): ...better version.
26221
26222 * script/execute.c (ROUND_UPTO): New macro.
26223 (grub_script_execute_cmdline): Out of memory fixes.
26224 (grub_script_execute_menuentry): Likewise.
26225 (grub_script_execute_argument_to_string): Removed. Update all
26226 users by...
26227 (grub_script_execute_argument_to_argv): ...better version.
26228 * script/function.c (grub_script_function_create): Use
26229 grub_script_execute_argument_to_argv instead of
26230 grub_script_execute_argument_to_string.
26231
26232 * script/lexer.c (check_varstate): Removed.
26233 (check_textstate): Removed.
26234 (grub_script_lexer_record_start): Likewise.
26235 (grub_script_lexer_record_stop): Likewise.
26236 (recordchar): Replaced with...
26237 (grub_script_lexer_record): ...new function.
26238 (nextchar): Removed.
26239 (grub_script_lexer_init): Rewritten.
26240 (grub_script_yylex): Rewritten.
26241 (append_newline): New function.
26242 (grub_script_lexer_yywrap): New function.
26243 (grub_script_lexer_fini): New function.
26244 (grub_script_yyerror): Sets error flag.
26245
26246 * script/yylex.l: New file.
26247 (grub_lexer_yyfree): Wrapper for flex yyffre.
26248 (grub_lexer_yyalloc): Likewise.
26249 (grub_lexer_yyrealloc): Likewise.
26250 * script/parser.y: Refactored.
26251
26252 * script/script.c (grub_script_arg_add): Out of memory fixes.
26253 (grub_script_add_arglist): Likewise.
26254 (grub_script_create_cmdline): Likewise.
26255 (grub_script_create_cmdmenu): Likewise.
26256 (grub_script_add_cmd): Likewise.
26257 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
26258 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
26259 unnecessary code.
26260
26261 * tests/grub_script_echo1.in: New testcase.
26262 * tests/grub_script_vars1.in: New testcase.
26263 * tests/grub_script_echo_keywords.in: New testcase.
26264
1d63a066
VS
262652010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26266
26267 Remove some redundancy in build system.
26268
26269 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
26270 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
26271 (TARGET_LDFLAGS): Add -nostdlib.
26272 (TARGET_IMG_LDFLAGS): Likewise.
26273 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
26274 anything since mmap isn't available.
26275 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
26276 Add util/time.c.
26277 (pkglib_MODULES): Remove reboot.mod.
26278 (reboot_mod_SOURCES): Removed.
26279 (reboot_mod_CFLAGS): Likewise.
26280 (reboot_mod_LDFLAGS): Likewise.
26281 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
26282 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
26283 (DEFSYMFILES): Add kernel_syms.lst.
26284 (kernel_img_HEADERS): Add common headers.
26285 (symlist.c): New target.
26286 (kernel_syms.lst): Likewise.
26287 (pkglib_MODULES): Add memdisk.mod.
26288 (memdisk_mod_SOURCES): New variable.
26289 (memdisk_mod_CFLAGS): Likewise.
26290 (memdisk_mod_LDFLAGS): Likewise.
26291 (pkglib_MODULES): Add reboot.mod.
26292 (reboot_mod_SOURCES): New variable.
26293 (reboot_mod_CFLAGS): Likewise.
26294 (reboot_mod_LDFLAGS): Likewise.
26295 (pkglib_MODULES): Add date.mod.
26296 (date_mod_SOURCES): New variable.
26297 (date_mod_CFLAGS): Likewise.
26298 (date_mod_LDFLAGS): Likewise.
26299 (pkglib_MODULES): Add datehook.mod.
26300 (datehook_mod_SOURCES): New variable.
26301 (datehook_mod_CFLAGS): Likewise.
26302 (datehook_mod_LDFLAGS): Likewise.
26303 (pkglib_MODULES): Add lsmmap.mod.
26304 (lsmmap_mod_SOURCES): New variable.
26305 (lsmmap_mod_CFLAGS): Likewise.
26306 (lsmmap_mod_LDFLAGS): Likewise.
26307 (pkglib_MODULES): Add boot.mod.
26308 (boot_mod_SOURCES): New variable.
26309 (boot_mod_CFLAGS): Likewise.
26310 (boot_mod_LDFLAGS): Likewise.
26311 * conf/i386-coreboot.rmk: Removed redundant parts.
26312 * conf/i386-ieee1275.rmk: Likewise.
26313 * conf/i386-pc.rmk: Likewise.
26314 * conf/mips-yeeloong.rmk: Likewise.
26315 * conf/mips.rmk: Likewise.
26316 * conf/powerpc-ieee1275.rmk: Likewise.
26317 * conf/sparc64-ieee1275.rmk: Likewise.
26318 * conf/x86_64-efi.rmk: Likewise.
26319 * conf/i386-coreboot.rmk: Moved qemu parts ..
26320 * conf/i386-qemu.rmk: ... here
26321 * conf/i386-efi.rmk: Moved common parts to...
26322 * conf/x86-efi.rmk: ... here.
26323 * conf/i386.rmk: Added modules common to all x86 variants.
26324 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
26325 * disk/memdisk.c: Remove grub/machine/kernel.h.
26326 * gensymlist.sh.in: Include symbol.h.
26327 * hook/datehook.c: Correct module name.
26328 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
26329 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
26330 * include/grub/i386/efi/serial.h: New file.
26331 * include/grub/x86_64/efi/serial.h: Likewise.
26332 * util/time.c: Likewise.
26333 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
26334
463ac55f
CK
263352010-03-14 Colin King <colin.king@ubuntu.com>
263362010-03-14 Colin Watson <cjwatson@ubuntu.com>
26337
26338 Shrink the pre-partition-table part of boot.img by eight bytes.
26339
26340 * boot/i386/pc/boot.S (ERR): New macro.
26341 (chs_mode): Use ERR.
26342 (geometry_error): Likewise.
26343 (hd_probe_error): Remove. This is only used once, so we wrwite
26344 it inline instead.
26345 (read_error): Instead of printing read_error_string, just set up
26346 %si and fall through to ...
26347 (error_message): ... this new function, also used by ERR.
26348
08e46ede
CW
263492010-03-14 Colin Watson <cjwatson@ubuntu.com>
26350
26351 Speed up consecutive hostdisk operations on the same device.
26352
26353 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
26354 (grub_util_biosdisk_open): Initialise disk->data.
26355 (struct linux_partition_cache): New structure.
26356 (linux_find_partition): Cache partition start positions; these are
26357 expensive to compute on every read and write.
26358 (open_device): Cache open file descriptor in disk->data, so that we
26359 don't have to reopen it and flush the buffer cache for consecutive
26360 operations on the same device.
26361 (grub_util_biosdisk_close): New function.
26362 (grub_util_biosdisk_dev): Set `close' member.
26363
26364 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
26365 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
26366 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26367 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26368 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
26369
4a6d2d06
VS
263702010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26371
26372 Compile parts of grub-emu as modules.
26373
26374 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
26375 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
26376 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
26377 (all-local): Add $(GRUB_EMU).
26378 (install-local): Install $(GRUB_EMU).
26379 (uninstall): Uninstall $(GRUB_EMU).
26380 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
26381 * kern/dl.c: Likewise.
26382 * commands/sleep.c: Not include machine/time.h.
26383 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
26384 (COMMON_CFLAGS): Likewise.
26385 (sbin_UTILITIES): Remove grub-emu.
26386 (grub_emu_SOURCES): Removed.
26387 (kernel_img_RELOCATABLE): New variable.
26388 (pkglib_PROGRAMS): Add kernel.img.
26389 (kernel_img_SOURCES): New variable
26390 (kernel_img_CFLAGS): Likewise.
26391 (kernel_img_LDFLAGS): Likewise.
26392 (TARGET_NO_STRIP): Likewise.
26393 (TARGET_NO_DYNAMIC_MODULES): Likewise.
26394 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
26395 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
26396 (grub-emu): New target.
26397 (GRUB_EMU): New variable.
26398 * configure.ac: Whitelist -emu as possible x86_64 architecture.
26399 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
26400 * loader/xnu.c: Likewise.
26401 * include/grub/pci.h: Likewise.
26402 * genemuinit.sh: New file.
26403 * genemuinitheader.sh: Likewise.
26404 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
26405 Support TARGET_NO_DYNAMIC_MODULES.
26406 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
26407 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
26408 * disk/loopback.c: Likewise.
26409 * font/font_cmd.c: Likewise.
26410 * partmap/acorn.c: Likewise.
26411 * partmap/amiga.c: Likewise.
26412 * partmap/apple.c: Likewise.
26413 * partmap/gpt.c: Likewise.
26414 * partmap/msdos.c: Likewise.
26415 * partmap/sun.c: Likewise.
26416 * parttool/msdospart.c: Likewise.
26417 * term/gfxterm.c: Likewise.
26418 * video/bitmap.c: Likewise.
26419 * video/readers/jpeg.c: Likewise.
26420 * video/readers/png.c: Likewise.
26421 * video/readers/tga.c: Likewise.
26422 * video/video.c: Likewise.
26423 * util/grub-emu.c (read_command_list): Removed.
26424 (main): Don't call util_init_nls.
26425 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
26426 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
26427
91fdd2ed
VS
264282010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26429
26430 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
26431 date.mod, datehook.mod.
26432 (datetime_mod_SOURCES): New variable.
26433 (datetime_mod_CFLAGS): Likewise.
26434 (datetime_mod_LDFLAGS): Likewise.
26435 (date_mod_SOURCES): Likewise.
26436 (date_mod_CFLAGS): Likewise.
26437 (date_mod_LDFLAGS): Likewise.
26438 (datehook_mod_SOURCES): Likewise.
26439 (datehook_mod_CFLAGS): Likewise.
26440 (datehook_mod_LDFLAGS): Likewise.
26441 * conf/sparc64-ieee1275.rmk: Likewise.
26442 * lib/ieee1275/datetime.c: New file.
26443
873ccae6
VS
264442010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26445
26446 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
26447 (ieee1275_fb_mod_SOURCES): New variable.
26448 (ieee1275_fb_mod_CFLAGS): Likewise.
26449 (ieee1275_fb_mod_LDFLAGS): Likewise.
26450 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
26451 New proto.
26452 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
26453 (HEAP_MAX_ADDR): Likewise.
26454 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
26455 type.
26456 Correct stop condition.
26457 (grub_ieee1275_devices_iterate): New function.
26458 * video/ieee1275.c: New file.
26459
601c97c0
VS
264602010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26461
26462 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
26463
26464 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
26465 as scratch.
26466 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
26467 SCRATCH_PAD_DISKBOOT as scratch.
26468 (bootit): Pass Openfirmware pointer in %o4.
26469 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
26470 of 0x200000.
26471 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
26472 with util/grub-mkrawimage.c.
26473 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
26474 * include/grub/aout.h (AOUT_MID_SUN): New definition.
26475 (grub_aout_get_type) [GRUB_UTIL]: Removed.
26476 (grub_aout_load) [GRUB_UTIL]: Likewise.
26477 * include/grub/kernel.h (grub_modules_get_end): New proto.
26478 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
26479 (SCRATCH_PAD_BOOT): New definition.
26480 (SCRATCH_PAD_DISKBOOT): Likewise.
26481 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
26482 * include/grub/sparc64/ieee1275/ieee1275.h
26483 (grub_ieee1275_original_stack): New variable
26484 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26485 New definition
26486 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
26487 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
26488 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
26489 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
26490 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
26491 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
26492 (grub_platform_image_format_t): New type.
26493 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
26494 * kern/main.c (grub_modules_get_end)
26495 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
26496 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
26497 (codestart): Switch stacks.
26498 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
26499 variable.
26500 (grub_heap_init): Use grub_modules_get_end.
26501 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
26502 stack.
26503 * util/grub-mkrawimage.c (generate_image): Support sparc64.
26504 (main): Likewise.
26505 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
26506
d68b491e
TG
265072010-03-14 Thorsten Glaser <tg@mirbsd.org>
26508
26509 * util/grub-mkrescue.in: Base ISO UUID on UTC.
26510
4e02ed50
MK
265112010-03-08 Matt Kraai <kraai@ftbfs.org>
26512
26513 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
26514 bug #559005).
26515
1f15fc1e
VS
265162010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
26517
26518 * genmoddep.awk: Output all missing symbols and not only first.
26519
fce5d8ff
VS
265202010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26521
26522 * NEWS: Put the date of 1.98 release.
26523
d1e8a02f
VS
265242010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26525
26526 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
26527 ft2build.h.
26528
696fd607
VS
265292010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26530
26531 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
26532 completition in the middle of string.
26533
33e2e6f3
VS
265342010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26535
26536 * util/grub-mkrescue.in: Use mktemp with explicit template.
26537
b1f6d291
VS
265382010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26539
26540 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
26541
2ac227c7
VS
265422010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26543
26544 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
26545 right pointer.
26546
8f9a632b
VS
265472010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26548
26549 Fix FreeBSD compilation.
26550
26551 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
26552 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
26553
60b03859
VS
265542010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26555
26556 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
26557
48a5a769
VS
265582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26559
26560 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
26561
3ab4bd77
VS
265622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26563
26564 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
26565
d116e0d8
RM
265662010-03-04 Robert Millan <rmh.grub@aybabtu.com>
26567
26568 Support relative image path in theme file.
26569
26570 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
26571 (image_set_property): Handle theme_dir and relative path.
26572
c7ef54aa
VS
265732010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26574
26575 * configure.ac: Alias amd64 to x86_64.
26576
fcee14ed
VS
265772010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26578
26579 * NEWS: mention multiboot on EFI.
26580
d0780363
VS
265812010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26582
26583 * kern/main.c (grub_load_modules): Handle errors from init functions of
26584 embeded modules.
26585
41168ea4
VS
265862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26587
26588 * normal/autofs.c (autoload_fs_module): Handle errors.
26589
b54d93ac
VS
265902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26591
26592 Disable linux.mod on qemu-mips since it's not functional and leads
26593 to compilation failure.
26594
26595 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
26596 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
26597 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
26598 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
26599 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
26600 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
26601 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
26602 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
26603 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
26604 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
26605 Reported by: BVK Chaitanya
26606
fc8345da
JU
266072010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
26608
26609 * INSTALL: Add gettext as a dependency and add qemu to a new section
26610 "Prerequisites for make-check".
26611
4760f979
CF
266122010-03-04 Christian Franke <franke@computer.org>
26613
26614 * util/grub-pe2elf.c: Add missing include "progname.h".
26615
f209b5b2
VS
266162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26617
26618 * normal/crypto.c (read_crypto_list): Fix a typo.
26619 Reported by: Seth Goldberg.
26620
b4b7be98
VS
266212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26622
26623 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 26624 Reported by: Seth Goldberg.
b4b7be98 26625
c0ee0385
VS
266262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26627
26628 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
26629 ascii.bitmaps.
26630
a8efbf64
VS
266312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26632
26633 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 26634 Reported by: Seth Goldberg.
a8efbf64 26635
08dcd913
VS
266362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26637
26638 * util/i386/efi/grub-install.in: Copy gettext files.
26639
c4d0b332
VS
266402010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26641
26642 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
26643
c6f2fe52
VS
266442010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26645
26646 Wait for user entry basing on presence of output rather than on errors.
26647
26648 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
26649 (grub_install_newline_hook): Likewise.
26650 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
26651 * normal/menu.c (show_menu): Check line_counter to determine presence
26652 of output.
26653 * normal/term.c (grub_normal_line_counter): New variable.
26654 (grub_normal_get_line_counter): New function.
26655 (grub_install_newline_hook): Likewise.
26656
5382b1e4
VS
266572010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26658
26659 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
26660
5519963b
VS
266612010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26662
26663 * configure.ac: Update version to 1.98.
26664
72b28631
VS
266652010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
26666
26667 * util/grub.d/10_linux.in (linux_entry): Don't default to
26668 gfxpayload=keep if Linux doesn't support video handover.
26669
c140a180
VS
266702010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
26671
26672 Don't compile video modules on yeeloong since video subsystem is part
26673 of kernel.
26674
26675 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
26676 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
26677 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
26678 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
26679 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
26680 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
26681 * include/grub/bitmap_scale.h: Likewise.
26682 * include/grub/bufio.h: Likewise.
26683 * include/grub/font.h: Likewise.
26684 * include/grub/gfxterm.h: Likewise.
26685 * include/grub/video.h: Likewise.
26686 * include/grub/vbe.h: Don't include video_fb.h.
26687 * video/i386/pc/vbe.c: Include video_fb.h.
26688 * commands/i386/pc/vbetest.c: Include video.h.
26689
a0ca21c2
CW
266902010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
26691
26692 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
26693 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
26694 default entry if GRUB_SAVEDEFAULT=true. This allows using
26695 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
26696 saving a new default on every boot.
26697
4a8a763c
VS
266982010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26699
26700 * normal/crypto.c (read_crypto_list): Fix a memory leak.
26701 * normal/term.c (read_terminal_list): Likewise.
26702 * normal/main.c (grub_normal_init_page): Likewise.
26703 (grub_normal_read_line_real): Likewise.
26704
607ffde2
VS
267052010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26706
26707 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
26708 memory leak.
26709 Reported by: Seth Goldberg.
26710
2b8fa975
CW
267112010-02-24 Joey Korkames <joey+lists@kidfixit.com>
26712
26713 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
26714 duplicate declaration of `start'.
26715
618307dd
VS
267162010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26717
26718 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
26719 filename.
26720 Reported by: Georgy Buranov
26721
7dd05b96 267222010-02-20 Carles Pina i Estany <carles@pina.cat>
26723
26724 * util/grub-mkrawimage.c (usage): Change string formatting to
26725 improve gettext.
26726
d1484a42
MRA
267272010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
26728
26729 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
26730 backspace keys.
26731
42b1d186
VS
267322010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26733
26734 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
26735 Reported by: Michael Suchanek.
26736
267372010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
26738
26739 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
26740 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
26741
d9f31a41
VS
267422010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
26743
26744 Remove any reference to non-free fonts.
26745
26746 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
26747 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
26748 uses non-free components.
26749 * font/font.c (grub_font_get_name): Remove example name.
26750 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
26751 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
26752 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
26753 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
26754
2793c71e
GB
267552010-02-16 Georgy Buranov <gburanov@gmail.com>
26756
26757 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
26758
402e3779
VS
267592010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26760
26761 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
26762 Double divisor.
26763 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
26764 features.
26765 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
26766
0dd1e0dd
VS
267672010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26768
26769 * gensymlist.sh.in: Use TARGET_CC instead of CC.
26770
6fa7cfce
ST
267712010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26772
26773 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
26774 * docs/grub.texi (Command-line and menu entry commands): Document play
26775 command.
26776
37c8483b
ST
267772010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26778
26779 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
26780 parse arguments as inline tempo and notes. Move code for playing notes
26781 to...
26782 (play): ... new function.
26783
14da0fb7
ST
267842010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26785
26786 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
26787 grub_uint16_t instead of short.
26788 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
26789 disk from little endian to cpu endianness.
26790
04459e70
ST
267912010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
26792
26793 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
26794 GRUB_TICKS_PER_SECOND instead of 120.
26795
a0876943
VS
267962010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26797
26798 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
26799 escape sequence after \e.
26800
e29f95dc
VS
268012010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26802
26803 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
26804 non-ASCII characters.
26805
d27859b2
VS
268062010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26807
26808 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
26809 set root in single quotes to prevent \, from being unescaped.
26810
bc028f2f
VS
268112010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26812
26813 Prevent unknown commands from stopping menuentry execution.
26814
26815 * script/execute.c (grub_script_execute_cmdline): Print error after
26816 unknown command.
26817
095f5f82
VS
268182010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26819
26820 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
26821 Reported by: Pavel Pisa.
26822
8c717950
VS
268232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26824
26825 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
26826
904935c3
VS
268272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26828
26829 Merge grub_ieee1275_map_physical into grub_map and rename to
26830 grub_ieee1275_map
26831
26832 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
26833 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
26834 Remove.
26835 * kern/ieee1275/openfw.c (grub_map): Rename to ...
26836 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
26837 necessary.
26838 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
26839
5b59a4e3
VS
268402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26841
26842 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
26843 opening and not after.
26844
69e137e8
VS
268452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26846
26847 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
26848 constants.
26849
2c0fcc36
VS
268502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26851
26852 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
26853 (alloc_phys): Use ALIGN_UP instead of align_addr.
26854
8c6052ce
VS
268552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26856
26857 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
26858
17cec782
VS
268592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26860
26861 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
26862
e0128bbd
VS
268632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26864
26865 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
26866 verbose dprintf.
26867
ca62070b
VS
268682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26869
26870 Fix over-4GiB seek on sparc64.
26871
26872 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
26873 Replace pos_i and pos_lo with pos. All users updated.
26874 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26875 New constant.
26876 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26877 Likewise.
26878 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
26879 and pos_lo.
26880
bdca2607
VS
268812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26882
26883 * util/grub-mkrawimage.c (main): Call set_program_name.
26884
da278c4d
VS
268852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26886
26887 Properly align 64-bit targets.
26888
26889 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
26890 (generate_image): Use ALIGN_ADDR.
26891
b274d734
VS
268922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26893
26894 Properly create cross-endian images.
26895
26896 * include/grub/types.h (grub_host_to_target_addr): New macro
26897 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
26898
82da2062
VS
268992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26900
26901 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
26902
7cae4377
VS
269032010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26904
26905 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
26906
26907 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
26908 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
26909 (grub_linux_boot): Divide by 64K when on VESA.
26910
65a533e7
VS
269112010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26912
26913 Support GRUB_GFXPAYLOAD_LINUX.
26914
26915 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
26916 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
26917
dd01d397
VS
269182010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26919
26920 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
26921 to show messages instead of discarding them.
26922 Process errors after executing command and not before. Keep old method
26923 too as precaution.
26924
660960d6
VS
269252010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
26926
26927 * configure.ac: Check for ft2build.h.
26928
62509f04
VS
269292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26930
26931 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
26932
473df63d
VS
269332010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26934
26935 * genkernsyms.sh.in: Use TARGET_CC.
26936
c98d2a13
CW
269372010-02-07 Colin Watson <cjwatson@ubuntu.com>
26938
26939 * NEWS: Update.
26940
6e14234c
VS
269412010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26942
26943 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
26944 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
26945 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 26946
b255e9cf
YB
269472010-02-07 Yves Blusseau <blusseau@zetam.org>
26948
6e14234c 26949 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 26950
98e6959d
VS
269512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26952
26953 Fix warnings in grub-emu when compiling with maximum warning options.
26954
26955 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
26956 (grub_arch_modules_addr): Return 0 and not NULL.
26957 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 26958 (xstrdup): Use newstr instead of dup.
f88d801b
VS
26959 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
26960 of disk to dsk to avoid shadowing.
74e4934e
VS
26961 (find_free_slot): Fix prototype.
26962 * util/getroot.c (grub_util_is_dmraid): Make static.
26963 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
26964 Add missing prototype.
26965 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 26966
74e31b5c
VS
269672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26968
26969 * loader/i386/linux.c (grub_linux_setup_video): Handle error
26970 appropriately.
26971
6b2ad14b
VS
269722010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26973
26974 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
26975 code out.
26976
8f891adc
VS
269772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26978
26979 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
26980 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
26981 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
26982 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
26983 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
26984 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
26985
74b45184
VS
269862010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26987
26988 * include/grub/err.h (grub_err_printf): Don't export.
26989
a4bced77
VS
269902010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26991
26992 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
26993
007d0695
VS
269942010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26995
26996 * include/grub/i18n.h (grub_gettext_dummy): Removed.
26997 * kern/misc.c (grub_gettext_dummy): Make static.
26998
b6c0d9c2
VS
269992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27000
27001 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
27002 by non-valid ones.
27003 * kern/term.c (grub_putchar): Likewise.
27004
f51a90d0
VS
270052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27006
27007 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
27008 buggy hook call and memory leak.
27009
6846cec5
VS
270102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27011
27012 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
27013
468d69fe
VS
270142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27015
27016 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
27017
51906b8c
VS
270182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27019
27020 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
27021 modevar.
27022 Return grub_errno on allocation error.
27023
09706ce5
VS
270242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27025
27026 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
27027
911df80c
YB
270282010-02-06 Yves Blusseau <blusseau@zetam.org>
27029
27030 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
27031 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
27032
3746a6bc
VS
270332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27034
27035 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
27036 non-pxe disk.
27037 (grub_pxefs_open): Likewise.
27038
09706ce5
VS
270392010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27040
27041 * util/grub.d/10_hurd.in: Add --class information to menuentries.
27042 * util/grub.d/10_kfreebsd.in: Likewise.
27043 * util/grub.d/10_linux.in: Likewise.
27044
7cc192d9
VS
270452010-02-06 Colin D Bennett <colin@gibibit.com>
27046
27047 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
27048 (gfxmenu_mod_SOURCES): New variable.
27049 (gfxmenu_mod_CFLAGS): Likewise.
27050 (gfxmenu_mod_LDFLAGS): Likewise.
27051 * include/grub/term.h (grub_term_set_current_output): Declare
27052 argument as const.
27053 * docs/gfxmenu-theme-example.txt: New file.
27054 * gfxmenu/gfxmenu.c: Likewise.
27055 * gfxmenu/gui_box.c: Likewise.
27056 * gfxmenu/gui_canvas.c: Likewise.
27057 * gfxmenu/gui_circular_progress.c: Likewise.
27058 * gfxmenu/gui_image.c: Likewise.
27059 * gfxmenu/gui_label.c: Likewise.
27060 * gfxmenu/gui_list.c: Likewise.
27061 * gfxmenu/gui_progress_bar.c: Likewise.
27062 * gfxmenu/gui_string_util.c: Likewise.
27063 * gfxmenu/gui_util.c: Likewise.
27064 * gfxmenu/icon_manager.c: Likewise.
27065 * gfxmenu/model.c: Likewise.
27066 * gfxmenu/named_colors.c: Likewise.
27067 * gfxmenu/theme_loader.c: Likewise.
27068 * gfxmenu/view.c: Likewise.
27069 * gfxmenu/widget-box.c: Likewise.
27070 * include/grub/gfxmenu_model.h: Likewise.
27071 * include/grub/gfxmenu_view.h: Likewise.
27072 * include/grub/gfxwidgets.h: Likewise.
27073 * include/grub/gui.h: Likewise.
27074 * include/grub/gui_string_util.h: Likewise.
27075 * include/grub/icon_manager.h: Likewise.
27076
270772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27078
27079 Agglomerate scrolling in gfxterm.
27080
27081 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
27082 (grub_virtual_screen_setup): Initialise 'total_screen'.
27083 (write_char): Split to ...
27084 (paint_char): ... this ...
27085 (write_char): ... and this.
27086 (paint_char): Handle delayed scrolling.
27087 (draw_cursor): Likewise.
27088 (scroll_up): Split to ...
27089 (real_scroll): ... this ...
27090 (scroll_up): ... and this.
27091 (real_scroll): Handle multi-line scroll and draw below-the-bottom
27092 characters.
27093 (grub_gfxterm_refresh): Call real_scroll.
27094
270952010-02-06 Colin D Bennett <colin@gibibit.com>
27096
27097 * include/grub/misc.h (grub_iscntrl): New inline function.
27098 (grub_isalnum): Likewise.
27099 (grub_strtol): Likewise.
27100
271012010-02-06 Colin D Bennett <colin@gibibit.com>
27102
27103 * normal/menu_text.c (get_entry_number): Move from here ...
27104 * normal/menu.c (get_entry_number): ... moved here.
27105 * include/grub/menu.h (grub_menu_get_default_entry_index):
27106 New prototype.
27107 * normal/menu.c (grub_menu_get_default_entry_index): New function.
27108 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
27109 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
27110 (grub_menu_viewer_should_return): Likewise.
27111 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
27112 * normal/menu_text.c (run_menu): Enable menu switching.
27113 * normal/menu_viewer.c (should_return): New variable.
27114 (menu_viewer_changed): Likewise.
27115 (grub_menu_viewer_show_menu): Handle menu viewer changes.
27116 (grub_menu_viewer_should_return): New function.
27117 (menuviewer_write_hook): Likewise.
27118 (grub_menu_viewer_init): Likewise.
27119
271202010-02-06 Colin D Bennet <colin@gibibit.com>
271212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27122
27123 Support for gfxterm in a window.
27124
27125 * include/grub/gfxterm.h: New file.
27126 * include/grub/video.h (struct grub_video_rect): New declaration.
27127 (grub_video_rect_t): Likewise.
27128 * term/gfxterm.c (struct grub_gfxterm_window): New type.
27129 (refcount): New variable.
27130 (render_target): Likewise.
27131 (window): Likewise.
27132 (repaint_callback): Likewise.
27133 (grub_virtual_screen_setup): Use 'render_target'.
27134 (init_window): New function.
27135 (grub_gfxterm_init_window): Likewise.
27136 (grub_gfxterm_init): Check reference counter.
27137 Use init_window.
27138 (destroy_window): New function.
27139 (grub_gfxterm_destroy_window): Likewise.
27140 (grub_gfxterm_fini): Check reference counter.
27141 Use destroy_window.
27142 (redraw_screen_rect): Restore viewport.
27143 Use 'render_target' and 'window'.
27144 Call 'repaint_callback'.
27145 (write_char): Use 'render_target'.
27146 (draw_cursor): Likewise.
27147 (scroll_up): Restore viewport.
27148 Use 'render_target' and 'window'.
27149 Call 'repaint_callback'.
27150 (grub_gfxterm_cls): Likewise.
27151 (grub_gfxterm_refresh): Use 'window'.
27152 (grub_gfxterm_set_repaint_callback): New function.
27153 (grub_gfxterm_background_image_cmd): Use 'window'.
27154 (grub_gfxterm_get_term): New function.
27155 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
27156
271572010-02-06 Colin D Bennett <colin@gibibit.com>
27158
27159 Bitmap scaling support.
27160
27161 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
27162 (bitmap_scale_mod_SOURCES): New variable.
27163 (bitmap_scale_mod_CFLAGS): Likewise.
27164 (bitmap_scale_mod_LDFLAGS): Likewise.
27165 * include/grub/bitmap_scale.h: New file.
27166 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
27167 (background_image_cmd_options): New variable.
27168 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
27169 (cmd): Rename and change type to ...
27170 (background_image_cmd_handle): ... this. All users updated.
27171 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
27172 * video/bitmap_scale.c: New file.
27173
271742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27175
27176 SDL support.
27177
27178 * Makefile.in (LIBSDL): New variable.
27179 (enable_grub_emu_sdl): Likewise.
27180 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
27181 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
27182 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
27183 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
27184 * util/sdl.c: New file.
27185
271862010-02-06 Colin D Bennett <colin@gibibit.com>
271872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27188
27189 Double buffering support.
27190
27191 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
27192 * include/grub/video.h: Update comment.
27193 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
27194 New type.
27195 (grub_video_fb_doublebuf_blit_init): New prototype.
27196 * term/gfxterm.c (scroll_up): Support double buffering.
27197 (grub_gfxterm_refresh): Likewise.
27198 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
27199 (grub_video_fb_doublebuf_blit_init): Likewise.
27200 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
27201 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
27202 'displayed_page', 'render_page' and 'update_screen'.
27203 (grub_video_vbe_fini): Free offscreen buffer.
27204 (doublebuf_pageflipping_commit): New function.
27205 (doublebuf_pageflipping_update_screen): Likewise.
27206 (doublebuf_pageflipping_init): Likewise.
27207 (double_buffering_init): Likewise.
27208 (grub_video_vbe_setup): Enable doublebuffering.
27209 (grub_video_vbe_swap_buffers): Implement.
27210 (grub_video_vbe_set_active_render_target): Handle double buffering.
27211 (grub_video_vbe_get_active_render_target): Likewise.
27212 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
27213 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
27214 (grub_video_vbe_enable_double_buffering): Likewise.
27215 (grub_video_vbe_swap_buffers): Use update_screen.
27216 (grub_video_set_mode): Use double buffering.
27217
272182010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27219
27220 * maintainance/gentrigtables.py: Remove.
27221 * lib/trig.c: Likewise.
27222
27223 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
27224
27225 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
27226 `trigtables.c'.
27227 (trigtables.c): New rule.
27228 (gentrigtables): Likewise.
27229 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
27230
272312010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27232
27233 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
27234 integer constants.
27235
272362010-02-06 Colin D Bennet <colin@gibibit.com>
27237
27238 Trigonometry support.
27239
27240 * include/grub/trig.h: New file.
27241 * lib/trig.c: Likewise.
27242 * maintainance/gentrigtables.py: Likewise.
27243 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
27244 (trig_mod_SOURCES): New variable.
27245 (trig_mod_CFLAGS): Likewise.
27246 (trig_mod_LDFLAGS): Likewise.
27247
5562834e
VS
272482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27249
27250 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
27251 disk devices.
27252
4f8528fc
VS
272532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27254
27255 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
27256 error.
27257
2b4068e9
VS
272582010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
27259
27260 * util/hostdisk.c (open_device): Don't use partition device when reading
27261 before the partition.
27262 (grub_util_biosdisk_read): Don't read from partition and before the
27263 partition in single operation.
27264 (grub_util_biosdisk_write): Don't write to partition and before the
27265 partition in single operation.
27266
399f6e4d
TL
272672010-02-03 Torsten Landschoff <torsten@debian.org>
27268
27269 * kern/disk.c (grub_disk_read): Fix offset computation when reading
27270 last sectors.
27271
996649b0
VS
272722010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
27273
27274 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
27275 CDROM reads.
27276 (grub_biosdisk_write): Refuse to write to CDROM.
27277
3b205d4d
VS
272782010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
27279
27280 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
27281
61e89d9d
VS
272822010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
27283
27284 * font/font.c (find_glyph): Check that bmp_idx is available before
27285 using it.
27286 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
27287 with (font == NULL).
27288
bf7fcba2
CS
272892010-01-28 Christian Schmitt <chris@ilovelinux.de>
27290
27291 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
27292
f45d2663
BC
272932010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
27294
27295 * include/grub/script_sh.h (sourcecode): Add const qualifier.
27296 * util/grub-script-check.c (getline): Fix empty lines case.
27297
ec1444e6
RM
272982010-01-28 Robert Millan <rmh.grub@aybabtu.com>
27299
27300 * Makefile.in (check): Exit with fail status when one of the tests
27301 fails.
27302 * tests/example_functional_test.c (example_test): Fix reversed assert.
27303 * tests/example_unit_test.c (example_test): Likewise.
27304
2e1cb9bb
CW
273052010-01-28 Colin Watson <cjwatson@ubuntu.com>
27306
27307 * util/grub.d/10_linux.in: This script does not use any of the
27308 contents of gettext.sh, only the external command `gettext', so stop
27309 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
27310 the same prefix as GRUB.)
27311 * util/grub.d/10_kfreebsd.in: Likewise.
27312
63533ab0
VS
273132010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27314
27315 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
27316 of the line.
27317
989e1f93
VS
273182010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27319
27320 * kern/disk.c (grub_disk_read): Fix offset computation when reading
27321 last sectors.
27322
e709ebe2
VS
273232010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27324
27325 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
27326 having a 4KiB and not 32KiB buffer size.
27327
27dea7ed
RM
273282010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27329
27330 * util/hostfs.c: Include `<errno.h>'.
27331 (grub_hostfs_read): Handle errors from fseeko() and fread().
27332
67667b9c
RM
273332010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27334
27335 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
27336 loop when using read hooks on files whose size isn't sector-aligned.
27337
c294d9d8
RM
273382010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27339
27340 Remove unused parameter.
27341
27342 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
27343 (grub_iso9660_open): Remove initialization of `data->length'.
27344
af75a9f1
RM
273452010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27346
27347 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
27348 memleak conditions.
27349
254e2ce5 273502010-01-27 Carles Pina i Estany <carles@pina.cat>
27351
27352 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
27353 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
27354
b510928c 273552010-01-26 Carles Pina i Estany <carles@pina.cat>
27356
27357 * util/bin2h.c (usage): Fix warning (space after backslash).
27358
aa2f9dd2 273592010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 27360
27361 * font/font.c: Include `grub/fontformat.h.
27362 Remove font file format constants.
27363 (grub_font_load): Use the new macros.
27364 * include/grub/fontformat.h: New file.
27365 * util/grub-mkfont.c: Include `grub/fontformat.c'.
27366 (write_font_pf2): Use the new macros.
27367
94e7e712
RM
273682010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27369
27370 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
27371 does.
27372
3973a59a
RM
273732010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27374
27375 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
27376
27377 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
27378 (_start): Macroify `0x7F'.
27379
27380 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
27381 (make_install_device): Use "(pxe)" as fallback prefix when booting
27382 via PXE.
27383
42e0cba3
GS
273842010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
27385
27386 * configure.ac: Reset LIBS after check for libgcc symbols.
27387
847effd8
CW
273882010-01-25 Colin Watson <cjwatson@ubuntu.com>
27389
27390 * util/hostdisk.c (open_device): Add trailing newline to debug
27391 message.
27392
ea4a7e35
GS
273932010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
27394
27395 * configure.ac: Check for `limits.h'.
27396 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
27397
67951a53
RM
273982010-01-24 Robert Millan <rmh.grub@aybabtu.com>
27399
27400 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
27401 capitalize error strings.
27402
c273d4ce
ST
274032010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
27404
27405 * util/grub.d/10_hurd.in: Add a recovery mode.
27406
69be5b74
VS
274072010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
27408
27409 * configure.ac: Check for libgcc symbols with -nostdlib.
27410
fc9e5810
BC
274112010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
27412
27413 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
27414
4b358c0a
VS
274152010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27416
27417 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
27418 stack since heap may be unavailable at that point.
27419 (grub_ofconsole_gotoxy): Likewise.
27420
454fcd1c
VS
274212010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27422
27423 * configure.ac: Check for _restgpr_14_x.
27424 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
27425 and _savegpr_* prototypes.
27426
566863ca
RM
274272010-01-22 Robert Millan <rmh.grub@aybabtu.com>
27428
27429 Use generic grub_reboot() for i386-efi.
27430
27431 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
27432 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
27433 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
27434
bf86e59a
VS
274352010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27436
27437 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
27438 presence of "prefix" variable as it breaks when normal.mod is
27439 embedded.
27440
d645e0f8
VS
274412010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27442
27443 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
27444 stack since heap is unavailable at that point.
27445
f9ab2e25
VS
274462010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27447
27448 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
27449 (grub_freebsd_bootinfo): Rewritten.
27450 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
27451
01fc7054
VS
274522010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27453
27454 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
27455
caab4fd6
RM
274562010-01-21 Robert Millan <rmh.grub@aybabtu.com>
27457
27458 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
27459 domain now.
27460
67eb1427
FZ
274612010-01-20 Felix Zielcke <fzielcke@z-51.de>
27462
27463 * util/misc.c (make_system_path_relative_to_its_root): Change the work
27464 around for handling "/" to the correct fix. Fix a memory leak. Use
27465 xstrdup instead of strdup.
27466
a9ed4ff3
VS
274672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27468
27469 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
27470
274712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
27472
27473 Optimise glyph lookup by Basic Multilingual Plane lookup array.
27474
27475 * font/font.c (struct grub_font): New member 'bmp_idx'.
27476 (font_init): Initialise 'bmp_idx'.
27477 (load_font_index): Fill 'bmp_idx'.
27478 (find_glyph): Make inline. Use bmp_idx for BMP characters.
27479
48209f4f
VS
274802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27481
27482 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
27483 unnecessary calls.
27484
9f0a4bb7
VS
274852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27486
27487 Move context handling out of the kernel.
27488
27489 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
27490 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
27491 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
27492 * conf/i386-efi.rmk: Likewise.
27493 * conf/i386-ieee1275.rmk: Likewise.
27494 * conf/i386-pc.rmk: Likewise.
27495 * conf/powerpc-ieee1275.rmk: Likewise.
27496 * conf/sparc64-ieee1275.rmk: Likewise.
27497 * conf/x86_64-efi.rmk: Likewise.
27498 * include/grub/env.h: Include grub/menu.h.
27499 (grub_env_var_type): Removed.
27500 (grub_env_var): Replaced field 'type' with 'global'.
27501 (grub_env_find): New prototype.
27502 (grub_env_context_open): Remove EXPORT_FUNC.
27503 (grub_env_context_close): Likewise.
27504 (grub_env_export): Likewise.
27505 (grub_env_set_data_slot): Removed.
27506 (grub_env_get_data_slot): Likewise.
27507 (grub_env_unset_data_slot): Likewise.
27508 (grub_env_unset_menu): New prototype.
27509 (grub_env_set_menu): Likewise.
27510 (grub_env_get_menu): Likewise.
27511 * include/grub/env_private.h: New file.
27512 * include/grub/normal.h (grub_context_init): New prototype.
27513 (grub_context_fini): Likewise.
27514 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
27515 * normal/context.c (grub_cmd_export): ... to here.
27516 * kern/env.c: Include env_private.h.
27517 (HASHSZ): Moved to include/grub/env_private.h.
27518 (grub_env_context): Likewise.
27519 (grub_env_sorted_var): Likewise.
27520 (current_context): Renamed from this ...
27521 (grub_current_context): ...to this. 'static' removed. All users updated.
27522 (grub_env_find): Removed 'static'.
27523 (grub_env_context_open): Moved to normal/context.c.
27524 (grub_env_context_close): Likewise.
27525 (grub_env_export): Likewise.
27526 (mangle_data_slot_name): Removed.
27527 (grub_env_set_data_slot): Likewise.
27528 (grub_env_get_data_slot): Likewise.
27529 (grub_env_unset_data_slot): Likewise.
27530 * kern/main.c (grub_set_root_dev): Don't export root.
27531 It will be done later.
27532 (grub_main): Don't export prefix.
27533 It will be done later.
27534 * normal/context.c: New file.
27535 * normal/main.c (free_menu): Use grub_env_unset_menu.
27536 (grub_normal_add_menu_entry): Use grub_env_get_menu.
27537 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
27538 (GRUB_MOD_INIT(normal)): Call grub_context_init.
27539 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
27540
8dd35b8c
VS
275412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27542
27543 setpci support.
27544
27545 * commands/setpci.c: New file.
27546 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
27547 (setpci_mod_SOURCES): New variable.
27548 (setpci_mod_CFLAGS): Likewise.
27549 (setpci_mod_LDFLAGS): Likewise.
27550
449193d5
VS
275512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27552
27553 Byte-addressable PCI configuration space.
27554
27555 * bus/pci.c (grub_pci_make_address): Use byte address instead of
27556 dword address.
27557 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
27558 GRUB_PCI_REG_CACHELINE.
27559 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
27560 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
27561 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
27562 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
27563 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
27564 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
27565 grub_pci_make_address.
27566 (lock_rom_area): Likewise.
27567 * commands/lspci.c (grub_lspci_iter): Use macroses
27568 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
27569 of grub_pci_make_address.
27570 * disk/ata.c (grub_ata_pciinit): Likewise.
27571 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
27572 (GRUB_PCI_REG_VENDOR): Likewise.
27573 (GRUB_PCI_REG_DEVICE): Likewise.
27574 (GRUB_PCI_REG_COMMAND): Likewise.
27575 (GRUB_PCI_REG_STATUS): Likewise.
27576 (GRUB_PCI_REG_REVISION): Likewise.
27577 (GRUB_PCI_REG_CLASS): Likewise.
27578 (GRUB_PCI_REG_CACHELINE): Likewise.
27579 (GRUB_PCI_REG_LAT_TIMER): Likewise.
27580 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
27581 (GRUB_PCI_REG_BIST): Likewise.
27582 (GRUB_PCI_REG_ADDRESSES): Likewise.
27583 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27584 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27585 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27586 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27587 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27588 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27589 (GRUB_PCI_REG_CIS_POINTER): Likewise.
27590 (GRUB_PCI_REG_SUBVENDOR): Likewise.
27591 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
27592 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
27593 (GRUB_PCI_REG_CAP_POINTER): Likewise.
27594 (GRUB_PCI_REG_IRQ_LINE): Likewise.
27595 (GRUB_PCI_REG_IRQ_PIN): Likewise.
27596 (GRUB_PCI_REG_MIN_GNT): Likewise.
27597 (GRUB_PCI_REG_MAX_LAT): Likewise.
27598 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
27599 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
27600 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 27601 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
27602 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
27603 space.
27604
96d73208
RM
276052010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27606
27607 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
27608 can be reliably determined to be supported.
27609
d4484482
RM
276102010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27611
27612 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
27613 that VESA is supported.
27614 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
27615 supported.
27616
00308ecf
VS
276172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27618
27619 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
27620
f66924a4
RM
276212010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27622
27623 * util/misc.c (make_system_path_relative_to_its_root): Work around
27624 special-casing of "/", as previous incarnation of this routine did.
27625
cbca0ada
VS
276262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27627
27628 Fix any-emu compilation.
27629
27630 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
27631 * grub_bin2h_SOURCES: New variable.
27632
34a66d99
RM
276332010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27634
27635 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
27636
94fabf58
RM
276372010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27638
27639 * util/grub.d/00_header.in: Fix handling of locale_dir.
27640
02cf98ca
VS
276412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27642
27643 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
27644 as possible unifont location (Gentoo).
27645 Reported by: Alexander Brüning
27646
327dbcd7
VS
276472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27648
27649 Don't try to generate lists for kernel.img.
27650
27651 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
27652 (pkglib_MODULES): Remove kernel.img.
27653 (kernel_img_EXPORTS): Removed.
27654 (kernel_img_RELOCATABLE): New variable.
27655 * conf/x86_64-efi.rmk: Likewise.
27656 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
27657
ca467290
VS
276582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27659
27660 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
27661 grub_xasprintf or grub_snprintf.
27662 (grub_vsprintf): Likewise.
27663 (grub_snprintf): New proto.
27664 (grub_vsnprintf): Likewise.
27665 (grub_xasprintf): Likewise.
27666 (grub_xvasprintf): Likewise.
27667 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
27668 (grub_sprintf): Removed.
27669 (grub_vsnprintf): New function.
27670 (grub_snprintf): Likewise.
27671 (grub_xvasprintf): Likewise.
27672 (grub_xasprintf): Likewise.
27673 (grub_vsprintf): Renamed to ...
27674 (grub_vsnprintf_real): ...this. New argument max_len.
27675
aca655fd
BC
276762010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
27677
27678 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
27679 fix grub-script-check warning.
27680
7ee92c32
VS
276812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27682
27683 * include/grub/font.h (grub_font_load): Fix prototype.
27684
f80927ca
VS
276852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27686
27687 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
27688
119c50ea
VS
276892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27690
27691 * include/grub/x86_64/at_keyboard.h: New file.
27692
47d5f3c1
VS
276932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27694
27695 * loader/mips/linux.c: Include missing grub/i18n.h.
27696
55ff5266
RM
276972009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27698
27699 * normal/menu.c (notify_execution_failure): Clarify error message.
27700
c893cc87
RM
277012009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27702
27703 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
27704 return value (and revert all return statements). Update users.
27705
917dd370
CW
277062010-01-20 Dan Merillat <debian@dan.merillat.org>
27707
27708 * kern/device.c (grub_device_iterate): Allocate new part_ent
27709 structure based on sizeof (*p) rather than sizeof (p->next), to
27710 account for structure padding.
27711
27712 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
27713 disk is NULL, which might happen for LVM physical volumes with no
27714 LVM signature.
27715
d4a4ee57
RM
277162009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27717
27718 * loader/mips/linux.c (grub_cmd_initrd)
27719 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
27720
277212009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27722
27723 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
27724 (grub_video_video_init, grub_video_bitmap_init)
27725 (grub_font_manager_init, grub_term_gfxterm_init)
27726 (grub_at_keyboard_init): New extern declarations.
27727 (grub_machine_init): Initialize gfxterm and at_keyboard.
27728
27729 * kern/main.c (grub_main): Revert grub_printf delay kludge.
27730
27731 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
27732 `gfxterm.mod' into core image.
27733
27734 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27735 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27736 (kernel_img_FORMAT): Copy to ...
27737
27738 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27739 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27740 (kernel_img_FORMAT): ... here, and ...
27741
27742 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27743 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27744 (kernel_img_FORMAT): ... here.
27745
27746 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
27747 and input (at_keyboard) terminals in kernel.
27748 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
27749
27750 (pkglib_MODULES): Remove `pci.mod'.
27751 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
27752 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
27753 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27754 (at_keyboard_mod_LDFLAGS): Remove variables.
27755
277562010-01-11 Felix Zielcke <fzielcke@z-51.de>
27757
27758 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
27759
277602009-12-10 Robert Millan <rmh.grub@aybabtu.com>
27761
27762 * include/grub/mips/libgcc.h: Only export symbols for functions
27763 that libgcc provides.
27764
277652009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
27766
27767 MIPS support.
27768
27769 * bus/bonito.c: New file.
27770 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
27771 GRUB_PCI_NUM_DEVICES.
27772 * term/i386/pc/serial.c: Move to ...
27773 * term/serial.c: ... here. All users updated.
27774 * util/i386/pc/grub-mkimage.c: Move to ...
27775 * util/grub-mkrawimage.c: ... here. All users updated.
27776 * term/i386/pc/at_keyboard.c: Move to ...
27777 * term/at_keyboard.c: ... here. All users updated.
27778 * conf/mips-qemu-mips.rmk: New file.
27779 * conf/mips-yeeloong.rmk: Likewise.
27780 * conf/mips.rmk: Likewise.
27781 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
27782 mipsel-qemu-mips.
27783 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
27784 to port addresses.
27785 (grub_ata_pciinit): Support CS5536.
27786 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
27787 * font/font_cmd.c (loadfont_command): Open file before passing it to
27788 grub_font_load.
27789 (pseudo_file_read): New function.
27790 (pseudo_file_close): Likewise.
27791 (pseudo_fs): New structure.
27792 (load_font_module): New function.
27793 (GRUB_MOD_INIT(font_manager)): Load embedded font.
27794 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
27795 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
27796 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
27797 * include/grub/i386/at_keyboard.h: Split into ...
27798 * include/grub/at_keyboard.h: ... this ...
27799 * include/grub/i386/at_keyboard.h: ... and this.
27800 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
27801 New prototype.
27802 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
27803 updated.
27804 (grub_elf64_size): Likewise.
27805 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
27806 filename.
27807 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
27808 * include/grub/i386/coreboot/serial.h: Rewritten.
27809 * include/grub/i386/ieee1275/serial.h: Include
27810 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
27811 * include/grub/i386/pc/serial.h: Moved from here ...
27812 * include/grub/serial.h: ... to here. All users updated.
27813 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
27814 (GRUB_PCI_NUM_BUS): Likewise.
27815 (GRUB_PCI_NUM_DEVICES): Likewise.
27816 (grub_pci_device_map_range): Add missing volatile keyword.
27817 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
27818 * include/grub/mips/at_keyboard.h: New file.
27819 * include/grub/mips/cache.h: Likewise.
27820 * include/grub/mips/io.h: Likewise.
27821 * include/grub/mips/kernel.h: Likewise.
27822 * include/grub/mips/libgcc.h: Likewise.
27823 * include/grub/mips/pci.h: Likewise.
27824 * include/grub/mips/qemu-mips/boot.h: Likewise.
27825 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27826 * include/grub/mips/qemu-mips/loader.h: Likewise.
27827 * include/grub/mips/qemu-mips/memory.h: Likewise.
27828 * include/grub/mips/qemu-mips/serial.h: Likewise.
27829 * include/grub/mips/qemu-mips/time.h: Likewise.
27830 * include/grub/mips/relocator.h: Likewise.
27831 * include/grub/mips/time.h: Likewise.
27832 * include/grub/mips/types.h: Likewise.
27833 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
27834 * include/grub/mips/yeeloong/boot.h: Likewise.
27835 * include/grub/mips/yeeloong/kernel.h: Likewise.
27836 * include/grub/mips/yeeloong/loader.h: Likewise.
27837 * include/grub/mips/yeeloong/memory.h: Likewise.
27838 * include/grub/mips/yeeloong/pci.h: Likewise.
27839 * include/grub/mips/yeeloong/serial.h: Likewise.
27840 * include/grub/mips/yeeloong/time.h: Likewise.
27841 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
27842 * kern/elf.c (grub_elf32_size): New parameter. All users
27843 updated.
27844 (grub_elf64_size): Likewise.
27845 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
27846 Load modules before saying "Welcome to GRUB!".
27847 Call grub_refresh after saying "Welcome to GRUB!".
27848 * kern/mips/cache.S: New file.
27849 * kern/mips/cache_flush.S: Likewise.
27850 * kern/mips/dl.c: Likewise.
27851 * kern/mips/init.c: Likewise.
27852 * kern/mips/qemu-mips/init.c: Likewise.
27853 * kern/mips/startup.S: Likewise.
27854 * kern/mips/yeeloong/init.c: Likewise.
27855 * kern/term.c (grub_putcode): Handle NULL terminal.
27856 (grub_getcharwidth): Likewise.
27857 (grub_getkey): Likewise.
27858 (grub_checkkey): Likewise.
27859 (grub_getkeystatus): Likewise.
27860 (grub_getxy): Likewise.
27861 (grub_getwh): Likewise.
27862 (grub_gotoxy): Likewise.
27863 (grub_cls): Likewise.
27864 (grub_setcolorstate): Likewise.
27865 (grub_setcolor): Likewise.
27866 (grub_getcolor): Likewise.
27867 (grub_refresh): Likewise.
27868 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
27869 (write_jump): Add hatch nop.
27870 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
27871 * lib/mips/setjmp.S: New file.
27872 * loader/mips/linux.c: Likewise.
27873 * term/i386/pc/at_keyboard.c: Move from here ...
27874 * term/at_keyboard.c: ... to here.
27875 * term/i386/pc/serial.c: Moved from here ...
27876 * term/serial.c: ... to here. All users updated.
27877 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
27878 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
27879 (serial_translate_key_sequence): Avoid deadlock.
27880 (grub_serial_getkey): Handle backspace.
27881 (grub_serial_putchar): Fix newline handling.
27882 * util/i386/pc/grub-mkimage.c: Move from here ...
27883 * util/grub-mkrawimage.c: ... to here. All users updated.
27884 (generate_image): New parameters 'font_path' and 'format'.
27885 Support embedding font.
27886 Use grub_host_to_target* instead of grub_cpu_to_le*.
27887 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
27888 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
27889 (options): New option "--font".
27890 (usage): Likewise.
27891 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
27892 (main): Handle "--font".
27893 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
27894 (grub_virtual_screen_setup): Set bg_color_display.
27895 (redraw_screen_rect): Use bg_color_display instead of incorrect
27896 bg_color.
27897 (grub_gfxterm_cls): Likewise.
27898 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
27899 Support embedding config file.
27900 (add_segments): Likewise.
27901 (options): New option "--config".
27902 (main): Handle "--config".
27903 * video/sm712.c: New file.
27904
25c2b5b3
RM
279052010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27906
27907 Fix parallel builds.
27908
27909 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
27910 font.c depend on ascii.h).
27911
279122010-01-12 Carles Pina i Estany <carles@pina.cat>
27913
27914 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
27915
279162010-01-11 Carles Pina i Estany <carles@pina.cat>
27917
27918 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
27919 By default: disabled.
27920 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
27921 parameter.
27922
279232010-01-10 Carles Pina i Estany <carles@pina.cat>
27924
27925 * font/font.c: Update copyright years.
27926 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
27927
279282010-01-10 Carles Pina i Estany <carles@pina.cat>
27929
27930 * font/font.c: Include `ascii.h'.
27931 (ASCII_BITMAP_SIZE): New macro.
27932 (ascii_font_glyph): Define.
27933 (ascii_glyph_lookup): New function.
27934 (grub_font_get_string_width): Change comment. If glyph not found, use
27935 ascii_glyph_lookup.
27936 (grub_font_get_glyph_with_fallback): If glyph not available returns
27937 ascii_glyph_lookup.
27938 * util/grub-mkfont.c (file_formats): New enum.
27939 (options): Add `ascii-bitmaps' new option.
27940 (usage): Add `asii-bitmaps' new option.
27941 (write_font_ascii_bitmap): New function.
27942 (write_font): Rename to ...
27943 (write_font_p2): ... this. Remove print_glyphs call.
27944 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
27945 used. Call print_glyphs.
27946 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
27947
279482010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27949
27950 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
27951 (grub_bin2h_SOURCES): New variable.
27952 * util/bin2h.c: New file.
27953
915fc1b8
VS
279542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27955
27956 * include/multiboot.h: Resynced with spec.
27957 * include/multiboot2.h: Likewise.
27958 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
27959 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
27960
9444b678
RM
279612010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27962
27963 * include/grub/term.h (grub_term_register_input,
27964 grub_term_register_output): Check return of terminal init()
27965 routines, and abort if errors are raised.
27966
27967 * commands/terminal.c: Update copyright year.
27968
cba98e8d
RM
279692010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27970
27971 * commands/terminal.c (grub_cmd_terminal_input)
27972 (grub_cmd_terminal_output): Check return of terminal init()
27973 routines, and abort if errors are raised.
27974
6f7db5d6
VS
279752010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27976
27977 * include/grub/i386/bsd.h: Fix include pathes.
27978
262bff8d
VS
279792010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27980
27981 Add missing *BSD copyright headers.
27982
27983 * include/grub/aout.h: Add BSD licence.
27984 * include/grub/i386/bsd.h: Parts under different licences moved to ...
27985 * include/grub/i386/freebsd_linker.h: ... here,
27986 * include/grub/i386/freebsd_reboot.h: ... here,
27987 * include/grub/i386/netbsd_bootinfo.h: ... here,
27988 * include/grub/i386/netbsd_reboot.h: ... here,
27989 * include/grub/i386/openbsd_bootarg.h: ... here,
27990 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
27991 licence to each file.
27992
b2cab848
RM
279932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27994
27995 * acinclude.m4: Remove `nop' assembly instruction; it's not
27996 implemented by all architectures.
27997
2cb6be4b
RM
279982010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27999
28000 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
28001 ELILO. This is no longer necessary.
28002
a2eaee15
BC
280032010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
28004
28005 Added new tool, grub-scrit-check to verify grub.cfg syntax.
28006
28007 * util/grub-script-check.c: grub-script-check tool.
28008 * conf/common.rmk: Make rules for grub-script-check.
28009
88d17012
RM
280102010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28011
28012 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
28013 spotting it back in 2008. Shame on me for forgetting he did.
28014
28015 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
28016
8040619d
RM
280172010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28018
28019 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
28020 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
28021 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
28022 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
28023 (GRUB_VIDEO_TYPE_EFI): Rename to ...
28024 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
28025
a0c2a0f6
RM
280262010-01-17 Robert Millan <rmh.grub@aybabtu.com>
28027
28028 * include/grub/test.h: Add license header.
28029 * tests/example_functional_test.c: Likewise.
28030 * tests/example_unit_test.c: Likewise.
28031 * tests/lib/functional_test.c: Likewise.
28032 * tests/lib/test.c: Likewise.
28033 * tests/lib/unit_test.c: Likewise.
28034
b0b13907
VS
280352010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
28036
28037 Use flag-based instead of hook-based video mode selection and "auto"
28038 keyword.
28039
28040 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
28041 (grub_video_set_mode): Changed prototype. All users updated.
28042 (grub_video_check_mode_flag): New inline function.
28043 * video/video.c (parse_modespec): New function.
28044 (grub_video_set_mode): Parse flags and keywords.
28045
ea379330 280462010-01-17 Carles Pina i Estany <carles@pina.cat>
28047
28048 * util/misc.c (grub_util_info): Fix the order of the parameters in a
28049 fprintf call.
28050
e15c215e
FZ
280512010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
28052
28053 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
28054
409ae1c9 280552010-01-16 Carles Pina i Estany <carles@pina.cat>
28056
28057 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
28058 string.
28059 * util/grub-emu.c (usage): Likewise.
28060 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
28061 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28062 * util/i386/pc/grub-mkimage.c (usage): Likewise.
28063 * util/i386/pc/grub-setup.c (usage): Likewise.
28064
70a14d3d 280652010-01-16 Carles Pina i Estany <carles@pina.cat>
28066
28067 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
28068 the message.
28069 (grub_util_info): Likewise.
28070 (grub_util_error): Likewise.
28071 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
28072 and/or new lines in `grub_util_warna', `grub_util_info',
28073 `grub_util_error' calls.
28074 * util/getroot.c: Likewise.
28075 * util/grub-editenv.c: Likewise.
28076 * util/grub-emu.c: Likewise.
28077 * util/grub-fstest.c: Likewise.
28078 * util/grub-mkdevicemap.c: Likewise.
28079 * util/grub-mkfont.c: Likewise.
28080 * util/grub-mkpasswd-pbkdf2.c: Likewise.
28081 * util/grub-mkrelpath.c: Likewise.
28082 * util/grub-pe2elf.c: Likewise.
28083 * util/grub-probe.c: Likewise.
28084 * util/hostdisk.c: Likewise.
28085 * util/i386/efi/grub-mkimage.c: Likewise.
28086 * util/i386/pc/grub-mkimage.c: Likewise.
28087 * util/i386/pc/grub-setup.c: Likewise.
28088 * util/ieee1275/ofpath.c: Likewise.
28089 * util/mkisofs/eltorito.c: Likewise.
28090 * util/mkisofs/rock.c: Likewise.
28091 * util/mkisofs/write.c: Likewise.
28092 * util/raid.c: Likewise.
28093 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28094 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28095
a0b766fc
VS
280962010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28097
28098 Enable multiboot on non-pc.
28099
28100 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
28101 multiboot.mod and multiboot2.mod to ...
28102 * conf/i386.rmk (pkglib_MODULES): ... here.
28103 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
28104 Moved to ...
28105 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
28106 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
28107 Moved to ...
28108 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
28109 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
28110 Moved to ...
28111 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
28112 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
28113 Moved to ...
28114 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
28115 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
28116 relocator.mod.
28117 (ata_mod_SOURCES): Removed.
28118 (ata_mod_CFLAGS): Likewise.
28119 (ata_mod_LDFLAGS): Likewise.
28120 (relocator_mod_SOURCES): Removed.
28121 (relocator_mod_CFLAGS): Likewise.
28122 (relocator_mod_ASFLAGS): Likewise.
28123 (relocator_mod_LDFLAGS): Likewise.
28124 Include i386.mk.
28125 * include/grub/x86_64/multiboot.h: New file.
28126 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
28127 Terminate EFI.
28128
884ade56
VS
281292010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28130
28131 Video multiboot support.
28132
28133 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
28134 New prototype.
28135 * include/multiboot.h: Resynced with multiboot specification.
28136 * include/multiboot2.h: Likewise.
28137 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
28138 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
28139 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
28140 (HAS_VGA_TEXT): Likewise.
28141 (accepts_video): New variable.
28142 (grub_multiboot_set_accepts_video): New function.
28143 (grub_multiboot_get_mbi_size): Account for video structures.
28144 (set_video_mode): New function.
28145 (retrieve_video_parameters): Likewise.
28146 (grub_multiboot_make_mbi): Fill video fields.
28147
0d90e8a6
VS
281482010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28149
28150 Video driver ids.
28151
28152 * include/grub/video.h (grub_video_driver_id): New type.
28153 (grub_video_adapter): New member 'id'. All users updated.
28154 (grub_video_get_driver_id): New proto.
28155 * video/video.c (grub_video_get_driver_id): New function.
28156
5c71db1b 281572010-01-14 Carles Pina i Estany <carles@pina.cat>
28158
28159 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
28160 `var=val'.
28161
cca15b52 281622010-01-14 Carles Pina i Estany <carles@pina.cat>
28163
28164 * normal/cmdline.c (print_completion): Gettextizze.
28165
c586fbb2 281662001-01-14 Carles Pina i Estany <carles@pina.cat>
28167
28168 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
28169
ba2f6848 281702010-01-14 Carles Pina i Estany <carles@pina.cat>
28171
28172 * gettext/gettext.c (grub_gettext_translate): Push and pop
28173 grub_errno.
28174 (grub_gettext_delete_list): Change comment style.
28175 * kern/err.c (grub_error): Gettextizze.
28176 (grub_fatal): Gettextizze.
28177
0a46429a
RM
281782010-01-14 Robert Millan <rmh.grub@aybabtu.com>
28179
28180 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
28181 (grub_linux16_real_boot): ... this.
28182 * kern/i386/loader.S: Likewise.
28183 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
28184 (grub_linux16_boot): New function. Switches to text mode and calls
28185 grub_linux16_real_boot().
28186
28187 * loader/i386/bsd.c: Include `<grub/video.h>'.
28188 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
28189 text mode before calling grub_unix_real_boot().
28190
28191 * loader/i386/multiboot.c: Include `<grub/video.h>'.
28192 (grub_multiboot_boot): Switch to text mode before calling
28193 grub_relocator32_boot().
28194
28195 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
28196 (grub_chainloader_boot): Switch to text mode before calling
28197 grub_chainloader_real_boot().
28198
d6f93a66
RM
281992010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
282002010-01-05 Colin Watson <cjwatson@ubuntu.com>
28201
28202 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
28203 non-empty value.
28204
282052010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
282062010-01-05 Colin Watson <cjwatson@ubuntu.com>
28207
28208 * util/grub.d/00_header.in: Define a "savedefault" function for use
28209 in menu entries.
28210 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
28211
282122010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
282132010-01-05 Colin Watson <cjwatson@ubuntu.com>
28214
28215 * util/grub-mkconfig_lib.in (save_default_entry): Only set
28216 saved_entry if boot_once is unset.
28217 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
28218 previous saved entry (i.e. grub-reboot).
28219
282202009-12-08 Colin Watson <cjwatson@ubuntu.com>
28221
28222 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
28223
282242009-12-08 Colin Watson <cjwatson@ubuntu.com>
28225
28226 * util/grub.d/00_header.in: Use `set var=val' rather than plain
28227 `var=val'.
28228 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
28229
282302009-12-08 Colin Watson <cjwatson@ubuntu.com>
28231
28232 * util/grub-reboot.in: Fix --version output.
28233 * util/grub-set-default.in: Likewise.
28234
282352009-12-08 Colin Watson <cjwatson@ubuntu.com>
28236
28237 * util/grub.d/00_header.in: Silently ignore zero-sized environment
28238 blocks.
28239
282402009-12-08 Colin Watson <cjwatson@ubuntu.com>
28241
28242 * util/grub.d/00_header.in: Quote the value assigned to `default',
28243 in case it contains spaces.
28244
282452009-12-08 Colin Watson <cjwatson@ubuntu.com>
28246
28247 * util/grub.d/30_os-prober.in: Fix merge error that moved a
28248 `save_default_entry' call from the macosx case to the linux case.
28249
282502009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
282512009-10-25 Colin Watson <cjwatson@ubuntu.com>
28252
28253 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
28254 in `chosen' environment variable.
28255 * normal/menu_text.c (get_entry_number): Check if the variable
28256 matches the title of a menu entry.
28257 (run_menu): Pass menu to get_entry_number.
28258
28259 * util/grub-reboot.in: New file.
28260 * util/grub-set-default.in: New file.
28261 * conf/common.rmk (grub-reboot): New utility.
28262 (grub-set-default): New utility.
28263
28264 * util/grub-mkconfig_lib.in (save_default_entry): New function.
28265 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
28266 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
28267 move it to `saved_entry' for the next boot. Load environment on
28268 initialisation.
28269 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
28270 * util/grub.d/10_hurd.in: Likewise.
28271 * util/grub.d/10_linux.in (linux_entry): Likewise.
28272 * util/grub.d/10_windows.in: Likewise.
28273 * util/grub.d/30_os-prober.in: Likewise.
28274
28275 * util/grub-install.in: Create environment block.
28276 * util/i386/efi/grub-install.in: Likewise.
28277 * util/ieee1275/grub-install.in: Likewise.
28278 * util/sparc64/ieee1275/grub-install.in: Likewise.
28279
0934d184
BC
282802010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
28281
28282 Unit testing framework for GRUB.
28283
28284 * Makefile.in: Test framework build rules for 'make check'.
28285 * conf/tests.rmk: Build rules for individual tests and framework.
28286
28287 * include/grub/test.h: Header file for whitebox tests.
28288 * tests/lib/functional_test.c: Framework support for whitebox
28289 functional tests.
28290 * tests/lib/test.c: Common whitebox testing code for unit and
28291 functional tests.
28292 * tests/lib/unit_test.c: Framework support for whitebox unit
28293 tests.
28294
28295 * tests/util/grub-shell-tester.in: Support utility for grub-script
28296 tests.
28297 * tests/util/grub-shell.in: Utility to execute grub-script
28298 commands in a Qemu instance.
28299
28300 * tests/example_functional_test.c: Example whitebox functional
28301 test.
28302 * tests/example_grub_script_test.in: Example grub-script test.
28303 * tests/example_scripted_test.in: Example scripted test.
28304 * tests/example_unit_test.c: Example whitebox unit test.
28305
9c4ffeeb
VS
283062010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
28307
28308 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
28309 Add loader/i386/multiboot_mbi.c.
28310 (multiboot2_mod_SOURCES): Likewise.
28311 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
28312 (multiboot2_mod_SOURCES): Likewise.
28313 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
28314 (grub_multiboot_make_mbi): Likewise.
28315 (grub_multiboot_free_mbi): Likewise.
28316 (grub_multiboot_init_mbi): Likewise.
28317 (grub_multiboot_add_module): Likewise.
28318 (grub_multiboot_set_bootdev): Likewise.
28319 * loader/i386/multiboot.c (mbi): Removed.
28320 (mbi_dest): Likewise.
28321 (alloc_mbi): New variable.
28322 (grub_multiboot_payload_size): Removed. All users updated.
28323 (grub_multiboot_pure_size): New variable.
28324 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
28325 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
28326 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
28327 (grub_fill_multiboot_mmap): Likewise.
28328 (grub_multiboot_get_bootdev): Likewise.
28329 (grub_multiboot): Use multiboot_mbi functions.
28330 * loader/i386/multiboot_mbi.c: New file.
28331
17383dfe
VS
283322010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
28333
28334 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
28335 it would result in module crash.
28336
c1f28820
VS
283372010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
28338
28339 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
28340 (grub_ofconsole_getwh): Split to ...
28341 (grub_ofconsole_getwh): ... this.
28342 (grub_ofconsole_dimensions): ...and this.
28343 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
28344
58655a16
RM
283452010-01-13 Robert Millan <rmh.grub@aybabtu.com>
28346
28347 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
28348
10891398
VS
283492010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
28350
28351 * loader/i386/pc/multiboot2.c: Removed stalled file.
28352
0b8a223c
VS
283532010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
28354
28355 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
28356 Reported by: Grégoire Sutre
28357
92ab12b0
RM
283582010-01-11 Robert Millan <rmh.grub@aybabtu.com>
28359
28360 * util/misc.c (canonicalize_file_name): New function.
28361 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
28362 instead of realpath().
28363
a788afb6
CW
283642010-01-11 Colin Watson <cjwatson@ubuntu.com>
28365
28366 * util/grub-install.in (usage): Clarify meaning of --root-directory,
28367 and make it clearer that it's optional. Based on confusion
28368 witnessed on IRC.
28369
ffa8e3d2
VS
283702010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28371
28372 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
28373 in premature implicit newline.
28374
e9060a9d
VS
283752010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28376
28377 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
28378 which resulted in garbled command line at the end of screen.
28379
f0d0c0b7
RM
283802010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28381
28382 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
28383 initialization with similar approach as with other Linux loaders.
28384
0e60bae7
RM
283852010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28386
28387 Fix i386-ieee1275 build.
28388
28389 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
28390 and grub_term_height() for video_{width,height} initialization.
28391
283922010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
28393
28394 Fix grub-emu build.
28395
28396 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
28397
cdb3f378
RM
283982010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
283992010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28400
28401 Support for multiple terminals.
28402
28403 * Makefile.in (pkglib_DATA): terminal.lst.
28404 (terminal.lst): New target.
28405 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
28406 (GRUB_MOD_INIT(handler)): Likewise.
28407 (GRUB_MOD_FINI(handler)): Likewise.
28408 * commands/help.c (grub_cmd_help): Handle multiple terminals.
28409 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
28410 * commands/sleep.c (do_print): Use grub_term_restore_pos.
28411 (grub_cmd_sleep): Use grub_term_save_pos.
28412 * commands/terminal.c: New file.
28413 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
28414 commands/terminal.c and lib/charset.c.
28415 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
28416 (pkglib_MODULES): Add terminal.mod.
28417 (terminal_mod_SOURCES): New variable.
28418 (terminal_mod_CFLAGS): Likewise.
28419 (terminal_mod_LDFLAGS): Likewise.
28420 * genhandlerlist.sh: Don't handle terminals.
28421 * genmk.rb: Generate terminal-*.lst.
28422 * genterminallist.sh: New file.
28423 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
28424 (grub_is_valid_utf8): Likewise.
28425 (grub_utf8_to_ucs4_alloc): Likewise.
28426 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
28427 (grub_menu_register_viewer): Changed argument.
28428 (grub_menu_try_text): New proto.
28429 (grub_gfxmenu_try_hook): New declaration.
28430 * include/grub/normal.h (grub_normal_exit_level): New declaration.
28431 (grub_menu_init_page): Additional argument term.
28432 (grub_normal_init_page): Likewise.
28433 (grub_cmdline_get): Arguments simplified.
28434 (grub_utf8_to_ucs4_alloc): Removed.
28435 (grub_print_ucs4): Additional argument term.
28436 (grub_getstringwidth): Likewise.
28437 (grub_print_message_indented): Likewise.
28438 (grub_menu_text_register_instances): New proto.
28439 (grub_show_menu): Likewise.
28440 (read_terminal_list): Likewise.
28441 (grub_set_more): Likewise.
28442 * include/grub/parser.h: Include handler.h.
28443 * include/grub/reader.h: Rewritten.
28444 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
28445 (GRUB_TERM_WIDTH): Changed to function.
28446 (GRUB_TERM_HEIGHT): Likewise.
28447 (GRUB_TERM_BORDER_WIDTH): Likewise.
28448 (GRUB_TERM_BORDER_HEIGHT): Likewise.
28449 (GRUB_TERM_NUM_ENTRIES): Likewise.
28450 (GRUB_TERM_ENTRY_WIDTH): Likewise.
28451 (GRUB_TERM_CURSOR_X): Likewise.
28452 (grub_term_input_class): Likewise.
28453 (grub_term_output_class): Likewise.
28454 (grub_term_outputs_disabled): New declaration.
28455 (grub_term_inputs_disabled): Likewise.
28456 (grub_term_outputs): Likewise.
28457 (grub_term_inputs): Likewise.
28458 (grub_term_register_input): Rewritten.
28459 (grub_term_register_output): Likewise.
28460 (grub_term_unregister_input): Likewise.
28461 (grub_term_unregister_output): Likewise.
28462 (FOR_ACTIVE_TERM_INPUTS): New macro.
28463 (FOR_DISABLED_TERM_INPUTS): Likewise.
28464 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
28465 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
28466 * include/grub/terminfo.h: Add oterm argument to all protypes.
28467 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
28468 Use grub_rescue_run.
28469 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
28470 All users updated.
28471 * kern/reader.c: Removed. All users updated.
28472 * kern/rescue_reader.c (grub_rescue_init): Removed.
28473 (grub_rescue_reader): Likewise.
28474 (grub_register_rescue_reader): Likewise.
28475 (grub_rescue_run): New function based on kern/reader.c.
28476 * kern/term.c: Adapted for multiterm.
28477 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
28478 (grub_is_valid_utf8): Likewise.
28479 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
28480 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
28481 right terminal.
28482 * loader/i386/linux.c (grub_linux_boot): Likewise.
28483 * normal/auth.c (grub_username_get): New function.
28484 (grub_auth_check_authentication): Use grub_username_get.
28485 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
28486 * normal/color.c: Adapt for multiterm.
28487 * normal/main.c (read_config_file): Don't use grub_reader_loop.
28488 (grub_normal_init_page): Additional argument term.
28489 (read_lists): Call read_terminal_lists.
28490 (grub_enter_normal_mode): Call grub_cmdline_run.
28491 Handle grub_normal_exit_level.
28492 (grub_cmd_normal): Make reentrant.
28493 (grub_cmd_normal_exit): New function.
28494 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
28495 * normal/menu.c: Adapt for multiterm.
28496 * normal/menu_entry.c: Likewise.
28497 * normal/menu_text.c: Likewise.
28498 * normal/menu_viewer.c: Removed. All users updated.
28499 * normal/term.c: New file.
28500 * util/console.c: Change order of includes to workaround a bug in
28501 ncurses headers.
28502 * term/terminfo.c: New argument oterm on all exported functions.
28503 All users updated.
28504 * util/grub-editenv.c (grub_term_input_class): Removed.
28505 (grub_term_output_class): Likewise.
28506
1a064917
RM
285072010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28508
28509 Make loader output a bit more user-friendly.
28510
28511 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
28512 is being loaded. Likewise for the Hurd.
28513
28514 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
28515 that kernel of FreeBSD ${version} is being loaded.
28516
28517 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
28518 grub_dprintf().
28519 (grub_cmd_initrd): Likewise.
28520 * util/grub.d/10_linux.in (linux_entry): Print message indicating
28521 that Linux ${version} is being loaded. Likewise for initrd.
28522
5ce0a83a 285232010-01-09 Carles Pina i Estany <carles@pina.cat>
28524
28525 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
28526
809bbfeb 285272010-01-08 Carles Pina i Estany <carles@pina.cat>
28528
28529 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
28530 (GRUB_MOD_INIT): Gettextizze.
28531 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
28532 (GRUB_MOD_INIT): Gettextizze.
28533 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
28534 (grub_cmd_linux): Capitalise Linux.
28535 (GRUB_MOD_INIT): Gettextizze.
28536 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
28537 (grub_cmd_linux): Capitalise Linux.
28538 (GRUB_MOD_INIT): Gettextizze.
28539 * loader/i386/linux.c: Include `<grub/i18n.h>'.
28540 (grub_cmd_linux): Capitalise Linux.
28541 (GRUB_MOD_INIT): Gettextizze.
28542 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
28543 (GRUB_MOD_INIT): Gettextizze.
28544 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
28545 (grub_cmd_linux): Capitalise Linux.
28546 (GRUB_MOD_INIT): Gettextizze.
28547 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
28548 (grub_cpu_xnu_init): Gettextizze.
28549 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
28550 (GRUB_MOD_INIT): Gettextizze.
28551 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
28552 (GRUB_MOD_INIT): Gettextizze.
28553 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
28554 (grub_linux_load64): Capitalise Linux.
28555 (GRUB_MOD_INIT): Gettextizze.
28556 * loader/xnu.c: Include `<grub/i18n.h>'.
28557 (GRUB_MOD_INIT): Gettextizze.
28558 * po/POTFILES: Add `loader/efi/appleloader.c',
28559 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
28560 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
28561 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
28562 `loader/i386/xnu.c', `loader/multiboot_loader.c',
28563 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
28564 and `loader/xnu.c'.
28565
b394b2ca
RM
285662010-01-08 Robert Millan <rmh.grub@aybabtu.com>
28567
28568 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
28569
285702010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
28571
28572 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
28573 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
28574 * util/mkisofs/mkisofs.c (main): Readjust --version output.
28575
bc8b32b3
RM
285762010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28577
28578 Reset Multiboot 2 support. New loader implements the draft in
28579 /branches/multiboot2 and shares as much code as possible with the
28580 production Multiboot 1 implementation.
28581
28582 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
28583 * loader/multiboot2.c: Likewise.
28584 * loader/i386/multiboot_helper.S: Likewise.
28585 * include/multiboot2.h: Replace with latest version from the draft
28586 in /branches/multiboot2.
28587
28588 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
28589 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
28590 and `loader/multiboot2.c'.
28591 (pkglib_MODULES): Add `multiboot2.mod'.
28592 (multiboot2_mod_SOURCES): New variable.
28593 (multiboot2_mod_LDFLAGS): Likewise.
28594 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
28595
28596 * conf/i386-pc.rmk: Likewise.
28597
28598 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
28599 (multiboot_mod_SOURCES): Remove variable.
28600 (multiboot_mod_LDFLAGS): Likewise.
28601 (multiboot_mod_CFLAGS): Likewise.
28602
28603 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
28604 `<multiboot2.h>' instead of `<multiboot.h>'.
28605 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
28606 (MULTIBOOT_HEADER_MAGIC): New macros.
28607
28608 * loader/multiboot_loader.c (module_version_status): Remove variable.
28609 (find_multi_boot2_header): Remove function.
28610 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
28611 logic. Always check for the Multiboot version we're compiling for.
28612 (grub_cmd_module_loader): Likewise.
28613 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
28614 command instead of `multiboot'.
28615
5d2c52b8
RM
286162010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28617
28618 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
28619 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
28620 all users.
28621
53108d92
RM
286222010-01-07 Robert Millan <rmh.grub@aybabtu.com>
286232010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28624
28625 Fix breakage introduced with previous commit.
28626
28627 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
28628 commands.
28629 * normal/handler.c (read_handler_list): Revert part of previous commit
28630 affecting this file.
28631 * normal/main.c (read_lists): Move read_handler_list() call back to ...
28632 (grub_normal_execute): ... here.
28633
e2e936b2
RM
286342010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28635
28636 Merge prefix-redefinition-fix branch.
28637
28638 * normal/autofs.c (read_fs_list): Make function capable of being
28639 run multiple times, gracefuly replacing the previous data
28640 structures.
28641 * normal/dyncmd.c (read_command_list): Likewise.
28642 * normal/handler.c (read_handler_list): Likewise.
28643 * normal/main.c (read_lists): New function. Calls all the
28644 list reading functions.
28645 (grub_normal_execute): Use read_lists() instead of calling all
28646 list reading functions explicitly. Register read_lists() as a
28647 variable hook attached to ${prefix}.
28648
607a3701
VS
286492010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28650
28651 Merge crypto branch.
28652
28653 * Makefile.in (pkglib_DATA): Add crypto.lst.
28654 (crypto.lst): New target.
28655 * commands/hashsum.c: New file.
28656 * commands/password.c (check_password): Use grub_crypto_memcmp.
28657 * commands/password_pbkdf2.c: New file.
28658 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
28659 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
28660 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
28661 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
28662 -I$(srcdir)/lib/libgcrypt_wrap.
28663 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
28664 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
28665 password_pbkdf2.mod.
28666 (crypto_mod_SOURCES): New variable.
28667 (crypto_mod_CFLAGS): Likewise.
28668 (crypto_mod_LDFLAGS): Likewise.
28669 (hashsum_mod_SOURCES): New variable.
28670 (hashsum_mod_CFLAGS): Likewise.
28671 (hashsum_mod_LDFLAGS): Likewise.
28672 (pbkdf2_mod_SOURCES): New variable.
28673 (pbkdf2_mod_CFLAGS): Likewise.
28674 (pbkdf2_mod_LDFLAGS): Likewise.
28675 (password_pbkdf2_mod_SOURCES): New variable.
28676 (password_pbkdf2_mod_CFLAGS): Likewise.
28677 (password_pbkdf2_mod_LDFLAGS): Likewise.
28678 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
28679 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
28680 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
28681 Include conf/gcry.rmk.
28682 * include/grub/auth.h: Rewritten.
28683 * include/grub/crypto.h: New file.
28684 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
28685 * include/grub/normal.h (read_crypto_list): New prototype.
28686 * lib/crypto.c: New file.
28687 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28688 * lib/pbkdf2.c: Likewise.
28689 * normal/auth.c (grub_auth_strcmp): Removed.
28690 (grub_iswordseparator): Likewise.
28691 (grub_auth_strword): Likewise.
28692 (is_authenticated): Use grub_strword.
28693 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
28694 and grub_strword. Pass entered password to authentication callback.
28695 * normal/crypto.c: New file.
28696 * normal/main.c: Call read_crypto_list.
28697 * util/grub-mkpasswd-pbkdf2.c: New file.
28698 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
28699
42841caa
VS
287002010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
28701
28702 Fix descent and ascent calculation.
28703
28704 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
28705 (options): New option "asce".
28706 (usage): Likewise.
28707 (add_char): Ignore invalid glyphs for descent calculation.
28708 Calculate ascent from actual content.
28709 (print_glyphs): Use 'asce'.
28710 (write_font): Likewise. Allow ascent override.
28711 (main): Handle "asce" option.
28712
e7730de7 287132010-01-06 Carles Pina i Estany <carles@pina.cat>
28714
28715 * kern/err.c: Include `<grub/i18n.h>'.
28716 (grub_print_error): Add full stop. Gettextizze.
28717 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
28718 (grub_bsd_load_elf): Capitalise ELF.
28719 (grub_cmd_freebsd_loadenv): Add `s' in error string.
28720 (grub_cmd_freebsd_module): Likewise.
28721 (grub_cmd_freebsd_module_elf): Likewise.
28722 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
28723
40e3a41f 287242010-01-06 Carles Pina i Estany <carles@pina.cat>
28725
28726 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
28727 * commands/search_file.c (HELP_MESSAGE): New macro.
28728 * commands/search_label.c (HELP_MESSAGE): Likewise.
28729 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
28730 * po/POTFILES: Add `commands/search_file.c',
28731 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
28732 `commands/search.c'.
28733
83507e68
RM
287342010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28735
28736 * config.rpath: Update from Gnulib.
28737
465c787b
YB
287382010-01-05 Yves Blusseau <blusseau@zetam.org>
28739
28740 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
28741
6581dd3a
YB
287422010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
28743
28744 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
28745
3bff18c5
CW
287462010-01-05 Colin Watson <cjwatson@ubuntu.com>
28747
28748 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
28749 arguments to fread so that we get a return value in bytes, rather
28750 than something that will normally be rounded down to 0.
28751 Adjust error handling to avoid producing garbage when size_t is not
28752 the same size as long long.
28753
a1368118
CW
287542010-01-05 Colin Watson <cjwatson@ubuntu.com>
28755
28756 * util/mkisofs/write.c (padblock_write): Check return value of
28757 fread.
28758
7c302978
RM
287592010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28760
28761 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
28762 floppy images now.
28763
28764 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
28765
e33ace06
RM
287662010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28767
28768 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
28769 instead of manual alignment.
28770 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
28771 verbose). Avoid attempts to read past end of the device
28772 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
28773 but GRUB_DISK_CACHE_SIZE may exceed that).
28774
4b856776
RM
287752010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28776
28777 * commands/crc.c (grub_cmd_crc): Abort on read errors.
28778 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
28779 it to upper layer.
28780
52c2d97f
VS
287812010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28782
28783 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
28784 New constant.
28785 (grub_efi_piwg_device_path): New structure
28786 (grub_efi_piwg_device_path_t): New type.
28787 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
28788 (devpath_1): Transform to a structure. All users updated.
28789 (devpath_2): Likewise.
28790 (devpath_3): Likewise.
28791 (devpath_4): Likewise.
28792 (devpath_5): Likewise.
28793
98ff6a54
VS
287942010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28795
28796 * loader/efi/appleloader.c: Restored. Update all users.
28797
3a73dcb6
RM
287982010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28799
28800 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
28801
28802 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
28803 (struct boot_blocklist): Move from here ...
28804 * include/grub/i386/pc/boot.h [ASM_FILE]
28805 (struct grub_boot_blocklist): ... to here. Update all users.
28806 (setup): Only initialize `start' member of `first_block'
28807 structure. Add assert() calls to verify the other members.
28808
28809 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
28810 (generate_image): Fix broken blocklist length initialization.
28811 Add assert() call to verify blocklist `segment' field.
28812
ab0eeb0c
RM
288132010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28814
28815 * loader/efi/appleloader.c: Remove. Update all users.
28816
58bc8bd5
RM
288172010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28818
28819 * boot/i386/pc/boot.S: Update copyright year.
28820 * boot/i386/pc/cdboot.S: Likewise.
28821 * boot/i386/pc/diskboot.S: Likewise.
28822 * boot/i386/pc/lnxboot.S: Likewise.
28823 * boot/i386/pc/pxeboot.S: Likewise.
28824 * bus/pci.c: Likewise.
28825 * commands/cmp.c: Likewise.
28826 * commands/help.c: Likewise.
28827 * commands/hexdump.c: Likewise.
28828 * commands/i386/pc/halt.c: Likewise.
28829 * commands/i386/pc/play.c: Likewise.
28830 * commands/i386/pc/vbeinfo.c: Likewise.
28831 * commands/ls.c: Likewise.
28832 * commands/test.c: Likewise.
28833 * disk/dmraid_nvidia.c: Likewise.
28834 * disk/i386/pc/biosdisk.c: Likewise.
28835 * disk/ieee1275/nand.c: Likewise.
28836 * disk/ieee1275/ofdisk.c: Likewise.
28837 * disk/lvm.c: Likewise.
28838 * disk/raid.c: Likewise.
28839 * disk/raid6_recover.c: Likewise.
28840 * disk/scsi.c: Likewise.
28841 * fs/affs.c: Likewise.
28842 * fs/cpio.c: Likewise.
28843 * fs/ext2.c: Likewise.
28844 * fs/hfs.c: Likewise.
28845 * fs/iso9660.c: Likewise.
28846 * fs/ntfs.c: Likewise.
28847 * fs/sfs.c: Likewise.
28848 * fs/udf.c: Likewise.
28849 * fs/ufs.c: Likewise.
28850 * fs/xfs.c: Likewise.
28851 * gencmdlist.sh: Likewise.
28852 * genmk.rb: Likewise.
28853 * include/grub/disk.h: Likewise.
28854 * include/grub/efi/api.h: Likewise.
28855 * include/grub/efi/efi.h: Likewise.
28856 * include/grub/efi/pe32.h: Likewise.
28857 * include/grub/elf.h: Likewise.
28858 * include/grub/fs.h: Likewise.
28859 * include/grub/i386/at_keyboard.h: Likewise.
28860 * include/grub/i386/pc/memory.h: Likewise.
28861 * include/grub/i386/pc/vbe.h: Likewise.
28862 * include/grub/i386/pci.h: Likewise.
28863 * include/grub/i386/tsc.h: Likewise.
28864 * include/grub/ieee1275/ieee1275.h: Likewise.
28865 * include/grub/ntfs.h: Likewise.
28866 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28867 * include/grub/sparc64/libgcc.h: Likewise.
28868 * include/grub/symbol.h: Likewise.
28869 * include/grub/types.h: Likewise.
28870 * include/multiboot2.h: Likewise.
28871 * io/gzio.c: Likewise.
28872 * kern/device.c: Likewise.
28873 * kern/disk.c: Likewise.
28874 * kern/efi/efi.c: Likewise.
28875 * kern/efi/mm.c: Likewise.
28876 * kern/elf.c: Likewise.
28877 * kern/file.c: Likewise.
28878 * kern/i386/dl.c: Likewise.
28879 * kern/i386/pc/init.c: Likewise.
28880 * kern/i386/pc/startup.S: Likewise.
28881 * kern/ieee1275/ieee1275.c: Likewise.
28882 * kern/ieee1275/init.c: Likewise.
28883 * kern/main.c: Likewise.
28884 * kern/mm.c: Likewise.
28885 * kern/powerpc/dl.c: Likewise.
28886 * kern/sparc64/dl.c: Likewise.
28887 * kern/x86_64/dl.c: Likewise.
28888 * lib/hexdump.c: Likewise.
28889 * loader/efi/appleloader.c: Likewise.
28890 * loader/i386/ieee1275/linux.c: Likewise.
28891 * loader/i386/pc/chainloader.c: Likewise.
28892 * loader/i386/pc/linux.c: Likewise.
28893 * loader/i386/pc/multiboot2.c: Likewise.
28894 * loader/ieee1275/multiboot2.c: Likewise.
28895 * loader/multiboot2.c: Likewise.
28896 * loader/multiboot_loader.c: Likewise.
28897 * loader/powerpc/ieee1275/linux.c: Likewise.
28898 * normal/completion.c: Likewise.
28899 * normal/menu_entry.c: Likewise.
28900 * partmap/apple.c: Likewise.
28901 * util/grub.d/10_hurd.in: Likewise.
28902 * util/hostfs.c: Likewise.
28903 * video/readers/png.c: Likewise.
28904
e2d70b5c
CW
289052010-01-03 Colin Watson <cjwatson@ubuntu.com>
28906
28907 * include/grub/misc.h (GNUC_PREREQ): New macro.
28908 (ATTRIBUTE_ERROR): New macro.
28909 * include/grub/list.h (grub_bad_type_cast_real): Use
28910 ATTRIBUTE_ERROR.
28911
a173283f 289122010-01-03 Carles Pina i Estany <carles@pina.cat>
28913
28914 * normal/menu_text.c (print_message): Change messages.
28915
7fa7ff74 289162010-01-03 Carles Pina i Estany <carles@pina.cat>
28917
28918 * normal/menu_entry.c (store_completion): Gettextizze.
28919
136d24f6 289202010-01-03 Carles Pina i Estany <carles@pina.cat>
28921
28922 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
28923
f936862e 289242010-01-03 Carles Pina i Estany <carles@pina.cat>
28925
28926 * po/POTFILES: Sort correctly.
28927
29c44ad1 289282010-01-03 Carles Pina i Estany <carles@pina.cat>
28929
28930 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
28931 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
28932 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
28933 full stop.
28934 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
28935 summary. Gettextizze the strings.
28936 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
28937 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
28938 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
28939 full stop.
28940 (GRUB_MOD_INIT): Remove command name from summary.
28941 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
28942 summary.
28943 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
28944 * term/i386/pc/serial.c (options): Add full stops.
28945 (GRUB_MOD_INIT): Remove command name from the summary.
28946
77a79592 289472010-01-03 Carles Pina i Estany <carles@pina.cat>
28948
28949 * commands/acpi.c: Gettextizze help strings and/or options. Include
28950 `grub/i18n.h' if needed.
28951 * commands/blocklist.c: Likewise.
28952 * commands/boot.c: Likewise.
28953 * commands/cat.c: Likewise.
28954 * commands/cmp.c: Likewise.
28955 * commands/configfile.c: Likewise.
28956 * commands/crc.c: Likewise.
28957 * commands/date.c: Likewise.
28958 * commands/echo.c: Likewise.
28959 * commands/efi/fixvideo.c: Likewise.
28960 * commands/efi/loadbios.c: Likewise.
28961 * commands/gptsync.c: Likewise.
28962 * commands/halt.c: Likewise.
28963 * commands/handler.c: Likewise.
28964 * commands/hdparm.c: Likewise.
28965 * commands/hexdump.c: Likewise.
28966 * commands/i386/cpuid.c: Likewise.
28967 * commands/i386/pc/drivemap.c: Likewise.
28968 * commands/i386/pc/halt.c: Likewise.
28969 * commands/i386/pc/pxecmd.c: Likewise.
28970 * commands/i386/pc/vbeinfo.c: Likewise.
28971 * commands/i386/pc/vbetest.c: Likewise.
28972 * commands/ieee1275/suspend.c: Likewise.
28973 * commands/keystatus.c: Likewise.
28974 * commands/loadenv.c: Likewise.
28975 * commands/ls.c: Likewise.
28976 * commands/lsmmap.c: Likewise.
28977 * commands/lspci.c: Likewise.
28978 * commands/memrw.c: Likewise.
28979 * commands/minicmd.c: Likewise.
28980 * commands/parttool.c: Likewise.
28981 * commands/password.c: Likewise.
28982 * commands/probe.c: Likewise.
28983 * commands/read.c: Likewise.
28984 * commands/reboot.c: Likewise.
28985 * commands/search.c: Likewise.
28986 * commands/sleep.c: Likewise.
28987 * commands/test.c: Likewise.
28988 * commands/true.c: Likewise.
28989 * commands/usbtest.c: Likewise.
28990 * commands/videotest.c: Likewise.
28991 * commands/xnu_uuid.c: Likewise.
28992 * disk/loopback.c: Likewise.
28993 * hello/hello.c: Likewise.
28994 * loader/i386/bsd.c: Likewise.
28995 * term/i386/pc/serial.c: Likewise.
28996 * po/POTFILES: Add new files.
28997
da8d5c53
CW
289982010-01-02 Colin Watson <cjwatson@ubuntu.com>
28999
29000 * term/i386/pc/at_keyboard.c
29001 (keyboard_controller_wait_untill_ready): Rename to ...
29002 (keyboard_controller_wait_until_ready): ... this. Update all users.
29003
33937904 290042010-01-01 Carles Pina i Estany <carles@pina.cat>
29005
29006 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
29007 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
29008 string using string width.
29009 * normal/menu_text.c (grub_print_message_indented): Use
29010 grub_print_spaces and not print_spaces.
29011 (print_timeout): Likewise.
29012 (print_spaces): Move to...
29013 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
29014
3fd3b8d8
RM
290152010-01-01 Robert Millan <rmh.grub@aybabtu.com>
29016
29017 Import from Gnulib.
29018
29019 * gnulib/getdelim.c: New file.
29020 * gnulib/getline.c: Likewise.
29021
33433555
VS
290222009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
29023
29024 * include/grub/list.h (grub_assert_fail): Removed.
29025 (grub_bad_type_cast_real): New function.
29026 (grub_bad_type_cast): New macro.
29027 (GRUB_AS_LIST): Use grub_bad_type_cast.
29028 (GRUB_AS_LIST_P): Likewise.
e44721e8 29029 (GRUB_AS_NAMED_LIST): Likewise.
33433555 29030 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 29031 (GRUB_AS_PRIO_LIST): Likewise.
33433555 29032 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 29033 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 29034
f5a51306
VS
290352009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
29036
29037 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
29038 Fix syntax error.
29039
90d1e879
RM
290402009-12-29 Robert Millan <rmh.grub@aybabtu.com>
29041
29042 * configure.ac: Check for TARGET_CFLAGS initialization before we
29043 initialize it ourselves (sigh).
29044 Move a few modifications to TARGET_CFLAGS to be unconditional
29045 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
29046 eh_frame)
29047
29048 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
29049 * term/i386/pc/at_keyboard.c
29050 (keyboard_controller_wait_untill_ready): Likewise.
29051 (keyboard_controller_led): Rename `led_status' paramter to avoid
29052 name conflict.
29053
465b5a81 290542009-12-28 Carles Pina i Estany <carles@pina.cat>
29055
29056 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
29057 quotes.
29058
c181849b
VS
290592009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29060
29061 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
29062
9c8739a4
VS
290632009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29064
29065 * normal/menu_text.c (grub_print_message_indented): Prevent
29066 past-the-end-of-array dereference.
29067
3e74249c
VS
290682009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29069
29070 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
29071 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
29072
64fd18ed 290732009-12-27 Carles Pina i Estany <carles@pina.cat>
29074
29075 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
29076 * normal/main.c (grub_normal_read_line): Remove a space from the
29077 default prompt.
29078
714af9b9 290792009-12-27 Carles Pina i Estany <carles@pina.cat>
29080
29081 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
29082 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29083 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
29084 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
29085 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29086 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29087 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29088
82f3e412 290892009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 29090
29091 * video/readers/jpeg.c (cmd): Declare.
29092 (grub_cmd_jpegtest): Use `grub_command_t' type.
29093 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29094 Assign to `cmd'.
29095 (GRUB_MOD_FINI): Use `cmd' to unregister.
29096 * video/readers/png.c (cmd): Declare.
29097 (grub_cmd_pngtest): Use `grub_command_t' type.
29098 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29099 Assign to `cmd'.
29100 (GRUB_MOD_FINI): Use `cmd' to unregister.
29101 * video/readers/tga.c (cmd): Declare.
29102 (grub_cmd_tgatest): Use `grub_command_t' type.
29103 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29104 Assign to `cmd'.
29105 (GRUB_MOD_FINI): Use `cmd' to unregister.
29106
82f3e412 291072009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 29108
29109 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
29110 stops.
29111 * kern/corecmd.c (grub_register_core_commands): Likewise.
29112 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
29113 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
29114 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
29115 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29116 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
29117 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
29118 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
29119 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
29120 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29121 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29122 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29123 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
29124 * normal/handler.c (insert_handler): Likewise.
29125 * normal/main.c (GRUB_MOD_INIT): Likewise.
29126 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
29127
fdcdbb66 291282009-12-26 Carles Pina i Estany <carles@pina.cat>
29129
29130 * commands/help.c (grub_cmd_help): Print the command name before the
29131 summary.
29132 (GRUB_MOD_INIT): Remove command name from the summary.
29133 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 29134 string as summary.
fdcdbb66 29135 * lib/arg.c (find_long): Print the command name before the summary.
29136 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
29137 summary.
29138 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
29139 * commands/cat.c (GRUB_MOD_INIT): Likewise.
29140 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
29141 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
29142 * commands/crc.c (GRUB_MOD_INIT): Likewise.
29143 * commands/date.c (GRUB_MOD_INIT): Likewise.
29144 * commands/echo.c (GRUB_MOD_INIT): Likewise.
29145 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
29146 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29147 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29148 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
29149 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
29150 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
29151 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
29152 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29153 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
29154 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
29155 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
29156 * commands/ls.c (GRUB_MOD_INIT): Likewise.
29157 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29158 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29159 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29160 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
29161 * commands/password.c (GRUB_MOD_INIT): Likewise.
29162 * commands/probe.c (GRUB_MOD_INIT): Likewise.
29163 * commands/read.c (GRUB_MOD_INIT): Likewise.
29164 * commands/search.c (GRUB_MOD_INIT): Likewise.
29165 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
29166 * commands/test.c (GRUB_MOD_INIT): Likewise.
29167 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
29168 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
29169 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
29170 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
29171 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
29172 * lib/arg.c (GRUB_MOD_INIT): Likewise.
29173 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
29174 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
29175 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29176 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
29177 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
29178 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
29179 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
29180 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
29181
9c288be2
VS
291822009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29183
29184 Use search command for preliminar UUID search.
29185
29186 * commands/search.c: Split into ...
29187 * commands/search_wrap.c: ...this
29188 * commands/search.c: ...and this.
29189 * commands/search_file.c: New file.
29190 * commands/search_label.c: New file.
29191 * commands/search_uuid.c: New file.
29192 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
29193 Add commands/search_wrap.c, commands/search_file.c,
29194 commands/search_label.c and commands/search_uuid.c.
29195 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
29196 (search_mod_SOURCES): Set to commands/search_wrap.c.
29197 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
29198 search_label.mod.
29199 (search_fs_file_mod_SOURCES): New variable.
29200 (search_fs_file_mod_CFLAGS): Likewise.
29201 (search_fs_file_mod_LDFLAGS): Likewise.
29202 (search_label_mod_SOURCES): Likewise.
29203 (search_label_mod_CFLAGS): Likewise.
29204 (search_label_mod_LDFLAGS): Likewise.
29205 (search_fs_uuid_mod_SOURCES): New variable.
29206 (search_fs_uuid_mod_CFLAGS): Likewise.
29207 (search_fs_uuid_mod_LDFLAGS): Likewise.
29208 (fs_file_mod_SOURCES): Removed.
29209 (fs_file_mod_CFLAGS): Likewise.
29210 (fs_file_mod_LDFLAGS): Likewise.
29211 (fs_uuid_mod_SOURCES): Removed.
29212 (fs_uuid_mod_CFLAGS): Likewise.
29213 (fs_uuid_mod_LDFLAGS): Likewise.
29214 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
29215 Set to util/grub-install.in.
29216 * disk/fs_file.c: Removed.
29217 * disk/fs_uuid.c: Likewise.
29218 * include/grub/search.h: New file.
29219 * util/grub-install.in: Handle sparc64.
29220 Create and use load.cfg.
29221 * util/sparc64/ieee1275/grub-install.in: Removed.
29222
db943399
VS
292232009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29224
29225 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
29226 Ignore return status if CF is cleared.
29227 (grub_biosdisk_get_diskinfo_standard): Likewise.
29228
3fdae612
RM
292292009-12-25 Robert Millan <rmh.grub@aybabtu.com>
29230
29231 * term/i386/pc/at_keyboard.c
29232 (keyboard_controller_wait_untill_ready): New function.
29233 (grub_keyboard_controller_write, grub_keyboard_controller_read)
29234 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
29235 for keyboard polling, rather than duplicate the same loop. This
29236 saves a few bytes in code size.
29237
7ebaa2b4
VS
292382009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29239
29240 Support for (pxe[:server[:gateway]]) syntax and
29241 use environment variable for PXE.
29242
29243 * commands/i386/pc/pxecmd.c (options): Removed.
29244 (print_ip): Removed.
29245 (grub_cmd_pxe): Removed
29246 (grub_cmd_pxe_unload): New function.
29247 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
29248 (grub_pxe_your_ip): Made static.
29249 (grub_pxe_default_server_ip): Likewise.
29250 (grub_pxe_default_gateway_ip): Likewise.
29251 (grub_pxe_blksize): Likewise.
29252 (parse_ip): New function.
29253 (grub_pxe_open): Support server and gateway specification.
29254 (grub_pxe_close): Free disk->data.
29255 (grub_pxefs_open): Use disk->data.
29256 (grub_pxefs_read): Likewise.
29257 (grub_env_write_readonly): New function.
29258 (set_mac_env): Likewise.
29259 (set_env_limn_ro): Likewise.
29260 (parse_dhcp_vendor): Likewise.
29261 (grub_pxe_detect): Set the environment variables.
29262 (set_ip_env): New function.
29263 (write_ip_env): Likewise.
29264 (grub_env_write_pxe_default_server): Likewise.
29265 (grub_env_write_pxe_default_gateway): Likewise.
29266 (grub_env_write_pxe_blocksize): Likewise.
29267 (GRUB_MOD_INIT(pxe)): Set environment variables.
29268 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
29269 (grub_pxe_mac_addr_t): ... this. All users updated.
29270 (grub_pxe_your_ip): Removed.
29271 (grub_pxe_server_ip): Likewise.
29272 (grub_pxe_gateway_ip): Likewise.
29273 (grub_pxe_blksize): Likewise.
29274
ec5f98ab 292752009-12-25 Carles Pina i Estany <carles@pina.cat>
29276
29277 * commands/help.c: Include `<grub/i18n.h>'.
29278 (grub_cmd_help): Gettextizze.
29279 (GRUB_MOD_INIT): Likewise.
29280 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
29281 (GRUB_MOD_INIT): Gettextizze.
29282 * commands/search.c: Include `<grub/i18n.h>'.
29283 (options): Gettextizze.
29284 (GRUB_MOD_INIT): Gettextizze.
29285 * lib/arg.c: Include `<grub/i18n.h>'.
29286 (help_options): Gettextizze.
29287 (find_long): Likewise.
29288 (grub_arg_show_help): Likewise.
29289 * normal/dyncmd.c: Include `<grub/i18n.h>'.
29290 (read_command_list): Gettextizze.
29291 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 29292 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 29293
22815526
RM
292942009-12-25 Robert Millan <rmh.grub@aybabtu.com>
29295
29296 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
29297 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
29298 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
29299 (led_status): New variable.
29300 (keyboard_controller_led): New function.
29301 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
29302 update led status for caps lock, num lock and scroll lock.
29303
0ad46fd7
FZ
293042009-12-25 Felix Zielcke <fzielcke@z-51.de>
29305
29306 * util/hostdisk.c (open_device): Fix a comment.
29307
d0e158c2
RM
293082009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29309
29310 * util/grub-install.in (host_os): New variable.
29311 * util/i386/efi/grub-install.in (host_os): Likewise.
29312
401c0ad6
RM
293132009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29314
29315 * util/mkisofs/write.c (padblock_write): Abort when given an
29316 excedingly large embed image, instead of silently truncating it.
29317
d14d3370
RM
293182009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29319
29320 * include/multiboot.h: Indentation fixes.
29321
eeed10b4
RM
293222009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29323
29324 * include/multiboot.h (struct multiboot_aout_symbol_table)
29325 (struct multiboot_elf_section_header_table): New structure
29326 declarations (stolen from GRUB Legacy).
29327 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
29328 table information.
29329
29330 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
29331 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
29332 type aliases.
29333
681c70ab
RM
293342009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29335
29336 * include/multiboot.h: Make comments src2texi-friendly.
29337
e4d47d8d
RM
293382009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29339
29340 For consistency with [multiboot]/docs/boot.S.
29341
29342 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
29343 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
29344 (MULTIBOOT_MAGIC2): Rename from this ...
29345 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
29346
a0b70bda
RM
293472009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29348
29349 * include/multiboot.h: Remove `<grub/types.h>'.
29350 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
29351 types. Update all users.
29352
61ba42be 293532009-12-25 Carles Pina i Estany <carles@pina.cat>
29354
29355 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
29356 `couldn't' and `can not' by `cannot'.
29357 * commands/i386/pc/drivemap.c: Likewise.
29358 * disk/ata.c: Likewise.
29359 * disk/ieee1275/nand.c: Likewise.
29360 * fs/affs.c: Likewise.
29361 * fs/fat.c: Likewise.
29362 * fs/hfs.c: Likewise.
29363 * fs/hfsplus.c: Likewise.
29364 * fs/iso9660.c: Likewise.
29365 * fs/jfs.c: Likewise.
29366 * fs/minix.c: Likewise.
29367 * fs/reiserfs.c: Likewise.
29368 * fs/sfs.c: Likewise.
29369 * fs/udf.c: Likewise.
29370 * fs/ufs.c: Likewise.
29371 * fs/xfs.c: Likewise.
29372 * loader/powerpc/ieee1275/linux.c: Likewise.
29373 * loader/sparc64/ieee1275/linux.c: Likewise.
29374 * util/grub-probe.c: Likewise.
29375 * util/misc.c: Likewise.
29376
7fd0baee 293772009-12-24 Carles Pina i Estany <carles@pina.cat>
29378
29379 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
29380 grub_errno calls.
29381 * commands/acpi.c: Likewise.
29382 * commands/blocklist.c: Likewise.
29383 * commands/efi/loadbios.c: Likewise.
29384 * commands/i386/pc/drivemap.c: Likewise.
29385 * commands/loadenv.c: Likewise.
29386 * commands/memrw.c: Likewise.
29387 * commands/password.c: Likewise.
29388 * commands/videotest.c: Likewise.
29389 * disk/ata.c: Likewise.
29390 * disk/ata_pthru.c: Likewise.
29391 * disk/dmraid_nvidia.c: Likewise.
29392 * disk/ieee1275/nand.c: Likewise.
29393 * disk/ieee1275/ofdisk.c: Likewise.
29394 * disk/loopback.c: Likewise.
29395 * disk/lvm.c: Likewise.
29396 * disk/mdraid_linux.c: Likewise.
29397 * disk/raid.c: Likewise.
29398 * disk/raid6_recover.c: Likewise.
29399 * disk/scsi.c: Likewise.
29400 * efiemu/main.c: Likewise.
29401 * efiemu/mm.c: Likewise.
29402 * efiemu/pnvram.c: Likewise.
29403 * efiemu/symbols.c: Likewise.
29404 * font/font.c: Likewise.
29405 * fs/cpio.c: Likewise.
29406 * fs/hfsplus.c: Likewise.
29407 * fs/iso9660.c: Likewise.
29408 * fs/jfs.c: Likewise.
29409 * fs/minix.c: Likewise.
29410 * fs/ntfs.c: Likewise.
29411 * fs/ntfscomp.c: Likewise.
29412 * fs/reiserfs.c: Likewise.
29413 * fs/ufs.c: Likewise.
29414 * fs/xfs.c: Likewise.
29415 * gettext/gettext.c: Likewise.
29416 * include/grub/auth.h: Likewise.
29417 * kern/elf.c: Likewise.
29418 * kern/file.c: Likewise.
29419 * kern/ieee1275/init.c: Likewise.
29420 * kern/ieee1275/mmap.c: Likewise.
29421 * kern/ieee1275/openfw.c: Likewise.
29422 * kern/powerpc/dl.c: Likewise.
29423 * kern/sparc64/dl.c: Likewise.
29424 * lib/arg.c: Likewise.
29425 * loader/i386/bsd.c: Likewise.
29426 * loader/i386/bsdXX.c: Likewise.
29427 * loader/i386/efi/linux.c: Likewise.
29428 * loader/i386/efi/xnu.c: Likewise.
29429 * loader/i386/ieee1275/linux.c: Likewise.
29430 * loader/i386/linux.c: Likewise.
29431 * loader/i386/multiboot.c: Likewise.
29432 * loader/i386/pc/linux.c: Likewise.
29433 * loader/i386/pc/multiboot2.c: Likewise.
29434 * loader/i386/xnu.c: Likewise.
29435 * loader/ieee1275/multiboot2.c: Likewise.
29436 * loader/macho.c: Likewise.
29437 * loader/machoXX.c: Likewise.
29438 * loader/multiboot2.c: Likewise.
29439 * loader/multiboot_loader.c: Likewise.
29440 * loader/powerpc/ieee1275/linux.c: Likewise.
29441 * loader/sparc64/ieee1275/linux.c: Likewise.
29442 * loader/xnu.c: Likewise.
29443 * loader/xnu_resume.c: Likewise.
29444 * mmap/i386/pc/mmap.c: Likewise.
29445 * normal/menu_viewer.c: Likewise.
29446 * partmap/acorn.c: Likewise.
29447 * partmap/amiga.c: Likewise.
29448 * partmap/apple.c: Likewise.
29449 * script/lexer.c: Likewise.
29450 * term/gfxterm.c: Likewise.
29451 * term/i386/pc/serial.c: Likewise.
29452 * term/i386/pc/vga.c: Likewise.
29453 * term/ieee1275/ofconsole.c: Likewise.
29454 * term/terminfo.c: Likewise.
29455 * video/bitmap.c: Likewise.
29456 * video/efi_gop.c: Likewise.
29457 * video/efi_uga.c: Likewise.
29458 * video/fb/video_fb.c: Likewise.
29459 * video/i386/pc/vbe.c: Likewise.
29460 * video/readers/tga.c: Likewise.
29461 * video/video.c: Likewise.
29462
0ad46fd7 294632009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
29464
29465 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
29466 * commands/lspci.c: Likewise.
29467 * commands/probe.c: Likewise.
29468 * commands/xnu_uuid.c: Likewise.
29469 * conf/i386-coreboot.rmk: Likewise.
29470 * conf/i386-efi.rmk: Likewise.
29471 * conf/i386-ieee1275.rmk: Likewise.
29472 * conf/i386-pc.rmk: Likewise.
29473 * conf/powerpc-ieee1275.rmk: Likewise.
29474 * conf/sparc64-ieee1275.rmk: Likewise.
29475 * conf/x86_64-efi.rmk: Likewise.
29476 * fs/i386/pc/pxe.c: Likewise.
29477 * gettext/gettext.c: Likewise.
29478 * include/grub/efi/graphics_output.h: Likewise.
29479 * include/grub/i386/pc/memory.h: Likewise.
29480 * kern/env.c: Likewise.
29481 * kern/i386/qemu/startup.S: Likewise.
29482 * lib/i386/pc/biosnum.c: Likewise.
29483 * lib/i386/relocator.c: Likewise.
29484 * lib/i386/relocator_asm.S: Likewise.
29485 * lib/relocator.c: Likewise.
29486 * loader/i386/bsd.c: Likewise.
29487 * loader/i386/multiboot.c: Likewise.
29488 * loader/i386/pc/chainloader.c: Likewise.
29489 * loader/i386/xnu.c: Likewise.
29490 * loader/xnu.c: Likewise.
29491 * normal/main.c: Likewise.
29492 * normal/menu_text.c: Likewise.
29493 * util/getroot.c: Likewise.
29494 * util/grub-mkconfig_lib.in: Likewise.
29495 * util/grub.d/00_header.in: Likewise.
29496 * util/i386/pc/grub-mkimage.c: Likewise.
29497 * util/mkisofs/eltorito.c: Likewise.
29498 * util/mkisofs/exclude.h: Likewise.
29499 * util/mkisofs/hash.c: Likewise.
29500 * util/mkisofs/iso9660.h: Likewise.
29501 * util/mkisofs/joliet.c: Likewise.
29502 * util/mkisofs/mkisofs.c: Likewise.
29503 * util/mkisofs/mkisofs.h: Likewise.
29504 * util/mkisofs/multi.c: Likewise.
29505 * util/mkisofs/name.c: Likewise.
29506 * util/mkisofs/rock.c: Likewise.
29507 * util/mkisofs/tree.c: Likewise.
29508 * util/mkisofs/write.c: Likewise.
29509 * video/efi_gop.c: Likewise.
29510
009ec743
VS
295112009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
29512
29513 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
29514 size counting.
29515
0ad46fd7 295162009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
29517
29518 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
29519 * genmk.rb (class SCRIPT): Modify the target file instead of source.
29520
d3d30ea0
VS
295212009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29522
29523 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
29524 (GRUB_MOD_INIT(memrw)): Update help line.
29525
a34f5c70
VS
295262009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29527
29528 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
29529 Use grub_extcmd_t. All users updated.
29530 (options): New variable.
29531 (grub_cmd_read): Restructure for readability. Support "-v" option.
29532 (grub_cmd_write): Restructure for readability.
29533
0ad46fd7 295342009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
29535
29536 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
29537
0ad46fd7 295382009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
29539
29540 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
29541 with the actual contents of the correspondending make variable.
29542 * util/grub-mkrescue.in (pkglib_DATA): New variable.
29543 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
29544 specifying `*.lst' and `efiemu??.o'
29545
0ad46fd7 295462009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
29547
29548 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
29549 after function name.
29550 Noticed by Rene Engelhard <rene@debian.org>.
29551
dc77a799
VS
295522009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29553
29554 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
29555 (options): New variable.
29556 (iospace): Likewise.
29557 (grub_lspci_iter): List IO spaces if "-i" was given.
29558 (grub_cmd_lspci): Parse options.
29559 (GRUB_MOD_INIT(lspci)): Use extcmd.
29560 (GRUB_MOD_FINI(lspci)): Likewise.
29561
0ad46fd7 295622009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
29563
29564 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
29565 `function' keyword.
29566 Patch by Tony Mancill <tmancill@debian.org>.
29567
b5d5993b
VS
295682009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29569
29570 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
29571 (grub_uhci_portstatus): Likewise.
29572 (grub_uhci_portstatus): Add necessary delay.
11d18281 29573 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 29574
941903f2 295752009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 29576
941903f2 29577 * commands/acpi.c (options): Fix capitalizations and/or full stops.
29578 (GRUB_MOD_INIT): Likewise.
29579 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 29580 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
29581 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 29582 * commands/efi/loadbios.c (enable_rom_area): Likewise.
29583 (enable_rom_area): Likewise.
29584 (GRUB_MOD_INIT): Likewise.
29585 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29586 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
29587 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29588 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
29589 * commands/hexdump.c (options): Likewise.
29590 * commands/i386/cpuid.c (options): Likewise.
29591 (GRUB_MOD_INIT): Likewise.
29592 * commands/i386/pc/drivemap.c (options): Likewise.
29593 (GRUB_MOD_INIT): Likewise.
29594 * commands/i386/pc/halt (options): Likewise.
29595 (GRUB_MOD_INIT): Likewise.
29596 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29597 * commands/i386/pc/pxecmd.c (options): Likewise.
29598 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
29599 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
29600 * commands/keystatus.c (options): Likewise.
29601 (GRUB_MOD_INIT): Likewise.
29602 * commands/loadenv.c (options): Likewise.
29603 * commands/ls.c (options): Likewise.
29604 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29605 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29606 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29607 * commands/parttool.c (helpmsg): Likewise.
29608 * commands/probe.c (options): Likewise.
29609 * commands/read.c (GRUB_MOD_INIT): Likewise.
29610 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
29611 * commands/search.c (options): Likewise.
29612 * commands/sleep.c (options): Likewise.
29613 * commands/test.c (GRUB_MOD_INIT): Likewise.
29614 * commands/true.c (GRUB_MOD_INIT): Likewise.
29615 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
29616 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
29617 * lib/arg.c (help_options): Likewise.
e9bbb4e7 29618 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
29619 `$(XGETTEXT)'.
98a50553 29620 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 29621
0ad46fd7 296222009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 29623
ef3c2c3a 29624 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
29625 instead of specifying them explicit.
29626
7922f68b
RM
296272009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29628
29629 * NEWS: Add grub-probe support for GNU/Hurd.
29630
537ce47f
RM
296312009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29632
29633 * NEWS: gettext was added after 1.97.
29634
9b214e3a
RM
296352009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29636
29637 * util/mkisofs/msdos_partition.h: New file (based on
29638 include/grub/msdos_partition.h).
29639 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
29640 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
29641 (ld_options, main): Recognize --protective-msdos-label.
29642 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
29643 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
29644 (padblock_write): If `use_protective_msdos_label' is set, patch a
29645 protective DOS-style label in the output image.
29646
29647 * util/grub-mkrescue.in: Use --protective-msdos-label.
29648
e9309813
RM
296492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29650
29651 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
29652 boot.
29653
0ae56929
RM
296542009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29655
29656 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
29657 variables.
29658 (ld_options, main): Recognize `--embedded-boot'.
29659 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
29660 declarations.
29661 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
29662 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
29663 (padblock_write): Likewise. Rewrite to support embedded boot image.
29664
29665 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
29666 for BIOS-based disk boot instead of only ElTorito.
29667
b15937b1
RM
296682009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29669
29670 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
29671 build (not needed for bootstrap).
29672
52cc3ce0
RM
296732009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29674
29675 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
29676 from i386-pc build (not needed for bootstrap).
29677 Rewrite a pair of strings.
29678
36f5ff04
RM
296792009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29680
29681 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
29682
973c6c85 296832009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
29684
29685 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
29686
05d21547
AB
296872009-12-21 Andreas Born <futur.andy@googlemail.com>
29688
29689 * kern/env.c (grub_env_context_open): Mark exported variable for
29690 reexport.
29691
0175d51f
AB
296922009-12-21 Andreas Born <futur.andy@googlemail.com>
29693
29694 * kern/env.c (grub_env_export): Create nonexistent variables before
29695 exporting.
29696
7f39d92f 296972009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 29698
7f39d92f 29699 * include/grub/auth.h: Include `<grub/i18n.h>'.
29700 (GRUB_GET_PASSWORD): Gettextizze string.
29701 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
29702 menu_text.c.
29703 (grub_utf8_to_ucs4_alloc): Fix indentation.
29704 (grub_print_ucs4): Likewise.
29705 (grub_getstringwidth): Likewise.
29706 (print_message_indented): New declaration.
29707 * normal/auth.c: Include `<grub/i18n.h>'.
29708 (grub_auth_check_authentication): Gettexttize string.
29709 * normal/cmdline.c: Include `<grub/i18n.h>'.
29710 (grub_cmdline_get): Gettextizze.
29711 * normal/color.c: Include `<grub/i18n.h>'.
29712 (grub_parse_color_name_pair): Gettexttize strings.
29713 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
29714 string (use `print_message_indented').
29715 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
29716 `include/grub/normal.h'.
29717 (print_message_indented): Renamed to ...
29718 (grub_print_message_indented): ... this. Remove `static' qualifer (now
29719 used in normal/main.c).
29720 (print_message): Use `grub_print_message_indented' instead of
29721 `print_message_indented'.
29722 (print_timeout): Likewise.
29723 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
29724 (grub_normal_print_device_info): Gettexttize strings.
29725 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
29726
3041d898
VS
297272009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29728
29729 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
29730 of arguments. Return number of tokens and not arguments. All users
29731 updated.
29732
de15bf8e
VS
297332009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29734
29735 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
29736 non-MSDOS paritions.
29737
e0a6ca52
VS
297382009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
29739
29740 * include/grub/types.h (UNUSED): Removed since it conflicts with
29741 NetBSD headers. All users changed to direct __attribute__ ((unused)).
29742 Reported by Grégoire Sutre.
29743
b99518d1 297442009-12-19 Carles Pina i Estany <carles@pina.cat>
29745
29746 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
29747 (grub_print_ucs4_alloc): Likewise.
29748 (grub_getstringwidth): Likewise.
29749 * normal/main.c (grub_normal_init_page): Gettextize version string.
29750 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
29751 (getstringwidth): Renamed to ...
29752 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
29753 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
29754 (grub_print_ucs4): Remove `static' qualifer (now used in
29755 normal/main.c).
29756 * po/POTFILES: Add normal/main.c.
29757
bfd5e52b 297582009-12-19 Carles Pina i Estany <carles@pina.cat>
29759
29760 * normal/menu_text.c (STANDARD_MARGIN): New macro.
29761 (print_message_indented): Add `margin_left' and `margin_right'
29762 parameters.
29763 (print_message): Update `print_message_indented' calls. Adds '\n' to the
29764 strings.
29765 (print_timeout): Use `print_message_indented' to print the message.
29766 Deletes `second_stage' parameter.
29767 (run_menu): Update `print_timeout' calls.
29768
5a1ad2b9
VS
297692009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29770
29771 Fix console palette on OpenFirmware.
29772
29773 * term/ieee1275/ofconsole.c (MAX): Removed.
29774 (colors): Redone based on VGA palette.
29775 (grub_ofconsole_setcolor): Discard brightness bit since only 8
29776 colors are supported.
29777 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
29778
b045f00a
VS
297792009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29780
29781 Fix potential EfiEmu double prepare.
29782
29783 * efiemu/main.c (prepared): New variable
29784 (grub_efiemu_unload): Set prepare to '0'.
29785 (grub_efiemu_prepare): Return if already prepared. Set prepared.
29786
29787 set_virtual_address_map support.
29788
29789 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
29790 prototype.
29791 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
29792 prototype.
29793 (grub_efiemu_crc32): Likewise.
29794 (grub_efiemu_crc64): Likewise.
29795 (grub_efiemu_set_virtual_address_map): Likewise.
29796 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
29797 New definition.
29798 (grub_autoefi_set_virtual_address_map): Likewise.
29799 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
29800 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
29801 Restructure flow to accomodate it.
29802 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
29803 (grub_efiemu_crc): Recompute CRC32.
29804 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
29805 (efiemu_ptv_relocated): ... this. Made global. All users updated.
29806 * efiemu/symbols.c (relocated_handle): New variable.
29807 (grub_efiemu_free_syms): Free relocated_handle.
29808 (grub_efiemu_alloc_syms): Allocate relocated_handle.
29809 (grub_efiemu_write_sym_markers): New function.
29810 (grub_efiemu_set_virtual_address_map): Likewise.
29811
29812 Newer XNU parameters.
29813
29814 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
29815 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
29816 (grub_xnu_fill_devicetree): New prototype.
29817 (grub_xnu_heap_real_start): New variable.
29818 * loader/xnu.c (get_name_ptr): New function.
29819 (grub_xnu_load_driver): Fill namelen and name.
29820
29821 64-bit xnu support.
29822
29823 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
29824 and 'loader/macho64.c'.
29825 * conf/i386-pc.rmk: Likewise.
29826 * conf/x86_64-efi.rmk: Likewise.
29827 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
29828 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
29829 * include/grub/macho.h (grub_macho_segment64): New structure.
29830 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
29831 (grub_macho_size32): ... to this.
29832 (grub_macho32_get_entry_point): Renamed from ...
29833 (grub_macho_get_entry_point32): ... to this.
29834 (grub_macho_contains_macho64): New prototype.
29835 (grub_macho_size64): Likewise.
29836 (grub_macho_get_entry_point64): Likewise.
29837 (grub_macho32_load): Renamed from ...
29838 (grub_macho_load32): ... to this.
29839 (grub_macho32_filesize): Renamed from ...
29840 (grub_macho_filesize32): ... to this.
29841 (grub_macho32_readfile): Renamed from ...
29842 (grub_macho_readfile32): ... to this.
29843 (grub_macho_filesize64): New prototype.
29844 (grub_macho_readfile64): Likewise.
29845 (grub_macho_parse32): Likewise.
29846 (grub_macho_parse64): Likewise.
29847 * loader/macho.c: Split into ...
29848 * loader/machoXX.c: ... and this. Replace 32 with XX.
29849 * loader/macho32.c: New file.
29850 * loader/macho64.c: Likewise.
29851 * loader/xnu.c (grub_xnu_is_64bit): New variable.
29852 (grub_cmd_xnu_kernel): Make 32-bit only.
29853 (grub_cmd_xnu_kernel64): New function.
29854 (grub_xnu_load_driver): Support Mach-O 64.
29855 (grub_cmd_xnu_mkext): Likewise.
29856 * util/grub.d/30_os-prober.in (osx_entry): New function.
29857 Generate entries for 64-bit boot too.
29858
29859 Eliminate ad-hoc tree format in XNU and EfiEmu.
29860
29861 * efiemu/main.c (grub_efiemu_prepare): Update comment.
29862 * efiemu/pnvram.c: Rewritten to use environment variables.
29863 All users updated.
29864
29865 Inline utf16_to_utf8.
29866
29867 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
29868 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
29869 All users updated.
29870 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
29871
29872 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
29873 * commands/usbtest.c (grub_usb_get_string): ... move here.
29874 (usb_print_str): Fix error handling.
29875 * include/grub/usb.h (grub_usb_get_string): Remove.
29876
29877 UTF-8 to UTF-16 transformation.
29878
29879 * conf/common.rmk (pkglib_MODULES): Add charset.mod
29880 (charset_mod_SOURCES): New variable.
29881 (charset_mod_CFLAGS): Likewise.
29882 (charset_mod_LDFLAGS): Likewise.
29883 * include/grub/utf.h: New file.
29884 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
29885
29886 Support for device properties.
29887
29888 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
29889 (grub_xnu_devprop_device_header): Likewise.
29890 (grub_xnu_devprop_device_descriptor): Likewise.
29891 (grub_xnu_devprop_add_device): New prototype.
29892 (grub_xnu_devprop_remove_device): Likewise.
29893 (grub_xnu_devprop_remove_property): Likewise.
29894 (grub_xnu_devprop_add_property_utf8): Likewise.
29895 (grub_xnu_devprop_add_property_utf16): Likewise.
29896 (grub_cpu_xnu_init): Likewise.
29897 (grub_cpu_xnu_fini): Likewise.
29898 (grub_cpu_xnu_unload): Likewise.
29899 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
29900 (property_descriptor): Likewise.
29901 (devices): New variable.
29902 (grub_xnu_devprop_remove_property): New function.
29903 (grub_xnu_devprop_add_device): Likewise.
29904 (grub_xnu_devprop_remove_device): Likewise.
29905 (grub_xnu_devprop_add_property): Likewise.
29906 (grub_xnu_devprop_add_property_utf8): Likewise.
29907 (grub_xnu_devprop_add_property_utf16): Likewise.
29908 (hextoval): Likewise.
29909 (grub_cpu_xnu_fill_devprop): Likewise.
29910 (grub_cmd_devprop_load): Likewise.
29911 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
29912 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
29913 (cmd_devprop_load): New variable.
29914 (grub_cpu_xnu_init): New function.
29915 (grub_cpu_xnu_fini): Likewise.
29916 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
29917 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
29918 (grub_cmd_xnu_devtree): Likewise.
29919 (hextoval): New function.
29920 (unescape): Likewise.
29921 (grub_xnu_fill_devicetree): Likewise.
29922
29923 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
29924 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
29925
0945f181
VS
299262009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29927
29928 Workaround for broken ATI VBE.
29929
29930 * video/i386/pc/vbe.c (last_set_mode): New variable.
29931 (grub_vbe_set_video_mode): Set 'last_set_mode'.
29932 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
29933 (grub_video_vbe_setup): Don't check for reserved flag.
29934
0ad46fd7 299352009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
29936
29937 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
29938 the `find' command.
29939
c179ebe4
VS
299402009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
29941
29942 UUID support for HFS.
29943
29944 * fs/hfs.c (grub_hfs_uuid): New function.
29945 (grub_hfs_fs): New value .uuid.
29946 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
29947
0ad46fd7 299482009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
29949
29950 Fix a segfault with parsing unknown long options.
29951
29952 * util/grub-mkrelpath.c (options): Zero terminate it.
29953
c4a3e41a
CPE
299542009-12-13 Carles Pina i Estany <carles@pina.cat>
29955
29956 * include/grub/misc.h (grub_puts): New declaration.
29957 (grub_puts_): Likewise.
a22008a6 29958 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
29959 (grub_puts_): Likewise.
29960
2e8a7602
RM
299612009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29962
29963 * util/grub-probe.c (probe): Improve error message.
29964
b50b77b9
RM
299652009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29966
29967 * loader/i386/multiboot_elfxx.c
29968 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
29969 initialization.
29970
299712009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29972
29973 Relocator framework
29974
29975 * loader/i386/xnu_helper.S: Removed. All users updated.
29976 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
29977 (relocator_mod_SOURCES): New variable.
29978 (relocator_mod_CFLAGS): Likewise.
29979 (relocator_mod_LDFLAGS): Likewise.
29980 (relocator_mod_ASFLAGS): Likewise.
29981 * conf/x86_64.rmk: Likewise.
29982 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
29983 (grub_multiboot_payload_entry_offset): Likewise.
29984 (grub_multiboot_forward_relocator): Likewise.
29985 (grub_multiboot_forward_relocator_end): Likewise.
29986 (grub_multiboot_backward_relocator): Likewise.
29987 (grub_multiboot_backward_relocator_end): Likewise.
29988 (grub_multiboot_payload_eip): New variable.
29989 (grub_multiboot_payload_orig): Likewise.
29990 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
29991 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
29992 * include/grub/i386/memory.h
29993 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
29994 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
29995 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
29996 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
29997 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
29998 * include/grub/i386/relocator.h: New file.
29999 * include/grub/x86_64/relocator.h: Likewise.
30000 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
30001 (XNU_RELOCATOR): New macro.
30002 (grub_xnu_launcher_start): Remove.
30003 (grub_xnu_launcher_end): Likewise.
30004 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
30005 (grub_xnu_heap_real_start): Remove.
30006 (grub_xnu_heap_start): Change to void *. All users updated.
30007 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
30008 * lib/i386/relocator.c: New file.
30009 * lib/i386/relocator_asm.S: Likewise.
30010 * lib/i386/relocator_backward.S: Likewise.
30011 * lib/mips/relocator.c: Likewise.
30012 * lib/mips/relocator_asm.S: Likewise.
30013 * lib/relocator.c: Likewise.
30014 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
30015 (entry): Removed.
30016 (playground): Likewise.
30017 (grub_multiboot_payload_orig): New variable.
30018 (grub_multiboot_payload_dest): Likewise.
30019 (grub_multiboot_payload_size): Likewise.
30020 (grub_multiboot_payload_eip): Likewise.
30021 (grub_multiboot_payload_esp): Likewise.
30022 (grub_multiboot_boot): Use grub_relocator32_boot.
30023 (grub_multiboot_unload): Free relocators.
30024 (grub_multiboot): Setup stack. Use relocators.
30025 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
30026 (grub_multiboot_load_elfXX): Use relocators.
30027 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
30028 (grub_multiboot_payload_size): Likewise.
30029 (grub_multiboot_payload_dest): Likewise.
30030 (grub_multiboot_payload_entry_offset): Likewise.
30031 (grub_multiboot_forward_relocator): Likewise.
30032 (grub_multiboot_backward_relocator): Likewise.
30033 (grub_multiboot_real_boot): Likewise.
30034 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
30035 (grub_xnu_entry_point): Likewise.
30036 (grub_xnu_arg1): Likewise.
30037 (grub_xnu_stack): Likewise.
30038 (grub_xnu_launch): Removed.
30039 (grub_xnu_boot_resume): New function.
30040 (grub_xnu_boot): Use relocators.
30041 * loader/i386/xnu_helper.S: Removed.
30042 * loader/xnu.c (grub_xnu_heap_start): New variable.
30043 (grub_xnu_heap_size): Likewise.
30044 (grub_xnu_heap_malloc): Use relocators.
30045 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
30046
29eb90c6
VS
300472009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
30048
30049 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
30050 anything.
30051
31027430
CPE
300522009-12-13 Carles Pina i Estany <carles@pina.cat>
30053
30054 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
30055 GRUB_ERR_NONE before calling grub_env_set.
30056
dc0c71d9
RM
300572009-12-12 Robert Millan <rmh@aybabtu.com>
30058
30059 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
30060 * genmk.rb (video): New variable.
30061 (CLEANFILES, VIDEOFILES): Add #{video}.
30062 (#{video}): New target rule.
30063 * genvideolist.sh: New file.
30064 * Makefile.in (pkglib_DATA): Add video.lst.
30065 (video.lst): New target rule.
30066 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
30067 `video.lst'.
30068 * util/grub.d/30_os-prober.in: Replace `vbe' with
30069 ${GRUB_VIDEO_BACKEND}.
30070
2a4bfcf0
RM
300712009-12-11 Robert Millan <rmh.grub@aybabtu.com>
30072
30073 * THANKS: Add David Miller.
30074
2a3aa4d5
RM
300752009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
30076
30077 libpciaccess support.
30078
30079 * Makefile.in (LIBPCIACCESS): New variable.
30080 (enable_grub_emu_pci): Likewise.
30081 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
30082 util/pci.c and commands/lspci.c.
30083 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
30084 * configure.ac (grub-emu-pci): New option.
30085 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
30086 (grub_pci_device_unmap_range): Likewise.
30087 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
30088 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
30089 (grub_pci_address_t) [!GRUB_UTIL]: New type.
30090 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
30091 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
30092 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
30093 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
30094 * include/grub/pciutils.h: New file.
30095 * util/pci.c: Likewise.
30096
0ad46fd7 300972009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
30098
30099 * util/misc.c: Don't include <errno.h> twice.
30100
0ad46fd7 301012009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
30102
30103 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
30104 name in an error message.
30105 (grub_biosdisk_rw): Likewise.
30106
2e59983c
VS
301072009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30108
30109 Eliminate NTFS 4Gib barrier.
30110
30111 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
30112 (read_run_data): Likewise.
30113 (grub_ntfs_read_run_list): Likewise.
30114 (grub_ntfs_read_block): Likewise.
30115 (grub_ntfs_iterate_dir): Likewise.
30116 (read_mft): Likewise.
30117 (read_data): Likewise.
30118 Use COM_LOG_LEN.
30119 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
30120 to avoid 64-bit division
30121 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
30122 (grub_ntfs_rlst): Use grub_disk_addr_t.
30123
71ee178a
VS
301242009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30125
30126 Eliminate grub-fstest 4Gib barrier.
30127
30128 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
30129 (read_file): Fix error reporting.
30130
2520d4b8
VS
301312009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30132
30133 Eliminate hexdump 4Gib barrier.
30134
30135 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
30136 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
30137
e1f27065
VS
301382009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30139
30140 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
30141 Fixes amarsh bug.
30142
1a0f7f45
RM
301432009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
30144
30145 Remove miscellaneous files in distclean target.
30146
30147 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
30148
c631d9fb
CW
301492009-12-09 Colin Watson <cjwatson@ubuntu.com>
30150
30151 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
30152 if they're already set. This resolves the conflict between my
30153 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
30154 fixing the --grub-probe option again.
30155 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
30156 change on 2009-10-06, so that we now once again source
30157 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30158
7c7b6106
RM
301592009-12-08 Robert Millan <rmh.grub@aybabtu.com>
30160
30161 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
30162 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
30163 `util/devicemap.c'.
30164
e3069ec1
CPE
301652009-12-08 Carles Pina i Estany <carles@pina.cat>
30166
30167 * include/grub/misc.h (grub_printf_): New declaration.
30168 * kern/misc.c (grub_printf_): New definition.
30169 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
30170 instead of `grub_printf' and `_'.
30171 * normal/menu_entry.c (store_completion): Likewise.
30172 (run): Likewise.
30173 (grub_menu_entry_run): Likewise.
30174 * normal/menu_text.c (grub_wait_after_message): Likewise.
30175 (notify_booting): Likewise.
30176 (notify_fallback): Likewise.
30177 (notify_execution_failure): Likewise.
30178
d6ceebf1
CW
301792009-12-07 Colin Watson <cjwatson@ubuntu.com>
30180
30181 * configure.ac: Check for vasprintf.
30182 * util/misc.c (asprintf): Move allocation from here ...
30183 (vasprintf): ... to here. New function.
30184 (xasprintf): New function.
30185 * include/grub/util/misc.h (vasprintf, xasprintf): Add
30186 prototypes.
30187 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
30188 * util/grub-mkfont.c (write_font): Likewise.
30189 * util/grub-probe.c (probe): Likewise.
30190 * util/hostdisk.c (make_device_name): Likewise.
30191
de6daa8b
DM
301922009-12-06 David S. Miller <davem@sunset.davemloft.net>
30193
30194 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
30195 anything even prefixed with 'cdrom' as a cdrom.
30196
0ad46fd7 301972009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
30198
30199 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
30200 mount points.
30201
98d3dc02
CPE
302022009-12-05 Carles Pina i Estany <carles@pina.cat>
30203
30204 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
30205 grub_gettext_msg_list.
30206 (grub_gettext_gettranslation_from_position): Return const char *
30207 and not char *.
a2c1332b 30208 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
30209 returns from the list if existing there.
30210 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
30211 (grub_gettext_delete_list): Delete the list.
30212 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
30213 lang environment variable is changed.
30214 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
30215
b283f108
VS
302162009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
30217
30218 Rename kernel.mod to kernel.img.
30219
30220 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
30221 (kernel_mod_EXPORTS): Rename to ...
30222 (kernel_img_EXPORTS): ... this.
30223 (kernel_mod_SOURCES): Rename to ...
30224 (kernel_img_SOURCES): ... this.
30225 (kernel_mod_HEADERS): Rename to ...
30226 (kernel_img_HEADERS): ... this. All users updated.
30227 (kernel_mod_CFLAGS): Rename to ...
30228 (kernel_img_CFLAGS): ... this.
30229 (kernel_mod_ASFLAGS): Rename to ...
30230 (kernel_img_ASFLAGS): ... this.
30231 (kernel_mod_LDFLAGS): Rename to ...
30232 (kernel_img_LDFLAGS): ... this.
30233 * conf/x86_64-efi.rmk: Likewise.
30234 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
30235 (read_kernel_image): ... this. All users updated.
30236 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
30237
69055f8a
CPE
302382009-12-05 Carles Pina i Estany <carles@pina.cat>
30239
30240 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
30241 (print_spaces): New function.
30242 (grub_print_ucs4): New function.
30243 (getstringwidth): New function.
30244 (print_message_indented): New function.
30245 (print_message): Gettexttize strings using print_message_indented.
30246 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
30247 width.
30248 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 30249 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
30250 Gettextize.
30251 * normal/menu_entry.c (store_completion): Cleanup the gettextized
30252 string.
30253 (run): Likewise.
30254 (grub_menu_entry_run): Likewise.
30255 * PO/POTFILES: Add normal/menu_entry.c.
30256
f616f51c
VS
302572009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
30258
30259 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
30260
57bbe3be
CPE
302612009-12-05 Carles Pina i Estany <carles@pina.cat>
30262
30263 * util/grub-install.in: Install gettext .mo files.
30264 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
30265
013d67a1
CPE
302662009-12-05 Carles Pina i Estany <carles@pina.cat>
30267
30268 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
30269 grub_dprintf.
30270
fb954db0
RM
302712009-12-05 Robert Millan <rmh.grub@aybabtu.com>
30272
30273 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
30274 non-firmware-dependant one in realmode.S takes precedence.
30275
6b8474f8
RM
302762009-12-04 Robert Millan <rmh.grub@aybabtu.com>
30277
30278 * commands/halt.c: Replace misc arch-specific headers with
30279 `<grub/misc.h>'.
30280 * commands/reboot.c: Likewise.
30281 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
30282 `<grub/misc.h>'.
30283 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
30284 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
30285 (kernel_img_SOURCES): ... to here.
30286
30287 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
30288 * include/grub/i386/pc/init.h: Likewise.
30289 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
30290 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30291
30292 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
30293
30294 * include/grub/i386/halt.h: Remove.
30295 * include/grub/i386/reboot.h: Likewise.
30296
30297 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
30298
4b2e6ca2
DM
302992009-12-03 David S. Miller <davem@sunset.davemloft.net>
30300
30301 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
30302 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
30303 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
30304 "progname.h"
30305 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
30306 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30307 (usage): Add missing comma in printf.
30308
5239348f
RM
303092009-12-02 Robert Millan <rmh.grub@aybabtu.com>
30310
30311 Use the same reboot approach on i386 coreboot and qemu as we do on
30312 BIOS.
30313
30314 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
30315 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
30316 * kern/i386/reboot.c: Remove.
30317 * include/grub/i386/reboot.h (grub_reboot): Export function.
30318 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
30319 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
30320 0xf000:0xfff0 instead of 0xffff:0x0000.
30321 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
30322 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
30323
ef34cbd4
RM
303242009-11-30 Robert Millan <rmh.grub@aybabtu.com>
30325
30326 Fix $srcdir != $objdir build.
30327
30328 * Makefile.in (po/%.po): Rewrite as ...
30329 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
30330
dc9837ea
ST
303312009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
30332
30333 Fix GNU/Hurd grub-install crash.
30334 * util/grub-probe.c (probe): Try to access `path' only when it is not
30335 NULL.
30336
2f857f98
VS
303372009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30338
30339 Correct module naming.
30340
30341 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
30342 (GRUB_MOD_INIT(efi_uga)): ... to this
30343 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
30344 (GRUB_MOD_FINI(efi_uga)): ... to this
30345 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
30346 (GRUB_MOD_INIT(efi_gop)): ... to this
30347 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
30348 (GRUB_MOD_FINI(efi_gop)): ... to this
30349
c5448046
RM
303502009-11-28 Robert Millan <rmh.grub@aybabtu.com>
30351
30352 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
30353 translatable.
30354 (usage): Translate `arg' strings using gettext().
30355 Thanks to Jordi Mallach for the suggestion.
30356
c85184ad
VS
303572009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30358
30359 GOP support. Based on patch from Bean
30360 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30361
30362 * video/efi_gop.c: New file.
30363 * include/grub/efi/graphics_output.h: Likewise.
30364 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
30365 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30366 variables.
30367 * conf/x86_64-efi.rmk: Likewise.
30368
8a4c48d8
VS
303692009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30370
30371 Rename efi_fb to efi_uga.
30372
30373 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30374 'efi_uga.mod'.
30375 (efi_fb_mod_SOURCES): Rename this ...
30376 (efi_uga_mod_SOURCES): ... to this.
30377 (efi_fb_mod_CFLAGS): Rename this ...
30378 (efi_uga_mod_CFLAGS): ... to this.
30379 (efi_fb_mod_LDFLAGS): Rename this ...
30380 (efi_uga_mod_LDFLAGS): ... to this.
30381 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30382 'efi_uga.mod'.
30383 (efi_fb_mod_SOURCES): Rename this ...
30384 (efi_uga_mod_SOURCES): ... to this.
30385 (efi_fb_mod_CFLAGS): Rename this ...
30386 (efi_uga_mod_CFLAGS): ... to this.
30387 (efi_fb_mod_LDFLAGS): Rename this ...
30388 (efi_uga_mod_LDFLAGS): ... to this.
30389 * video/efi_fb.c: Move this ...
30390 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
30391
fb6c1a7b
RM
303922009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30393
30394 * po/README: New file. Explain our PO file workflow.
30395
3bc7896c
RM
303962009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30397
30398 * po/ChangeLog: Remove. Move relevant entries back to ...
30399 * ChangeLog: ... here.
30400 * po/ca.po: Remove (now handled by TLP).
30401 * po/id.po: Likewise.
30402 * po/zh_CN.po: Likewise.
30403 * Makefile.in (LINGUAS): Initialize in a way that supports
30404 empty set.
30405
9ed4841d
RM
304062009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30407
30408 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
30409 reliing on po/LINGUAS.
30410 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
30411 (po/%.po): ... this.
30412
0ad46fd7 304132009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
30414
30415 * util/i386/efi/grub-mkimage.c: Include "progname.h".
30416 (main): Use `program_name' instead of nonexistent `progname'.
30417
e30dd392
FZ
304182009-11-26 Felix Zielcke <fzielcke@z-51.de>
30419
30420 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30421 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
30422
7656de4f
RM
304232009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30424
30425 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
30426 commit.
30427 * conf/i386-efi.rmk: Likewise.
30428 * conf/i386-ieee1275.rmk: Likewise.
30429 * conf/powerpc-ieee1275.rmk: Likewise.
30430 * conf/sparc64-ieee1275.rmk: Likewise.
30431 * conf/x86_64-efi.rmk: Likewise.
30432
db77c4d4
FZ
304332009-11-26 Felix Zielcke <fzielcke@z-51.de>
30434
30435 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
30436
a755bb04
FZ
304372009-11-26 Felix Zielcke <fzielcke@z-51.de>
30438
30439 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
30440
8a4c07fd
RM
304412009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30442
30443 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
30444 (grub_mkdevicemap_SOURCES): New variable.
30445 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
30446 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
30447 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
30448 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
30449 (grub_mkdevicemap_SOURCES): Remove.
30450 * conf/i386-efi.rmk: Likewise.
30451 * conf/i386-ieee1275.rmk: Likewise.
30452 * conf/i386-pc.rmk: Likewise.
30453 * conf/powerpc-ieee1275.rmk: Likewise.
30454 * conf/sparc64-ieee1275.rmk: Likewise.
30455 * conf/x86_64-efi.rmk: Likewise.
30456 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
30457 (usage): Fix strings to use `program_name'.
30458 (main): Initialize gettext.
30459 * util/grub-editenv.c: Likewise.
30460 * util/grub-emu.c: Likewise.
30461 * util/grub-fstest.c: Likewise.
30462 * util/grub-mkdevicemap.c: Likewise.
30463 * util/grub-mkfont.c: Likewise.
30464 * util/grub-mkrelpath.c: Likewise.
30465 * util/grub-pe2elf.c: Likewise.
30466 * util/grub-probe.c: Likewise.
30467 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30468 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
30469 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30470
30471 * util/misc.c: Include `"progname.h"'.
30472 (progname): Remove variable.
30473 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
30474
6f61ed55
FZ
304752009-11-25 Felix Zielcke <fzielcke@z-51.de>
30476
30477 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
30478 printf and print a newline after the menuentry header line.
30479 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30480
f022876b
FZ
304812009-11-25 Felix Zielcke <fzielcke@z-51.de>
30482
30483 autoconf >= 2.60 support $(localedir).
30484
30485 * INSTALL: Note that autoconf 2.60 is required.
30486 * configure.ac (AC_PREREQ): Bump to 2.60.
30487 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
30488 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
30489
6717926e
YB
304902009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
30491
30492 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
30493 aclocal is run.
30494
08806a54
RM
304952009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30496
30497 * normal/main.c (grub_normal_read_line): Fix off-by-one
30498 buffer overflow.
30499
13b33fba
RM
305002009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30501
30502 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
30503 "parser.grub" in grub_command_execute() call.
30504
4a8572e9
CPE
305052009-11-24 Carles Pina i Estany <carles@pina.cat>
30506
30507 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
30508 * conf/i386-efi.rmk: Likewise.
30509 * conf/i386-ieee1275.rmk: Likewise.
30510 * conf/i386-pc.rmk: Likewise.
30511 * conf/powerpc-ieee1275.rmk: Likewise.
30512 * conf/sparc64-ieee1275.rmk: Likewise.
30513 * conf/x86_64-efi.rmk: Likewise.
30514 * gettext/gettex.c: Include <grub/i18n.h>.
30515 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
30516 here ...
30517 * include/grub/i18n.h: ... to here
30518 * include/grub/i18n.h: ... to here.
30519 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 30520 (grub_gettext_dummy): Move above user.
4a8572e9 30521
bee48093
FZ
305222009-11-24 Felix Zielcke <fzielcke@z-51.de>
30523
30524 * util/Makefile.in (install-local): Convert a `for' into a normal
30525 shell expansion.
30526
a031e91c
RM
305272009-11-24 Robert Millan <rmh.grub@aybabtu.com>
30528
30529 * autogen.sh: Add automake call.
30530 * config.guess: Remove.
30531 * config.sub: Likewise.
30532 * install-sh: Likewise.
30533
26bec39d
FZ
305342009-11-24 Felix Zielcke <fzielcke@z-51.de>
30535
30536 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
30537
8e2532fd
FZ
305382009-11-24 Felix Zielcke <fzielcke@z-51.de>
30539
30540 * util/Makefile.in (install-local): Convert a make `$(foreach)'
30541 function to a normal shell `for'.
30542
fefa1b7d
FZ
305432009-11-24 Felix Zielcke <fzielcke@z-51.de>
30544
30545 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30546
4501250b
FZ
305472009-11-24 Felix Zielcke <fzielcke@z-51.de>
30548
30549 * util/grub-mkrelpath.c: New file.
30550 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
30551 (grub_mkrelpath_SOURCES): New variable.
30552 * include/grub/util/misc.h: New function prototype.
30553 * util/misc.c (make_system_path_relative_to_its_root): New function.
30554
30555 * util/grub-mkconfig_lib.in (bindir): New variable.
30556 (grub_mkrelpath): Likewise.
30557 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
30558
30559 * util/probe.c (probe): Make the file path relative to its root.
30560 Change a info message to use the GRUB path. Enable again the
30561 check if we can read the file with GRUB facilities.
30562
30563 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
30564 to its root.
30565
11d9778b
FZ
305662009-11-24 Felix Zielcke <fzielcke@z-51.de>
30567
30568 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
30569 platform.
30570
4465287d
FZ
305712009-11-24 Felix Zielcke <fzielcke@z-51.de>
30572
30573 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
30574 strncmp().
30575
62b47f22
FZ
305762009-11-24 Felix Zielcke <fzielcke@z-51.de>
30577
30578 * util/getroot.c (grub_util_is_dmraid): New function.
30579 (grub_util_get_dev_abstraction): Treat dmraid and multipath
30580 devices as normal ones, not as LVM.
30581
1eafb9b9 305822009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
30583
30584 * conf/common.rmk: Add grub-gettext_lib target and updates
30585 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
30586 LDFLAGS.
30587 * gettext/gettext.c: New file. (Reads mo files).
30588 * include/grub/file.h (grub_file_pread): New prototype.
30589 * include/grub/i18n.h (_): New prototype.
30590 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
30591 prototypes.
30592 * kern/misc.c (grub_gettext_dummy): New function.
30593 * normal/menu_text.c: Include <grub/i18n.h>.
30594 * normal/menu_text.c (print_timeout): Gettexttize string.
30595 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
30596 * po/POTFILES: Add `normal/menu_text.c'.
30597 * po/ca.po: Add new translations.
c3ea6bd4
CPE
30598 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
30599 gettext module and defines locale_dir and lang in grub.cfg.
30600 * NEWS: Add gettext support.
30601
0fdb2568
RM
306022009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30603
30604 * util/hostdisk.c: Include `<grub/i18n.h>'.
30605 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
30606 (make_device_name): Rewrite using asprintf.
30607 (convert_system_partition_to_system_disk): Replace 0 with NULL.
30608 (find_system_device): If a device is not found, generate one just
30609 by reusing the OS path name.
30610 (read_device_map): Make it permissible for device.map not to exist.
30611
f515aa62
RM
306122009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30613
30614 * script/sh/execute.c: Move from here ...
30615 * script/execute.c: ... to here. Update all users.
30616 * script/sh/function.c: Move from here ...
30617 * script/function.c: ... to here. Update all users.
30618 * script/sh/lexer.c: Move from here ...
30619 * script/lexer.c: ... to here. Update all users.
30620 * script/sh/main.c: Move from here ...
30621 * script/main.c: ... to here. Update all users.
30622 * script/sh/parser.y: Move from here ...
30623 * script/parser.y: ... to here. Update all users.
30624 * script/sh/script.c: Move from here ...
30625 * script/script.c: ... to here. Update all users.
30626
f84b481b
RM
306272009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30628
30629 * configure.ac: Detect all `emu' platforms. Define
30630 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
30631 --enable-grub-emu logic. Disable include/grub/machine
30632 symlink on `emu' platforms.
30633
30634 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
30635 * gensymlist.sh.in: Likewise.
30636
30637 * include/grub/i386/coreboot/machine.h: Remove file.
30638 * include/grub/i386/efi/machine.h: Likewise.
30639 * include/grub/i386/ieee1275/machine.h: Likewise.
30640 * include/grub/i386/pc/machine.h: Likewise.
30641 * include/grub/i386/qemu/machine.h: Likewise.
30642 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30643 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30644 * include/grub/x86_64/efi/machine.h: Likewise.
30645
30646 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
30647 * commands/halt.c: Likewise.
30648 * commands/reboot.c: Likewise.
30649 * include/grub/autoefi.h: Likewise.
30650 * include/grub/i386/at_keyboard.h: Likewise.
30651 * include/grub/i386/kernel.h: Likewise.
30652 * include/grub/i386/loader.h: Likewise.
30653 * include/grub/i386/pc/memory.h: Likewise.
30654 * kern/dl.c: Likewise.
30655 * kern/i386/coreboot/init.c: Likewise.
30656 * loader/i386/bsd.c: Likewise.
30657 * loader/i386/linux.c: Likewise.
30658 * loader/multiboot_loader.c: Likewise.
30659 * term/i386/pc/serial.c: Likewise.
30660 * term/usb_keyboard.c: Likewise.
30661
30662 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
30663 `<grub/machine/machine.h>'
30664 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
30665 * util/misc.c: Remove `<grub/machine/machine.h>' and
30666 `<grub/machine/time.h>'.
30667
30668 * Makefile.in (enable_grub_emu): Remove variable.
30669 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
30670
30671 * conf/any-emu.rmk: New file.
30672 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
30673 (grub_emu_init.c): Move from here ...
30674 * conf/any-emu.rmk: ... to here.
30675
30676 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
30677 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
30678 * conf/any-emu.rmk: ... to here.
30679
4efeab03
RM
306802009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30681
30682 * include/grub/parser.h (grub_parser_register): Document need
30683 of `name' parameter.
30684 * normal/main.c (grub_normal_read_line): Simplify prompt string.
30685 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
30686 "sh" to "grub".
30687
ea1dd8bf
RM
306882009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30689
30690 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
30691 `$(XGETTEXT)'.
30692 * include/grub/i18n.h (N_): New macro.
30693 * util/mkisofs/mkisofs.h: Likewise.
30694 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
30695 around N_().
30696 (usage): Use gettext() to translate help strings when printing them.
30697
0c140626
RM
306982009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30699
30700 Based on patch from Bean
30701 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30702
30703 * video/efi_fb.c: New file.
30704 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
30705 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30706 variables.
30707 * conf/x86_64-efi.rmk: Likewise.
30708
87d58298
RM
307092009-11-22 Robert Millan <rmh.grub@aybabtu.com>
30710
30711 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
30712 * util/i386/pc/grub-setup.c: Likewise.
30713
994cc3a3
ST
307142009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
30715
30716 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
30717 <hurd/fs.h>
30718 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
30719 file_get_storage_info to implement grub_guess_root_device.
30720
26a61d6a
FZ
307212009-11-21 Felix Zielcke <fzielcke@z-51.de>
30722
30723 * Makefile.in (target): Use make's builtin $(shell) function
30724 instead of calling directly $(SHELL) to create the locale directories,
30725 inside the $(foreach) function.
30726
74ff1dd5
FZ
307272009-11-21 Felix Zielcke <fzielcke@z-51.de>
30728
30729 * util/grub-mkrescue.in: Print an error and usage if output option
30730 has not been given.
30731
0b787d0e
FZ
307322009-11-21 Felix Zielcke <fzielcke@z-51.de>
30733
30734 Patch from Loïc Minier <loic.minier@ubuntu.com>.
30735 * util/grub.d/30_os-prober.in: Cope with Linux entries where
30736 root and /boot are on different devices.
30737
1164b270
RM
307382009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30739
30740 Fix build for srcdir != objdir.
30741
30742 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
30743 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
30744 $(srcdir).
30745 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
30746 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
30747 reference for input.
30748
13774a2f
RM
307492009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30750
30751 * util/grub-mkrescue.in: Use source directory direcly (without copiing
30752 or hardlinking it). Remove -J option, Joliet is not compatible with
30753 multiple source directories.
30754
efda854e
RM
307552009-11-21 Carles Pina i Estany <carles@pina.cat>
307562009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30757
30758 * util/grub-mkrescue.in: Recognize `--override-directory' option.
30759 (process_input_dir): New function. Process an arbitrary input
30760 directory.
30761 Misc adjustments to support both "override mode" and system-wide mode.
30762
6c09890c
FZ
307632009-11-20 Felix Zielcke <fzielcke@z-51.de>
30764
30765 * configure.ac (UNIFONT_BDF): Rename to ...
30766 (FONT_SOURCE): ... this. Update all users.
30767
a797824f
FZ
307682009-11-20 Felix Zielcke <fzielcke@z-51.de>
30769
30770 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
30771 to the list of unifont files to look for.
30772
cd4f42b0
RM
307732009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30774
30775 Patch from Joe Auricchio <jauricchio@gmail.com>
30776 * commands/minicmd.c (grub_mini_cmd_clear): New function.
30777 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
30778 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
30779
393c783d
FZ
307802009-11-19 Felix Zielcke <fzielcke@z-51.de>
30781
30782 * Makefile.in (install-local): Add a missing backslash.
30783
b2f1e327
FZ
307842009-11-19 Felix Zielcke <fzielcke@z-51.de>
30785
30786 * include/grub/x86_64/io.h: New file.
30787
f577f7a0
RM
307882009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30789
30790 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
30791 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
30792 Include `"progname.h"'.
30793 (main): Initialize gettext.
30794 * util/i386/pc/grub-setup.c: Gettexttize.
30795 * util/i386/pc/grub-mkimage.c: Likewise.
30796
30797 * Makefile.in (po/*.po): Redefine as ...
30798 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
30799
3bc7896c
RM
30800 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
30801
c37943b6
RM
308022009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30803
30804 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
30805 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
30806 (program_name): Remove.
30807 (main): Initialize gettext support.
6323f705
RM
30808 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
30809 Include `<libintl.h>'.
30810 (_): New macro.
c37943b6
RM
30811
30812 * util/mkisofs/eltorito.c: Gettexttize.
30813 * util/mkisofs/joliet.c: Likewise.
30814 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
30815 * util/mkisofs/multi.c: Likewise.
30816 * util/mkisofs/rock.c: Likewise.
30817 * util/mkisofs/tree.c: Likewise.
30818 * util/mkisofs/write.c: Likewise.
30819
3bc7896c
RM
30820 * po/POTFILES: Update with new files.
30821
5ce77c6e
RM
308222009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30823
30824 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
30825 * util/mkisofs/iso9660.h: Likewise.
30826 * util/mkisofs/joliet.c: Likewise.
30827 * util/mkisofs/mkisofs.c: Likewise.
30828 * util/mkisofs/mkisofs.h: Likewise.
30829 * util/mkisofs/rock.c: Likewise.
30830 * util/mkisofs/tree.c: Likewise.
30831 * util/mkisofs/write.c: Likewise.
30832
30833 * util/mkisofs/eltorito.c (rcsid): Remove.
30834 * util/mkisofs/hash.c: Likewise.
30835 * util/mkisofs/joliet.c: Likewise.
30836 * util/mkisofs/name.c: Likewise.
30837 * util/mkisofs/rock.c: Likewise.
30838 * util/mkisofs/tree.c: Likewise.
30839 * util/mkisofs/write.c: Likewise.
30840
1dabbc77
RM
308412009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30842
30843 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
30844 instead of static allocation.
30845 * util/mkisofs/match.h: Likewise.
30846
633877cb
RM
308472009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30848
3bc7896c
RM
30849 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
30850 and `util/grub.d/10_linux.in'.
633877cb
RM
30851 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
30852 translatable Shell files.
30853
af1c0c85
RM
308542009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30855
30856 * Makefile.in ($(srcdir)/aclocal.m4): New target.
30857
769ae37b
RM
308582009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30859
30860 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 30861 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
30862 * util/grub.d/10_kfreebsd.in (bindir): New variable.
30863 Add gettext initialization.
30864 (kfreebsd_entry): Make menuentry output translatable.
30865
308662009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30867
30868 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
30869 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
30870 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
30871 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
30872 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 30873 * po/LINGUAS: New file.
769ae37b
RM
30874
308752009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30876
30877 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
30878 other things).
30879 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
30880 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
30881 bindtextdomain() calls for gettext initialization.
30882
308832009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30884
30885 * gnulib/progname.c: New file (imported from Gnulib).
30886 * gnulib/progname.h: Likewise.
30887 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30888 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
30889 (usage): Replace `progname' with `program_name'.
30890 (main): Use set_program_name() for program name initialization.
30891
308922009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30893
30894 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
30895 from here ...
30896 * Makefile.in (CPPFLAGS): ... to here.
30897
308982009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30899
30900 * aclocal.m4: Move from here ...
30901 * acinclude.m4: ... to here.
30902 * autogen.sh: Add call to `aclocal'.
30903 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
30904
309052009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30906
30907 * Makefile.in (CLEANFILES): Add `po/*.mo'.
30908 (LINGUAS): New variable.
30909 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
30910 (install-local): Install MO files.
30911 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
30912 * include/grub/i18n.h: New file.
3bc7896c
RM
30913 * po/POTFILES: New file.
30914 * po/ca.po: New file.
769ae37b
RM
30915 * util/grub.d/10_linux.in (bindir): New variable.
30916 Add gettext initialization.
30917 (linux_entry): Make menuentry output translatable.
30918 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
30919 (usage): Make --help output translatable.
30920 (main): Initialize gettext.
30921
02c0a6ad
RM
309222009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30923
30924 * import_gcry.py: New file (written by Vladimir with minor
30925 adjustments).
30926 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
30927 ciphers.
30928 * INSTALL: Document that Python is required for bootstrap.
30929
309302009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30931
30932 Import ciphers from libgcrypt 1.4.4.
30933
30934 * lib/libgcrypt/cipher/ChangeLog
30935 * lib/libgcrypt/cipher/ac.c
30936 * lib/libgcrypt/cipher/arcfour.c
30937 * lib/libgcrypt/cipher/bithelp.h
30938 * lib/libgcrypt/cipher/blowfish.c
30939 * lib/libgcrypt/cipher/camellia-glue.c
30940 * lib/libgcrypt/cipher/camellia.c
30941 * lib/libgcrypt/cipher/camellia.h
30942 * lib/libgcrypt/cipher/cast5.c
30943 * lib/libgcrypt/cipher/cipher.c
30944 * lib/libgcrypt/cipher/crc.c
30945 * lib/libgcrypt/cipher/des.c
30946 * lib/libgcrypt/cipher/dsa.c
30947 * lib/libgcrypt/cipher/ecc.c
30948 * lib/libgcrypt/cipher/elgamal.c
30949 * lib/libgcrypt/cipher/hash-common.c
30950 * lib/libgcrypt/cipher/hash-common.h
30951 * lib/libgcrypt/cipher/hmac-tests.c
30952 * lib/libgcrypt/cipher/md.c
30953 * lib/libgcrypt/cipher/md4.c
30954 * lib/libgcrypt/cipher/md5.c
30955 * lib/libgcrypt/cipher/primegen.c
30956 * lib/libgcrypt/cipher/pubkey.c
30957 * lib/libgcrypt/cipher/rfc2268.c
30958 * lib/libgcrypt/cipher/rijndael-tables.h
30959 * lib/libgcrypt/cipher/rijndael.c
30960 * lib/libgcrypt/cipher/rmd.h
30961 * lib/libgcrypt/cipher/rmd160.c
30962 * lib/libgcrypt/cipher/rsa.c
30963 * lib/libgcrypt/cipher/seed.c
30964 * lib/libgcrypt/cipher/serpent.c
30965 * lib/libgcrypt/cipher/sha1.c
30966 * lib/libgcrypt/cipher/sha256.c
30967 * lib/libgcrypt/cipher/sha512.c
30968 * lib/libgcrypt/cipher/tiger.c
30969 * lib/libgcrypt/cipher/twofish.c
30970 * lib/libgcrypt/cipher/whirlpool.c
30971
af2f93ac
RM
309722009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30973
30974 Fix build for systems without error().
30975
30976 * gnulib/error.c: New file (imported from Gnulib).
30977 * gnulib/error.h: Likewise.
30978 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
30979 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
30980 (this variable is now used by error()).
30981
73fb3dd5
FZ
309822009-11-16 Felix Zielcke <fzielcke@z-51.de>
30983
814f5e96
FZ
30984 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
30985 instead of relying that char is signed.
73fb3dd5 30986
a691ca33
VS
309872009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
30988
30989 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
30990 blocksize different from specified.
30991 (grub_pxefs_read): Likewise.
30992
2af8f0f4
FZ
309932009-11-16 Felix Zielcke <fzielcke@z-51.de>
30994
30995 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
30996
30997 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
30998 (grub_ata_readwrite): Likewise. Update 2 format strings.
30999 (grub_atapi_read): Likewise.
31000
31001 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
31002 * conf/i386.rmk (pkglib_MODULES): ... to here ...
31003 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
31004 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
31005 (ata_mod_LDFLAGS): Move from here ...
31006 * conf/i386.rmk: ... to here ...
31007 * conf/x86_64-efi.rmk: ... and here.
31008 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
31009 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
31010
83bdecaf
RM
310112009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31012
31013 Relicense multiboot.h, with RMS' blessing.
31014
31015 * include/multiboot.h: Change to X11 license.
31016
fd6fd3d7
RM
310172009-11-15 Robert Millan <rmh.grub@aybabtu.com>
31018
31019 Support --version in grub-mkisofs.
31020
31021 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
31022 (OPTION_VERSION): New macro.
31023 (ld_options): Recognize --version.
31024 (usage): Move `program_name' from here ...
31025 (program_name): ... to here. Add `static' qualifier.
31026 (main): Recognize `OPTION_VERSION'.
31027
16a88c49
FZ
310282009-11-15 Felix Zielcke <fzielcke@z-51.de>
31029
31030 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
31031 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
31032
a4158476
RM
310332009-11-14 Robert Millan <rmh.grub@aybabtu.com>
31034
31035 Fix help2man generation for mkisofs.
31036
31037 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
31038 (usage): Send output to stdout (rather than stderr).
31039
fc2208b0
RM
310402009-11-14 Robert Millan <rmh.grub@aybabtu.com>
31041
31042 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
31043 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
31044 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
31045 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
31046 (bin_SCRIPTS): Add `grub-mkfloppy'.
31047 (grub_mkfloppy_SOURCES): New variable.
31048
31049 * util/grub-mkrescue.in: New file.
31050 * util/i386/pc/grub-mkfloppy.in: New file.
31051
31052 * util/i386/coreboot/grub-mkrescue.in: Remove.
31053 * util/i386/pc/grub-mkrescue.in: Remove.
31054
8d0edf4a
RM
310552009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31056
31057 * include/grub/multiboot.h (struct grub_multiboot_header): Move
31058 from here ...
31059 * include/multiboot.h (struct multiboot_header): ... to here. Update
31060 all users.
31061 * include/grub/multiboot.h (struct grub_multiboot_info): Move
31062 from here ...
31063 * include/multiboot.h (struct multiboot_info): ... to here. Update
31064 all users.
31065 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
31066 from here ...
31067 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
31068 Update all users.
31069 * include/grub/multiboot.h (struct grub_mod_list): Move
31070 from here ...
31071 * include/multiboot.h (struct multiboot_mod_list): ... to here.
31072 Update all users.
31073
a73f5969
RM
310742009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31075
31076 * include/multiboot2.h (multiboot_word): Rename from this ...
31077 (multiboot2_word): ... to this. Update all users.
31078 (multiboot_header): Rename from this ...
31079 (multiboot2_header): ... to this. Update all users.
31080 (multiboot_tag_header): Rename from this ...
31081 (multiboot2_tag_header): ... to this. Update all users.
31082 (multiboot_tag_start): Rename from this ...
31083 (multiboot2_tag_start): ... to this. Update all users.
31084 (multiboot_tag_name): Rename from this ...
31085 (multiboot2_tag_name): ... to this. Update all users.
31086 (multiboot_tag_module): Rename from this ...
31087 (multiboot2_tag_module): ... to this. Update all users.
31088 (multiboot_tag_memory): Rename from this ...
31089 (multiboot2_tag_memory): ... to this. Update all users.
31090 (multiboot_tag_unused): Rename from this ...
31091 (multiboot2_tag_unused): ... to this. Update all users.
31092 (multiboot_tag_end): Rename from this ...
31093 (multiboot2_tag_end): ... to this. Update all users.
31094
1c8927f0
RM
310952009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31096
31097 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
31098 this platform we should support Multiboot1 first.
31099
31100 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
31101 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
31102 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
31103
6e1e0d89
RM
311042009-11-12 Robert Millan <rmh.grub@aybabtu.com>
31105
31106 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
31107 of write calls (converting them to fwrite() if they aren't already).
31108 (get_torito_desc): Likewise.
31109 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
31110
7f2b34d8
RM
311112009-11-12 Robert Millan <rmh.grub@aybabtu.com>
31112
31113 * util/i386/pc/grub-install.in: Move from here ...
31114 * util/grub-install.in: ... to here. Update all users.
31115
c0ef3311
CW
311162009-11-11 Colin Watson <cjwatson@ubuntu.com>
31117
31118 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
31119
e1f240ff
RM
311202009-11-11 Robert Millan <rmh.grub@aybabtu.com>
31121
31122 Support for El Torito without floppy emulation.
31123
31124 * util/mkisofs/eltorito.c: Include `<errno.h>'.
31125 (init_boot_catalog): Improve error handling.
31126 (get_torito_desc): Don't use floppy emulation unless requested by
31127 user. Patch boot information table when requested via
31128 `-boot-info-table'.
31129 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
31130 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
31131 (use_boot_info_table): New variables.
31132 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
31133 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
31134 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
31135 `--eltorito-emul-floppy'.
31136 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
31137 and `OPTION_ELTORITO_EMUL_FLOPPY'.
31138 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
31139 (use_boot_info_table, get_731): New prototypes.
31140 * util/mkisofs/write.c (get_731): New function.
31141
af7d4de5
FZ
311422009-11-11 Felix Zielcke <fzielcke@z-51.de>
31143
31144 Fix the generation of the man page.
31145
31146 * util/pc/i386/grub-install.in: Source
31147 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31148
2c55dbc0
RM
311492009-11-11 Robert Millan <rmh.grub@aybabtu.com>
31150
31151 Large file support for grub-mkisofs.
31152
31153 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
31154 * util/mkisofs/mkisofs.c (next_extent, last_extent)
31155 (session_start): Upgrade type to `uint64_t'. Update all users.
31156 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
31157 (struct directory_entry): Upgrade type of `starting_block' and
31158 `size' to `uint64_t'. Update all users.
31159 (struct deferred): Remove unused structure.
31160 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
31161 Update all users.
31162 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
31163 file is larger than `UINT32_MAX'.
31164 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
31165 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
31166 return value.
31167 (struct deferred_write): Upgrade type of `extent' and `size' to
31168 `uint64_t'. Update all users.
31169 (last_extent_written): Upgrade type to `uint64_t'. Update all
31170 users.
31171 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
31172 Update all users. Upgrade type of `remain' to `int64_t' and
31173 `use' to `size_t'. Use error() to handle fread() errors.
31174 (write_files): Rely on write_one_file() rather than calling
31175 xfwrite() directly.
31176
6a9cead5
FZ
311772009-11-09 Felix Zielcke <fzielcke@z-51.de>
31178
31179 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
31180
4825d790
RM
311812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31182
31183 * util/mkisofs/fnmatch.c: Remove.
31184 * util/mkisofs/getopt1.c: Likewise.
31185 * util/mkisofs/getopt.c: Likewise.
31186 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
31187 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
31188 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
31189 `gnulib/getopt1.c' and `gnulib/getopt.c'.
31190 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
31191
31192 * configure.ac: Detect `mingw32msvc' host_os.
31193 Check for lstat(), getuid() and getgid().
31194
31195 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
31196 instances of `u_char' with `uint8_t'.
31197
31198 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
31199 [!HAVE_GETUID] (getuid): New function (stub).
31200 [!HAVE_GETGID] (getgid): Likewise.
31201 [!HAVE_LSTAT] (lstat): Likewise.
31202 [!S_IROTH] (S_IROTH): New macro (dummy).
31203 [!S_IRGRP] (S_IRGRP): Likewise.
31204
84b860d8
RM
312052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31206
31207 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
31208 conditional expression).
31209
66e9b712
RM
312102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31211
31212 Import from Gnulib.
31213
31214 * gnulib/fnmatch.c: New file.
31215 * gnulib/fnmatch.h: Likewise.
31216 * gnulib/fnmatch_loop.c: Likewise.
31217 * gnulib/getopt.c: Likewise.
31218 * gnulib/getopt.h: Likewise.
31219 * gnulib/getopt1.c: Likewise.
31220 * gnulib/getopt_int.h: Likewise.
31221 * gnulib/gettext.h: Likewise.
31222
34f4a5b0
RM
312232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31224
31225 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
31226 * normal/handler.c (read_handler_list): Likewise.
31227
ac451143
RM
312282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31229
31230 Misc cleanup.
31231
31232 * kern/command.c (grub_register_command_prio): Use
31233 grub_zalloc() instead of explicitly zeroing data.
31234 * kern/list.c: Include `<grub/mm.h>'.
31235 (grub_named_list_find): Replace `0' with `NULL'.
31236 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
31237 (fs_module_list): Change type to `grub_named_list_t'. Update all
31238 users.
31239 * normal/dyncmd.c (read_command_list): Add space between function
31240 call and parenthesis.
31241 * normal/handler.c (read_handler_list): Likewise.
31242
4089b167
RM
312432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31244
31245 * normal/auth.c (punishment_delay): Moved from here ...
31246 (grub_auth_strcmp): ... to here (inside function).
31247
325f5037
RM
312482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31249
31250 * include/grub/list.h (struct grub_named_list): Remove `const'
31251 qualifier from `name'.
31252 (struct grub_prio_list): Likewise.
31253
7aea29a3
RM
312542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31255
31256 * normal/auth.c: Include `<grub/time.h>'.
31257 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
31258
3fd6f044
RM
312592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31260
31261 * normal/auth.c (punishment_delay): New variable.
31262 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
31263 (grub_auth_check_authentication): Punish failed login attempts with
31264 an incremental (2^N) delay.
31265
a4cd68e4
RM
312662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31267
31268 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
31269 path with $(srcdir).
31270
7ad12f43
VS
312712009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
31272
31273 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
31274
c1129f03
RM
312752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31276
31277 * util/i386/coreboot/grub-mkrescue.in: New file.
31278 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
31279 variables.
31280
31281 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
31282 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
31283 * configure.ac: Add header and function checks to satisfy grub-mkisofs
31284 requirements.
31285 * util/mkisofs/defaults.h: New file.
31286 * util/mkisofs/eltorito.c: Likewise.
31287 * util/mkisofs/exclude.h: Likewise.
31288 * util/mkisofs/fnmatch.c: Likewise.
31289 * util/mkisofs/getopt.c: Likewise.
31290 * util/mkisofs/getopt1.c: Likewise.
31291 * util/mkisofs/hash.c: Likewise.
31292 * util/mkisofs/include/fctldefs.h: Likewise.
31293 * util/mkisofs/include/mconfig.h: Likewise.
31294 * util/mkisofs/include/prototyp.h: Likewise.
31295 * util/mkisofs/include/statdefs.h: Likewise.
31296 * util/mkisofs/iso9660.h: Likewise.
31297 * util/mkisofs/joliet.c: Likewise.
31298 * util/mkisofs/match.c: Likewise.
31299 * util/mkisofs/match.h: Likewise.
31300 * util/mkisofs/mkisofs.c: Likewise.
31301 * util/mkisofs/mkisofs.h: Likewise.
31302 * util/mkisofs/multi.c: Likewise.
31303 * util/mkisofs/name.c: Likewise.
31304 * util/mkisofs/rock.c: Likewise.
31305 * util/mkisofs/tree.c: Likewise.
31306 * util/mkisofs/write.c: Likewise.
31307
ec8bb77d
VS
313082009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
31309
31310 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
31311 being insecure.
31312
3716b12c
RM
313132009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31314
31315 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
31316 `grub-mkimage' (and use $0 when possible).
31317
b97b7b91
RM
313182009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31319
31320 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
31321 error message for excessively large memory map.
31322
04114812
RM
313232009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31324
31325 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
31326 executable bit.
31327
e4eb2373
RM
313282009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31329
31330 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
31331 message for coreboot users.
31332
c926e1d5 313332009-11-07 Robert Millan <rmh.grub@aybabtu.com>
31334
31335 Fix build with GNU gold.
31336
31337 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
31338 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
31339 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
31340 link addresses.
31341 * aclocal.m4: Likewise.
31342
86e5b1db 313432009-11-04 Felix Zielcke <fzielcke@z-51.de>
31344
31345 * configure.ac (AC_PREREQ): Bump to 2.59d.
31346 * INSTALL: Make it more clear when Autoconf and Ruby are
31347 needed and when to run `./autogen.sh'.
31348
246cd78f 313492009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
31350
31351 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
31352 OSes.
31353
4f9dfb37 313542009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31355
31356 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
31357
b82bd5e1 313582009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31359
31360 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
31361 giving it to GNU Mach.
31362
ff1a9bca 313632009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31364
31365 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
31366 GNU partition number to get internal GRUB partition number.
31367
61697d9c 313682009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31369
31370 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
31371 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
31372
a50569e1 313732009-11-01 Robert Millan <rmh.grub@aybabtu.com>
31374
31375 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
31376 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
31377 case.
31378
5b153867 313792009-11-01 Felix Zielcke <fzielcke@z-51.de>
31380
31381 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
31382
d9e2cd70 313832009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31384
31385 Fix build problem.
31386
31387 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
31388 `-isystem=$(srcdir)/include'.
31389
805111a4 313902009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31391
31392 * util/i386/pc/grub-install.in: Remove hint that device.map should be
31393 checked (grub-install doesn't currently rely on it).
31394
fa6e945f 313952009-10-29 Robert Millan <rmh.grub@aybabtu.com>
31396
31397 Revert SVN r2660.
31398
31399 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
31400 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31401 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
31402 * conf/i386-ieee1275.rmk: Likewise.
31403 * conf/i386-pc.rmk: Likewise.
31404 * conf/powerpc-ieee1275.rmk: Likewise.
31405 * conf/sparc64-ieee1275.rmk: Likewise.
31406 * conf/x86_64-efi.rmk: Likewise.
31407
cee15086 314082009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31409
31410 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
31411
95b9239e 314122009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31413
31414 * include/grub/misc.h: Stop checking for APPLE_CC.
31415
2ed19dfd 314162009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31417
31418 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
31419 doesn't cause an infinite call loop.
31420
fdcdde19 314212009-10-28 Felix Zielcke <fzielcke@z-51.de>
31422
31423 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
31424 strings.
31425
cefabfe1 314262009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31427
31428 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
31429 variable.
31430 * Makefile.in: Likewise.
31431
ed96ab6d 314322009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31433
31434 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
31435
0579b753 314362009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31437
31438 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
31439
478df409 314402009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31441
31442 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
31443
083d1679 314442009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31445
31446 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
31447 from here ...
31448 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
31449
5947ae32 314502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31451
31452 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
31453 in $(MAKEINFO) invocation. This makes it clear in output that
31454 errors are being ignored.
31455
94180ff6 314562009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31457
31458 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
31459 from here ...
31460 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31461 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
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
9031b03a 314682009-10-26 Colin Watson <cjwatson@ubuntu.com>
31469
31470 * util/grub-editenv.c (main): If only a command is given, use
31471 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
31472 (usage): FILENAME is now optional and has a default.
31473
e4f6809b 314742009-10-26 Colin Watson <cjwatson@ubuntu.com>
31475
31476 Improve grub-mkconfig performance when there are several menu
31477 entries on a single filesystem.
31478
31479 * util/grub.d/10_linux.in (linux_entry): Cache the output of
31480 prepare_grub_to_access_device.
31481 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31482 * util/grub.d/30_os-prober.in: Likewise.
31483
67937d4d 314842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31485
31486 * util/grub.d/10_freebsd.in: Remove.
31487 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
31488 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
31489
ee3756cc 314902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31491
5c35048e 31492 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 31493
4dea1c6f 314942009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31495
31496 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
31497 grub_util_error() call.
31498
042484d7 314992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31500
31501 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
31502 `reserved_first_sector' member.
31503 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
31504 `reserved_first_sector' to 1.
31505 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
31506 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
31507 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
31508 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
31509 filesystems which begin at first sector.
31510 (options): New option --skip-fs-probe.
31511 (main): Handle --skip-fs-probe and pass it to setup().
31512
d64448a7 315132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31514
31515 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
31516 (memset): Fix function prototype.
31517
508d42ec 315182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
315192009-10-25 Vasily Averin <vvs@parallels.com>
31520
31521 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
31522 `dirent.direntlen == 0'.
31523
b240e30c 315242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31525
31526 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
31527 `cpio'.
31528 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
31529
346e7fbe 315302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31531
31532 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
31533 `__trampoline_setup' and `__ucmpdi2'.
31534 * include/grub/powerpc/libgcc.h: Only export symbols for functions
31535 that libgcc provides.
31536
cdb308b0 315372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31538
31539 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
31540 * include/grub/sparc64/libgcc.h (memset): Likewise.
31541 * include/grub/misc.h (memset, memcmp): New function prototypes.
31542
fb26abc2 315432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31544
31545 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
31546 `cpio'.
31547 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
31548
f6693890 315492009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31550
31551 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
31552 * docs/grub.cfg: Compensate for recent change in multiboot
31553 loader (since 2009-08-14 it won't pass filename to payload).
31554 * util/grub.d/10_hurd.in: Likewise.
31555
0933cdc0 315562009-10-21 Felix Zielcke <fzielcke@z-51.de>
31557
31558 * config.guess: Update to latest version from config git
31559 repository.
31560 * config.sub: Likewise.
31561
3b2fe8c2 315622009-10-20 Robert Millan <rmh.grub@aybabtu.com>
31563
31564 Fix build on sparc64.
31565
31566 * configure.ac: Perform checks for libgcc symbols before
31567 adding `-nostdlib' to LDFLAGS.
31568
46695a62 315692009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31570
31571 Let user specify OpenBSD root device.
31572
31573 * loader/i386/bsd.c (openbsd_root): New variable.
31574 (openbsd_opts): New option 'root'.
31575 (OPENBSD_ROOT_ARG): New macro.
31576 (grub_openbsd_boot): Use 'openbsd_root'.
31577 (grub_cmd_openbsd): Fill 'openbsd_root'.
31578
d2b6b7fc 315792009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31580
31581 * NEWS: Misc adjustments.
31582
421bd7ac 315832009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31584
31585 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
31586
f1d29d87 315872009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31588
31589 * configure.ac: Bump version to 1.97.
31590
6f3cd880 315912009-10-16 Colin Watson <cjwatson@ubuntu.com>
31592
31593 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
31594 -mno-3dnow on x86 architectures. Some toolchains enable these
31595 features by default, but they rely on registers that aren't enabled
31596 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
31597
035f7122 315982009-10-15 Robert Millan <rmh.grub@aybabtu.com>
31599
31600 Make entry text a bit more readable.
31601
31602 * util/grub.d/10_linux.in: Add `with' before `Linux'.
31603
44998e58 316042009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31605
31606 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
31607
cd2851b3 316082009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31609
31610 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
31611 operations.
31612
c6f3b249 316132009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31614
31615 * configure.ac: Add missing dollar.
31616
6b5886ba 316172009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31618
31619 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
31620
31621 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
31622 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
31623 exports.
31624 * include/grub/sparc64/libgcc.h: Likewise. Use
31625 preprocessor conditionals.
31626
e9d66f6d 316272009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31628
31629 * conf/common.rmk (grub-dumpbios): Remove rule.
31630 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
31631 * util/grub-dumpbios.in: Remove file.
31632
9155bc17 316332009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31634
31635 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
31636 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
31637
31638 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
31639 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
31640 users.
31641
31642 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
31643 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
31644 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
31645 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
31646 users.
31647
bf7f7a18 316482009-10-12 Robert Millan <rmh.grub@aybabtu.com>
31649
31650 * term/tparm.c: Switch to GPLv3.
31651
86564c26 316522009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31653
31654 * include/grub/i386/cpuid.h: Add header protection.
31655
5c936493 316562009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31657
31658 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
31659
31660 * include/grub/i386/cpuid.h: New file.
31661 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
31662 (has_longmode): Rename to ...
31663 (grub_cpuid_has_longmode): ... this. Update all users. Remove
31664 `static' attribute.
31665 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
31666 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
31667 on a CPU that doesn't implement AMD64 instruction set.
31668
186e7cf2 316692009-10-06 Colin Watson <cjwatson@ubuntu.com>
31670
31671 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
31672 that version.texi is rebuilt on version number changes.
31673
83b65c4a 316742009-10-06 Colin Watson <cjwatson@ubuntu.com>
31675
31676 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
31677 Fixes bug #27602.
31678
d244281c 316792009-10-06 Colin Watson <cjwatson@ubuntu.com>
31680
31681 * util/i386/pc/grub-install.in: Source
31682 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
31683 that the --grub-probe option will work.
31684 * util/sparc64/ieee1275/grub-install.in: Likewise.
31685
da25306d 316862009-10-05 Robert Millan <rmh.grub@aybabtu.com>
31687
31688 * configure.ac: Bump version to 1.97~beta4.
31689
e8ee83c0 316902009-10-03 Robert Millan <rmh.grub@aybabtu.com>
31691
31692 Resync grub-mkdevicemap in x86_64-efi.
31693
31694 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
31695 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
31696 `util/devicemap.c'.
31697
50dcabcf 316982009-10-01 Colin Watson <cjwatson@ubuntu.com>
31699
31700 * util/grub-editenv.c (create_envblk_file): Write new block with a
31701 .new suffix and then rename it into place, to ensure atomic
31702 creation.
31703
0e51c3a7 317042009-09-28 Robert Millan <rmh.grub@aybabtu.com>
31705
31706 Do not automatically install headers.
31707
31708 * Makefile.in (include_DATA): Remove. Update all users.
31709
31299a95 317102009-09-26 Robert Millan <rmh.grub@aybabtu.com>
31711
31712 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
31713 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
31714
31715 * util/osdetect.lua: Remove.
31716 * script/lua/lauxlib.c: Likewise.
31717 * script/lua/ldebug.c: Likewise.
31718 * script/lua/grub_main.c: Likewise.
31719 * script/lua/lauxlib.h: Likewise.
31720 * script/lua/ldebug.h: Likewise.
31721 * script/lua/ltablib.c: Likewise.
31722 * script/lua/liolib.c: Likewise.
31723 * script/lua/lstrlib.c: Likewise.
31724 * script/lua/lualib.h: Likewise.
31725 * script/lua/ldo.c: Likewise.
31726 * script/lua/ldump.c: Likewise.
31727 * script/lua/ldo.h: Likewise.
31728 * script/lua/loslib.c: Likewise.
31729 * script/lua/lundump.c: Likewise.
31730 * script/lua/grub_lib.c: Likewise.
31731 * script/lua/ldblib.c: Likewise.
31732 * script/lua/lundump.h: Likewise.
31733 * script/lua/lmem.c: Likewise.
31734 * script/lua/grub_lib.h: Likewise.
31735 * script/lua/lmathlib.c: Likewise.
31736 * script/lua/lstate.c: Likewise.
31737 * script/lua/ltm.c: Likewise.
31738 * script/lua/lvm.c: Likewise.
31739 * script/lua/lmem.h: Likewise.
31740 * script/lua/lstate.h: Likewise.
31741 * script/lua/ltm.h: Likewise.
31742 * script/lua/ltable.c: Likewise.
31743 * script/lua/lvm.h: Likewise.
31744 * script/lua/llex.c: Likewise.
31745 * script/lua/lgc.c: Likewise.
31746 * script/lua/grub_lua.h: Likewise.
31747 * script/lua/loadlib.c: Likewise.
31748 * script/lua/lfunc.c: Likewise.
31749 * script/lua/lopcodes.c: Likewise.
31750 * script/lua/lparser.c: Likewise.
31751 * script/lua/ltable.h: Likewise.
31752 * script/lua/llex.h: Likewise.
31753 * script/lua/lgc.h: Likewise.
31754 * script/lua/lfunc.h: Likewise.
31755 * script/lua/lbaselib.c: Likewise.
31756 * script/lua/lopcodes.h: Likewise.
31757 * script/lua/lparser.h: Likewise.
31758 * script/lua/lzio.c: Likewise.
31759 * script/lua/linit.c: Likewise.
31760 * script/lua/lobject.c: Likewise.
31761 * script/lua/llimits.h: Likewise.
31762 * script/lua/lstring.c: Likewise.
31763 * script/lua/lzio.h: Likewise.
31764 * script/lua/lapi.c: Likewise.
31765 * script/lua/lcode.c: Likewise.
31766 * script/lua/lua.h: Likewise.
31767 * script/lua/lobject.h: Likewise.
31768 * script/lua/lstring.h: Likewise.
31769 * script/lua/lapi.h: Likewise.
31770 * script/lua/lcode.h: Likewise.
31771 * script/lua/luaconf.h: Likewise.
31772
cb8a2c38 317732009-09-26 Colin Watson <cjwatson@ubuntu.com>
31774
31775 * docs/grub.texi (Command-line and menu entry commands): Document
31776 date and echo commands.
31777
6b9b6276 317782009-09-24 Pavel Roskin <proski@gnu.org>
31779
31780 * include/grub/kernel.h (struct grub_module_header): Remove
31781 `grub_module_header_types'. Make `type' unsigned. Make `size'
31782 32-bit on all platforms.
31783 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
31784 8-bit field. Use grub_host_to_target32() for `size'.
31785 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
31786 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
31787 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
31788
4e5a02a7 317892009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31790
31791 Fix "lost keypress" bug in at_keyboard.
31792
31793 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
31794 Checks for readyness of input buffer (without flushing it).
31795 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
31796 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
31797
c6dcedf6 317982009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31799
31800 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
31801 size check within GRUB_MACHINE_PCBIOS section.
31802
74c958b1 318032009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31804
31805 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
31806 return value.
31807 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
31808 KEYBOARD_ISREADY check.
31809 (grub_at_keyboard_checkkey): Rename to ...
31810 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
31811 Remove gratuitous cast.
31812
ff420223 318132009-09-23 Colin Watson <cjwatson@ubuntu.com>
31814
31815 * configure.ac: Call AC_PROG_MKDIR_P.
31816 * Makefile.in (docs/stamp-vti): Create docs directory. Create
31817 version.texi in $(builddir) rather than $(srcdir).
31818 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
31819 to makeinfo's @include search path.
31820
d96875df 318212009-09-23 Felix Zielcke <fzielcke@z-51.de>
31822
31823 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
31824
9b3f8365 318252009-09-23 Felix Zielcke <fzielcke@z-51.de>
31826
31827 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
31828 for `*.dpkg-new'.
31829
c44c90db 318302009-09-21 Colin Watson <cjwatson@ubuntu.com>
31831
31832 Build info documentation. Some code borrowed from Automake.
31833
31834 * configure.ac: Check for makeinfo.
31835 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
31836 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
31837 docs/version.texi.
31838 (MOSTLYCLEANFILES): Add vti.tmp.
31839 (docs/version.texi, docs/stamp-vti): Update automatically.
31840 (docs/grub.info): Build info documentation. Use --force and ignore
31841 errors for now.
31842 (all-local): Add $(INFOS).
31843 (install-local): Install info files.
31844 (uninstall): Uninstall info files.
31845 * docs/version.texi: Remove from revision control. This file is
31846 automatically generated on build now.
31847 * gendistlist.sh: Add `*.info'.
31848
e0b37bb5 318492009-09-21 Felix Zielcke <fzielcke@z-51.de>
31850
31851 * kern/term.c: Fix indentation.
31852
5a78865b 318532009-09-21 Felix Zielcke <fzielcke@z-51.de>
31854
31855 * util/hostdisk.c: Fix a comment.
31856
dace7e8a 318572009-09-20 Robert Millan <rmh.grub@aybabtu.com>
31858
31859 Fix regression introduced in r2539.
31860
31861 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
31862 to 0xA1.
31863
a83d079b 318642009-09-19 Colin Watson <cjwatson@ubuntu.com>
31865
31866 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 31867 os-prober. Under normal operation, it does not print anything to
31868 stderr; if it does, we need to debug it, and throwing away stderr
31869 makes that excessively difficult.
a83d079b 31870
be94a509 318712009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
31872
31873 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
31874
63f745e8 318752009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31876
31877 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
31878 AC_LANG_PROGRAM from autoconf.
31879 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
31880 prototypes (fixes warning).
31881
31882 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
31883 `--disable-werror' was used.
31884
bbb2a70f 318852009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31886
31887 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
31888 uninitialized `lastaddr'.
31889
77c24f1d 318902009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
31891
0f0b8c87 31892 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 31893
07197f23 318942009-09-14 Colin Watson <cjwatson@ubuntu.com>
31895
31896 * commands/test.c (get_fileinfo): Return immediately if
31897 grub_fs_probe fails.
31898
dabf1798 318992009-09-14 José Martínez <xosemp@gmail.com>
31900
31901 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
31902
d52109a7 319032009-09-14 Colin Watson <cjwatson@ubuntu.com>
31904
31905 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
31906 output.
31907
56532179 319082009-09-13 Robert Millan <rmh.grub@aybabtu.com>
31909
31910 * configure.ac: Remove --enable-grub-pe2elf. Only build
31911 grub-pe2elf when needed by the build system itself.
31912 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
31913
8ef070f5 319142009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31915
31916 * configure.ac: Bump version to 1.97~beta3.
31917 * docs/version.texi: Likewise.
31918
61229557 319192009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31920
31921 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
31922 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
31923 from here ...
31924 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
31925 (grub_linux_setup_video): ... to here (with some adjustments).
31926
5c9f8d84 319272009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31928
31929 Fix memory corruption issue (spotted by Colin Watson).
31930
31931 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
31932 causing returned size to be stored in an incorrect memory location.
31933 Fix use of uninitialized value when storing the returned size.
31934
e8f5d6e9 319352009-09-12 Yves Blusseau <blusseau@zetam.org>
31936
31937 Change clean rules to properly remove files
31938
31939 * genmk.rb: add new clean rules
31940 * Makefile.in (clean): add the new targets
31941 (mostlyclean): likewise
31942
cda2a409 319432009-09-11 Colin Watson <cjwatson@ubuntu.com>
31944
31945 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
31946 to grub_uint64_t.
31947 * fs/ntfs.c (init_file): Understand 64-bit sizes for
31948 non-resident files.
31949
86695375 319502009-09-11 Colin Watson <cjwatson@ubuntu.com>
31951
31952 * configure.ac: Don't look for help2man when cross-compiling. Fixes
31953 part of bug #27349.
31954
8aa1541a 319552009-09-10 Felix Zielcke <fzielcke@z-51.de>
31956
31957 * util/grub-mkconfig.in: Make the created config mode 400 and
31958 print a warning if it fails.
31959
48d9bb0a 319602009-09-10 Robert Millan <rmh.grub@aybabtu.com>
31961
31962 * util/grub.d/40_custom.in: Ask user to type custom entries below
31963 comment, rather than below 'exec tail' line.
31964
3b0521be 319652009-09-10 Colin Watson <cjwatson@ubuntu.com>
31966
31967 * util/grub.d/40_custom.in: Make sure that the explanatory text is
31968 visible in grub.cfg.
31969
50051d55 319702009-09-10 Colin Watson <cjwatson@ubuntu.com>
31971
31972 * util/grub.d/40_custom.in: Make it a little clearer how to use this
31973 file.
31974
c0d34387 319752009-09-10 Felix Zielcke <fzielcke@z-51.de>
31976
31977 * docs/grub.cfg: Add an example menu entry for memtest86+.
31978
80a608f3 319792009-09-09 Felix Zielcke <fzielcke@z-51.de>
31980
a2094832 31981 * config.guess: Update to latest version from config git.
80a608f3 31982 * config.sub: Likewise.
31983
99423078 319842009-09-08 Colin Watson <cjwatson@ubuntu.com>
31985
31986 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
31987 unknown-command case. Fixes bug #27320.
31988
44454e4c 319892009-09-08 Felix Zielcke <fzielcke@z-51.de>
31990
31991 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
31992 `help' if the command exists.
31993
e30d87ad 319942009-09-06 Robert Millan <rmh.grub@aybabtu.com>
31995
31996 * INSTALL: Require GCC 4.1.3 or later.
31997
9a86f1ec 319982009-09-06 Yves Blusseau <blusseau@zetam.org>
31999
32000 * Makefile.in (RMKFILES): add i386-qemu.rmk
32001 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
32002 $(srcdir)/stamp-h.in
32003
7f26d466 320042009-09-05 Robert Millan <rmh.grub@aybabtu.com>
32005
32006 * util/grub-probe.c (probe): Comment out buggy codepath, which
32007 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
32008 should be re-enabled after 1.97.
32009
3a613259 320102009-09-05 Felix Zielcke <fzielcke@z-51.de>
32011
32012 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
32013 find searches for.
32014
197f76c7 320152009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
32016
32017 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
32018 unnecessary calls to grub_error.
32019
70ba68ce 320202009-09-04 Colin Watson <cjwatson@ubuntu.com>
32021
32022 * NEWS: Mention `keystatus' and Unicode fonts.
32023
4ff0d7a4 320242009-09-04 Robert Millan <rmh.grub@aybabtu.com>
32025
32026 * configure.ac: Bump version to 1.97~beta2.
32027 * docs/version.texi: Likewise.
32028
77c55a87 320292009-09-03 Colin Watson <cjwatson@ubuntu.com>
32030
32031 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
32032 containing unwind information in some cases where it previously did
32033 not. Use -fno-dwarf2-cfi-asm if available to restore the old
32034 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
32035 discussion.
32036
f79572cd 320372009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
32038
32039 Embedding loadenv module into grub-emu
32040
32041 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
32042 commands/loadenv.c
32043 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
32044 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
32045 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
32046 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
32047 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
32048 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
32049
93a81088 320502009-09-03 Magnus Granberg <zorry@ume.nu>
32051
32052 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
32053 include -fPIE in the default specs.
32054 * configure.ac: Check if pie_possible is yes and add -fno-PIE
32055 to TARGET_CFLAGS.
32056
160034b2 320572009-09-03 Felix Zielcke <fzielcke@z-51.de>
32058
32059 * INSTALL: Note that GNU Bison 2.3 or later is required.
32060
087c07c4 320612009-09-03 Colin Watson <cjwatson@ubuntu.com>
32062
32063 * kern/i386/pc/startup.S: Fix typo.
32064
cbf978c0 320652009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
32066
32067 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
32068 according to GCS.
32069
320702009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 32071
32072 * docs/grub.texi (Naming convention): Describe one-based partition
32073 numbering.
32074 (Device syntax): Likewise.
32075 (File name syntax): Likewise.
32076 (Block list syntax): Likewise.
32077 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
32078 menu.lst.
32079 (File name syntax): Likewise.
32080 (Command-line and menu entry commands): Document acpi, blocklist,
32081 crc, export, insmod, keystatus, ls, set, and unset commands.
32082
f3e8cdfd 320832009-09-02 Colin Watson <cjwatson@ubuntu.com>
32084
32085 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
32086 to avoid implying that only one of --shift, --ctrl, or --alt may be
32087 used.
32088
c0bc232b 320892009-09-02 Colin Watson <cjwatson@ubuntu.com>
32090
32091 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
32092 rather than comparing against S_IFREG, which will almost never work.
32093
aa0f752d 320942009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
32095
32096 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
32097 (write_blocklists): Likewise.
32098
ecb3166a 320992009-09-01 Colin Watson <cjwatson@ubuntu.com>
32100
32101 * script/lua/grub_lua.h (fputs): Supply a format string as the first
32102 argument to grub_printf.
32103
c403a125 321042009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 32105
32106 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 32107 non GNU test.
31aba781 32108
b5e7312c 321092009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
32110
32111 * kern/file.c (grub_file_read): Spelling fix
32112
fe00f472 321132009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
32114
32115 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
32116 loading of headers in some cases.
32117
cc55302e 321182009-08-30 Robert Millan <rmh.grub@aybabtu.com>
32119
32120 * configure.ac: Bump version to 1.97~beta1.
32121 * docs/version.texi: Likewise.
32122
5c90cdd2 321232009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 32124
32125 * include/grub/i386/xnu.h: Add license header.
32126 include grub/err.h explicitly.
32127
c90edae4 321282009-08-29 Robert Millan <rmh.grub@aybabtu.com>
32129
32130 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
32131 to `ufs' in the vfs.root.mountfrom kernel parameter.
32132
d8888b5c 321332009-08-29 Robert Millan <rmh.grub@aybabtu.com>
32134
32135 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
32136
32137 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
32138 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
32139
32140 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
32141 `ARRAY_SIZE' macro.
32142
6f07b921 321432009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32144
32145 * kern/file.c (grub_file_read): Check offset.
32146 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
32147 * fs/jfs.c (grub_jfs_read_file): Likewise.
32148 * fs/ntfs.c (grub_ntfs_read): Likewise.
32149 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
32150 * fs/minix.c (grub_minix_read_file): Correct offset check.
32151 * fs/ufs.c (grub_ufs_read_file): Likewise.
32152
b4f34077 321532009-08-28 Colin Watson <cjwatson@ubuntu.com>
32154
32155 * term/i386/pc/console.c (bios_data_area): Cast
32156 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
32157
e7c69859 321582009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32159
32160 1-bit optimised blitters.
32161
32162 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
32163 prototype.
32164 (grub_video_fbblit_replace_24bit_1bit): Likewise.
32165 (grub_video_fbblit_replace_16bit_1bit): Likewise.
32166 (grub_video_fbblit_replace_8bit_1bit): Likewise.
32167 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
32168 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
32169 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
32170 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
32171 function.
32172 (grub_video_fbblit_replace_24bit_1bit): Likewise.
32173 (grub_video_fbblit_replace_16bit_1bit): Likewise.
32174 (grub_video_fbblit_replace_8bit_1bit): Likewise.
32175 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
32176 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
32177 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
32178 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
32179 when possible.
32180 * video/video.c (grub_video_get_blit_format): Return
32181 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
32182
a57da43f 321832009-08-28 Colin Watson <cjwatson@ubuntu.com>
32184
32185 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
32186 the first argument to grub_printf.
32187
4cbe67e5 321882009-08-28 Colin Watson <cjwatson@ubuntu.com>
321892009-08-28 Robert Millan <rmh.grub@aybabtu.com>
32190
32191 Add `getkeystatus' terminal method. Add a new `keystatus' command
32192 to query it.
32193
32194 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
32195 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
32196 modifier key bitmasks.
32197 (struct grub_term_input): Add `getkeystatus' member.
32198 (grub_getkeystatus): Add prototype.
32199 * kern/term.c (grub_getkeystatus): New function.
32200
32201 * include/grub/i386/pc/memory.h
32202 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
32203 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
32204 Data Area layout.
32205 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
32206 (grub_console_term_input): Set `getkeystatus' member.
32207 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
32208 constants.
32209 (grub_usb_keyboard_getreport): Likewise.
32210 (grub_usb_keyboard_checkkey): Likewise.
32211 (grub_usb_keyboard_getkeystatus): New function.
32212 (grub_usb_keyboard_term): Set `getkeystatus' member.
32213
32214 * commands/keystatus.c: New file.
32215 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
32216 (keystatus_mod_SOURCES): New variable.
32217 (keystatus_mod_CFLAGS): Likewise.
32218 (keystatus_mod_LDFLAGS): Likewise.
32219 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
32220 commands/keystatus.c.
32221 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32222 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32223 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32224 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32225 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32226 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 32227
6e2a9085 322282009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32229
32230 Split befs.mod and afs.mod into *_be.mod and *.mod
32231
32232 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
32233 (grub_fstest_SOURCES): Likewise.
32234 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
32235 (afs_be_mod_SOURCES): New variable.
32236 (afs_be_mod_CFLAGS): Likewise.
32237 (afs_be_mod_LDFLAGS): Likewise.
32238 (befs_be_mod_SOURCES): Likewise.
32239 (befs_be_mod_CFLAGS): Likewise.
32240 (befs_be_mod_LDFLAGS): Likewise.
32241 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
32242 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32243 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32244 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
32245 (grub_emu_SOURCES): Likewise.
32246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32247 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32248 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32249 * fs/afs_be.c: New file.
32250 * fs/befs_be.c: New file.
32251 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
32252 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
32253 (U16): Replaced with ...
32254 (grub_afs_to_cpu16): ...this. All users updated.
32255 (U32): Replaced with ...
32256 (grub_afs_to_cpu32): ...this. All users updated.
32257 (U64): Replaced with ...
32258 (grub_afs_to_cpu64): ...this. All users updated.
32259 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
32260 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 32261 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 32262 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
32263 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
32264 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
32265 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
32266 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
32267 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
32268 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
32269 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
32270
32a71655 322712009-08-26 Bean <bean123ch@gmail.com>
32272
32273 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
32274 64-bit number.
32275 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
32276 (grub_xfs_inode_block): Change return type to grub_uint64_t.
32277 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
32278
552bf6c5 322792009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32280
32281 NetBSD memory map support.
32282
32283 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
32284 (grub_netbsd_btinfo_mmap_header): New structure.
32285 (grub_netbsd_btinfo_mmap_entry): Likewise.
32286 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
32287
1ae2078c 322882009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32289
32290 Enable bsd.mod on coreboot.
32291
32292 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
32293 (bsd_mod_SOURCES): New variable.
32294 (bsd_mod_CFLAGS): Likewise.
32295 (bsd_mod_LDFLAGS): Likewise.
32296 (bsd_mod_ASFLAGS): Likewise.
32297 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
32298 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
32299
beefc598 323002009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32301
32302 Cleanup NetBSD root support.
32303
32304 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
32305 grub_bsd_get_device.
32306 Fix typo.
32307
3b76e68b 323082009-08-25 Felix Zielcke <fzielcke@z-51.de>
32309
32310 * util/grub.d/00_header.in: Move check for the video backend of
32311 gfxterm from here ...
32312 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
32313 a suitable video backend.
32314
aea664ea 323152009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32316
32317 Fix breakage in grub-setup.
32318
32319 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
32320 "msdos_partition_map".
32321
ff747d50 323222009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32323
32324 Fix breakage in normal/auth.c.
32325
32326 * normal/auth.c (grub_iswordseparator): New function.
32327
e7e1f93f 323282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32329
32330 Authentication support.
32331
32332 * commands/password.c: New file.
32333 * conf/common.rmk (pkglib_MODULES): Add password.mod.
32334 (password_mod_SOURCES): New variable.
32335 (password_mod_CFLAGS): Likewise.
32336 (password_mod_LDFLAGS): Likewise.
32337 (normal_mod_SOURCES): Add normal/auth.c.
32338 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
32339 normal/auth.c.
32340 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32341 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32342 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32343 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32344 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32345 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32346 * include/grub/auth.h: New file.
32347 * include/grub/err.h (grub_err_t): New enum value
32348 GRUB_ERR_ACCESS_DENIED.
32349 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
32350 'users'.
32351 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
32352 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
32353 users updated.
32354 * normal/auth.c: New file.
32355 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
32356 (grub_cmdline_run): Don't allow to go to command line without
32357 authentication.
32358 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
32359 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
32360 menuentry without superuser rights.
32361 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
32362 user isn't a superuser.
32363
70f1161d 323642009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32365
32366 Save space by inlining misc.c functions.
32367
32368 * kern/misc.c (grub_iswordseparator): Made static.
32369 * kern/misc.c (grub_strcat): Moved from here ...
32370 * include/grub/misc.h (grub_strcat): ... here. Inlined.
32371 * kern/misc.c (grub_strncat): Moved from here ...
32372 * include/grub/misc.h (grub_strncat): ... here. Inlined.
32373 * kern/misc.c (grub_strcasecmp): Moved from here ...
32374 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
32375 * kern/misc.c (grub_strncasecmp): Moved from here ...
32376 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
32377 * kern/misc.c (grub_isalpha): Moved from here ...
32378 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
32379 * kern/misc.c (grub_isdigit): Moved from here ...
32380 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
32381 * kern/misc.c (grub_isgraph): Moved from here ...
32382 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
32383 * kern/misc.c (grub_tolower): Moved from here ...
32384 * include/grub/misc.h (grub_tolower): ... here. Inlined.
32385
48e40bff 323862009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32387
32388 * script/sh/function.c (grub_script_function_find): Cut error message
32389 not to flood terminal.
32390 * script/sh/lexer.c (grub_script_yylex): Remove command line length
32391 limit.
32392 * script/sh/script.c (grub_script_arg_add): Duplicate string.
32393
c385bfc3 323942009-08-24 Colin Watson <cjwatson@ubuntu.com>
32395
32396 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
32397 `report' grub_uint8_t *.
32398 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
32399 Use a 50-millisecond timeout rather than just repeating
32400 grub_usb_keyboard_getreport 50 times.
32401 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
32402
2d21e3e8 324032009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32404
32405 Rename *_partition_map to part_*
32406
32407 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
32408 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
32409 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
32410 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
32411 All users updated.
32412 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
32413 All users updated.
32414 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
32415 * util/grub-probe.c (probe_partmap): Don't transform partition name
32416 to get module name.
32417
dd103c4e 324182009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32419
32420 Fix OpenBSD and NetBSD support.
32421
32422 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
32423 memory address conflict.
32424 (OPENBSD_MMAP_ACPI): New definition.
32425 (OPENBSD_MMAP_NVS): Likewise.
32426 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
32427 and OPENBSD_MMAP_NVS.
32428 Add memory map terminator
32429 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 32430 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 32431
16c84d74 324322009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32433
32434 Let user specify NetBSD root device.
32435
32436 * loader/i386/bsd.c (netbsd_root): New variable.
32437 (netbsd_opts): New option 'root'.
32438 (NETBSD_ROOT_ARG): New macro.
32439 (grub_netbsd_boot): Use 'netbsd_root'.
32440 (grub_bsd_unload): Free 'netbsd_root'.
32441 (grub_cmd_netbsd): Fill 'netbsd_root'.
32442
adb29902 324432009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32444
32445 Support for 64-bit NetBSD.
32446
32447 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
32448 point when booting non-FreeBSD.
32449
f5ae9f74 324502009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32451
32452 Support --no-smp and --no-acpi for NetBSD.
32453
32454 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
32455 (NETBSD_AB_NOACPI): Likewise.
32456 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
32457 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
32458
de74f136 324592009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32460
32461 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
32462 errors.
32463 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
32464 errors. Call grub_error when needed.
32465
e9a925da 324662009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32467
32468 * commands/search.c (search_fs): Try searching without autoload first.
32469 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
32470 filesystem module explicitly for faster booting.
32471
5174302b 324722009-08-23 Colin Watson <cjwatson@ubuntu.com>
32473
32474 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
32475
c8c80635 324762009-08-23 Colin Watson <cjwatson@ubuntu.com>
32477
32478 * util/grub.d/30_os-prober.in: Disable os-prober if
32479 `GRUB_DISABLE_OS_PROBER' was set to true.
32480
71acf5e5 324812009-08-23 Robert Millan <rmh.grub@aybabtu.com>
32482
32483 * partmap/pc.c: Rename to ...
32484 * partmap/msdos.c: ... this. Update all users.
32485 (grub_pc_partition_map): Rename to ...
32486 (grub_msdos_partition_map): ... this. Update all users.
32487
32488 * parttool/pcpart.c: Rename to ...
32489 * parttool/msdospart.c: ... this. Update all users.
32490
32491 * include/grub/pc_partition.h: Rename to ...
32492 * include/grub/msdos_partition.h: ... this. Update all users.
32493 (grub_pc_partition_bsd_entry): Rename to ...
32494 (grub_msdos_partition_bsd_entry): ... this. Update all users.
32495 (grub_pc_partition_disk_label): Rename to ...
32496 (grub_msdos_partition_disk_label): ... this. Update all users.
32497 (grub_pc_partition_entry): Rename to ...
32498 (grub_msdos_partition_entry): ... this. Update all users.
32499 (grub_pc_partition_mbr): Rename to ...
32500 (grub_msdos_partition_mbr): ... this. Update all users.
32501 (grub_pc_partition): Rename to ...
32502 (grub_msdos_partition): ... this. Update all users.
32503 (grub_pc_partition_is_empty): Rename to ...
32504 (grub_msdos_partition_is_empty): ... this. Update all users.
32505 (grub_pc_partition_is_extended): Rename to ...
32506 (grub_msdos_partition_is_extended): ... this. Update all users.
32507 (grub_pc_partition_is_bsd): Rename to ...
32508 (grub_msdos_partition_is_bsd): ... this. Update all users.
32509
32510 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
32511 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
32512 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
32513 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
32514 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
32515 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
32516 (gpt_mod_LDFLAGS): Rename to ...
32517 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
32518 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
32519 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
32520 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
32521 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
32522 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
32523 (part_gpt_mod_LDFLAGS): ... this.
32524 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
32525 `pcpart.mod' to `msdospart.mod'.
32526 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
32527 to ...
32528 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
32529 (msdospart_mod_LDFLAGS): ... this.
32530
c11fded5 325312009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32532
32533 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
32534 (openbsd_opts): Likewise.
32535 (netbsd_opts): Likewise.
32536 (freebsd_flags): Added 0 terminator.
32537 (openbsd_flags): Likewise.
32538 (netbsd_flags): Likewise.
32539 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
32540 (grub_cmd_freebsd): Transformed into extended command.
32541 (grub_cmd_openbsd): Likewise.
32542 (grub_cmd_netbsd): Likewise.
32543 (cmd_freebsd): Changed type to grub_extcmd_t.
32544 (cmd_openbsd): Likewise.
32545 (cmd_netbsd): Likewise.
32546 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
32547 grub_cmd_openbsd as extended commands.
32548 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
32549 cmd_netbsd and cmd_openbsd
32550
11d1c769 325512009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
32552
32553 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
32554
7a9094e5 325552009-08-21 Pavel Roskin <proski@gnu.org>
32556
5496c37e 32557 * Makefile.in (install-local): When checking if a file is in the
32558 build directory, use "test -e" to detect symlinks.
32559
7a9094e5 32560 * Makefile.in (install-local): Remove all files in
32561 $(DESTDIR)$(pkglibdir) before installing new files there.
32562
e53cea11 325632009-08-18 Felix Zielcke <fzielcke@z-51.de>
32564
32565 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
32566 grub-mkelfimage.
32567
9aced544 325682009-08-18 Felix Zielcke <fzielcke@z-51.de>
32569
32570 * util/grub-mkconfig.in: Don't use gfxterm by default if not
32571 explicitly specified by the user.
32572
b7da6bab 325732009-08-18 Pavel Roskin <proski@gnu.org>
32574
32575 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
32576 grub_uint8_t pointer for data.
32577 * include/grub/fbutil.h (struct grub_video_fbblit_info):
32578 Likewise.
32579 * video/fb/fbutil.c: Remove unnecessary casts.
32580
19f1b335 325812009-08-17 Michal Suchanek <hramrach@centrum.cz>
32582
32583 VBE cleanup.
32584
32585 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
32586 (grub_vbe_set_video_mode): Save active mode info
32587 only after setting the mode.
32588 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
32589 second argument.
32590
2f467aa9 325912009-08-17 Michal Suchanek <hramrach@centrum.cz>
32592
32593 Rename variables for clarity.
32594
32595 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
32596 (active_vbe_mode_info): ... this. All users updated.
32597 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
32598 All users updated.
32599 (initial_mode): Rename to ...
32600 (initial_vbe_mode): ... this. All users updated.
32601 (mode_in_use): Rename to ..
32602 (vbe_mode_in_use): ... this. All users updated.
32603 (mode_list): Rename to ..
32604 (vbe_mode_list): ... this. All users updated.
32605 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
32606 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
32607 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
32608 'mode_list_size' to 'vbe_mode_list_size'.
32609 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
32610 'best_mode_info' to 'best_vbe_mode_info' and
32611 'best_mode' to 'best_vbe_mode'
32612
6025fcd7 326132009-08-17 Michal Suchanek <hramrach@centrum.cz>
32614
32615 Remove duplicate grub_video_fb_get_video_ptr.
32616
32617 * include/grub/fbutil.h (get_data_ptr): Rename to ...
32618 (grub_video_fb_get_video_ptr): ... this.
32619 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
32620 * video/fb/fbutil.c: Add comment about addressing.
32621 (get_data_ptr): Rename to ...
32622 (grub_video_fb_get_video_ptr): ... this. All users updated.
32623 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
32624
cc8c6faf 326252009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32626
32627 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
32628 grub_dprintf() that was just added.
32629
08aa61f0 326302009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32631
32632 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
32633 (DEFAULT_VIDEO_MODE): Remove macros.
32634 (grub_linux_boot): Remove assumption that Linux has FB support,
32635 and use "text" as default video mode.
32636
7cef4f75 326372009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
32638
32639 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
32640 grub_dprintf.
32641 * fs/fat.c (grub_fat_read_data): Likewise.
32642
e1f39873 326432009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32644
32645 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
32646 payload.
32647 (grub_module): Likewise.
32648
c166d79e 326492009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32650
32651 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
32652 mbi->cmdline but free playground.
32653
c60cee8e 326542009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32655
32656 Handle group offset on UFS1.
32657
32658 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
32659 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
32660
c0d8b5d4 326612009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32662
32663 Split ufs.mod into ufs1.mod and ufs2.mod.
32664
32665 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
32666 (grub_fstest_SOURCES): Likewise.
32667 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
32668 (ufs_mod_SOURCES): Remove.
32669 (ufs_mod_CFLAGS): Likewise.
32670 (ufs_mod_LDFLAGS): Likewise.
32671 (ufs1_mod_SOURCES): New variable.
32672 (ufs1_mod_CFLAGS): Likewise.
32673 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 32674 (ufs2_mod_SOURCES): New variable.
32675 (ufs2_mod_CFLAGS): Likewise.
32676 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 32677 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
32678 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32679 Likewise.
32680 (grub_emu_SOURCES): Likewise.
32681 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32682 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32683 (grub_setup_SOURCES): Likewise.
32684 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32685 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
32686 (grub_setup_SOURCES): Likewise.
32687 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32688 Likewise.
32689 * fs/ufs2.c: New file.
32690 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
32691
d3539132 326922009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32693
32694 Framebuffer split.
32695
32696 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
32697 subsystem at the end.
32698 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
32699 (video_fb_mod_SOURCES): New variable.
32700 (video_fb_mod_CFLAGS): Likewise.
32701 (video_fb_mod_LDFLAGS): Likewise.
32702 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
32703 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
32704 * video/i386/pc/vbeblit.c: Moved from here ...
32705 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
32706 * video/i386/pc/vbefill.c: Moved from here ...
32707 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
32708 * video/i386/pc/vbeutil.c: Moved from here ...
32709 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
32710 * include/grub/i386/pc/vbeblit.h: Moved from here ...
32711 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
32712 * include/grub/i386/pc/vbefill.h: Moved from here ...
32713 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
32714 * include/grub/i386/pc/vbeutil.h: Moved from here ...
32715 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
32716 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
32717 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
32718 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
32719 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
32720 (grub_video_adapter): Added 'get_info_and_fini'.
32721 (grub_video_get_info_and_fini): New prototype.
32722 (grub_video_set_mode): make modestring const char *.
32723 * loader/i386/linux.c (grub_linux_setup_video): Use
32724 grub_video_get_info_and_fini.
32725 (grub_linux_boot): Move modesetting just before booting.
32726 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
32727 grub_video_get_info_and_fini.
32728 * video/i386/pc/vbe.c: Moved framebuffer part ...
32729 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
32730 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
32731 grub_video_fbstd_colors and grub_video_fb_set_palette.
32732 (grub_video_vbe_init): Clear 'framebuffer' variable and use
32733 grub_video_fb_init.
32734 (grub_video_vbe_fini): Use grub_video_fb_fini.
32735 (grub_video_vbe_setup): Use framebuffer.render_target instead of
32736 render_target and use grub_video_fb_set_active_render_target and
32737 grub_video_fb_set_palette.
32738 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
32739 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
32740 (grub_video_vbe_adapter): Use framebuffer.
32741 * video/video.c (grub_video_get_info_and_fini): New function.
32742 (grub_video_set_mode): Make modestring const char *.
32743 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
32744 values are already initialised.
32745
d404ee56 327462009-08-14 Pavel Roskin <proski@gnu.org>
32747
32748 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
32749 ABS and APPLE_CC.
32750 * boot/i386/pc/diskboot.S: Likewise.
32751 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
32752 sectors allow compilation on MacOSX.
32753 * conf/i386-pc.rmk: Enable unconditional compilation of
32754 lnxboot.img.
32755
9a10df16 327562009-08-13 Colin Watson <cjwatson@ubuntu.com>
32757
32758 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
32759 * util/grub.d/00_header.in: Enter interruptible sleep if
32760 GRUB_HIDDEN_TIMEOUT is set.
32761
be3c9ca7 327622009-08-13 Yves Blusseau <blusseau@zetam.org>
32763
32764 * include/grub/symbol.h: Add the LOCAL macro.
32765 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
32766 starting with "L_".
32767
1f9e557e 327682009-08-13 Pavel Roskin <proski@gnu.org>
32769
9ca62843 32770 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
32771 any modern compilers we support.
32772
1f9e557e 32773 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
32774 Use local labels starting with "L_" so that Apple assembler
32775 knows they are local.
32776
81623db6 327772009-08-10 Robert Millan <rmh.grub@aybabtu.com>
32778
32779 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
32780 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
32781 (bsd_kernel_types): ... this enum.
32782
32783 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
32784 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
32785 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
32786
32787 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
32788 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
32789 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
32790 messages.
32791
f5d35e7a 327922009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32793
32794 * util/grub-dumpdevtree: Moved from here ...
32795 * util/i386/efi/grub-dumpdevtree: ... to here.
32796 (hexify): New function. Converts a string to its hex version.
32797 Generate hex versions of "efi" and "device-properties" by calling
32798 hexify() on the ASCII strings rather than by hardcoding numbers.
32799
d1e1d527 328002009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32801
32802 * fs/jfs.c: Update copyright year.
32803
1ebbe064 328042009-08-08 Felix Zielcke <fzielcke@z-51.de>
32805
32806 * util/grub.d/00_header.in: Fix a comment.
32807 * util/grub.d/10_linux.in: Likewise.
32808 * util/grub.d/10_windows.in: Likewise.
32809 * util/grub.d/10_hurd.in: Likewise.
32810
a78c8d24 328112009-08-08 Felix Zielcke <fzielcke@z-51.de>
32812
32813 * util/grub-mkconfig.in: Allow the user to specify the used font
32814 with GRUB_FONT.
32815
29a6b9e8 328162009-08-08 Pavel Roskin <proski@gnu.org>
32817
b5f16cc4 32818 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
32819 available, xfs.mod needs it now.
32820
2f5cb827 32821 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
32822 the "g" modifier in sed when the intention is to strip something
32823 once. This fixes comparison of kernels with multiple dashes.
32824
29a6b9e8 32825 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
32826 on it. Add missing space before closing bracket. Fix
32827 misleading formatting.
32828
892a3d98 328292009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32830
32831 * docs/grub.texi: Major overhaul. Remove all sections that are
32832 specific to GRUB Legacy, or mostly composed of Legacy-specific
32833 information.
32834
ed94253f 328352009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32836
32837 * docs/version.texi: New file. Provides version information for
32838 grub.texi.
32839
126d6628 328402009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32841
32842 * docs/grub.texi: Update CVS information to SVN.
32843 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
32844
998b5aa9 328452009-08-07 Felix Zielcke <fzielcke@z-51.de>
32846
32847 * util/grub-mkconfig.in: Remove a wrong `fi'.
32848
818e094a 328492009-08-07 Felix Zielcke <fzielcke@z-51.de>
32850
32851 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
32852 (grub_jfs_uuid): New function.
32853 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
32854
b969c52f 328552009-08-07 Felix Zielcke <fzielcke@z-51.de>
32856
32857 * util/grub-mkconfig_lib.in (font_path): Move the functionality
32858 of it to ...
32859 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
32860 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
32861
7a4894cc 328622009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32863
32864 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
32865 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
32866 Update all users.
32867
32868 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
32869 not just "vmlinu[zx]".
32870 Moved from here ...
32871 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
32872 all users.
32873
32874 * util/grub.d/10_linux.in (find_latest): Moved from here ...
32875 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
32876 all users.
32877
4e2171f8 328782009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32879
32880 * util/grub.d/10_freebsd.in: Use an absolute device path for
32881 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
32882
6dcfcb32 328832009-08-06 Felix Zielcke <fzielcke@z-51.de>
32884
32885 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
32886 handling of multiple abstraction modules.
32887
f56a8756 328882009-08-04 Robert Millan <rmh.grub@aybabtu.com>
32889
32890 Fix a bug resulting in black screen when loading Linux using a
32891 packed video mode.
32892
32893 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
32894 function.
32895
32896 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
32897 (grub_vbe_bios_getset_dac_palette_width): New function.
32898 (grub_vbe_bios_get_dac_palette_width)
32899 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
32900 grub_vbe_bios_getset_dac_palette_width()).
32901
32902 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
32903 check for return status.
32904 (grub_vbe_get_video_mode_info): When getting information for a packed
32905 mode (<= 8 bpp), obtain DAC palette width using
32906 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
32907 {red,green,blue}_mark_size.
32908
222671b2 329092009-08-04 Felix Zielcke <fzielcke@z-51.de>
32910
ecb1a6d9 32911 * commands/search.c (options): Fix help output to match actual code.
222671b2 32912
f84114f5 329132009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
32914
32915 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
32916 of homegrown code.
32917
bd288a20 329182009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 32919
32920 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
32921 on XFS or ReiserFS.
32922
8aab5e25 329232009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
32924
32925 Support Apple partition map with sector size different from 512 bytes.
32926
32927 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
32928 (apple_partition_map_iterate): Respect 'aheader.blocksize'
32929 and 'apart.partmap_size'.
32930
6ad6258a 329312009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
329322009-08-01 Robert Millan <rmh.grub@aybabtu.com>
32933
32934 Fix cpuid command.
32935
32936 * commands/i386/cpuid.c (options): New variable.
32937 (grub_cmd_cpuid): Return real error.
32938 (GRUB_MOD_INIT(cpuid)): Declare options.
32939
67459bc6 329402009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
32941
32942 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
32943 valid.
32944
fbc6ab54 329452009-07-31 Bean <bean123ch@gmail.com>
32946
32947 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
32948 log2_inode.
32949 (grub_fshelp_node): Move inode field to the end.
32950 (grub_xfs_data): Remove inode field.
32951 (grub_xfs_inode_block): Calculate inode size using sblock.
32952 (grub_xfs_inode_offset): Likewise.
32953 (grub_xfs_read_inode): Calculate inode size using sblock.
32954 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
32955 (grub_xfs_iterate_dir): Calculate inode size using sblock.
32956 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
32957 to match inode size.
32958 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
32959 not accessible when data is null.
32960 (grub_xfs_open): Likewise.
32961
f45d6cfc 329622009-07-31 Bean <bean123ch@gmail.com>
32963
32964 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
32965 Don't change pv->disk if it's already set.
32966
32967 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
32968 (grub_raid_register): ... here.
32969 (grub_raid_rescan): Removed.
32970
32971 * include/grub/raid.h (grub_raid_rescan): Removed.
32972
32973 * util/grub-fstest.c: Remove include file <grub/raid.h>.
32974 (fstest): Replace grub_raid_rescan with module fini function followed
32975 by init function.
32976
32977 * util/grub-probe.c: Add include file <grub/raid.h>.
32978 (probe_raid_level): New function.
32979 (probe): Detect abstraction by walking the disk device, support two
32980 level of abstraction (LVM on RAID) when detecting partition map.
32981
24443b5a 329822009-07-31 Pavel Roskin <proski@gnu.org>
32983
32984 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
32985 to grub_zalloc(), it was erroneous.
32986 Reported by Bean <bean123ch@gmail.com>
32987
a275d9e7 329882009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
32989
32990 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 32991 embedding zone, not only the first one.
a275d9e7 32992
56c5a47f 329932009-07-29 Joe Auricchio <jauricchio@gmail.com>
32994
32995 * term/gfxterm.c (clear_char): New function.
32996 (grub_virtual_screen_setup): Use clear_char.
32997 (scroll_up): Likewise.
32998 (grub_virtual_screen_cls): Likewise.
32999
67bb323a 330002009-07-29 Felix Zielcke <fzielcke@z-51.de>
33001
33002 * util/deviceiter.c (get_acceleraid_disk_name): New static
33003 function.
33004 (grub_util_iterate_devices): Handle Accelraid devices.
33005 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
33006
388a7c75 330072009-07-28 Robert Millan <rmh.grub@aybabtu.com>
33008
33009 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
33010 separator for the suggested gfxpayload string (';' collides with the
33011 parser and needs escaping).
33012
3bb7abcf 330132009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
33014
33015 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
33016 Clear direction flag before jumping to OS.
33017 (grub_multiboot2_real_boot): Likewise.
33018
2ddd36d7 330192009-07-28 Felix Zielcke <fzielcke@z-51.de>
33020
33021 * util/i386/pc/grub-install: Fix parsing of --disk-module
33022 option.
33023
c521b62b 330242009-07-28 Felix Zielcke <fzielcke@z-51.de>
33025
33026 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
33027 when embedding.
33028
880e0a0c 330292009-07-26 Felix Zielcke <fzielcke@z-51.de>
33030
33031 * util/grub-mkconfig.in (package_version): New variable.
33032 Use it do display the version.
33033
2366e356 330342009-07-25 Felix Zielcke <fzielcke@z-51.de>
33035
33036 * kern/file.c (grub_file_open): Revert to previous check with
33037 grub_errno.
33038
7ad8c80e 330392009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
33040
33041 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
33042 from help line. It's out of sync with code.
33043
72b9658b 330442009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
33045
33046 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
33047 entries on failed boot.
33048
77435277 330492009-07-25 Felix Zielcke <fzielcke@z-51.de>
33050
33051 * kern/file.c (grub_file_open): Fix an error check.
33052
fcaa8b21 330532009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
33054
35d16c74 33055 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
33056 partition map couldn't be identified.
fcaa8b21 33057
48904cd1 330582009-07-23 Pavel Roskin <proski@gnu.org>
33059
ef3c317f 33060 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
33061 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
33062 case of little endian words becomes just an optimization.
33063 Respect const modifier.
ad8ea1f4 33064 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 33065
48904cd1 33066 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
33067 to avoid loss of upper bits if align is unsigned and shorter
33068 than addr.
33069
260c9a89 330702009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
33071
33072 UUID support for UFS
33073
33074 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
33075 (grub_ufs_uuid): New function.
33076 (grub_ufs_fs): add .uuid
33077
f76ce889 330782009-07-21 Pavel Roskin <proski@gnu.org>
33079
33080 * kern/dl.c (grub_dl_check_header): Make static.
33081
6a6cbcaf 330822009-07-21 Felix Zielcke <fzielcke@z-51.de>
33083
33084 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
33085 add drivemap for Vista. It breaks Windows 7.
33086
cffcddb2 330872009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
33088
33089 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
33090 128 bytes
33091
1ef44b80 330922009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33093
33094 Add BFS support
33095
33096 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
33097 (grub_fstest_SOURCES): Likewise.
33098 (pkglib_MODULES): Add befs.mod.
33099 (befs_mod_SOURCES): New variable.
33100 (befs_mod_CFLAGS): Likewise.
33101 (befs_mod_LDFLAGS): Likewise.
33102 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33103 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33104 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33105 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33106 (grub_setup_SOURCES): Likewise.
33107 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33108 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33109 (grub_setup_SOURCES): Likewise.
33110 * fs/befs.c: New file.
33111 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
33112 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
33113 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
33114 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
33115 (B_KEY_INDEX_ALIGN): New declaration.
33116 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
33117 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
33118 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
33119 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
33120 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
33121 (grub_afs_mount) [MODE_BFS]: Likewise.
33122 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
33123 (grub_afs_fs): Use GRUB_AFS_FSNAME
33124 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
33125 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
33126 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
33127 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
33128
4f253044 331292009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
33130
33131 * util/getroot.c (find_root_device): Add support for MacOSX.
33132 * util/hostdisk.c: Likewise.
33133
57a55913 331342009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33135
33136 * font/font.c (find_glyph): Check whether a font is present to avoid
33137 segmentation fault.
75421ca9 33138
331392009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 33140
33141 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
33142
e98cd0c2 331432009-07-20 Pavel Roskin <proski@gnu.org>
33144
33145 * configure.ac: Trim excessively wordy excuses.
33146
1d2d169a 331472009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33148
33149 Add symlink, mtime and label support to AtheFS.
33150
33151 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
33152 (grub_afs_iterate_dir): Handle symlinks.
33153 (grub_afs_open): Use grub_afs_read_symlink.
33154 (grub_afs_dir): Likewise.
33155 Pass mtime.
33156 (grub_afs_label): New function.
33157 (grub_afs_fs): Add grub_afs_label.
33158 (grub_afs_read_symlink): New function.
33159
186f3189 331602009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33161
33162 Fix AtheFS support.
33163
33164 * fs/afs.c: Fix comments style.
33165 (grub_afs_blockrun): Declare as packed.
33166 (grub_afs_datastream): Likewise.
33167 (grub_afs_bnode): Likewise.
33168 (grub_afs_btree): Likewise.
33169 (grub_afs_sblock): Likewise.
33170 Declare `name' as char.
33171 (grub_afs_inode): Declare as packed.
33172 Change void *vnode to grub_uint32_t unused.
33173 (grub_afs_iterate_dir): Check that key_size is positive.
33174 (grub_afs_mount): Don't read superblock twice.
75421ca9 33175 (grub_afs_dir): Don't free node in case of error,
186f3189 33176 grub_fshelp_find_file already handles this.
33177 (grub_afs_open): Likewise.
33178
5680109e 331792009-07-19 Pavel Roskin <proski@gnu.org>
33180
33181 * Makefile.in: Remove LIBLZO and enable_lzo.
33182 * conf/i386-pc.rmk: Remove lzo support.
33183 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
33184 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
33185 support.
33186 * kern/i386/pc/lzo1x.S: Remove.
33187 * kern/i386/pc/startup.S: Remove lzo support.
33188 * util/i386/pc/grub-mkimage.c: Likewise.
33189
ac70fa32 331902009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
33191
33192 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
33193 * fs/xfs.c (grub_xfs_dir): Likewise.
33194 * fs/afs.c (grub_afs_dir): Likewise.
33195 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
33196 (grub_iso9660_open): Likewise.
33197 * fs/jfs.c (grub_jfs_open): Likewise.
33198 * fs/ext2.c (grub_ext2_dir): Likewise.
33199 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
33200 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 33201
eab58da2 332022009-07-16 Pavel Roskin <proski@gnu.org>
33203
d2838156 33204 * configure.ac: Never add "-c" to CFLAGS.
33205
55c70904 33206 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
33207
43e6200c 33208 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
33209 grub_cv_cc_efiemu should be used.
33210
ce7a733d 33211 * configure.ac: Typo fixes.
33212
eab58da2 33213 * kern/mm.c (grub_zalloc): New function.
33214 (grub_debug_zalloc): Likewise.
33215 * include/grub/mm.h: Declare grub_zalloc() and
33216 grub_debug_zalloc().
33217 * util/misc.c (grub_zalloc): New function.
33218 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
33219 instead of grub_malloc(), remove unneeded initializations.
33220 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
33221 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
33222 * commands/parttool.c (grub_cmd_parttool): Likewise.
33223 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
33224 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
33225 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
33226 * disk/usbms.c (grub_usbms_finddevs): Likewise.
33227 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
33228 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
33229 (grub_cmd_efiemu_pnvram): Likewise.
33230 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
33231 * fs/iso9660.c (grub_iso9660_mount): Likewise.
33232 (grub_iso9660_iterate_dir): Likewise.
33233 * fs/jfs.c (grub_jfs_opendir): Likewise.
33234 * fs/ntfs.c (list_file): Likewise.
33235 (grub_ntfs_mount): Likewise.
33236 * kern/disk.c (grub_disk_open): Likewise.
33237 * kern/dl.c (grub_dl_load_core): Likewise.
33238 * kern/elf.c (grub_elf_file): Likewise.
33239 * kern/env.c (grub_env_context_open): Likewise.
33240 (grub_env_set): Likewise.
33241 (grub_env_set_data_slot): Likewise.
33242 * kern/file.c (grub_file_open): Likewise.
33243 * kern/fs.c (grub_fs_blocklist_open): Likewise.
33244 * loader/i386/multiboot.c (grub_module): Likewise.
33245 * loader/xnu.c (grub_xnu_create_key): Likewise.
33246 (grub_xnu_create_value): Likewise.
33247 * normal/main.c (grub_normal_add_menu_entry): Likewise.
33248 (read_config_file): Likewise.
33249 * normal/menu_entry.c (make_screen): Likewise.
33250 * partmap/sun.c (sun_partition_map_iterate): Likewise.
33251 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
33252 * script/sh/script.c (grub_script_parse): Likewise.
33253 * video/bitmap.c (grub_video_bitmap_create): Likewise.
33254 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
33255 * video/readers/png.c (grub_png_output_byte): Likewise.
33256 (grub_video_reader_png): Likewise.
33257
830afef7 332582009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 33259
33260 Enable all targets that can be built by default
33261
830afef7 33262 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 33263 grub-mkfont and grub-fstest if they can be built
33264
ee293aee 332652009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33266
33267 Fix hang and segmentation fault in grub-emu-usb
33268
33269 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
33270 * util/usb.c (grub_libusb_devices): likewise
33271 (grub_libusb_init): rename to ...
33272 (GRUB_MOD_INIT (libusb)):...this
33273 (grub_libusb_fini): rename to ..
33274 (GRUB_MOD_FINI (libusb)):...this
33275 * disk/usbms.c (grub_usbms_transfer): fix retry logic
33276 * include/grub/disk.h (grub_raid_init): removed, it's useless
33277 (grub_raid_fini): likewise
33278 (grub_lvm_init): likewise
33279 (grub_lvm_fini): likewise
33280 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
33281 by grub_init_all
33282
94414221 332832009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33284
33285 Fix libusb
33286
33287 * Makefile.in (LIBUSB): new macro
33288 * genmk.rb (Utility/print_tail): new method
33289 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
33290 (top level): call util.print_tail at the end.
33291
59ade63d 332922009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33293
33294 Make FreeBSD accept zpool.cache
33295
33296 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
33297 type is /boot/zfs/zpool.cache
33298
a58da8c7 332992009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33300
33301 Fix 64-bit efiemu
33302
33303 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
33304 correct wrong typedef
33305 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
33306
20591577 333072009-07-15 Pavel Roskin <proski@gnu.org>
33308
560ca572 33309 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
33310 * kern/disk.c (struct grub_disk_cache): Likewise.
33311
e8e8e4fd 33312 * commands/probe.c (options): Typo fix.
33313
fde24e10 33314 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
33315 Increase to 0x5a to accommodate FAT32. Adjust other offsets
33316 accordingly.
33317 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
33318
379c54c1 33319 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
33320 the end of "Error" to make the message more readable.
33321
7bd8f5bf 33322 * boot/i386/pc/boot.S (kernel_segment): Remove.
33323 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
33324 for destination.
33325
40b132c5 33326 * boot/i386/pc/boot.S (boot_version): Remove.
33327 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
33328 Remove.
33329
20591577 33330 * include/grub/i386/pc/boot.h: Sort all offsets.
33331 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
33332 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
33333 * boot/i386/pc/boot.S: Assert location of every offset listed in
33334 include/grub/i386/pc/boot.h.
33335
2df32b2c 333362009-07-13 Pavel Roskin <proski@gnu.org>
33337
44b5d879 33338 * include/grub/i386/coreboot/machine.h: Rename
33339 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
33340 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
33341 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
33342
17dc3751 33343 * kern/dl.c: Force native word size to suppress warnings when
33344 compiling grub-emu.
33345
2df32b2c 33346 * kern/device.c (grub_device_iterate): Change struct part_ent to
33347 hold the name, not a pointer to it. Use one grub_malloc() per
33348 partition, not two. Free partition_name if grub_malloc() fails.
33349 Set ents to NULL only before grub_partition_iterate() is called.
33350
75c59f59 333512009-07-11 Bean <bean123ch@gmail.com>
33352
33353 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
33354 childname.
33355
0ae1bf88 333562009-07-10 Bean <bean123ch@gmail.com>
333572009-07-10 Robert Millan <rmh.grub@aybabtu.com>
33358
33359 * kern/ieee1275/openfw.c (grub_children_iterate)
33360 (grub_devalias_iterate): Fix size evaluation for property or path
33361 strings, which was broken since r2132.
33362
8279cade 333632009-07-07 Pavel Roskin <proski@gnu.org>
33364
7d8a52d3 33365 * commands/search.c (search_file): Merge into ...
33366 (search_fs): ... this. Accept search type as argument.
33367 (grub_cmd_search): Pass search type to search_fs().
33368
25f9a05a 33369 * include/grub/util/console.h: New file.
33370 * util/console.c: Use it instead of grub/machine/console.h.
33371 * util/grub-emu.c: Likewise.
33372
8279cade 33373 * lib/arg.c (find_long_option): Remove.
33374 (find_long): Add `len' argument, make `s' const char *.
33375 (grub_arg_parse): Parse long options in place, not in a
33376 temporary buffer.
33377
4a11b60f 333782009-07-06 Pavel Roskin <proski@gnu.org>
33379
99f68041 33380 * commands/search.c (search_fs): Fix potential NULL pointer
33381 dereference.
33382
4a11b60f 33383 * commands/search.c (search_fs): Replace QUID macro with quid_fn
33384 function pointer.
33385
e110f4de 333862009-07-06 Daniel Mierswa <impulze@impulze.org>
33387
33388 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
33389 comparison.
33390
46eeb6a2 333912009-07-05 Pavel Roskin <proski@gnu.org>
33392
bab74958 33393 * include/grub/i386/linux.h (struct linux_kernel_params):
33394 Restore padding3, it's still needed.
33395
46eeb6a2 33396 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
33397 FreeBSD.
33398 * util/osdetect.lua: Likewise.
33399
b4a1dc79 334002009-07-05 Bean <bean123ch@gmail.com>
33401
33402 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
33403
33404 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
33405 (grub_lua_getenv): Likewise.
33406 (grub_lua_setenv): Likewise.
33407 (save_errno): New function.
33408 (push_result): Likewise.
33409 (grub_lua_enum_device): Likewise.
33410 (grub_lua_enum_file): Likewise.
33411 (grub_lua_file_open): Likewise.
33412 (grub_lua_file_close): Likewise.
33413 (grub_lua_file_seek): Likewise.
33414 (grub_lua_file_read): Likewise.
33415 (grub_lua_file_getline): Likewise.
33416 (grub_lua_file_getsize): Likewise.
33417 (grub_lua_file_getpos): Likewise.
33418 (grub_lua_file_eof): Likewise.
33419 (grub_lua_file_exist): Likewise.
33420 (grub_lua_add_menu): Likewise.
33421
33422 * script/lua/grub_lua.h (isupper): New inline function.
33423 (islower): Likewise.
33424 (ispunct): Likewise.
33425 (isxdigit): Likewise.
33426 (strcspn): Change to normal function.
33427 (strpbkr): New function declaration.
33428 (memchr): Likewise.
33429
33430 * script/lua/grub_main.c (scan_str): New function.
33431 (strcspn): Likewise.
33432 (strpbrk): Likewise.
33433 (memchr): Likewise.
33434
33435 * script/lua/linit.c (lualibs): Enable the string library.
33436
33437 * util/osdetect.lua: New file.
33438
2da92295 334392009-07-04 Robert Millan <rmh.grub@aybabtu.com>
33440
33441 * include/grub/i386/linux.h (struct linux_kernel_params): Add
33442 `capabilities' member.
33443
b2582ec9 334442009-07-02 Pavel Roskin <proski@gnu.org>
33445
33446 * genparttoollist.sh: Add missing newline at the end.
33447
32622956 334482009-07-01 Pavel Roskin <proski@gnu.org>
33449
87a7339e 33450 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
33451
d23af54e 33452 * util/hostdisk.c (open_device): Remove `const' from
33453 `sysctl_size', as sysctlbyname() can change it (in this case it
33454 doesn't actually happen).
33455
c94b18a9 33456 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
33457 using signed long int constants.
33458
c6cd3ef0 33459 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
33460 constant to avoid a warning on FreeBSD.
33461
0df63420 33462 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
33463 where it's needed.
33464
999577f1 33465 * Makefile.in: Install include/grub/machine symlink.
33466
6f41557f 33467 * Makefile.in: When installing symlinks, use "cp -fR", which
33468 works on FreeBSD and MacOSX.
33469 From Yves Blusseau <cl7m42e02@sneakemail.com>
33470
c8d22988 33471 * kern/dl.c (grub_dl_resolve_symbol): Make static.
33472 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
33473
1b96e952 33474 * util/misc.c: Move grub_reboot() and grub_halt() ...
33475 * util/grub-emu.c: ... here. Make main_env static.
33476 * include/grub/util/misc.h: Remove main_env.
33477
2ef0084d 33478 * kern/mm.c: Use correct format to print size_t.
33479
32622956 33480 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
33481 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
33482 * kern/powerpc/dl.c: Likewise.
33483 * kern/sparc64/dl.c: Likewise.
33484 * kern/x86_64/dl.c: Likewise.
33485
3f7f0cd0 334862009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33487
33488 Fix grub-emu build on sparc64-ieee1275.
33489
75421ca9 33490 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 33491 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
33492
211d06b5 334932009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33494
33495 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
33496 (grub_reboot, grub_halt): New functions.
33497
33498 * util/i386/pc/misc.c: Delete. Update all users.
33499 * util/sparc64/ieee1275/misc.c: Likewise.
33500 * util/powerpc/ieee1275/misc.c: Likewise.
33501
aaf53e3c 335022009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33503
33504 * conf/i386.rmk (setjmp_mod_SOURCES)
33505 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
33506 * conf/common.rmk (setjmp_mod_SOURCES)
33507 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
33508 to use $(target_cpu).
33509 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
33510 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
33511 * conf/powerpc-ieee1275.rmk: Likewise.
33512 * conf/sparc64-ieee1275.rmk: Likewise.
33513
33514 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
33515 $(target_cpu) for kern/$(target_cpu)/dl.c.
33516 * conf/i386-efi.rmk: Likewise.
33517 * conf/i386-ieee1275.rmk: Likewise.
33518 * conf/x86_64-efi.rmk: Likewise.
33519 * conf/i386-coreboot.rmk: Likewise.
33520 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
33521 $(target_cpu) for kern/$(target_cpu)/dl.c and for
33522 kern/$(target_cpu)/cache.S.
33523 * conf/sparc64-ieee1275.rmk: Likewise.
33524
a337130b 335252009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33526
33527 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
33528 type to `grub_uint8_t', and adjust `padding9' accordingly.
33529
c6fe4d53 335302009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33531
b09db61d 33532 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
33533
c6fe4d53 33534 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
33535 assembly in final jump, using register constraints.
33536
b09db61d 33537 (grub_linux_boot): For text mode, initialize `have_vga' using
33538 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
33539
33540 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
33541 right before the final jump.
33542
33543 Set `video_mode' to 0x3.
33544
33545 Document initialization of `video_page', `video_mode' and
33546 `video_ega_bx'.
33547
28333ad0 335482009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33549
33550 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
33551 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 33552 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 33553
02164e1b 335542009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33555
33556 Fix build on Debian / sparc.
33557
33558 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
33559
18b6c557 335602009-06-28 Pavel Roskin <proski@gnu.org>
33561
85f2aab6 33562 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
33563 fix a warning.
33564
18b6c557 33565 * util/grub.d/10_linux.in: Match SUSE style initrd names.
33566
ad760f81 335672009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33568
33569 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
33570 `err'.
33571
87a4623b 335722009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33573
33574 Revert r2338.
33575
33576 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
33577 file can't be opened. grub_file_open() is already supposed to set
75421ca9 33578 grub_errno / grub_errmsg appropriately.
87a4623b 33579 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33580
8231fb77 335812009-06-27 Pavel Roskin <proski@gnu.org>
335822009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33583
33584 * include/grub/dl.h: Include grub/elf.h.
33585 (struct grub_dl): Add symtab field.
33586 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
33587 GRUB_MODULES_MACHINE_READONLY.
33588 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
33589 of the header for read-only modules.
33590 (grub_dl_unload): Free mod->symtab for read-only modules.
33591 * kern/i386/dl.c: Use mod->symtab.
33592 * kern/powerpc/dl.c: Likewise.
33593 * kern/sparc64/dl.c: Likewise.
33594 * kern/x86_64/dl.c: Likewise.
33595
33596 * conf/i386-qemu.rmk: New file.
33597 * kern/i386/qemu/startup.S: Likewise.
33598 * kern/i386/qemu/mmap.c: Likewise.
33599 * boot/i386/qemu/boot.S: Likewise.
33600 * include/grub/i386/qemu/time.h: Likewise.
33601 * include/grub/i386/qemu/serial.h: Likewise.
33602 * include/grub/i386/qemu/kernel.h: Likewise.
33603 * include/grub/i386/qemu/console.h: Likewise.
33604 * include/grub/i386/qemu/boot.h: Likewise.
33605 * include/grub/i386/qemu/init.h: Likewise.
33606 * include/grub/i386/qemu/machine.h: Likewise.
33607 * include/grub/i386/qemu/loader.h: Likewise.
33608 * include/grub/i386/qemu/memory.h: Likewise.
33609
33610 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
33611 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
33612 [qemu] (pkglib_IMAGES): Add `boot.img'.
33613 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
33614 [qemu] (boot_img_FORMAT): New variables.
33615 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
33616 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
33617 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
33618 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
33619 [qemu] (kernel_img_FORMAT): New variables.
33620
33621 * configure.ac: Recognise `i386-qemu'.
33622
33623 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
33624 (for no compression).
33625 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
33626 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
33627 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
33628 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
33629 ifdefs).
33630
97fe384e 336312009-06-27 Pavel Roskin <proski@gnu.org>
33632
33633 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
33634 read.
33635 * efiemu/prepare32.c: Likewise.
33636 * efiemu/prepare64.c: Likewise.
33637
c402ab17 336382009-06-26 Pavel Roskin <proski@gnu.org>
33639
33640 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
33641 * include/grub/elf.h: Define symbols without "32" or "64" based
33642 on GRUB_TARGET_WORDSIZE.
33643 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
33644 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
33645 ELF definitions.
33646 * efiemu/loadcore64.c: Likewise.
33647 * loader/i386/bsd32.c: Likewise.
33648 * loader/i386/bsd64.c: Likewise.
33649 * kern/dl.c: Remove own ELF definitions.
33650 * util/i386/efi/grub-mkimage.c: Likewise.
33651
9bbdfd4d 336522009-06-23 Robert Millan <rmh.grub@aybabtu.com>
33653
33654 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
33655 segment 0x0 unconditionally, because the reference generated by
33656 GAS is an absolute address.
33657
a42ce6e9 336582009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33659
33660 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
33661 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
33662
c952cf92 336632009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33664
33665 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
33666 indexes. Check for -f explicitly.
cc3752ad 33667 (search_file): Improve error message.
33668 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 33669
132a0a59 336702009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33671
33672 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
33673 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
33674
387a140c 336752009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33676
33677 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
33678 * conf/i386-ieee1275.rmk: Likewise.
33679 * conf/i386-coreboot.rmk: Likewise.
33680
33681 * kern/i386/pc/startup.S (grub_stop): Remove function.
33682 * kern/i386/ieee1275/startup.S: Likewise.
33683 * kern/i386/coreboot/startup.S: Likewise.
33684 * kern/i386/misc.S (grub_stop): New function.
33685
41da9665 336862009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33687
33688 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
33689 * kern/i386/realmode.S (real_to_prot): ... to here.
33690
bf337234 336912009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33692
33693 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
33694 with `kernel.img'.
33695 (kernel_elf_SOURCES): Rename to ...
33696 (kernel_img_SOURCES): ... this.
33697 (kernel_elf_HEADERS): Rename to ...
33698 (kernel_img_HEADERS): ... this. Update all users.
33699 (kernel_elf_ASFLAGS): Rename to ...
33700 (kernel_img_ASFLAGS): ... this.
33701 (kernel_elf_CFLAGS): Rename to ...
33702 (kernel_img_CFLAGS): ... this.
33703 (kernel_elf_LDFLAGS): Rename to ...
33704 (kernel_img_LDFLAGS): ... this.
33705 * conf/i386-coreboot.rmk: Likewise.
33706 * conf/powerpc-ieee1275.rmk: Likewise.
33707
33708 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
33709 with "kernel.img".
33710
f52196ff 337112009-06-21 Pavel Roskin <proski@gnu.org>
33712
c3cee413 33713 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
33714 to match nested functions.
33715 * loader/sparc64/ieee1275/linux.c: Likewise.
33716
f52196ff 33717 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
33718
58750afc 337192009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33720
33721 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
33722 all i386 platforms.
33723
15355c7d 337242009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33725
33726 Fix asm file handling on ELF, and remove workarounds.
33727
33728 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 33729 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 33730 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
33731 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
33732
3f3ec72b 337332009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
33734
33735 Load BSD ELF modules
33736
33737 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
33738 and loader/i386/bsd64.c
33739 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
33740 (FREEBSD_MODTYPE_ELF_MODULE): New definition
33741 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
33742 (grub_freebsd_load_elfmodule32): New declaration
33743 (grub_freebsd_load_elfmoduleobj64): Likewise
33744 (grub_freebsd_load_elf_meta32): Likewise
33745 (grub_freebsd_load_elf_meta64): Likewise
33746 (grub_freebsd_add_meta): Likewise
33747 (grub_freebsd_add_meta_module): Likewise
33748 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
33749 (grub_freebsd_add_meta_module): Likewise and move module-specific
33750 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
33751 (grub_cmd_freebsd): Add elf-kernel specific parts
33752 based on grub_freebsd_add_meta_module
33753 (grub_cmd_freebsd_module): Add type parsing moved from
33754 grub_freebsd_add_meta_module
33755 (grub_cmd_freebsd_module_elf): New function
33756 (cmd_freebsd_module_elf): New variable
33757 (GRUB_MOD_INIT): Register freebsd_module_elf
33758 * loader/i386/bsd32.c: New file
33759 * loader/i386/bsd64.c: Likewise
33760 * loader/i386/bsdXX.c: Likewise
33761 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
33762 (grub_elf64_load): Likewise
33763 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
33764 All users updated
33765 (grub_elf64_load_hook_t): Likewise
33766
0db15301 337672009-06-21 Colin Watson <cjwatson@ubuntu.com>
33768
33769 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
33770 variable.
33771 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
33772 don't write a menu entry for recovery mode.
33773
546796c1 337742009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33775
33776 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
33777 after it's no longer needed.
33778
cd7310d5 337792009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33780
33781 * include/grub/i386/loader.h (grub_linux_prot_size)
33782 (grub_linux_tmp_addr, grub_linux_real_addr)
33783 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
33784 GRUB_MACHINE_PCBIOS.
33785 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
33786 common grub_util_info() call to ...
33787 (generate_image): ... here.
33788 Fix use of uninitialized memory, comparison of signed with
33789 unsigned integers and memory leak.
33790 Remove bogus module address message.
33791
ab32d3b5 337922009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
33793
33794 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
33795 grub_raid_register
33796 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
33797
024ef597 337982009-06-19 Pavel Roskin <proski@gnu.org>
33799
33800 * configure.ac: Remove stray AC_MSG_CHECKING.
33801
3ac72b51 338022009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
33803
33804 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 33805
e14cd814 338062009-06-18 Pavel Roskin <proski@gnu.org>
33807
33808 * conf/common.rmk: Add fs_file.mod.
33809 * disk/fs_file.c: New file.
33810 * include/grub/disk.h (enum grub_disk_dev_id): Add
33811 GRUB_DISK_DEVICE_FILE_ID.
33812
26586d98 338132009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33814
33815 Fix build with Apple's toolchain. Part 2
33816
33817 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
33818 a fake start
33819
26de2bcd 338202009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33821
33822 Fix build with Apple's toolchain. Part 1
33823
33824 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
33825 for long calls
33826 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 33827 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 33828 Apple's toolchain
33829
09b3490b 338302009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33831
33832 Fix warnings
33833
33834 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
33835 (decomp_block): initialize ch
33836 use grub_memcpy instead of memcpy
33837
c22a006a 338382009-06-17 Pavel Roskin <proski@gnu.org>
33839
d3638678 33840 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
33841 version, use declarations needed to use vga_text as the startup
33842 console.
33843
c22a006a 33844 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
33845 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
33846 the kernel.
33847 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
33848 and grub_at_keyboard_fini(), it's done on module load and
33849 unload.
33850
05b129e0 338512009-06-17 Felix Zielcke <fzielcke@z-51.de>
33852
33853 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
33854 file can't be found.
33855 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33856
cf24ed9e 338572009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33858
33859 Fix newline handling
33860
33861 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 33862 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 33863 (grub_script_yylex): don't segfault on unterminated script
33864 newline terminates command and variable
33865
74aa8e4b 338662009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33867
33868 avoid double grub_adjust_range call. Bug reported by David Simner
33869
33870 * kern/disk.c (grub_disk_write): change to raw disk access before
33871 calling disk_read
33872
1bd265f3 338732009-06-17 Colin Watson <cjwatson@ubuntu.com>
33874
33875 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
33876 spaces, for the benefit of help2man.
33877 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33878
a2d08c06 338792009-06-16 Pavel Roskin <proski@gnu.org>
33880
33881 * kern/i386/halt.c: Include grub/machine/init.h.
33882 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
33883
b97bcb19 338842009-06-16 Felix Zielcke <fzielcke@z-51.de>
33885
33886 * util/grub.d/30_os-prober.in: Use ${root} in the generated
33887 drivemap menuentry.
33888
0644f96c 338892009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
33890
33891 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
33892 `echo' command.
33893
3ef17a2e 338942009-06-16 Pavel Roskin <proski@gnu.org>
33895
33896 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
33897 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
33898 save %dx, we only need %dl and we never change it.
33899 * boot/i386/pc/cdboot.S: Don't set the root drive.
33900 * boot/i386/pc/pxeboot.S: Likewise.
33901 * include/grub/i386/pc/boot.h: Remove
33902 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
33903 GRUB_BOOT_MACHINE_DRIVE_CHECK.
33904 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
33905 * kern/i386/pc/init.c (make_install_device): Remove references
33906 to grub_root_drive.
33907 * kern/i386/pc/startup.S: Likewise.
33908 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
33909
693fe637 339102009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33911
33912 xnu_uuid command
33913
33914 * commands/xnu_uuid.c: new file
33915 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
33916 (xnu_uuid_mod_SOURCES): new variable
33917 (xnu_uuid_mod_CFLAGS): likewise
33918 (xnu_uuid_mod_LDFLAGS): likewise
33919 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33920 * conf/i386-ieee1275.rmk: likewise
33921 * conf/i386-pc.rmk: likewise
33922 * conf/powerpc-ieee1275.rmk: likewise
33923 * conf/sparc64-ieee1275.rmk: likewise
33924 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
33925
c9da87d0 339262009-06-16 Pavel Roskin <proski@gnu.org>
33927
33928 * configure.ac: Avoid '==' in test command, it's not portable.
33929
9c6f4596 339302009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33931
33932 Probe command
33933
33934 * commands/probe.c: new file
33935 * conf/common.rmk (pkglib_MODULES): add probe.mod
33936 (probe_mod_SOURCES): new variable
33937 (probe_mod_CFLAGS): likewise
33938 (probe_mod_LDFLAGS): likewise
33939 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33940 * conf/i386-ieee1275.rmk: likewise
33941 * conf/i386-pc.rmk: likewise
33942 * conf/powerpc-ieee1275.rmk: likewise
33943 * conf/sparc64-ieee1275.rmk: likewise
33944
70b7f9fd 339452009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
33946
33947 Fix handling of string like \"hello\" and "a
33948 b"
33949
33950 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
33951 (grub_script_yylex): fix parsing of quoting, escaping and newline
33952
71c79a6b 339532009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
33954
dd74360c 33955 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 33956 handling
dd74360c 33957
0644f96c 339582009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 33959
33960 * util/grub-mkconfig.in: Fix parsing of --output option.
33961
e40893c3 339622009-06-12 Pavel Roskin <proski@gnu.org>
33963
33964 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
33965 genmk.rb don't need to be generated or installed.
33966
3a1acfe2 339672009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
33968
33969 * commands/i386/pc/drivemap_int13h.S: add more comments
33970
3a4575d4 339712009-06-11 Pavel Roskin <proski@gnu.org>
33972
0658e928 33973 * Makefile.in (uninstall): Uninstall manuals.
33974
ca0388f0 33975 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
33976 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
33977 and update-grub_lib in two places.
33978 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
33979
e3b27c39 33980 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
33981 a compiler warning.
33982
3a4575d4 33983 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
33984 `entry_lo' to fix variable shadowing.
33985
af1f4f55 339862009-06-11 Christian Franke <franke@computer.org>
33987
33988 * kern/misc.c (__enable_execute_stack): Add missing return type
33989 to prevent gcc warning.
33990
5225e649 339912009-06-11 Felix Zielcke <fzielcke@z-51.de>
33992
33993 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
33994
7d83bd47 339952009-06-11 Pavel Roskin <proski@gnu.org>
33996
c1cb63ba 33997 * Makefile.in: Don't rely on any scripts being executable.
33998 Always use $(SHELL) to run shell scripts.
33999
7d83bd47 34000 * configure.ac: Always define ___main if using -nostdlib. This
34001 fixes tests on Cygwin.
34002
948f48e7 340032009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
34004
34005 UDF fix
34006
7d83bd47 34007 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 34008 is in bytes and not in blocks
7d83bd47 34009
8ada9bc1 340102009-06-11 Pavel Roskin <proski@gnu.org>
34011
34012 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
34013 warning.
34014
25ad2323 340152009-06-11 Felix Zielcke <fzielcke@z-51.de>
34016
34017 * util/grub.d/30_os-prober.in: Fix a comment. Source
34018 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
34019 to set the root device. Place drivemap command in the generated
34020 chain entry.
34021
e65acb0c 340222009-06-11 Pavel Roskin <proski@gnu.org>
34023
34024 * configure.ac: Remove host_m32. Issues with 64-bit utilities
34025 have long been resolved.
34026
f285fe2d 340272009-06-11 Colin Watson <cjwatson@ubuntu.com>
34028
bd47b0b5 34029 * util/grub.d/10_linux.in: Capitalise "Linux".
34030
f285fe2d 34031 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
34032
a0c62e4e 340332009-06-11 Pavel Roskin <proski@gnu.org>
34034
b6783cb2 34035 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
34036 fix a gcc warning and ensure that the function won't ever exit.
34037
dde032e8 34038 * kern/i386/ieee1275/init.c: Add missing prototype for
34039 grub_stop_floppy().
34040
22cd079d 34041 * loader/ieee1275/multiboot2.c [__i386__]: Include
34042 grub/cpu/multiboot.h.
34043
a0c62e4e 34044 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
34045 casts to short - they are not portable and cause warnings. Fix
34046 use of uninitialized values in input_buf. Use ARRAY_SIZE.
34047
63963d17 340482009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
34049
34050 Drivemap fixes
34051
34052 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
34053 new function
34054 (grub_get_root_biosnumber_saved): new variable
34055 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
34056 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 34057 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 34058 %dx after the call if necessary
34059 * conf/common.rmk (pkglib_MODULES): remove boot.mod
34060 (boot_mod_SOURCES): remove
34061 (boot_mod_CFLAGS): remove
34062 (boot_mod_LDFLAGS): remove
34063 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
34064 (boot_mod_SOURCES): new variable
34065 (boot_mod_CFLAGS): likewise
34066 (boot_mod_LDFLAGS): likewise
34067 * conf/i386-efi.rmk: likewise
34068 * conf/i386-ieee1275.rmk: likewise
34069 * conf/i386-pc.rmk: likewise
34070 * conf/powerpc-ieee1275.rmk: likewise
34071 * conf/sparc64-ieee1275.rmk: likewise
34072 * conf/x86_64-efi.rmk: likewise
34073 * include/grub/i386/pc/biosnum.h: new file
34074 * lib/i386/pc/biosnum.c: likewise
34075 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
34076 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
34077 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 34078
33abf7ae 340792009-06-10 Pavel Roskin <proski@gnu.org>
34080
5ac35b35 34081 * io/gzio.c (test_header): Don't reuse one buffer for all data.
34082 Use separate variables. Read only the file size at the end, but
34083 not the checksum that we don't use.
34084
5c5215d5 34085 * kern/file.c (grub_file_read): Use void pointer for the buffer.
34086 Adjust all callers.
34087
27d5fef7 34088 * kern/ieee1275/openfw.c: Remove libc includes.
34089 * kern/ieee1275/cmain.c: Likewise.
34090 * include/grub/ieee1275/ieee1275.h: Likewise.
34091
33abf7ae 34092 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
34093 compiler warnings.
34094
19d50c2b 340952009-06-10 Felix Zielcke <fzielcke@z-51.de>
34096
34097 * Makefile.in: Remove all trailing whitespace.
34098 * conf/i386-pc.rmk: Likewise.
34099 * conf/powerpc-ieee1275.rmk: Likewise.
34100 * conf/sparc64-ieee1275.rmk: Likewise.
34101 * docs/grub.texi: Likewise.
34102 * docs/texinfo.tex: Likewise.
34103 * disk/fs_uuid.c: Likewise.
34104 * disk/lvm.c: Likewise.
34105 * disk/scsi.c: Likewise.
34106 * disk/ata.c: Likewise.
34107 * disk/ieee1275/ofdisk.c: Likewise.
34108 * disk/i386/pc/biosdisk.c: Likewise.
34109 * disk/host.c: Likewise.
34110 * disk/raid.c: Likewise.
34111 * disk/efi/efidisk.c: Likewise.
34112 * disk/usbms.c: Likewise.
34113 * disk/memdisk.c: Likewise.
34114 * disk/loopback.c: Likewise.
34115 * kern/powerpc/dl.c: Likewise.
34116 * kern/device.c: Likewise.
34117 * kern/dl.c: Likewise.
34118 * kern/sparc64/dl.c: Likewise.
34119 * kern/ieee1275/ieee1275.c: Likewise.
34120 * kern/term.c: Likewise.
34121 * kern/fs.c: Likewise.
34122 * kern/i386/dl.c: Likewise.
34123 * kern/i386/pc/startup.S: Likewise.
34124 * kern/i386/pc/init.c: Likewise.
34125 * kern/i386/pc/mmap.c: Likewise.
34126 * kern/i386/pc/lzo1x.S: Likewise.
34127 * kern/i386/ieee1275/init.c: Likewise.
34128 * kern/i386/realmode.S: Likewise.
34129 * kern/i386/tsc.c: Likewise.
34130 * kern/partition.c: Likewise.
34131 * kern/corecmd.c: Likewise.
34132 * kern/file.c: Likewise.
34133 * kern/efi/efi.c: Likewise.
34134 * kern/efi/init.c: Likewise.
34135 * kern/efi/mm.c: Likewise.
34136 * kern/main.c: Likewise.
34137 * kern/err.c: Likewise.
34138 * kern/env.c: Likewise.
34139 * kern/disk.c: Likewise.
34140 * kern/generic/millisleep.c: Likewise.
34141 * kern/generic/rtc_get_time_ms.c: Likewise.
34142 * kern/misc.c: Likewise.
34143 * kern/parser.c: Likewise.
34144 * genmk.rb: Likewise.
34145 * configure.ac: Likewise.
34146 * boot/i386/pc/diskboot.S: Likewise.
34147 * boot/i386/pc/pxeboot.S: Likewise.
34148 * boot/i386/pc/boot.S: Likewise.
34149 * boot/i386/pc/lnxboot.S: Likewise.
34150 * boot/i386/pc/cdboot.S: Likewise.
34151 * parttool/pcpart.c: Likewise.
34152 * video/readers/tga.c: Likewise.
34153 * video/video.c: Likewise.
34154 * video/bitmap.c: Likewise.
34155 * lib/envblk.c: Likewise.
34156 * lib/i386/setjmp.S: Likewise.
34157 * fs/xfs.c: Likewise.
34158 * fs/afs.c: Likewise.
34159 * fs/fat.c: Likewise.
34160 * fs/ntfs.c: Likewise.
34161 * fs/udf.c: Likewise.
34162 * fs/affs.c: Likewise.
34163 * fs/iso9660.c: Likewise.
34164 * fs/hfs.c: Likewise.
34165 * fs/fshelp.c: Likewise.
34166 * fs/ext2.c: Likewise.
34167 * fs/jfs.c: Likewise.
34168 * fs/reiserfs.c: Likewise.
34169 * fs/hfsplus.c: Likewise.
34170 * fs/minix.c: Likewise.
34171 * fs/cpio.c: Likewise.
34172 * fs/sfs.c: Likewise.
34173 * fs/ufs.c: Likewise.
34174 * efiemu/prepare.c: Likewise.
34175 * efiemu/loadcore_common.c: Likewise.
34176 * efiemu/runtime/efiemu.sh: Likewise.
34177 * efiemu/runtime/efiemu.S: Likewise.
34178 * efiemu/runtime/efiemu.c: Likewise.
34179 * efiemu/pnvram.c: Likewise.
34180 * efiemu/main.c: Likewise.
34181 * efiemu/i386/pc/cfgtables.c: Likewise.
34182 * efiemu/i386/loadcore64.c: Likewise.
34183 * efiemu/i386/loadcore32.c: Likewise.
34184 * efiemu/loadcore.c: Likewise.
34185 * efiemu/symbols.c: Likewise.
34186 * efiemu/mm.c: Likewise.
34187 * include/grub/autoefi.h: Likewise.
34188 * include/grub/datetime.h: Likewise.
34189 * include/grub/term.h: Likewise.
34190 * include/grub/hfs.h: Likewise.
34191 * include/grub/lvm.h: Likewise.
34192 * include/grub/i386/tsc.h: Likewise.
34193 * include/grub/i386/linux.h: Likewise.
34194 * include/grub/i386/xnu.h: Likewise.
34195 * include/grub/i386/efiemu.h: Likewise.
34196 * include/grub/i386/pc/biosdisk.h: Likewise.
34197 * include/grub/i386/pc/memory.h: Likewise.
34198 * include/grub/i386/pc/vbe.h: Likewise.
34199 * include/grub/parttool.h: Likewise.
34200 * include/grub/video.h: Likewise.
34201 * include/grub/memory.h: Likewise.
34202 * include/grub/fs.h: Likewise.
34203 * include/grub/partition.h: Likewise.
34204 * include/grub/xnu.h: Likewise.
34205 * include/grub/efi/api.h: Likewise.
34206 * include/grub/efi/pe32.h: Likewise.
34207 * include/grub/efi/memory.h: Likewise.
34208 * include/grub/multiboot.h: Likewise.
34209 * include/grub/usbdesc.h: Likewise.
34210 * include/grub/multiboot2.h: Likewise.
34211 * include/grub/acpi.h: Likewise.
34212 * include/grub/efiemu/efiemu.h: Likewise.
34213 * include/grub/disk.h: Likewise.
34214 * include/grub/ieee1275/ieee1275.h: Likewise.
34215 * include/grub/net.h: Likewise.
34216 * include/grub/machoload.h: Likewise.
34217 * include/grub/macho.h: Likewise.
34218 * include/multiboot.h: Likewise.
34219 * genmoddep.awk: Likewise.
34220 * normal/main.c: Likewise.
34221 * normal/menu_entry.c: Likewise.
34222 * normal/menu_viewer.c: Likewise.
34223 * normal/completion.c: Likewise.
34224 * normal/cmdline.c: Likewise.
34225 * normal/misc.c: Likewise.
34226 * normal/datetime.c: Likewise.
34227 * bus/usb/usbtrans.c: Likewise.
34228 * bus/usb/ohci.c: Likewise.
34229 * bus/usb/uhci.c: Likewise.
34230 * bus/usb/usb.c: Likewise.
34231 * mmap/efi/mmap.c: Likewise.
34232 * mmap/i386/pc/mmap_helper.S: Likewise.
34233 * mmap/i386/pc/mmap.c: Likewise.
34234 * mmap/i386/mmap.c: Likewise.
34235 * mmap/i386/uppermem.c: Likewise.
34236 * mmap/mmap.c: Likewise.
34237 * commands/acpi.c: Likewise.
34238 * commands/echo.c: Likewise.
34239 * commands/blocklist.c: Likewise.
34240 * commands/loadenv.c: Likewise.
34241 * commands/usbtest.c: Likewise.
34242 * commands/boot.c: Likewise.
34243 * commands/parttool.c: Likewise.
34244 * commands/search.c: Likewise.
34245 * commands/cat.c: Likewise.
34246 * commands/i386/pc/play.c: Likewise.
34247 * commands/i386/pc/drivemap.c: Likewise.
34248 * commands/i386/pc/vbeinfo.c: Likewise.
34249 * commands/i386/pc/acpi.c: Likewise.
34250 * commands/i386/pc/vbetest.c: Likewise.
34251 * commands/ls.c: Likewise.
34252 * commands/cmp.c: Likewise.
34253 * commands/test.c: Likewise.
34254 * commands/efi/acpi.c: Likewise.
34255 * commands/gptsync.c: Likewise.
34256 * commands/help.c: Likewise.
34257 * partmap/amiga.c: Likewise.
34258 * partmap/apple.c: Likewise.
34259 * partmap/acorn.c: Likewise.
34260 * partmap/pc.c: Likewise.
34261 * partmap/sun.c: Likewise.
34262 * partmap/gpt.c: Likewise.
34263 * script/sh/lexer.c: Likewise.
34264 * script/sh/function.c: Likewise.
34265 * font/font.c: Likewise.
34266 * font/font_cmd.c: Likewise.
34267 * loader/powerpc/ieee1275/linux.c: Likewise.
34268 * loader/efi/chainloader.c: Likewise.
34269 * loader/multiboot_loader.c: Likewise.
34270 * loader/macho.c: Likewise.
34271 * loader/i386/multiboot.c: Likewise.
34272 * loader/i386/linux.c: Likewise.
34273 * loader/i386/pc/linux.c: Likewise.
34274 * loader/i386/pc/multiboot2.c: Likewise.
34275 * loader/i386/pc/chainloader.c: Likewise.
34276 * loader/i386/pc/xnu.c: Likewise.
34277 * loader/i386/bsd_trampoline.S: Likewise.
34278 * loader/i386/efi/linux.c: Likewise.
34279 * loader/i386/multiboot_elfxx.c: Likewise.
34280 * loader/i386/bsd_helper.S: Likewise.
34281 * loader/i386/bsd.c: Likewise.
34282 * loader/i386/linux_trampoline.S: Likewise.
34283 * loader/i386/xnu_helper.S: Likewise.
34284 * loader/i386/xnu.c: Likewise.
34285 * loader/i386/bsd_pagetable.c: Likewise.
34286 * loader/i386/multiboot_helper.S: Likewise.
34287 * loader/xnu.c: Likewise.
34288 * loader/xnu_resume.c: Likewise.
34289 * io/gzio.c: Likewise.
34290 * term/efi/console.c: Likewise.
34291 * term/terminfo.c: Likewise.
34292 * term/ieee1275/ofconsole.c: Likewise.
34293 * term/i386/pc/serial.c: Likewise.
34294 * term/i386/pc/vesafb.c: Likewise.
34295 * term/i386/pc/vga.c: Likewise.
34296 * term/usb_keyboard.c: Likewise.
34297 * term/gfxterm.c: Likewise.
34298 * aclocal.m4: Likewise.
34299 * util/lvm.c: Likewise.
34300 * util/grub.d/30_os-prober.in: Likewise.
34301 * util/grub.d/10_hurd.in: Likewise.
34302 * util/console.c: Likewise.
34303 * util/grub-macho2img.c: Likewise.
34304 * util/grub-probe.c: Likewise.
34305 * util/hostfs.c: Likewise.
34306 * util/i386/pc/grub-mkimage.c: Likewise.
34307 * util/i386/pc/grub-setup.c: Likewise.
34308 * util/i386/efi/grub-mkimage.c: Likewise.
34309 * util/grub-mkconfig.in: Likewise.
34310 * util/raid.c: Likewise.
34311 * util/resolve.c: Likewise.
34312 * util/grub-mkdevicemap.c: Likewise.
34313 * util/grub-emu.c: Likewise.
34314 * util/getroot.c: Likewise.
34315 * util/hostdisk.c: Likewise.
34316 * util/usb.c: Likewise.
34317 * util/grub-editenv.c: Likewise.
34318 * util/misc.c: Likewise.
34319
d2d49665 343202009-06-10 Felix Zielcke <fzielcke@z-51.de>
34321
34322 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
34323 `genparttoollist.sh'.
34324 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
34325 Add `*.sh' to the list find searches for and change `mdate.sh'
34326 to `mdate-sh'.
34327
fe052e37 343282009-06-10 Pavel Roskin <proski@gnu.org>
34329
2763ac18 34330 * include/grub/multiboot2.h: Provide compatibility defines for
34331 multiboot2.h.
34332 * include/multiboot2.h: Include stdint.h only if needed, using
34333 angle brackets.
34334 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
34335 grub/multiboot2.h.
34336 * loader/ieee1275/multiboot2.c: Likewise.
34337 * loader/multiboot2.c: Likewise.
34338 * loader/multiboot_loader.c: Likewise.
34339
437e6adc 34340 * configure.ac: Use -nostdlib when probing for the target. It
34341 should not be required to have libc for the target.
34342
06a6836c 34343 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
34344 they fail without libc headers for the target.
34345 * include/grub/powerpc/libgcc.h: Use weak attribute for all
34346 exports.
34347 * include/grub/sparc64/libgcc.h: Likewise. Don't use
34348 preprocessor conditionals.
34349
fe052e37 34350 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
34351 build system doesn't need to be aware of the tar.c internals.
34352
afd22553 343532009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 34354
afd22553 34355 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 34356
6b787c4f 343572009-06-09 Robert Millan <rmh.grub@aybabtu.com>
34358
34359 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
34360 disk limit to 26 for IDE, Virtio, Xen and SCSI.
34361
343622009-06-09 Felix Zielcke <fzielcke@z-51.de>
34363
34364 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 34365 aren't available if ata.mod gets used.
6b787c4f 34366
473d1e45 343672009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 34368
473d1e45 34369 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 34370 initialising controller.
473d1e45 34371 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 34372
255a27d4 343732009-06-08 Felix Zielcke <fzielcke@z-51.de>
34374
34375 * util/i386/pc/grub-install.in: Add a parameter --disk-module
34376 to choose between ata and biosdisk module on i386-pc.
34377
473d1e45 343782009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 34379
d55842d8 34380 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
34381 Subclass and Programming Interface fields in terms of the 3 byte
34382 Class Code register.
34383 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34384
fa5db0b1 34385 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
34386 interface is OHCI. Add grub_dprintf for symmetry with
34387 bus/usb/uhci.c.
34388 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
34389 interface is UHCI. Add interf variable for programming
34390 interface. Print interface with class/subclass.
34391
c0947beb 34392 * bus/usb/ohci.c: Set interf with correct field.
34393
69da8877 34394 * bus/usb/uhci.c: Remove unneeded doubled lines.
34395 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
34396 Remove whitespace inside comment.
34397
9e172e30 343982009-06-08 Robert Millan <rmh.grub@aybabtu.com>
34399
34400 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
34401 as fallback an equivalent option without depth.
34402
de65ee2b 344032009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34404
34405 Not fail if unable to retrieve C/H/S on LBA disks
34406
473d1e45 34407 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 34408 if unable to retrieve C/H/S on LBA disks
34409
b57ea2c9 344102009-06-08 Pavel Roskin <proski@gnu.org>
34411
34412 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
34413 about aliasing.
34414
af361263 344152009-06-08 Felix Zielcke <fzielcke@z-51.de>
34416
34417 * Makefile.in (uninstall): Remove all $lib_DATA files.
34418
4c9ec6b3 344192009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34420
34421 Bugfix: install on partitionless device
34422
34423 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
34424 is a whole disk
34425
e76fc924 344262009-06-08 Felix Zielcke <fzielcke@z-51.de>
34427
34428 * Makefile.in (uninstall): Remove all $include_DATA files.
34429
ba5a0d05 344302009-06-08 Felix Zielcke <fzielcke@z-51.de>
34431
34432 * commands/true.c: New file. Implement the true and false commands.
34433 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
34434 (true_mod_SOURCES): New variable.
34435 (true_mod_CFLAGS): Likewise.
34436 (true_mod_LDFLAGS): Likewise.
34437
c8048e32 344382009-06-05 Colin D Bennett <colin@gibibit.com>
34439
34440 Optimized font character lookup using binary search instead of linear
34441 search. Fonts now are required to have the character index ordered by
34442 code point.
34443
34444 * font/font.c (load_font_index): Verify that fonts have ordered
34445 character indices.
34446 (find_glyph): Use binary search instead of linear search to find a
34447 character in a font.
34448
408305be 344492009-06-05 Michael Scherer <misc@mandriva.org>
34450
34451 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
34452 uses case sensitive btree.
34453 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
34454 only for case insensitive filesystems.
34455
8ee1e0d9 344562009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
34457
34458 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
34459 * conf/common.rmk (search_mod_CFLAGS): likewise
34460
a9966eb1 344612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34462
473d1e45 34463 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 34464 compensate a compiler bug
34465
9e7100fb 344662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34467
473d1e45 34468 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 34469 instead of '\b'
473d1e45 34470
ede21d71 344712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34472
34473 Definitions for creating asm symbols with Apple's CC
34474
34475 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
34476 [APPLE_CC] (VARIABLE): likewise
34477
9dbf7653 344782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34479
34480 Disable lnxboot.img when compiled
34481 with Apple's CC
34482
34483 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
34484 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
34485 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
34486 [! APPLE_CC] (CODE_LENG): skip
34487 [! APPLE_CC] (setup_sects): likewise
34488 [! APPLE_CC]: skip filling
473d1e45 34489
e93cdc3d 344902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34491
34492 Address in trampolines based on 32-bit registers when compiled
34493 with Apple's CC
34494
473d1e45 34495 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 34496 for addresses
34497 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
34498
6c688477 344992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34500
34501 Avoid aliases when compiling with Apple's CC for PCBIOS machine
34502
34503 * kern/misc.c [APPLE_CC] (memcpy): new function
34504 [APPLE_CC] (memmove): likewise
34505 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 34506 (memcpy): define alias conditionally on !APPLE_CC
6c688477 34507 (memset): likewise
34508 (abort): likewise
34509 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
34510 APPLE_CC are defined
34511 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
34512 (grub_assert_fail): make prototype conditional
34513
e37ffc5c 345142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34515
34516 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
34517
473d1e45 34518 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
34519 grub-macho2img
e37ffc5c 34520 (CLEANFILES): add grub-macho2img
34521 (grub_macho2img_SOURCES): new variable
34522 * kern/i386/pc/startup.S (bss_start): new variable
34523 (bss_end): likewise
34524 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
34525 * util/grub-macho2img.c: new file
34526
cf00df31 345272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34528
34529 Use objconv when compiling with Apple's CC
34530
34531 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
34532 (efiemu64.o): likewise
34533 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
34534 when compiling with Apple's CC
34535 (efiemu64_s.o): likewise
34536 * configure.ac: check for objconv when compiling with Apple's CC
34537 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 34538
d119a20c 345392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34540
34541 Define segment as well as section when compiling with
34542 Apple's CC
34543
34544 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
34545 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
34546 (efiemu_convert_pointer): likewise
34547 (efiemu_set_virtual_address_map): likewise
34548 (efiemu_convert_pointer): likewise
34549 (efiemu_getcrc32): likewise
34550 (init_crc32_table): likewise
34551 (reflect): likewise
34552 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
34553 (GRUB_MOD_DEP): likewise
473d1e45 34554
c8600122 345552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34556
34557 Allow a compilation without -mcmodel=large
34558
34559 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
34560 when compiled without -mcmodel=large
473d1e45 34561 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 34562 without -mcmodel=large
473d1e45 34563 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 34564 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 34565
e8df1d4e 345662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34567
34568 Remove nested functions in efiemu core
34569
34570 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 34571
cc6c3ac1 345722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34573
34574 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
34575
34576 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
34577 temporary storage
473d1e45 34578 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
34579 using Apple's CC
cc6c3ac1 34580 (grub_cpu_is_tsc_supported): likewise
34581 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 34582
3e325901 345832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34584
34585 Absolute addressing through constant with Apple's cc
34586
34587 * kern/i386/pc/startup.S: Define necessary constants
34588 and address through it when using ABS with Apple's CC
34589 * boot/i386/pc/diskboot.S: likewise
34590 * boot/i386/pc/boot.S: likewise
34591 * boot/i386/pc/lnxboot.S: likewise
34592 * boot/i386/pc/cdboot.S: likewise
34593 * mmap/i386/pc/mmap_helper.S: likewise
34594 * commands/i386/pc/drivemap_int13h.S: likewise
34595
2b167a72 345962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34597
34598 Check if compiler is apple cc
34599
34600 * Makefile.in (ASFLAGS): new variable
34601 (TARGET_ASFLAGS): likewise
34602 (TARGET_MODULE_FORMAT): likewise
34603 (TARGET_APPLE_CC): likewise
34604 (OBJCONV): likewise
34605 (TARGET_IMG_CFLAGS): likewise
34606 (TARGET_CPPFLAGS): add includedir
34607 * configure.ac: call grub_apple_cc and grub_apple_target_cc
34608 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
34609 Check for linker script only if compiler isn't Apple's CC
34610 (TARGET_MODULE_FORMAT): set
34611 (TARGET_APPLE_CC): likewise
34612 (TARGET_ASFLAGS): likewise
34613 (ASFLAGS): likewise
34614 Check for objcopy only if compiler isn't Apple's CC
34615 Check for BSS symbol only if compiler isn't Apple's CC
34616 * genmk.rb: adapt nm options if we use Apple's utils
34617 * aclocal.m4 (grub_apple_cc): new test
34618 (grub_apple_target_cc): likewise
473d1e45 34619
fb14123e 346202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34621
34622 Simplify sed expressions and improve awk
34623
34624 * Makefile.in (install-local): simplify sed expression
34625 * gencmdlist.sh: likewise
34626 * genmoddep.awk: avoid adding module as a dependency of itself
34627
5b889789 346282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34629
34630 Add missing start symbols
34631
34632 * boot/i386/pc/boot.S: add start
fb14123e 34633 * boot/i386/pc/pxeboot.S: likewise
473d1e45 34634
fd2bf2e3 346352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34636
34637 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 34638
34639 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 34640 (relocate_addresses): consider both r_addend and value at offset
34641 (make_mods_section): zerofill modinfo and header
34642 (convert_elf): write prefix here
473d1e45 34643
5389763d 346442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34645
34646 Use .asciz instead of .string
34647
34648 * i386/pc/diskboot.S: use .asciz instead of .string
34649 * i386/pc/boot.S: likewise
34650 * include/grub/dl.h (GRUB_MOD_DEP): likewise
34651 (GRUB_MOD_NAME): likewise
473d1e45 34652
3eb5ed4e 346532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34654
34655 gfxpayload support
34656
34657 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
34658 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
34659 (grub_video_setup): remove
34660 (grub_video_set_mode): new prototype
34661 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
34662 (vid_mode): remove
34663 (linux_vesafb_res): compile only on PCBIOS
34664 (grub_linux_boot): support gfxpayload
34665 * loader/i386/pc/xnu.c (video_hook): new function
34666 (grub_xnu_set_video): support gfxpayload
34667 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
34668 (DEFAULT_VIDEO_HEIGHT): likewise
34669 (DEFAULT_VIDEO_FLAGS): likewise
34670 (DEFAULT_VIDEO_MODE): new definition
34671 (video_hook): new function
34672 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 34673 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 34674 loading xnu
34675 * video/video.c (grub_video_setup): removed
473d1e45 34676 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 34677 grub_video_setup
34678
4b0e1143 346792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34680
34681 Avoid calling biosdisk in drivemap
34682
34683 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
34684 (revparse_biosdisk): likewise
34685 (list_mappings): derive name from id directly
34686 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 34687
fda6cb98 346882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34689
34690 Script fixes
34691
34692 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
34693 (grub_lexer_param): add tokenonhold
34694 (grub_script_create_cmdline): remove cmdline. All callers updated
34695 (grub_script_function_create): make functionname
34696 grub_script_arg. All callers updated
34697 (grub_script_execute_argument_to_string): new prototype
34698 * kern/parser.c (state_transitions): reorder
34699 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 34700 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 34701 make global
34702 (grub_script_execute_cmdline): use new format
34703 * script/sh/function.c (grub_script_function_create): make functionname
34704 grub_script_arg. All callers updated
473d1e45 34705 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 34706 (grub_script_yylex): remove
34707 (grub_script_yylex2): renamed to ...
34708 (grub_script_yylex): ...renamed
34709 parse the expressions like a${b}c
34710 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
34711 (GRUB_PARSER_TOKEN_VAR): remove
34712 (GRUB_PARSER_TOKEN_NAME): likewise
34713 ("if"): declare as typeless
34714 ("while"): likewise
34715 ("function"): likewise
34716 ("else"): likewise
34717 ("then"): likewise
34718 ("fi"): likewise
34719 (text): remove
34720 (argument): likewise
34721 (script): accept empty scripts and make exit on error
34722 (arguments): use GRUB_PARSER_TOKEN_ARG
34723 (function): likewise
34724 (command): move error handling to script
34725 (menuentry): move grub_script_lexer_ref before
473d1e45 34726 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 34727 argument. All callers updated
34728
f4448a07 347292009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34730
34731 Prevent GRUB from probing floppies during boot.
34732
34733 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
34734 * commands/search.c (options): Add --no-floppy.
34735 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
34736 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
34737 --no-floppy when searching for UUIDs.
34738
2bf5885a 347392009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34740
34741 Simplify the code duplication in commands/search.c.
34742
34743 * commands/search.c (search_label, search_fs_uuid): Merge into ...
34744 (search_fs): ... this. Update all users.
34745
f6fd460a 347462009-06-03 Felix Zielcke <fzielcke@z-51.de>
34747
34748 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
34749
cbb3c83e 347502009-05-28 Pavel Roskin <proski@gnu.org>
34751
57788cfd 34752 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
34753 Remove the original symlink explicitly.
34754
cbb3c83e 34755 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
34756 just one slash. That's how grub_fshelp_find_file() does it.
34757
cd0d5e30 347582009-05-26 Pavel Roskin <proski@gnu.org>
34759
f0f8bbe2 34760 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
34761 to `str'.
34762
cd0d5e30 34763 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
34764 possibly unused.
34765
8c2cab51 347662009-05-25 Christian Franke <franke@computer.org>
34767
34768 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
34769 register.
34770 (grub_atapi_identify): Add wait after drive select.
34771 (grub_ata_identify): Do more strict status register check before
34772 calling grub_atapi_identify (). Suppress error message if status
34773 register is 0x00 after command failure. Add status register
34774 check after PIO read to avoid bogus identify due to stuck DRQ.
34775 Thanks to Pavel Roskin for testing.
34776 (grub_device_initialize): Remove unsafe status register check.
34777 Thanks to 'phcoder' for problem report and patch.
34778 Prevent sign extension in debug message.
34779
230c0ad6 347802009-05-23 Colin D Bennett <colin@gibibit.com>
34781
34782 Cleaned up `include/grub/normal.h'. Grouped prototypes by
34783 definition file, and functions defined in `normal/menu.c' have had
34784 their prototypes moved to `include/grub/menu.h' for consistency.
34785
34786 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
34787 from normal.h.
34788 (grub_menu_get_entry): Likewise.
34789 (grub_menu_get_timeout): Likewise.
34790 (grub_menu_set_timeout): Likewise.
34791 (grub_menu_execute_entry): Likewise.
34792 (grub_menu_execute_with_fallback): Likewise.
34793 (grub_menu_entry_run): Likewise.
34794
34795 * include/grub/normal.h: Re-ordered and grouped function
34796 prototypes by file that the function is defined in.
34797 (grub_menu_execute_callback): Removed; moved to menu.h.
34798 (grub_menu_get_entry): Likewise.
34799 (grub_menu_get_timeout): Likewise.
34800 (grub_menu_set_timeout): Likewise.
34801 (grub_menu_execute_entry): Likewise.
34802 (grub_menu_execute_with_fallback): Likewise.
34803 (grub_menu_entry_run): Likewise.
34804 (grub_menu_addentry): Renamed from this ...
34805 (grub_normal_add_menu_entry): ... to this.
34806
34807 * normal/main.c (grub_menu_addentry): Renamed from this ...
34808 (grub_normal_add_menu_entry): ... to this.
34809
34810 * script/sh/execute.c (grub_script_execute_menuentry): Update
34811 reference to renamed grub_menu_addentry function.
34812
861f03a5 348132009-05-23 Felix Zielcke <fzielcke@z-51.de>
34814
34815 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
34816
96b1619a 348172009-05-22 Pavel Roskin <proski@gnu.org>
34818
bf6a5fb2 34819 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
34820 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
34821 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
34822 compiling for the i386 targets, but not for the utilities.
34823
96b1619a 34824 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
34825 to grub_uint8_t.
34826 (grub_root_drive): Likewise.
34827 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
34828 remove alignment.
34829 (grub_root_drive): Change size to byte.
34830 (grub_start_addr): Remove.
34831 (grub_end_addr): Likewise.
34832 (grub_apm_bios_info): Likewise.
34833
b729776b 348342009-05-21 Felix Zielcke <fzielcke@z-51.de>
34835
34836 * normal/i386: Remove.
34837 * normal/powerpc: Likewise.
34838 * normal/sparc64: Likewise.
34839 * normal/x86_64: Likewise.
34840
0a15ce80 348412009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
34842
34843 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 34844 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 34845 * loader/i386/xnu_helper.S: Likewise
d6da58e6 34846
33db9015 348472009-05-18 Colin D Bennett <colin@gibibit.com>
34848
d6da58e6 34849 Display error messages when parsing a Lua statement fails.
34850 Previously, executing a syntactically invalid statement like
34851 ")foo" or "bar;" would silently fail.
33db9015 34852
34853 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 34854 (grub_lua_parse_line): Improved reporting of Lua parser and
34855 execution errors.
33db9015 34856
46422c89 348572009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34858
34859 Remove -Werror which causes build to fail on some systems
34860
34861 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
34862 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
34863 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 34864
22f53a96 348652009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34866
34867 trampoline for linux on 64-bit platform
34868
18f547ad 34869 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
34870 loader/i386/efi/linux_trampoline.S
34871 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 34872 declaration
d6da58e6 34873 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
34874 here
22f53a96 34875 * loader/i386/linux_trampoline.S: moved here
d6da58e6 34876 * loader/i386/efi/linux.c (allocate_pages): reserve space for
34877 trampoline
22f53a96 34878 (jumpvector): removed
34879 (grub_linux_trampoline_start): new declaration
34880 (grub_linux_trampoline_end): likewise
34881 (grub_linux_boot): use trampoline when on 64-bit platform
34882 * loader/i386/linux.c: likewise
34883
cb5a0f40 348842009-05-16 Pavel Roskin <proski@gnu.org>
34885
34886 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
34887 const to avoid a warning.
34888 (grub_lua_setenv): Likewise.
34889 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
34890 lmsg to fix a warning.
34891
334f2c28 348922009-05-16 Felix Zielcke <fzielcke@z-51.de>
34893
34894 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 34895 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34896 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
34897 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34898 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34899 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34900 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34901 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 34902
59e5d3ec 349032009-05-16 Felix Zielcke <fzielcke@z-51.de>
34904
34905 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
34906
9d87a1ba 349072009-05-16 Bean <bean123ch@gmail.com>
34908
34909 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
34910 (lua_mod_SOURCES): New variable.
34911 (lua_mod_CFLAGS): Likewise.
34912 (lua_mod_LDFLAGS): Likewise.
34913
34914 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
34915 (setjmp_mod_SOURCES): New variable.
34916 (setjmp_mod_CFLAGS): Likewise.
34917 (setjmp_LDFLAGS): Likewise.
34918
34919 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
34920 (setjmp_mod_SOURCES): New variable.
34921 (setjmp_mod_CFLAGS): Likewise.
34922 (setjmp_LDFLAGS): Likewise.
34923
34924 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34925 (setjmp_mod_SOURCES): New variable.
34926 (setjmp_mod_CFLAGS): Likewise.
34927 (setjmp_LDFLAGS): Likewise.
34928
34929 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34930 (setjmp_mod_SOURCES): New variable.
34931 (setjmp_mod_CFLAGS): Likewise.
34932 (setjmp_LDFLAGS): Likewise.
34933
34934 * normal/i386/setjmp.S: Moved from here ...
34935 * lib/i386/setjmp.S: ... Moved here
34936 * normal/x86_64/setjmp.S: Moved from here ...
34937 * lib/x86_64/setjmp.S: ... Moved here
34938 * normal/powerpc/setjmp.S: Moved from here ...
34939 * lib/powerpc/setjmp.S: ... Moved here
34940 * normal/sparc64/setjmp.S: Moved from here ...
34941 * lib/sparc64/setjmp.S: ... Moved here
34942
34943 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
34944 returns_twice in mingw.
34945
34946 * script/lua/grub_lib.c: New file.
34947 * script/lua/grub_lib.h: Likewise.
34948 * script/lua/grub_lua.h: Likewise.
34949 * script/lua/grub_main.c: Likewise.
34950 * script/lua/lapi.c: Likewise.
34951 * script/lua/lapi.h: Likewise.
34952 * script/lua/lauxlib.c: Likewise.
34953 * script/lua/lauxlib.h: Likewise.
34954 * script/lua/lbaselib.c: Likewise.
34955 * script/lua/lcode.c: Likewise.
34956 * script/lua/lcode.h: Likewise.
34957 * script/lua/ldblib.c: Likewise.
34958 * script/lua/ldebug.c: Likewise.
34959 * script/lua/ldebug.h: Likewise.
34960 * script/lua/ldo.c: Likewise.
34961 * script/lua/ldo.h: Likewise.
34962 * script/lua/ldump.c: Likewise.
34963 * script/lua/lfunc.c: Likewise.
34964 * script/lua/lfunc.h: Likewise.
34965 * script/lua/lgc.c: Likewise.
34966 * script/lua/lgc.h: Likewise.
34967 * script/lua/linit.c: Likewise.
34968 * script/lua/liolib.c: Likewise.
34969 * script/lua/llex.c: Likewise.
34970 * script/lua/llex.h: Likewise.
34971 * script/lua/llimits.h: Likewise.
34972 * script/lua/lmathlib.c: Likewise.
34973 * script/lua/lmem.c: Likewise.
34974 * script/lua/lmem.h: Likewise.
34975 * script/lua/loadlib.c: Likewise.
34976 * script/lua/lobject.c: Likewise.
34977 * script/lua/lobject.h: Likewise.
34978 * script/lua/lopcodes.c: Likewise.
34979 * script/lua/lopcodes.h: Likewise.
34980 * script/lua/loslib.c: Likewise.
34981 * script/lua/lparser.c: Likewise.
34982 * script/lua/lparser.h: Likewise.
34983 * script/lua/lstate.c: Likewise.
34984 * script/lua/lstate.h: Likewise.
34985 * script/lua/lstring.c: Likewise.
34986 * script/lua/lstring.h: Likewise.
34987 * script/lua/lstrlib.c: Likewise.
34988 * script/lua/ltable.c: Likewise.
34989 * script/lua/ltable.h: Likewise.
34990 * script/lua/ltablib.c: Likewise.
34991 * script/lua/ltm.c: Likewise.
34992 * script/lua/ltm.h: Likewise.
34993 * script/lua/lua.h: Likewise.
34994 * script/lua/luaconf.h: Likewise.
34995 * script/lua/lualib.h: Likewise.
34996 * script/lua/lundump.c: Likewise.
34997 * script/lua/lundump.h: Likewise.
34998 * script/lua/lvm.c: Likewise.
34999 * script/lua/lvm.h: Likewise.
35000 * script/lua/lzio.c: Likewise.
35001 * script/lua/lzio.h: Likewise.
35002
5e898c9d 350032009-05-16 Bean <bean123ch@gmail.com>
35004
35005 * include/grub/kernel.h (grub_module_header_types): Add type
35006 OBJ_TYPE_CONFIG.
35007
35008 * kern/main.c (grub_load_config): New function.
35009 (grub_main): Call grub_load_config to read boot config.
35010
35011 * grub-mkimage (generate_image): New parameter config_path.
35012 (options): New option --config.
35013 (main): Parse --config option, and pass it to generate_image.
35014
cf353a47 350152009-05-14 Christian Franke <franke@computer.org>
35016
35017 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
35018 This fixes build on Cygwin.
35019
3834887f 350202009-05-14 Pavel Roskin <proski@gnu.org>
35021
35022 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
35023 jump. This saves two bytes, so the typical case of 2 swapped
35024 drives would fit 32 bytes.
35025
8090fc01 350262009-05-13 Pavel Roskin <proski@gnu.org>
35027
ac963883 35028 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
35029 grub_uint32_t to avoid a warning.
35030
8090fc01 35031 * loader/i386/linux.c (allocate_pages): When assigning
35032 real_mode_mem, cast through grub_size_t to fix a warning. The
35033 code already makes sure that the value would fit a pointer.
35034 (grub_linux_setup_video): Cast render_target->data to
35035 grub_size_t to fix a warning.
35036
18f547ad 350372009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 35038
35039 * commands/i386/pc/drivemap.c: New file - implement drivemap
35040 command.
35041 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
35042 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
35043
6f6a8b28 350442009-05-13 Pavel Roskin <proski@gnu.org>
35045
35046 * util/i386/pc/grub-setup.c (setup): Remove unused variable
35047 embedding_area_exists.
35048
15fbf4c4 350492009-05-13 Robert Millan <rmh.grub@aybabtu.com>
35050
35051 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
35052 it easier to understand / work with.
59978c8a 35053 Improve warning messages for cases where there's no embedding area,
35054 or when it is too small (or core.img too large).
15fbf4c4 35055
238e871f 350562009-05-13 Pavel Roskin <proski@gnu.org>
35057
0ab3a9a4 35058 * loader/i386/pc/multiboot2.c: Add necessary includes for
35059 grub_multiboot2_real_boot().
35060
a2c8c5f8 35061 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
35062 PX record is always little-endian. We only need the lower 2
35063 bytes of the mode.
35064
faec96af 35065 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
35066 facilitate code reuse.
35067 (grub_cpio_mount): Use "struct head", not a char buffer. This
35068 fixes a warning reported by gcc 4.4.
35069
238e871f 35070 * kernel/disk.c (grub_disk_read): Use void pointer for the
35071 buffer.
35072 (grub_disk_write): Use const void pointer for the buffer.
35073 Adjust all callers. Remove unnecessary casts.
35074
901d2f0c 350752009-05-10 Robert Millan <rmh.grub@aybabtu.com>
35076
35077 * util/i386/pc/grub-install.in: Update copyright year.
35078
18f547ad 350792009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 35080
35081 gptsync
35082
35083 * commands/gptsync.c: new file
35084 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
35085 (gptsync_mod_SOURCES): new variable
35086 (gptsync_mod_CFLAGS): likewise
35087 (gptsync_mod_LDFLAGS): likewise
18f547ad 35088 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 35089 new definition
35090 (GRUB_PC_PARTITION_TYPE_HFS): likewise
35091 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
35092 * conf/i386-ieee1275.rmk: likewise
35093 * conf/i386-pc.rmk: likewise
35094 * conf/powerpc-ieee1275.rmk: likewise
35095
b4ba690a 350962009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
35097
35098 Fixed grub-emu
35099
35100 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
35101 (grub_dl_ref): likewise
35102
317e1a44 351032009-05-08 Robert Millan <rmh.grub@aybabtu.com>
35104
35105 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
35106 split in two functions (one for msdos and one for gpt).
35107
041b8094 351082009-05-08 Pavel Roskin <proski@gnu.org>
35109
752473c2 35110 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
35111 not modified.
35112
041b8094 35113 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
35114 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
35115 Initialize them with -1. Add sanity check for bad1. Eliminate
35116 nerr variable.
35117
172800ce 351182009-05-08 David S. Miller <davem@davemloft.net>
35119
35120 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
35121
29aa5e81 351222009-05-06 Robert Millan <rmh.grub@aybabtu.com>
35123
35124 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 35125 existence.
29aa5e81 35126
96613b62 351272009-05-05 Felix Zielcke <fzielcke@z-51.de>
35128
35129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 35130 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 35131
eef73c8a 351322009-05-05 David S. Miller <davem@davemloft.net>
35133
35134 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
35135
119494b5 351362009-05-05 Pavel Roskin <proski@gnu.org>
35137
35138 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
35139 of grub_dl_ref() and grub_dl_unref().
35140 * commands/parttool.c: Remove preprocessor conditionals around
35141 grub_dl_ref() and grub_dl_unref().
35142 * fs/affs.c: Likewise.
35143 * fs/afs.c: Likewise.
35144 * fs/cpio.c: Likewise.
35145 * fs/ext2.c: Likewise.
35146 * fs/fat.c: Likewise.
35147 * fs/hfs.c: Likewise.
35148 * fs/hfsplus.c: Likewise.
35149 * fs/iso9660.c: Likewise.
35150 * fs/jfs.c: Likewise.
35151 * fs/minix.c: Likewise.
35152 * fs/ntfs.c: Likewise.
35153 * fs/reiserfs.c: Likewise.
35154 * fs/sfs.c: Likewise.
35155 * fs/udf.c: Likewise.
35156 * fs/ufs.c: Likewise.
35157 * fs/xfs.c: Likewise.
35158 * include/grub/dl.h: Likewise.
35159 * loader/xnu.c: Likewise.
35160
de5fd76e 351612009-05-04 Pavel Roskin <proski@gnu.org>
35162
35163 * commands/acpi.c: Remove unused variable my_mod.
35164 * partmap/amiga.c: Likewise.
35165 * partmap/apple.c: Likewise.
35166 * partmap/gpt.c: Likewise.
35167 * partmap/pc.c: Likewise.
35168 * partmap/sun.c: Likewise.
35169 * term/gfxterm.c: Likewise.
35170 * term/i386/pc/vesafb.c: Likewise.
35171 * term/i386/pc/vga.c: Likewise.
35172
983598ad 351732009-05-04 David S. Miller <davem@davemloft.net>
35174
35175 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
35176 pointer args to grub_ieee1275_get_property().
35177
8aadec43 35178 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
35179
9554b15e 35180 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
35181 devices, and do not traverse down under controller nodes.
35182
67e23c90 35183 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
35184 (grub_ofdisk_open): Use it to un-escape "," characters.
35185 * kern/disk.c (find_part_sep): New.
35186 (grub_disk_open): Use it to find the first non-escaped ','
35187 character in the disk name.
35188 * util/ieee1275/devicemap.c (escape_of_path): New.
35189 (grub_util_emit_devicemap_entry): Use it.
35190 * util/sparc64/ieee1275/grub-install.in: Update script to
35191 strip partition specifiers properly by not triggering on
35192 '\' escaped ',' characters.
35193
74bfdd2f 351942009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35195
35196 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
35197 to 0x300.
35198 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
35199 resolutions.
35200 (linux_vesafb_modes): Add a lot of additional modes to the list (based
35201 on documentation from Wikipedia).
35202
4241d2b1 352032009-05-04 Pavel Roskin <proski@gnu.org>
35204
35205 * disk/ata.c: Spelling fixes.
35206 * disk/raid.c: Likewise.
35207 * disk/usbms.c: Likewise.
35208 * disk/dmraid_nvidia.c: Likewise.
35209 * kern/ieee1275/openfw.c: Likewise.
35210 * kern/ieee1275/init.c: Likewise.
35211 * kern/ieee1275/cmain.c: Likewise.
35212 * boot/i386/pc/cdboot.S: Likewise.
35213 * video/readers/png.c: Likewise.
35214 * video/i386/pc/vbe.c: Likewise.
35215 * fs/udf.c: Likewise.
35216 * fs/hfs.c: Likewise.
35217 * fs/reiserfs.c: Likewise.
35218 * efiemu/runtime/efiemu.c: Likewise.
35219 * efiemu/main.c: Likewise.
35220 * efiemu/mm.c: Likewise.
35221 * include/grub/elf.h: Likewise.
35222 * include/grub/xnu.h: Likewise.
35223 * include/grub/usbdesc.h: Likewise.
35224 * include/grub/usb.h: Likewise.
35225 * include/grub/script_sh.h: Likewise.
35226 * include/grub/lib/LzmaEnc.h: Likewise.
35227 * include/grub/efiemu/efiemu.h: Likewise.
35228 * include/grub/command.h: Likewise.
35229 * normal/menu.c: Likewise.
35230 * normal/main.c: Likewise.
35231 * normal/datetime.c: Likewise.
35232 * bus/usb/uhci.c: Likewise.
35233 * mmap/i386/uppermem.c: Likewise.
35234 * mmap/mmap.c: Likewise.
35235 * commands/acpi.c: Likewise.
35236 * commands/test.c: Likewise.
35237 * partmap/apple.c: Likewise.
35238 * font/font.c: Likewise.
35239 * loader/sparc64/ieee1275/linux.c: Likewise.
35240 * loader/macho.c: Likewise.
35241 * loader/i386/bsd_trampoline.S: Likewise.
35242 * loader/i386/bsd.c: Likewise.
35243 * loader/xnu.c: Likewise.
35244 * term/i386/pc/vesafb.c: Likewise.
35245 * term/usb_keyboard.c: Likewise.
35246 * util/resolve.c: Likewise.
35247 * util/getroot.c: Likewise.
35248
0cfc0083 352492009-05-04 Felix Zielcke <fzielcke@z-51.de>
35250
35251 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
35252
7c1d00cd 352532009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35254
35255 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
35256 build error.
35257
b01f0548 352582009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35259
35260 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
35261 parameter only available on BIOS.
35262
ecc3eb22 352632009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35264
35265 Removed wrong semicolon in declaration
35266
35267 * grub/misc.h (grub_dprintf): remove semicolon
35268
112972a9 352692009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35270
35271 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
35272 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
35273 is done by grub_cmd_linux() now).
35274 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
35275 restore video to text mode.
35276 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
35277 indicates lack of "vga=" parameter. "vga=0" is mapped to
35278 `GRUB_LINUX_VID_MODE_NORMAL'.
35279
afd5c115 352802009-05-04 Felix Zielcke <fzielcke@z-51.de>
35281
35282 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
35283 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
35284 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 35285 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 35286 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
35287 `grub_script.tab.c'.
35288
35289 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35290 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35292 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35293 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35294
faa517ce 35295 * Makefile.in: Remove duplicated 2008 in Copyright line.
35296
ae0c0bdc 352972009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35298
473d1e45 35299 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 35300 unconditionally.
35301 * include/grub/util/misc.h (grub_util_warn): New declaration.
35302
35303 * util/i386/pc/grub-install.in: Understand --force and pass it down
35304 to grub-setup.
35305
35306 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
35307 down to setup().
35308 (setup): Improve error messages and add warnings when requested to
35309 install in odd layouts. Refuse to install using blocklists unless
35310 --force was set.
35311
18f547ad 353122009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 35313
35314 * disk/raid.c (grub_raid_scan_device): Improve debug message.
35315
6d260daa 353162009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35317
35318 Updated copyright year
35319
35320 * fs/hfsplus.c: updated copyright year
18f547ad 35321
69f853f8 353222009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35323
35324 HFS+ UUID
35325
18f547ad 35326 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 35327 in the space previously used by unused3
35328 (grub_hfsplus_uuid): new function
35329 (grub_hfsplus_fs): added uuid field
35330
4c402e73 353312009-05-03 Pavel Roskin <proski@gnu.org>
35332
35333 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
35334 suppress warnings. It's no longer needed.
35335 * disk/host.c: Likewise.
35336 * disk/ata_pthru.c: Likewise.
35337 * disk/loopback.c: Likewise.
35338 * hook/datehook.c: Likewise.
35339 * parttool/pcpart.c: Likewise.
35340 * fs/i386/pc/pxe.c: Likewise.
35341 * fs/ntfscomp.c: Likewise.
35342 * efiemu/main.c: Likewise.
35343 * mmap/mmap.c: Likewise.
35344 * commands/crc.c: Likewise.
35345 * commands/hexdump.c: Likewise.
35346 * commands/hdparm.c: Likewise.
35347 * commands/acpi.c: Likewise.
35348 * commands/echo.c: Likewise.
35349 * commands/minicmd.c: Likewise.
35350 * commands/blocklist.c: Likewise.
35351 * commands/memrw.c: Likewise.
35352 * commands/loadenv.c: Likewise.
35353 * commands/usbtest.c: Likewise.
35354 * commands/lsmmap.c: Likewise.
35355 * commands/boot.c: Likewise.
35356 * commands/parttool.c: Likewise.
35357 * commands/configfile.c: Likewise.
35358 * commands/search.c: Likewise.
35359 * commands/ieee1275/suspend.c: Likewise.
35360 * commands/cat.c: Likewise.
35361 * commands/i386/pc/pxecmd.c: Likewise.
35362 * commands/i386/pc/play.c: Likewise.
35363 * commands/i386/pc/halt.c: Likewise.
35364 * commands/i386/pc/vbeinfo.c: Likewise.
35365 * commands/i386/pc/vbetest.c: Likewise.
35366 * commands/lspci.c: Likewise.
35367 * commands/date.c: Likewise.
35368 * commands/handler.c: Likewise.
35369 * commands/ls.c: Likewise.
35370 * commands/test.c: Likewise.
35371 * commands/cmp.c: Likewise.
35372 * commands/efi/loadbios.c: Likewise.
35373 * commands/efi/fixvideo.c: Likewise.
35374 * commands/halt.c: Likewise.
35375 * commands/help.c: Likewise.
35376 * commands/reboot.c: Likewise.
35377 * hello/hello.c: Likewise.
35378 * script/sh/main.c: Likewise.
35379 * loader/xnu.c: Likewise.
35380 * term/terminfo.c: Likewise.
35381 * term/i386/pc/serial.c: Likewise.
35382 * term/usb_keyboard.c: Likewise.
35383
515b5079 353842009-05-03 David S. Miller <davem@davemloft.net>
35385
35386 * normal/menu.c: Include grub/parser.h
35387
dfc31a22 353882009-05-03 Pavel Roskin <proski@gnu.org>
35389
2fee74f1 35390 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
35391 not char*.
35392 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
35393 Suggested by Javier Martín <lordhabbit@gmail.com>
35394
dfc31a22 35395 * util/i386/pc/grub-mkrescue.in: Allow for the case when
35396 efiemu??.o doesn't exist.
35397 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
35398 copying.
35399
18f547ad 354002009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 35401
35402 FreeBSD 64-bit support
35403
18f547ad 35404 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 35405 and loader/i386/bsd_trampoline.S
35406 (bsd_mod_ASFLAGS): new variable
35407 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
35408 (FREEBSD_MODTYPE_KERNEL64): likewise
35409 (grub_bsd64_trampoline_start): likewise
35410 (grub_bsd64_trampoline_end): likewise
35411 (grub_bsd64_trampoline_selfjump): likewise
35412 (grub_bsd64_trampoline_gdt): likewise
35413 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
35414 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
35415 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
35416 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 35417 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 35418 of "attrib" member
35419 * loader/i386/bsd_pagetable.c: new file
35420 * loader/i386/bsd_trampoline.S: likewise
35421 * loader/i386/bsd.c (ALIGN_QWORD): new macro
35422 (ALIGN_VAR): likewise
35423 (entry_hi): new variable
35424 (kern_end_mdofs): likewise
35425 (is_64bit): likewise
35426 (grub_freebsd_add_meta): use ALIGN_VAR
35427 (grub_e820_mmap): new declaration
35428 (grub_freebsd_add_mmap): new function
35429 (grub_freebsd_add_meta_module): support 64 bit kernels
35430 (grub_freebsd_list_modules): use ALIGN_VAR
35431 (gdt_descriptor): new declaration
35432 (grub_freebsd_boot): support 64 bit kernels
35433 (grub_bsd_elf64_hook): new function
35434 (grub_bsd_load_elf): support elf64
35435
038c5720 354362009-05-03 Bean <bean123ch@gmail.com>
35437
35438 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
35439 after we get the result of if statement.
35440
fc45fb58 354412009-05-03 Bean <bean123ch@gmail.com>
35442
35443 * Makefile.in (enable_efiemu): New variable.
35444
35445 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
35446 set.
35447 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
35448 path.
35449 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
35450 path, add -mno-red-zone option.
35451 (efiemu64_s.o): Likewise.
35452 (efiemu64.o): Use macro $^ for source file.
35453
35454 * configure.ac (--enable-efiemu): New option.
35455
bbee0f2b 354562009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
35457
35458 xnu support
35459
35460 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
35461 (pkglib_MODULES): add xnu.mod
35462 (xnu_mod_SOURCES): new variable
35463 (xnu_mod_CFLAGS): likewise
35464 (xnu_mod_LDFLAGS): likewise
35465 (xnu_mod_ASFLAGS): likewise
35466 * conf/i386-pc.rmk: likewise
35467 * conf/x86_64-efi.rmk: likewise
7dd4a573 35468 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 35469 new declaration
35470 * include/grub/i386/macho.h: new file
35471 * include/grub/i386/xnu.h: likewise
35472 * include/grub/macho.h: likewise
35473 * include/grub/machoload.h: likewise
35474 * include/grub/x86_64/macho.h: likewise
35475 * include/grub/x86_64/xnu.h: likewise
35476 * include/grub/xnu.h: likewise
35477 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
35478 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
35479 * loader/i386/efi/xnu.c: new file
35480 * loader/i386/pc/xnu.c: likewise
35481 * loader/i386/xnu.c: likewise
35482 * loader/i386/xnu_helper.S: likewise
35483 * loader/macho.c: likewise
35484 * loader/xnu.c: likewise
35485 * loader/xnu_resume.c: likewise
35486 * util/grub-dumpdevtree: likewise
35487 * include/grub/i386/pit.h: include grub/err.h
35488 (grub_pit_wait): export
35489 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 35490
5caf964d 354912009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35492
35493 Efiemu
7dd4a573 35494
5caf964d 35495 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 35496 _linux_efi, linux_efi.
35497 new files in grub-emu
5caf964d 35498 new targets efiemu32.o and efiemu64.o
35499 * loader/linux_normal_efiemu.c: likewise
35500 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 35501 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 35502 files to copy
35503 * include/grub/autoefi.h: new file
7dd4a573 35504 * include/grub/i386/efiemu.h: likewise
5caf964d 35505 * include/grub/i386/pc/efiemu.h: likewise
35506 * include/grub/efi/api.h: add LL suffix when necessary
35507 new definitions relating to tables
35508 * include/grub/efiemu/efiemu.h: new file
35509 * include/grub/efiemu/runtime.h: likewise
35510 * efiemu/prepare.c: likewise
35511 * efiemu/loadcore_common.c: likewise
35512 * efiemu/loadcore64.c: likewise
35513 * efiemu/runtime/efiemu.sh: likewise
35514 * efiemu/runtime/efiemu.S: likewise
35515 * efiemu/runtime/efiemu.c: likewise
35516 * efiemu/runtime/config.h: likewise
35517 * efiemu/prepare32.c: likewise
35518 * efiemu/main.c: likewise
35519 * efiemu/modules/pnvram.c: likewise
35520 * efiemu/modules/i386: likewise
35521 * efiemu/modules/i386/pc: likewise
35522 * efiemu/modules/acpi.c: likewise
35523 * efiemu/i386/pc/cfgtables.c: likewise
35524 * efiemu/i386/loadcore64.c: likewise
35525 * efiemu/i386/loadcore32.c: likewise
35526 * efiemu/prepare64.c: likewise
35527 * efiemu/loadcore.c: likewise
35528 * efiemu/symbols.c: likewise
35529 * efiemu/mm.c: likewise
35530 * efiemu/loadcore32.c: likewise
7dd4a573 35531
355322009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 35533
35534 ACPI spoofing
35535
35536 * commands/acpi.c: new file
35537 * commands/i386/pc/acpi.c: likewise
35538 * commands/efi/acpi.c: likewise
35539 * include/grub/acpi.h: likewise
35540 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
35541 (acpi_mod_SOURCES): new variable
35542 (acpi_mod_CFLAGS): likewise
35543 (acpi_mod_LDFLAGS): likewise
35544 * conf/i386-efi.rmk: likewise
35545 * conf/x86_64-efi.rmk: likewise
35546
7dd4a573 355472009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 35548
35549 Missing part from mmap patch
35550
35551 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
35552 (grub_mmap_unregister)
35553 (grub_mmap_free_and_unregister): use grub_mmap_register
35554
7dd4a573 355552009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 35556
35557 Mmap services
35558
35559 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
35560 * loader/i386/linux.c (find_mmap_size): likewise
35561 (allocate_pages): likewise
35562 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
35563 (grub_fill_multiboot_mmap): likewise
35564 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
35565 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
35566 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
35567 (OPENBSD_MMAP_RESERVED): likewise
35568 * include/grub/i386/pc/memory.h: include grub/memory.h
35569 (grub_lower_mem): removed
35570 (grub_upper_mem): likewise
35571 (GRUB_MACHINE_MEMORY_ACPI): new definition
35572 (GRUB_MACHINE_MEMORY_NVS): likewise
35573 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
35574 (GRUB_MACHINE_MEMORY_HOLE): likewise
35575 (grub_machine_mmap_register): likewise
35576 (grub_machine_mmap_unregister): likewise
35577 (grub_machine_get_upper): likewise
35578 (grub_machine_get_lower): likewise
35579 (grub_machine_get_post64): likewise
35580 * include/grub/i386/efi/memory.h: new file
35581 * include/grub/x86_64/efi/memory.h: likewise
35582 * include/grub/efi/memory.h: likewise
35583 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
35584 (mmap_mod_SOURCES): new variable
35585 (mmap_mod_LDFLAGS): likewise
35586 (mmap_mod_ASFLAGS): likewise
35587 * conf/i386-coreboot.rmk: likewise
35588 * conf/i386-ieee1275.rmk: likewise
35589 * conf/i386-efi.rmk: likewise
35590 * conf/x86_64-efi.rmk: likewise
35591 * include/grub/types.h (UINT_TO_PTR): new macro
35592 (PTR_TO_UINT32): likewise
35593 (PTR_TO_UINT64): likewise
35594 * include/grub/memory.h: new file
35595 * mmap/i386/pc/mmap.c: likewise
35596 * mmap/i386/pc/mmap_helper.S: likewise
35597 * mmap/i386/uppermem.c: likewise
35598 * mmap/mmap.c: likewise
35599 * mmap/efi/mmap.c: likewise
7dd4a573 35600 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 35601 grub_upper_mem
35602 * kern/i386/pc/init.c (grub_lower_mem): removed variable
35603 (grub_upper_mem): likewise
35604 (grub_machine_init): don't use grub_upper_mem,
35605 make grub_lower_mem local
35606 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
35607 grub_mmap_iterate and grub_mmap_get_upper
35608 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
35609
d558e6b5 356102009-05-02 Bean <bean123ch@gmail.com>
35611
35612 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
35613 script/sh/parser.y.
35614 (pkglib_MODULES): Add normal.mod and sh.mod.
35615 (normal_SOURCES): New variable.
35616 (normal_mod_CFLAGS): Likewise.
35617 (normal_mod_LDFLAGS): Likewise.
35618 (sh_mod_SOURCES): Likewise.
35619 (sh_mod_CFLAGS): Likewise.
35620 (sh_mod_LDFLAGS): Likewise.
35621
35622 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
35623 script/sh/lexer.c_DEPENDENCIES.
35624 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
35625 kern/rescue_reader.c and kern/rescue_parser.c.
35626 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
35627 (grub_emu_SOURCES): Change source files.
35628 (pkglib_MODULES): Remove normal.mod.
35629 (normal_SOURCES): Removed.
35630 (normal_mod_CFLAGS): Likewise.
35631 (normal_mod_LDFLAGS): Likewise.
35632 * conf/i386-coreboot.rmk: Likewise.
35633 * conf/i386-efi.rmk: Likewise.
35634 * conf/i386-ieee1276.rmk: Likewise.
35635 * conf/powerpc-ieee1275.rmk: Likewise.
35636 * conf/sparc64-ieee1275.rmk: Likewise.
35637 * conf/x86_64-efi.rmk: Likewise.
35638
35639 * include/grub/command.h (grub_command_execute): New inline function.
35640
35641 * include/grub/menu.h (grub_menu_entry): Removed commands field.
35642
35643 * include/grub/normal.h: Remove <grub/setjmp.h>.
35644 (grub_fs_module_list): Moved to normal/autofs.c.
35645 (grub_exit_env): Removed.
35646 (grub_command_execute): Likewise.
35647 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
35648 parameter script.
35649 (read_command_list): New function declaration.
35650 (read_fs_list): Likewise.
35651
35652 * include/parser.h: Include <grub/reader.h>.
35653 (grub_parser_split_cmdline): Change type of getline parameter.
35654 (grub_parser): New structure.
35655 (grub_parser_class): New variable.
35656 (grub_parser_execute): New function declaration.
35657 (grub_register_rescue_parser): Likewise.
35658 (grub_parser_register): New inline function.
35659 (grub_parser_unregister): Likewise.
35660 (grub_parser_get_current): Likewise.
35661 (grub_parser_set_current): Likewise.
35662
35663 * include/grub/reader.h: New file.
35664 * kern/reader.c: Likewise.
35665 * kern/rescue_parser.c: Likewise.
35666 * kern/rescue_reader.c: Likewise.
35667 * normal/autofs.c: Likewise.
35668 * normal/dyncmd.c: Likewise.
35669
35670 * include/grub/rescue.h: Removed.
35671 * normal/command.h: Likewise.
35672
35673 * include/grub/script.h: Moved to ...
35674 * include/grub/script_sh.h: ... Moved here.
35675 * normal/execute.c: Moved to ...
35676 * script/sh/execute.c: ... Moved here.
35677 * normal/function.c: Moved to ...
35678 * script/sh/function.c: ... Moved here.
35679 * normal/lexer.c: Moved to ...
35680 * script/sh/lexer.c: ... Moved here.
35681 * normal/parser.y: Moved to ...
35682 * script/sh/parser.y: ... Moved here.
35683 * normal/script.c: Moved to ...
35684 * script/sh/script.c: ... Moved here.
35685
35686 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
35687 <grub/reader.h>.
35688 (grub_exit_env): Removed.
35689 (fs_module_list): Moved to normal/autofs.c.
35690 (grub_file_getline): Don't handle comment here.
35691 (free_menu): Skip removed field entry->commands.
35692 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
35693 script parameter.
35694 (read_config_file): Removed nested parameter, change getline function.
35695 (grub_enter_normal_mode): Removed.
35696 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
35697 (read_command_list): Likewise.
35698 (autoload_fs_module): Moved to normal/autofs.c.
35699 (read_fs_list): Likewise.
35700 (reader_nested): New variable.
35701 (grub_normal_execute): Run parser.sh to switch to sh parser.
35702 (grub_cmd_rescue): Removed.
35703 (cmd_normal): Removed.
35704 (grub_cmd_normal): Unregister itself at the beginning. Don't register
35705 rescue command.
35706 (grub_cmdline_run): New function.
35707 (grub_normal_reader_init): Likewise.
35708 (grub_normal_read_line): Likewise.
35709 (grub_env_write_pager): Likewise.
35710 (cmdline): New variable.
35711 (grub_normal_reader): Likewise.
35712 (GRUB_MOD_INIT): Register normal reader and set as current, register
35713 pager hook, register normal command with grub_register_command_prio,
35714 so that it won't show up in command.lst.
35715 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
35716 grub_fs_autoload_hook.
35717
35718 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
35719 (grub_menu_execute_entry): Replace grub_script_execute with
35720 grub_parser_execute, change parameter to grub_command_execute.
35721
35722 * normal/menu_text.c: Remove <grub/script.h>.
35723
35724 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
35725 and <grub/parser.h>.
35726 (run): Change editor_getline to use new parser interface. Change
35727 parameter to grub_command_execute.
35728
35729 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
35730 <grub/reader.h> and <grub/parser.h>.
35731 (grub_load_normal_mode): Execute normal command.
35732 (grub_main): Call grub_register_core_commands,
35733 grub_register_rescue_parser and grub_register_rescue_reader, use
35734 grub_reader_loop to enter input loop.
35735
7dd4a573 35736 * kern/parser.c (grub_parser_split_cmdline): Change type of
35737 getline parameter.
d558e6b5 35738 (grub_parser_class): New variable.
35739 (grub_parser_execute): New function.
35740
35741 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
35742 * loader/multiboot2.c: Likewise.
35743 * loader/sparc64/ieee1275/linux.c: Likewise.
35744
35745 * util/grub-emu.c (read_command_list): New dummy function.
35746
18db813d 357472009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35748
35749 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
35750 count to 16 for CCISS and IDA.
35751
6c67de15 357522009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35753
35754 * normal/menu_text.c (grub_wait_after_message): Print a newline
35755 after waiting for user input.
35756
35757 * loader/i386/linux.c: Include `<grub/normal.h>'.
35758 (grub_cmd_linux): Improve the error message about `ask' mode, by
35759 waiting for user input so it's not missed (we can do this, since
35760 user requested interaction).
35761
d9dc87b0 357622009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35763
35764 Added missing lst to grub-mkrescue
35765
35766 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
35767 and ${input_dir}/parttool.lst
35768
ac8a2baa 357692009-04-30 David S. Miller <davem@davemloft.net>
35770
ad22a610 35771 * util/hostdisk.c (device_is_wholedisk): New function.
35772 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
35773 zero only if device_is_wholedisk() returns true.
35774
6966215d 35775 * util/hostdisk.c (convert_system_partition_to_system_disk):
35776 Handle virtual disk devices named /dev/vdiskX as found on sparc
35777 and powerpc.
35778
ac8a2baa 35779 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
35780 lettered partition specifier is found, convert to numbered.
35781
979b4fb4 357822009-04-29 David S. Miller <davem@davemloft.net>
35783
e2bf39b2 35784 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
35785 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35786
3c64e104 35787 * normal/command.c: Add missing newline at end of file.
35788
979b4fb4 35789 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
35790 warnings.
35791 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
35792 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
35793 grub_ofdisk_read): Likewise, and deal similarly with the fact that
35794 ihandles have a 32-bit type but need to be stored in a "void *".
35795
136d9f82 357962009-04-28 Pavel Roskin <proski@gnu.org>
35797
9459c306 35798 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
35799 not disk. Adjust all dependencies.
2e08a26a 35800 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 35801 grub_disk_close().
35802
136d9f82 35803 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
35804 parent's partition, don't copy it by reference, as it gets freed
35805 on close.
35806
7dd4a573 358072009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 35808
35809 Preboot hooks support
35810
35811 * commands/boot.c (struct grub_preboot_t): new declaration
35812 (preboots_head): new variable
35813 (preboots_tail): likewise
35814 (grub_loader_register_preboot_hook): new function
35815 (grub_loader_unregister_preboot_hook): likewise
35816 (grub_loader_set): launch preboot hooks
35817 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
35818 (grub_loader_register_preboot_hook): new declaration
35819 (grub_loader_unregister_preboot_hook): likewise
35820
5af922b5 358212009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
35822
35823 Warning fix
35824
7dd4a573 35825 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 35826 calling grub_dprintf
35827
a5562c30 358282009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
35829
35830 Bug and warning fixes
35831
7dd4a573 35832 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 35833 declaration
35834 * commands/test.c (test_parse): fixed bug with file tests and corrected
35835 declaration of find_file
35836
4006f85c 358372009-04-26 Pavel Roskin <proski@gnu.org>
35838
35839 * Makefile.in: Don't install empty manual pages if help2man is
35840 missing. Use help2man option for output, not shell redirection.
35841
5c77c3de 358422009-04-26 David S. Miller <davem@davemloft.net>
35843
35844 * util/grub-mkdevicemap.c (make_device_map): Add missing
35845 NESTED_FUNC_ATTR to process_device().
35846
033b10a8 358472009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35848
35849 Test command
35850
35851 * commands/test.c: rewritten to use bash-like test
35852
e4343593 358532009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35854
35855 Parttool autoloading and improvements
35856
7dd4a573 35857 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 35858 (parttool.lst): new target
35859 * genmk.rb: generate parttool-*
35860 (CLEANFILES): add #{parttool}
35861 (PARTTOOLFILES): new variable
35862 * genparttoollist.sh: new file
7dd4a573 35863 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 35864 (grub_pcpart_type): likewise
35865 * commands/parttool.c (helpmsg): new variable
35866 (grub_cmd_parttool): output help if not enough arguments are supplied
35867 autoload modules
35868 (GRUB_MOD_INIT(parttool)): use helpmsg
35869
0d312500 358702009-04-24 David S. Miller <davem@davemloft.net>
35871
7dd4a573 35872 Avoiding opening same device multiple times in device iterator.
0d312500 35873
35874 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 35875 and use it to build a list of partitions in iterate_disk() and
0d312500 35876 iterate_partition().
35877
ac20caff 35878 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
35879 on disk->data.
35880
0dcf7495 35881 * disk/ieee1275/nand.c (grub_nand_iterate): Return
35882 grub_devalias_iterate() result instead of unconditional 0.
35883 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
35884 Also, capture hook return value, either directly or via
35885 grub_children_iterate(), and propagate to caller.
35886 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
35887 grub_children_iterate): Return value is now 'int' instead of
35888 'grub_err_t'.
35889 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
35890 like a proper iterator, stopping when hooks return non-zero.
35891 (grub_devalias_iterate): Likewise.
35892
c8c08833 358932009-04-23 David S. Miller <davem@davemloft.net>
35894
35895 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
35896
f01005a8 358972009-04-22 David S. Miller <davem@davemloft.net>
35898
35899 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
35900 is larger than address_cells, use that value for address_cells too.
35901
4e8269da 35902 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
35903 IEEE1275_MAX_PATH_LEN): Define.
35904 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
35905 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
35906 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
35907 'devtype'. Explicitly NULL terminate devalias expansion.
35908
a1447506 35909 * util/sparc64/ieee1275/misc.c: New file.
35910 * util/sparc64/ieee1275/grub-setup.c: New file.
35911 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
35912 * util/sparc64/ieee1275/grub-mkimage.c: New file.
35913 * util/sparc64/ieee1275/grub-install.in: New file.
35914 * util/ieee1275/ofpath.c: New file.
35915 * util/ieee1275/devicemap.c: New file.
35916 * util/devicemap.c: New file.
35917 * util/deviceiter.c: New file.
35918 * kern/sparc64/ieee1275/init.c: New file.
35919 * include/grub/util/ofpath.h: New file.
35920 * include/grub/util/deviceiter.h: New file.
35921 * util/grub-mkdevicemap.c: Include deviceiter.h.
35922 Implement using grub_util_emit_devicemap_entry and
35923 grub_util_iterate_devices.
35924 * conf/i386-corebook.rmk: Build util/deviceiter.c and
35925 util/devicemap.c into grub-mkdevicemap
35926 * conf/i386-efi.rmk: Likewise.
35927 * conf/i386-ieee1275.rmk: Likewise.
35928 * conf/i386-pc.rmk: Likewise.
35929 * conf/powerpc-ieee1275.rmk: Likewise.
35930 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
35931 images and installation utilities. Build kernel as image
35932 instead of as elf binary. Use common rules as much as possible.
35933
7dd4a573 359342009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 35935
35936 Correct GPT definition
35937
7dd4a573 35938 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 35939 of "attrib" member
35940
c6c5219f 359412009-04-19 Felix Zielcke <fzielcke@z-51.de>
35942
35943 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
35944
0552ff9f 359452009-04-19 David S. Miller <davem@davemloft.net>
35946
35947 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
35948 (grub_rescue_cmd_linux): Rename to...
35949 (grub_cmd_linux): and fix prototype.
35950 (grub_rescue_cmd_initrd): Rename to...
35951 (grub_cmd_initrd): and fix prototype.
35952 (cmd_linux, cmd_initrd): New.
35953 (GRUB_MOD_INIT(linux)): Use grub_register_command().
35954 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
35955
d1a282fc 359562009-04-17 Pavel Roskin <proski@gnu.org>
35957
07c5039f 35958 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
35959 format.
35960 (grub_ohci_transfer): Likewise.
35961
b012002d 35962 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
35963
1bc09c35 35964 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
35965 return without a value. Fix inconsistent indentation.
35966
e0ff9126 35967 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
35968 match struct grub_fs.
35969
d1a282fc 35970 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
35971 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
35972 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35973 * commands/lspci.c (grub_lspci_iter): Likewise.
35974
a96df3f2 359752009-04-16 Bean <bean123ch@gmail.com>
35976
35977 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
35978 value.
35979
41bb0fe9 359802009-04-15 Pavel Roskin <proski@gnu.org>
35981
35982 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
35983 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
35984 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
35985 definitions.
35986
596c6970 359872009-04-15 Felix Zielcke <fzielcke@z-51.de>
35988
35989 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 35990 that no multiple data or metadata areas are supported and `Unknown
596c6970 35991 metadata header'.
35992
7dd4a573 359932009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 35994
35995 Move loader out of the kernel
35996
35997 * kern/loader.c: moved to ...
35998 * commands/boot.c: ... moved here
35999 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
36000 * commands/boot.c (grub_cmd_boot): moved here. All users updated
36001 * include/grub/kernel.h (grub_machine_fini): export
36002 * include/grub/loader.h (grub_loader_is_loaded): update declaration
36003 (grub_loader_set): likewise
36004 (grub_loader_unset): likewise
36005 (grub_loader_boot): likewise
36006 * conf/common.rmk: new module boot.mod
36007 (pkglib_MODULES): add boot.mod
36008 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
36009 (grub_emu_SOURCES): likewise
36010 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
36011 (grub_emu_SOURCES): likewise
36012 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
36013 (grub_emu_SOURCES): likewise
36014 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
36015 (grub_emu_SOURCES): likewise
36016 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
36017 (grub_emu_SOURCES): likewise
7dd4a573 36018 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
36019 (grub_emu_SOURCES): likewise
0d5d5653 36020 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 36021 (grub_emu_SOURCES): likewise
0d5d5653 36022
7dd4a573 360232009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 36024
36025 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 36026
5999d619 36027 * kern/misc.c (grub_itoa): Removed function
36028 (grub_ltoa): likewise
36029 (grub_vsprintf): use grub_lltoa
36030
7dd4a573 360312009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 36032
36033 Restore grub-emu
36034
36035 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
36036 * conf/i386-coreboot.rmk: likewise
36037 * conf/i386-ieee1275.rmk: likewise
36038 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 36039
20318222 360402009-04-15 Felix Zielcke <fzielcke@z-51.de>
36041
36042 * INSTALL: Add that `./autogen.sh' needs to be run before
36043 `./configure.'.
36044
d05f0df3 360452009-04-14 Bean <bean123ch@gmail.com>
36046
36047 * Makefile.in (pkglib_DATA): Add handler.lst.
36048 (handler.lst): New rule.
36049
36050 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
36051 * conf/i386-coreboot.rmk: Likewise.
36052 * conf/i386-ieee1275.rmk: Likewise.
36053 * conf/i386-efi.rmk: Likewise.
36054 * conf/x86_64-efi.rmk: Likewise.
36055 * conf/powerpc-ieee1275.rmk: Likewise.
36056 * conf/sparc64-ieee1275.rmk: Likewise.
36057
36058 * genhandlerlist.sh: New file.
36059
36060 * genmk.rb: Add rules to generate handler.lst.
36061
36062 * include/grub/normal.h (grub_file_getline): New function definition.
36063 (read_handler_list): Likewise.
36064 (free_handler_list): Likewise.
36065
36066 * include/grub/term.h (grub_term_register_input): Add name parameter
36067 for auto generation of handler.lst.
36068 (grub_term_register_output): Likewise.
36069
36070 * normal/handler.c: New file.
36071
36072 * normal/main.c (get_line): Renamed to grub_file_getline.
36073 (read_config_file): Use the newly renamed grub_file_getline.
36074 (read_command_list): Likewise.
36075 (read_fs_list): Likewise.
36076 (grub_normal_execute): Call read_handler_list to parse handler.lst.
36077 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
36078
36079 * term/efi/console.c (grub_console_init): Add name parameter for auto
36080 generation of handler.lst.
36081 * term/gfxterm.c: Likewise.
36082 * term/i386/pc/at_keyboard.c: Likewise.
36083 * term/i386/pc/console.c: Likewise.
36084 * term/i386/pc/serial.c: Likewise.
36085 * term/i386/pc/vesafb.c: Likewise.
36086 * term/i386/pc/vga.c: Likewise.
36087 * term/i386/pc/vga_text.c: Likewise.
36088 * term/ieee1275/ofconsole.c: Likewise.
36089 * term/usb_keyboard.c: Likewise.
36090
33c846be 360912009-04-14 Bean <bean123ch@gmail.com>
36092
36093 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
36094 properly with null character.
36095
4484e01e 360962009-04-14 Felix Zielcke <fzielcke@z-51.de>
36097
36098 * configure: Remove.
36099 * config.h.in: Likewise.
f93d668e 36100 * stamp-h.in: Likewise.
4484e01e 36101 * DISTLIST: Likewise.
36102 * conf/common.mk: Likewise.
36103 * conf/i386-coreboot.mk: Likewise.
36104 * conf/i386-efi.mk: Likewise.
36105 * conf/i386-ieee1275.mk: Likewise.
36106 * conf/i386.mk: Likewise.
36107 * conf/i386-pc.mk: Likewise.
36108 * conf/powerpc-ieee1275.mk: Likewise.
36109 * conf/sparc64-ieee1275.mk: Likewise.
36110 * conf/x86_64-efi.mk: Likewise.
36111
36112 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
36113 develop on GRUB.
36114
7dd4a573 361152009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 36116 David S. Miller <davem@davemloft.net>
36117
36118 * util/hostdisk.c (make_device_name): Fix buffer length
36119 calculations.
36120
e25b5a8c 361212009-04-14 Felix Zielcke <fzielcke@z-51.de>
36122
36123 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
36124 <sys/param.h> and <sys/sysctl.h>.
36125 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
36126 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
36127 opening the device and reset them afterwards.
36128
1f1f580c 361292009-04-13 Pavel Roskin <proski@gnu.org>
36130
36131 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
36132 Reported by John Stanley <jpsinthemix@verizon.net>
36133
7ebc2d6b 361342009-04-13 Robert Millan <rmh@aybabtu.com>
36135
36136 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 36137 that name for menuentries when appropriate.
7ebc2d6b 36138
d8ba3667 361392009-04-13 Felix Zielcke <fzielcke@z-51.de>
36140
36141 * util/grub.d/10_freebsd.in: Add a missing `fi'.
36142
cba416eb 361432009-04-13 Robert Millan <rmh@aybabtu.com>
36144
36145 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
36146 to Linux, simply abort telling the user it's no longer supported.
36147
a547a745 361482009-04-13 Felix Zielcke <fzielcke@z-51.de>
36149
36150 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 36151 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 36152 `freebsd_loadenv' only when devices.hints exist.
36153
232a769c 361542009-04-13 Pavel Roskin <proski@gnu.org>
36155
36156 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
36157
c3012039 361582009-04-13 Felix Zielcke <fzielcke@z-51.de>
36159
36160 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
36161 partition number.
36162 (grub_drive): Likewise.
36163
234022fe 361642009-04-13 David S. Miller <davem@davemloft.net>
36165
36166 * kern/sparc64/ieee1275/ieee1275.c: New file.
36167 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
36168 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
36169 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
36170 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
36171 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
36172 grub_ieee1275_alloc_physmem): Declare new exported functions.
36173
d8e1836c 36174 * include/grub/sparc64/ieee1275/loader.h: New file.
36175 * include/grub/sparc64/ieee1275/memory.h: Likewise.
36176 * include/grub/sparc64/kernel.h: Likewise.
36177 * loader/sparc64/ieee1275/linux.c: Likewise.
36178
96bd81ec 36179 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
36180 (grub_fstest_SOURCES): Likewise.
36181
6a4737e5 36182 * util/hostdisk.c (make_device_name): Do not make any assumptions
36183 about the length of drive names.
36184
1d7a72fd 36185 * kern/dl.c (grub_dl_load_file): Close file immediately when
36186 we are done using it.
36187
56bc2471 361882009-04-12 David S. Miller <davem@davemloft.net>
36189
36190 * kern/misc.c (grub_ltoa): Fix cast when handling negative
36191 values. Noticed by Pavel Roskin.
36192
df38d0bb 36193 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
36194 target compiler.
7dd4a573 36195
e382e93a 36196 * genmk.rb: Add more flexible image type specification, also
36197 pass --strip-unneeded to objcopy.
36198 * conf/i386-pc.rmk: Use *_FORMAT.
36199 * conf/i386-pc.mk: Rebuilt.
36200
f5dbbca9 36201 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
36202 (OFDISK_HASH_SZ): Define.
36203 (ofdisk_hash): New hash table.
36204 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
36205 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
36206 instead of device phandle which is not unique.
36207
91c88b12 36208 * kern/sparc64/ieee1275/init.c: Delete, replace with...
36209 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
36210 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
36211 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
36212 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
36213 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
36214 GRUB_KERNEL_MACHINE_DATA_END): Define.
36215 (grub_kernel_image_size, grub_total_module_size): Declare.
36216
5b5d4aa5 362172009-04-12 Pavel Roskin <proski@gnu.org>
36218
7dd4a573 36219 * configure.ac: Change the logic when we check for target tools.
36220 Do it when the target is specified and it's different from the
36221 specified value of the host.
5b5d4aa5 36222
c91e1793 362232009-04-11 Felix Zielcke <fzielcke@z-51.de>
36224
36225 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
36226 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
36227 GNU/kFreeBSD. Check if a device is a character device. Use
36228 DIOCGMEDIASIZE to get the size.
36229 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
36230 support for GNU/kFreeBSD.
36231 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
36232 is a character device instead of a block device. Add support for
36233 FreeBSD device names.
36234
36235 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
36236 is a character device instead of a block device.
36237
36238 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
36239 is a character device instead of a block device.
36240
b1ac8644 362412009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
36242
36243 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
36244 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
36245 FreeBSD. Check if a device is a character device. Use
36246 DIOCGMEDIASIZE to get the size.
36247 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
36248 support for FreeBSD.
36249 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
36250 is a character device instead of a block device. Add support for
36251 FreeBSD device names.
36252
36253 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
36254 a character device instead of a block device.
36255 (grub_util_check_char_device): New function.
36256
36257 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
36258 a character device instead of a block device.
36259
36260 * include/grub/util/getroot.h (grub_util_check_char_device): New
36261 prototype.
36262
a3f7515a 362632009-04-11 David S. Miller <davem@davemloft.net>
36264
36265 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
36266 static libgcc.
36267 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
36268 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
36269 function, if present.
36270 (__bswapdi2): Likewise.
36271
0d44993d 36272 * include/grub/sparc64/ieee1275/boot.h: New file.
36273 * boot/sparc64/ieee1275/boot.S: Likewise.
36274 * boot/sparc64/ieee1275/diskboot.S: Likewise.
36275
ed3d2bc2 36276 * kern/misc.c (grub_ltoa): New function.
36277 (grub_vsprintf): Use it to format 'long' integers.
36278
d3bfb59c 362792009-04-10 David S. Miller <davem@davemloft.net>
36280
36281 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
36282 slots are of type grub_ieee1275_cell_t.
36283 (grub_nand_read): Likewise.
36284 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
36285 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
36286 macros are used to compare values in arg/ret block of the call.
36287 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36288 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
36289 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
36290 grub_ieee1275_instance_to_path, grub_ieee1275_write,
36291 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
36292 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
36293 grub_ieee1275_close, grub_ieee1275_set_property,
36294 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
36295 grub_ieee1275_cell_t.
36296 * kern/ieee1275/openfw.c (grub_map): Likewise.
36297 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
36298 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
36299
450e2238 36300 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
36301 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
36302 (grub_devalias_iterate): Likewise.
36303
7dd4a573 363042009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 36305
36306 UFS improvements
36307
36308 * fs/ufs.c (INODE_NBLOCKS): new definition
36309 (struct grub_ufs_dirent): added fields for non-BSD dirents
36310 (grub_ufs_get_file_block): fixed double indirect handling
36311 (grub_ufs_lookup_symlink): use more robust way to determine whether
36312 symlink is inline
36313 (grub_ufs_find_file): support for non-BSD dirents
36314 (grub_ufs_dir): support for non-BSD dirents
36315
e7e6862a 363162009-04-10 Bean <bean123ch@gnail.com>
36317
36318 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
36319 attribute, otherwise the size would be wrong for i386 platform.
36320
36321 * include/grub/pci.h (grub_pci_read_word): New inline function.
36322 (grub_pci_read_byte): Likewise.
36323 (grub_pci_write): Likewise.
36324 (grub_pci_write_word): Likewise.
36325 (grub_pci_write_byte): Likewise.
36326
36327 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
36328
36329 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
36330 (find_framebuf): Scan pci to locate the frame buffer address.
36331
36332 * commands/efi/fixvideo.c: New file.
36333
36334 * commands/efi/loadbios.c: Likewise.
36335
36336 * commands/memrw.c: Likewise.
36337
36338 * util/grub-dumpbios.in: Likewise.
36339
36340 * conf/common.rmk (grub-dumpbios): New utility.
36341 (pkglib_MODULES): New module memrw.mod.
36342 (memrw_mod_SOURCE): New macro.
36343 (memrw_mod_CFLAGS): Likewise.
36344 (memrw_mod_LDFLAGS): Likewise.
36345
7dd4a573 36346 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 36347 fixvideo.mod.
36348 (loadbios_mod_SOURCE): New macro.
36349 (loadbios_mod_CFLAGS): Likewise.
36350 (loadbios_mod_LDFLAGS): Likewise.
36351 (fixvideo_mod_SOURCE): Likewise.
36352 (fixvideo_mod_CFLAGS): Likewise.
36353 (fixvideo_mod_LDFLAGS): Likewise.
36354
7dd4a573 36355 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 36356 fixvideo.mod.
36357 (loadbios_mod_SOURCE): New macro.
36358 (loadbios_mod_CFLAGS): Likewise.
36359 (loadbios_mod_LDFLAGS): Likewise.
36360 (fixvideo_mod_SOURCE): Likewise.
36361 (fixvideo_mod_CFLAGS): Likewise.
36362 (fixvideo_mod_LDFLAGS): Likewise.
36363
af63ada2 363642009-04-08 Felix Zielcke <fzielcke@z-51.de>
36365
36366 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
36367
c2cdde70 363682009-04-07 David S. Miller <davem@davemloft.net>
36369
36370 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
36371 support for R_SPARC_OLO10 relocations. Fix compile warning for
36372 R_SPARC_WDISP30 case.
ea3f72cf 36373 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 36374
761319cf 363752009-04-06 Pavel Roskin <proski@gnu.org>
36376
1007d1f5 36377 * include/grub/misc.h (ARRAY_SIZE): New macro.
36378 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
36379 New macro.
36380 * loader/i386/linux.c (allocate_pages): Use free_pages().
36381 (grub_linux_unload): Don't use free_pages().
36382 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
36383 wrong index. Treat all other modes as text modes.
36384 (grub_cmd_linux): Initialize vid_mode unconditionally to
36385 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
36386
761319cf 36387 * commands/help.c (print_command_help): Use cmd->prio, not
36388 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
36389
ea761d40 363902009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 36391
ea761d40 36392 Parttool
36393
36394 * parttool/pcpart.c: new file
36395 * commands/parttool.c: likewise
36396 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
36397 (parttool_mod_SOURCES): new variable
36398 (parttool_mod_CFLAGS): likewise
36399 (parttool_mod_LDFLAGS): likewise
36400 (pcpart_mod_SOURCES): likewise
36401 (pcpart_mod_CFLAGS): likewise
36402 (pcpart_mod_LDFLAGS): likewise
7dd4a573 36403 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 36404 and parttool/pcpart.c
36405 * conf/i386-efi.rmk: likewise
36406 * conf/i386-ieee1275.rmk: likewise
36407 * conf/i386-pc.rmk: likewise
36408 * conf/powerpc-ieee1275.rmk: likewise
36409 * conf/sparc64-ieee1275.rmk: likewise
36410 * conf/x86_64-ieee1275.rmk: likewise
36411
05aaebfb 364122009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36413
36414 Support for mtime and further expandability of dir command
36415
36416 * include/grub/lib/datetime.h: moved to ...
7dd4a573 36417 * include/grub/datetime.h: ... moved here and added
05aaebfb 36418 declaration of grub_unixtime2datetime. All users updated
7dd4a573 36419 * include/grub/fs.h: new syntax for dir and mtime functions in
36420 struct grub_fs
05aaebfb 36421 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
36422 and GRUB_FSHELP_FLAGS_MASK
36423 * commands/ls.c (grub_ls_list_files): Write mtime in long format
36424 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
36425 (grub_ext2_mtime): new function
36426 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
36427 (grub_hfsplus_mtime): new function
36428 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
36429 (GRUB_UFS_ATTR_FILE): likewise
36430 (GRUB_UFS_ATTR_LNK): likewise
36431 (struct grub_ufs_sblock): new fields mtime
36432 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
36433 all users updated
36434 (grub_ufs_dir): mtime support
36435 (grub_ufs_mtime): new function
36436 * fs/affs.c (grub_affs_dir): use new dir syntax
36437 * fs/afs.c (grub_afs_dir): likewise
36438 * fs/cpio.c (grub_cpio_dir): likewise
36439 * fs/fat.c (grub_fat_find_dir): likewise
36440 * fs/hfs.c (grub_hfs_dir): likewise
36441 * fs/iso9660.c (grub_iso9660_dir): likewise
36442 * fs/jfs.c (grub_jfs_dir): likewise
36443 * fs/minix.c (grub_minix_dir): likewise
36444 * fs/ntfs.c (grub_ntfs_dir): likewise
36445 * fs/reiserfs.c (grub_reiserfs_dir): likewise
36446 * fs/sfs.c (grub_sfs_dir): likewise
36447 * fs/xfs.c (grub_xfs_dir): likewise
36448 * util/hostfs.c (grub_hostfs_dir): likewise
36449 * lib/datetime.c: moved to ...
36450 * normal/datetime.c: ... moved here
36451 (grub_unixtime2datetime): new function
36452 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 36453 * normal/completion.c (iterate_dir): use new dir syntax
36454 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 36455 last modification time of a volume
7dd4a573 36456 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 36457 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 36458 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 36459 (normal_mod_SOURCES): likewise
36460 (datetime_mod_SOURCES): Removed lib/datetime.c
36461 * conf/i386-efi.rmk: likewise
7dd4a573 36462 * conf/i386-ieee1275.rmk: likewise
05aaebfb 36463 * conf/i386-pc.rmk: likewise
36464 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 36465 * conf/sparc64-ieee1275.rmk: likewise
36466 * conf/x86_64-efi.rmk: likewise
05aaebfb 36467
8a7e1a14 364682009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36469
36470 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 36471
36472 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 36473 on grub_fat_find_dir
36474 (grub_fat_find_dir): use grub_fat_iterate_dir
36475 (grub_fat_label): likewise
36476
04186a9c 364772009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
36478
7dd4a573 36479 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 36480 and command.h
36481 remove extraneous kernel_elf_HEADERS
36482
da4c0bb6 364832009-04-04 Bean <bean123ch@gnail.com>
36484
36485 * include/grub/util/misc.h: Add dummy function fsync for mingw.
36486
36487 * util/misc.c: Likewise.
36488
54ad9555 364892009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36490
36491 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
36492 instead of grub_printf.
36493
7a6bf9f2 364942009-04-03 Robert Millan <rmh@aybabtu.com>
36495
36496 * loader/i386/linux.c (grub_linux_setup_video): Fill
36497 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
36498 values from `mode info' structure instead of hardcoded
36499 values.
36500
3fcc2083 365012009-04-01 Pavel Roskin <proski@gnu.org>
36502
36503 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
36504 unused now.
36505 * genmk.rb: Likewise.
36506 * configure.ac: Likewise.
36507
5ec9740b 365082009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
36509
36510 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
36511 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
36512
5270cec8 365132009-04-01 David S. Miller <davem@davemloft.net>
36514
36515 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 36516 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 36517 (grub_setjmp): Mark with 'returns_twice' attribute.
36518 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
36519 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
36520 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
36521
9c3dd854 365222009-04-01 Robert Millan <rmh@aybabtu.com>
36523
36524 Reapply fix from 2008-07-28 which was accidentally reverted; also
36525 perform the same fix to a similar check in same function.
36526
36527 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
36528 with the same number are found, just use issue a warning with
36529 grub_dprintf(), as this error has been reported to be non-fatal.
36530
0d818b7e 365312009-03-31 Pavel Roskin <proski@gnu.org>
36532
36533 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
36534 for cross-compilation.
36535
95646d92 365362009-03-30 Robert Millan <rmh@aybabtu.com>
36537
36538 Fix i386-ieee1275 build.
36539
36540 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
36541 Remove declaration.
36542
6a003ed1 365432009-03-30 Pavel Roskin <proski@gnu.org>
36544
36545 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
36546 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
36547 zero-terminated, rely only on the strlen value. Fix comparison
36548 of strings differing in length.
36549
92f33540 365502009-03-30 Robert Millan <rmh@aybabtu.com>
36551
36552 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
36553 checking for abi version. Improve error messages on BIOS to notify
36554 user about `linux16' command.
36555
a8c48fd5 365562009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
36557
f968172e 36558 Leak fixes
a8c48fd5 36559
f968172e 36560 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
36561 in case of collision
36562 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 36563
9c323f09 365642009-03-29 Robert Millan <rmh@aybabtu.com>
36565
36566 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
36567 set `vid_mode' accordingly.
36568 (grub_linux_boot): Process `vid_mode' and set video mode.
36569
ae68f423 365702009-03-29 Robert Millan <rmh@aybabtu.com>
36571
36572 * util/grub.d/10_linux.in (linux_entry): New function.
36573 Factorize generation of Linux boot entries.
36574
5709cfc4 365752009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
36576
36577 Make the format of Environment Block plain text. The boot loader
36578 part is not tested well yet.
7dd4a573 36579
5709cfc4 36580 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
36581 (buffer): Removed.
36582 (envblk): Likewise.
36583 (usage): Remove "info" and "clear". Add "unset". Update the
36584 description of "set", as this does not delete variables any
36585 longer.
36586 (create_envblk_file): Complete rewrite.
36587 (open_envblk_file): Likewise.
36588 (cmd_info): Removed.
36589 (cmd_list): Likewise.
36590 (cmd_set): Likewise.
36591 (cmd_clear): Likewise.
36592 (list_variables): New function.
36593 (write_envblk): Likewise.
36594 (set_variables): Likewise.
36595 (unset_variables): Likewise.
36596 (main): Complete rewrite.
36597
36598 * commands/loadenv.c (buffer): Removed.
36599 (envblk): Likewise.
36600 (open_envblk_file): New function.
36601 (read_envblk_file): Complete rewrite.
36602 (grub_cmd_load_env): Likewise.
36603 (grub_cmd_list_env): Likewise.
36604 (struct blocklist): New struct.
36605 (free_blocklists): New function.
36606 (check_blocklists): Likewise.
36607 (write_blocklists): Likewise.
36608 (grub_cmd_save_env): Complete rewrite.
36609
36610 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
36611 a plain text signature.
36612 (GRUB_ENVBLK_MAXLEN): Removed.
36613 (struct grub_envblk): Complete rewrite.
36614 (grub_envblk_find): Removed.
36615 (grub_envblk_insert): Likewise.
36616 (grub_envblk_open): New prototype.
36617 (grub_envblk_set): Likewise.
36618 (grub_envblk_delete): Put const to VALUE.
36619 (grub_envblk_iterate): Put const to NAME and VALUE.
36620 (grub_envblk_close): New prototype.
36621 (grub_envblk_buffer): New inline function.
36622 (grub_envblk_size): Likewise.
36623
36624 * lib/envblk.c: Include grub/mm.h.
36625 (grub_env_find): Removed.
36626 (grub_envblk_open): New function.
36627 (grub_envblk_close): Likewise.
36628 (escaped_value_len): Likewise.
36629 (find_next_line): Likewise.
36630 (grub_envblk_insert): Removed.
36631 (grub_envblk_set): New function.
36632 (grub_envblk_delete): Complete rewrite.
36633 (grub_envblk_iterate): Likewise.
36634
a9368fd3 366352009-03-28 Robert Millan <rmh@aybabtu.com>
36636
36637 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
36638 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
36639 variables. Use 16-bit loader.
36640 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
36641 loader.
36642 * kern/i386/loader.S (grub_linux_boot): Rename to ...
36643 (grub_linux16_boot): ... this. Update all users.
36644 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
36645 (grub_linux_boot): ... this. Update all users.
36646
36647 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
36648 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
36649 commands to `linux16' and `initrd16'.
36650 (GRUB_MOD_FINI(linux)): Rename to ...
36651 (GRUB_MOD_FINI(linux16)): ... this.
36652
e4dd5a7e 366532009-03-24 Pavel Roskin <proski@gnu.org>
36654
36655 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
36656 not just for compilation.
36657
c04d6e05 366582009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
36659
36660 Move multiboot helper out of kernel
36661
36662 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
36663 `loader/i386/multiboot_helper.S'.
36664 * conf/i386-coreboot.rmk: Likewise
36665 * conf/i386-ieee1275.rmk: Likewise
36666
36667 * kern/i386/loader.S: Move multiboot helpers from here...
36668 * loader/i386/multiboot_helper.S: ...moved here
36669 * include/grub/i386/loader.h: Move declarations of multiboot
36670 helpers from here...
36671 * include/grub/i386/multiboot.h: ...moved here
36672 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
36673
42a5b3fc 366742009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36675
36676 * kern/env.c (grub_env_context_open): Added an argument to specify
36677 whether a new context inherits exported variables from current
36678 one. This is useful when making a sandbox to interpret a config
36679 file.
36680 All callers updated.
36681
36682 * include/grub/env.h (grub_env_context_open): Updated the prototype.
36683
b28bbc4e 366842009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36685
36686 * kern/env.c (grub_env_context_close): Fix memory leaks.
36687
f04f02e4 366882009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36689
36690 * normal/main.c (grub_normal_execute): Added an argument
36691 BATCH to specify if an interactive interface should be provided
36692 after reading a config file.
36693 All callers updated.
36694 (read_command_list): Prevent being executed twice.
36695 (read_fs_list): Likewise.
36696
42a5b3fc 36697 * include/grub/normal.h (grub_normal_execute): Updated the
36698 prototype.
f04f02e4 36699
41473ac2 367002009-03-22 Pavel Roskin <proski@gno.org>
36701
fbc00b0c 36702 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
36703 _start.
36704 * kern/i386/pc/startup.S: Likewise.
36705 * kern/i386/efi/startup.S: Likewise.
36706 * kern/i386/ieee1275/startup.S: Likewise.
36707 * kern/i386/coreboot/startup.S: Likewise.
36708 * kern/x86_64/efi/startup.S: Likewise.
36709
41473ac2 36710 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
36711 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
36712 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
36713
2274cc8f 367142009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
36715
36716 Bugfixes in multiboot for bugs uncovered by solaris kernel.
36717
36718 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
36719 limit detection.
36720 Use vaddr of correct segment for entry_point.
36721
b1b797cb 367222009-03-21 Bean <bean123ch@gmail.com>
36723
36724 * commands/blocklist.c: Add include file <grub/command.h>, remove
36725 <grub/normal.h> and <grub/arg.h>.
36726 (grub_cmd_blocklist): Use the new command interface.
36727 (GRUB_MOD_INIT): Likewise.
36728 (GRUB_MOD_FINI): Likewise.
36729 * commands/boot.c: Likewise.
36730 * commands/cat.c: Likewise.
36731 * commands/cmp.c: Likewise.
36732 * commands/configfile.c: Likewise.
36733 * commands/crc.c: Likewise.
36734 * commands/echo.c: Likewise.
36735 * commands/halt.c: Likewise.
36736 * commands/handler.c: Likewise.
36737 * commands/hdparm.c: Likewise.
36738 * commands/help.c: Likewise.
36739 * commands/hexdump.c: Likewise.
36740 * commands/loadenv.c: Likewise.
36741 * commands/ls.c: Likewise.
36742 * commands/lsmmap.c: Likewise.
36743 * commands/lspci.c: Likewise.
36744 * commands/loadenv.c: Likewise.
36745 * commands/read.c: Likewise.
36746 * commands/reboot.c: Likewise.
36747 * commands/search.c: Likewise.
36748 * commands/sleep.c: Likewise.
36749 * commands/test.c: Likewise.
36750 * commands/usbtest.c: Likewise.
36751 * commands/videotest.c: Likewise.
36752 * commands/i386/cpuid.c: Likewise.
36753 * commands/i386/pc/halt.c: Likewise.
36754 * commands/i386/pc/play.c: Likewise.
36755 * commands/i386/pc/pxecmd.c: Likewise.
36756 * commands/i386/pc/vbeinfo.c: Likewise.
36757 * commands/i386/pc/vbetest.c: Likewise.
36758 * commands/ieee1275/suspend.c: Likewise.
36759 * disk/loopback.c: Likewise.
36760 * font/font_cmd.c: Likewise.
36761 * hello/hello.c: Likewise.
36762 * loader/efi/appleloader.c: Likewise.
36763 * loader/efi/chainloader.c: Likewise.
36764 * loader/i386/bsd.c: Likewise.
36765 * loader/i386/efi/linux.c: Likewise.
36766 * loader/i386/ieee1275/linux.c: Likewise.
36767 * loader/i386/linux.c: Likewise.
36768 * loader/i386/pc/chainloader.c: Likewise.
36769 * loader/i386/pc/linux.c: Likewise.
36770 * loader/powerpc/ieee1275/linux.c: Likewise.
36771 * loader/multiboot_loader.c: Likewise.
36772 * term/gfxterm.c: Likewise.
36773 * term/i386/pc/serial.c: Likewise.
36774 * term/terminfo.c: Likewise.
36775
36776 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
36777 * term/i386/pc/vga.c: Likewise.
36778 * video/readers/jpeg.c: Likewise.
36779 * video/readers/png.c: Likewise.
36780 * video/readers/tga.c: Likewise.
36781
36782 * util/grub-fstest (cmd_loopback): Removed.
36783 (cmd_blocklist): Likewise.
36784 (cmd_ls): Likewise.
36785 (grub_register_command): Likewise.
36786 (grub_unregister_command): Likewise.
36787 (execute_command): Use grub_command_find to locate command and execute
36788 it.
36789
36790 * include/grub/efi/chainloader.h: Removed.
36791 * loader/efi/chainloader_normal.c: Likewise.
36792 * loader/i386/bsd_normal.c: Likewise.
36793 * loader/i386/pc/chainloader_normal.c: Likewise.
36794 * loader/i386/pc/multiboot_normal.c: Likewise.
36795 * loader/linux_normal.c: Likewise.
36796 * loader/multiboot_loader_normal.c: Likewise.
36797 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36798
36799 * gencmdlist.sh: Scan new registration command grub_register_extcmd
36800 and grub_register_command_p1.
36801
36802 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
36803 kern/command.c, lib/arg.c and commands/extcmd.c.
36804 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
36805 (minicmd_mod_SOURCES): New variable.
36806 (minicmd_mod_CFLAGS): Likewise.
36807 (minicmd_mod_LDFLAGS): Likewise.
36808 (extcmd_mod_SOURCES): Likewise.
36809 (extcmd_mod_CFLAGS): Likewise.
36810 (extcmd_mod_LDFLAGS): Likewise.
36811 (boot_mod_SOURCES): Removed.
36812 (boot_mod_CFLAGS): Likewise.
36813 (boot_mod_LDFLAGS): Likewise.
36814
36815 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
36816 kern/corecmd.c.
36817 (kernel_img_HEADERS): Add command.h.
36818 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
36819 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
36820 and lib/arg.c.
36821 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
36822 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
36823 remove the corresponding normal mode command.
36824 (normal_mod_SOURCES): Remove normal/arg.c.
36825 * conf/i386-coreboot.rmk: Likewise.
36826 * conf/i386-efi.rmk: Likewise.
36827 * conf/i386-ieee1275.rmk: Likewise.
36828 * conf/powerpc-ieee1275.rmk: Likewise.
36829 * conf/x86_64-efi.rmk: Likewise.
36830
36831 * include/grub/arg.h: Move from here ...
36832 * include/grub/lib/arg.h: ... to here.
36833
36834 * normal/arg.c: Move from here ...
36835 * lib/arg.c: ... to here.
36836
36837 * commands/extcmd.c: New file.
36838 * commands/minicmd.c: Likewise.
36839 * include/grub/command.h: Likewise.
36840 * include/grub/extcmd.h: Likewise.
36841 * kern/command.c: Likewise.
36842 * kern/corecmd.c: Likewise.
36843
36844 * kern/list.c (grub_list_iterate): Return int instead of void.
36845 (grub_list_insert): New function.
36846 (grub_prio_list_insert): Likewise.
36847
36848 * kern/rescue.c (grub_rescue_command): Removed.
36849 (grub_rescue_command_list): Likewise.
36850 (grub_rescue_register_command): Likewise.
36851 (grub_rescue_unregister_command): Likewise.
36852 (grub_rescue_cmd_boot): Move to minicmd.c
36853 (grub_rescue_cmd_help): Likewise.
36854 (grub_rescue_cmd_info): Likewise.
36855 (grub_rescue_cmd_boot): Likewise.
36856 (grub_rescue_cmd_testload): Likewise.
36857 (grub_rescue_cmd_dump): Likewise.
36858 (grub_rescue_cmd_rmmod): Likewise.
36859 (grub_rescue_cmd_lsmod): Likewise.
36860 (grub_rescue_cmd_exit): Likewise.
36861 (grub_rescue_print_devices): Moved to corecmd.c.
36862 (grub_rescue_print_files): Likewise.
36863 (grub_rescue_cmd_ls): Likewise.
36864 (grub_rescue_cmd_insmod): Likewise.
36865 (grub_rescue_cmd_set): Likewise.
36866 (grub_rescue_cmd_unset): Likewise.
7d074e3c 36867 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 36868 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 36869 commands, remove grub_rescue_register_command calls.
b1b797cb 36870
7d074e3c 36871 * normal/command.c (grub_register_command): Removed.
b1b797cb 36872 (grub_unregister_command): Likewise.
36873 (grub_command_find): Likewise.
36874 (grub_iterate_commands): Likewise.
36875 (rescue_command): Likewise.
36876 (export_command): Moved to corecmd.c.
36877 (set_command): Removed.
36878 (unset_command): Likewise.
36879 (insmod_command): Likewise.
36880 (rmmod_command): Likewise.
36881 (lsmod_command): Likewise.
36882 (grub_command_init): Likewise.
36883
36884 * normal/completion.c (iterate_command): Use cmd->prio to check for
36885 active command.
36886 (complete_arguments): Use grub_extcmd_t structure to find options.
36887 (grub_normal_do_completion): Change function grub_iterate_commands to
36888 grub_command_iterate.
36889
36890 * normal/execute.c (grub_script_execute_cmd): No need to parse
36891 argument here.
36892
36893 * normal/main.c (grub_dyncmd_dispatcher): New function.
36894 (read_command_list): Register unload commands as dyncmd.
36895 (grub_cmd_normal): Use new command interface, register rescue,
36896 unregister normal at entry, register normal, unregister rescue at exit.
36897
36898 * include/grub/list.h (grub_list_test_t): New type.
36899 (grub_list_iterate): Return int instead of void.
36900 (grub_list_insert): New function.
36901 (GRUB_AS_NAMED_LIST_P): New macro.
36902 (GRUB_AS_PRIO_LIST): Likewise.
36903 (GRUB_AS_PRIO_LIST_P): Likewise.
36904 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
36905 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
36906 (grub_prio_list): New structure.
36907 (grub_prio_list_insert): New function.
36908 (grub_prio_list_remove): New inline function.
36909
36910 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
36911 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
36912 (GRUB_COMMAND_FLAG_MENU): Likewise.
36913 (GRUB_COMMAND_FLAG_BOTH): Likewise.
36914 (GRUB_COMMAND_FLAG_TITLE): Likewise.
36915 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
36916 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
36917 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
36918 (grub_command): Likewise.
36919 (grub_register_command): Likewise.
36920 (grub_command_find): Likewise.
36921 (grub_iterate_commands): Likewise.
36922 (grub_command_init): Likewise.
36923 (grub_arg_parse): Likewise.
36924 (grub_arg_show_help): Likewise.
36925
36926 * include/grub/rescue.h (grub_rescue_register_command): Removed.
36927 (grub_rescue_unregister_command): Likewise.
36928
36929 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
36930 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
36931 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
36932
36933 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
36934 grub_rescue_cmd_initrd.
36935 * include/grub/i386/loader.h: Likewise.
36936 * include/grub/x86_64/loader.h: Likewise.
36937
36938 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
36939
1f4147aa 369402009-03-21 Bean <bean123ch@gmail.com>
36941
36942 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
36943 instead of stat in mingw environment.
36944
36945 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
36946
36947 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
36948
36949 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
36950 AC_CONFIG_LINKS.
36951
2156d5ba 369522009-03-21 Bean <bean123ch@gmail.com>
36953
36954 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
36955 out of range error.
36956
177b82ca 369572009-03-18 Michel Dänzer <michel@daenzer.net>
36958
36959 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
36960 checking inode flags for EXT4_EXTENTS_FLAG.
36961
14aad807 369622009-03-18 Robert Millan <rmh@aybabtu.com>
36963
36964 * loader/i386/linux.c: Include `<grub/video.h>' and
36965 `<grub/i386/pc/vbe.h>'..
36966 (grub_linux_setup_video): New function. Loosely based on the EFI one.
36967 (grub_linux32_boot): Attempt to configure video settings with
36968 grub_linux_setup_video().
36969 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
36970 to avoid grub_console_fini() which would step out of graphical mode
36971 unconditionally.
36972
8cf83a27 369732009-03-14 Robert Millan <rmh@aybabtu.com>
36974
36975 Fix build on powerpc.
36976 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
36977
40164e75 369782009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
36979
36980 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
36981 background image command.
36982
c58bc32a 369832009-03-12 Colin D Bennett <colin@gibibit.com>
36984
36985 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
36986 (grub_gfxterm_putchar): Extract pairs of identical calls to
36987 draw_cursor out of conditional blocks.
36988
5415144a 369892009-03-11 Pavel Roskin <proski@gnu.org>
36990
36991 * fs/hfs.c (grub_hfs_strncasecmp): New function.
36992 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
36993
6394042e 369942009-03-11 Robert Millan <rmh@aybabtu.com>
36995
36996 * loader/i386/multiboot_elfxx.c
36997 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
36998
b7b50e5f 369992009-03-11 Felix Zielcke <fzielcke@z-51.de>
37000
37001 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
37002 `kern/handler.c'.
37003
1ca7fc96 370042009-03-11 Robert Millan <rmh@aybabtu.com>
37005
37006 * loader/i386/multiboot.c (code_size): New variable.
37007 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 37008 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 37009 4-byte alignment to MBI and others by increasing
7d074e3c 37010 `boot_loader_name_length' appropriately.
1ca7fc96 37011
37012 * loader/i386/multiboot_elfxx.c
37013 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
37014
a83ea1d2 370152009-03-09 Felix Zielcke <fzielcke@z-51.de>
37016
37017 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
37018 `fs/ext2.c'.
37019
aa9f3bff 370202009-03-08 Robert Millan <rmh@aybabtu.com>
37021
37022 Make loader/i386/linux.c usable on i386-pc again.
37023
37024 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
37025 memory to heap.
37026 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
37027 `#error' stanza.
37028
d8b3b60e 370292009-03-07 Bean <bean123ch@gmail.com>
37030
37031 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
37032 allocation.
37033
b362c9e9 370342009-03-06 Robert Millan <rmh@aybabtu.com>
37035
37036 Fix display issue on terminals with screen size other than 80x25
37037 (e.g. gfxterm with resolution higher than 640x480).
37038
37039 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 37040 position relative to the center of the terminal instead of relying
b362c9e9 37041 on a hardcoded offset.
37042
9304eef1 370432009-03-04 Robert Millan <rmh@aybabtu.com>
37044
37045 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
37046 installed.
37047
37048 * Makefile.in (host_kernel): New variable.
37049 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
37050 scripts instead of just the windows one.
37051 * configure.ac: Initialize and AC_SUBST `host_kernel'.
37052
eabc95fb 370532009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 37054
37055 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
37056 `kern/handler.c'.
37057 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37058 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37059 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37060 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37061 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37062 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37063
ceb1223c 370642009-03-04 Felix Zielcke <fzielcke@z-51.de>
37065
37066 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
37067 or if there's no space for the disk label and print the partition number on a
37068 invalid magic.
37069
4910684a 370702009-03-04 Felix Zielcke <fzielcke@z-51.de>
37071
37072 * util/misc.c: Include <time.h>.
37073 (grub_millisleep): New function.
37074
7e9ca17a 370752009-03-04 Bean <bean123ch@gmail.com>
37076
37077 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
37078 another option -mno-red-zone.
37079
37080 * commands/handler.c: Change module description.
37081
37082 * kern/handler.c: Add missing space at the end of description line.
37083
37084 * kern/list.c: Likewise.
37085
f501677c 370862009-03-03 Robert Millan <rmh@aybabtu.com>
37087
37088 Move more components to the relocation area, and fix mbi pointer
37089 handling to use the destination rather than the origin (thanks to
37090 Vladimir Serbinenko for spotting).
37091
37092 * loader/i386/multiboot.c (mbi_dest): New variable.
37093 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
37094 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
37095 relocation area.
37096
9902d047 370972009-03-01 Bean <bean123ch@gmail.com>
37098
50fb7002 37099 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 37100 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
37101 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
37102 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
37103
37104 * loader/i386/efi/linux.c (acpi_guid): New variable.
37105 (acpi_guid): Likewise.
37106 (EBDA_SEG_ADDR): New constant.
37107 (LOW_MEM_ADDR): Likewise.
37108 (FAKE_EBDA_SEG): Likewise.
37109 (fake_bios_data): New function.
37110 (grub_linux_boot): Call fake_bios_data.
37111
71b9f361 371122009-03-01 Bean <bean123ch@gmail.com>
37113
37114 * commands/terminal.c: Removed.
37115
37116 * commands/handler.c: New file.
37117
37118 * include/grub/list.h: Likewise.
37119
37120 * include/grub/handler.h: Likewise.
37121
37122 * kern/list.c: Likewise.
37123
37124 * kern/handler.c: Likewise.
37125
37126 * kern/term.h: Include header file <grub/handler.h>.
37127 (grub_term_input): Move next field to the beginning.
37128 (grub_term_output): Likewise.
37129 (grub_term_input_class): New variable.
37130 (grub_term_output_class): Likewise.
37131 (grub_term_register_input): Changed to inline function.
37132 (grub_term_register_output): Likewise.
37133 (grub_term_unregister_input): Likewise.
37134 (grub_term_unregister_output): Likewise.
37135 (grub_term_set_current_input): Likewise.
37136 (grub_term_set_current_output): Likewise.
37137 (grub_term_get_current_input): Likewise.
37138 (grub_term_get_current_output): Likewise.
37139 (grub_term_iterate_input): Removed.
37140 (grub_term_iterate_output): Likewise.
37141
37142 * kern/term.c (grub_term_list_input): Removed.
37143 (grub_term_list_output): Likewise.
37144 (grub_term_input_class): New variable.
37145 (grub_term_output_class): Likewise.
50fb7002 37146 (grub_cur_term_input): Change variable as macro.
71b9f361 37147 (grub_cur_term_output): Likewise.
37148 (grub_term_register_input): Removed.
37149 (grub_term_register_output): Likewise.
37150 (grub_term_unregister_input): Likewise.
37151 (grub_term_unregister_output): Likewise.
37152 (grub_term_set_current_input): Likewise.
37153 (grub_term_set_current_output): Likewise.
37154 (grub_term_iterate_input): Likewise.
37155 (grub_term_iterate_output): Likewise.
37156 (grub_term_get_current_input): Likewise.
37157 (grub_term_get_current_output): Likewise.
37158
37159 * util/grub-editenv.c: Include header file <grub/handler.h>.
37160 (grub_term_get_current_input): Removed.
37161 (grub_term_get_current_output): Likewise.
37162 (grub_term_input_class): New variable.
50fb7002 37163 (grub_term_output_class): Likewise.
71b9f361 37164
37165 * util/grub-fstest.c (grub_term_get_current_input): Removed.
37166 (grub_term_get_current_output): Likewise.
37167 (grub_term_input_class): New variable.
50fb7002 37168 (grub_term_output_class): Likewise.
71b9f361 37169
37170 * util/grub-probe.c (grub_term_get_current_input): Removed.
37171 (grub_term_get_current_output): Likewise.
37172 (grub_term_input_class): New variable.
50fb7002 37173 (grub_term_output_class): Likewise.
71b9f361 37174
37175 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
37176 (grub_term_get_current_output): Likewise.
37177 (grub_term_input_class): New variable.
50fb7002 37178 (grub_term_output_class): Likewise.
71b9f361 37179
37180 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
37181 (terminal_mod_SOURCES): Likewise.
37182 (terminal_mod_CFLAGS): Likewise.
37183 (terminal_mod_LDFLAGS): Likewise.
37184
37185 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
37186 handler.c.
37187 (kernel_img_SOURCES): Add list.c and handler.c.
37188 (kernel_img_HEADERS): Add list.h and handler.h.
37189
37190 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
37191 handler.c.
37192 (kernel_mod_SOURCES): Add list.c and handler.c.
37193 (kernel_mod_HEADERS): Add list.h and handler.h.
37194
37195 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
37196 handler.c.
37197 (kernel_elf_SOURCES): Add list.c and handler.c.
37198 (kernel_elf_HEADERS): Add list.h and handler.h.
37199
37200 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
37201 handler.c.
37202 (kernel_elf_SOURCES): Add list.c and handler.c.
37203 (kernel_elf_HEADERS): Add list.h and handler.h.
37204
37205 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
37206 handler.c.
37207 (kernel_mod_SOURCES): Add list.c and handler.c.
37208 (kernel_mod_HEADERS): Add list.h and handler.h.
37209
37210 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
37211 handler.c.
37212 (kernel_elf_SOURCES): Add list.c and handler.c.
37213 (kernel_elf_HEADERS): Add list.h and handler.h.
37214
8a31787f 372152009-02-27 Robert Millan <rmh@aybabtu.com>
37216
37217 Factorize elf32 / elf64 code in Multiboot loader. This will
37218 prevent it from getting out of sync again.
37219
37220 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
37221 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
37222 grub_multiboot_load_elf64): Move from here ...
37223 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
37224 grub_multiboot_load_elf): ... to here (new file).
37225
51cd3dfc 372262009-02-27 Robert Millan <rmh@aybabtu.com>
37227
37228 * util/grub.d/10_linux.in: Rename "single-user mode" to
37229 "recovery mode".
37230
6e8c9c3a 372312009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
37232
37233 Don't leak in SCSI code.
37234 * disk/scsi.c (grub_scsi_close): free `scsi'.
37235
4b6bf4f9 372362009-02-27 Robert Millan <rmh@aybabtu.com>
37237
37238 * loader/i386/pc/multiboot.c: Move from here ...
37239 * loader/i386/multiboot.c: ... to here. Update all users.
37240
b9413424 372412009-02-27 Robert Millan <rmh@aybabtu.com>
37242
37243 Patch from Alexandre Bique <bique.alexandre@gmail.com>
37244 * util/i386/pc/grub-setup.c (setup): Fix directory path.
37245
50fb7002 372462009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 37247
37248 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
37249 b-tree.
37250
8cc50345 372512009-02-27 Robert Millan <rmh@aybabtu.com>
37252
37253 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
37254 `0x' qualifier as 0 when base is specified as parameter).
37255
6e09b8b7 372562009-02-24 Bean <bean123ch@gmail.com>
37257
37258 * configure.ac: Check for -mcmodel=large in x86_64 target.
37259
37260 * include/grub/efi/api.h (efi_call_10): New macro.
37261 (efi_wrap_10): New function.
37262
37263 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
37264 (GRUB_PE32_REL_BASED_HIGH): Likewise.
37265 (GRUB_PE32_REL_BASED_LOW): Likewise.
37266 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
37267 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
37268 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
37269 (GRUB_PE32_REL_BASED_SECTION): Likewise.
37270 (GRUB_PE32_REL_BASED_REL): Likewise.
37271 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
37272 (GRUB_PE32_REL_BASED_DIR64): Likewise.
37273 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
37274
37275 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
37276 issue.
37277
37278 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
37279 (efi_wrap_10): New function.
37280
37281 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
37282
37283 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
37284 MB/MBP model (NV chipset).
37285 (devdata_devs): Add devpath_5 to the list.
37286
37287 * load/i386/efi/linux.c (video_base): Remove variable.
37288 (RGB_MASK): New macro.
37289 (RGB_MAGIC): Likewise.
37290 (LINE_MIN): Likewise.
37291 (LINE_MAX): Likewise.
37292 (FBTEST_STEP): Likewise.
37293 (FBTEST_COUNT): Likewise.
37294 (fb_list): New variable.
37295 (grub_find_video_card): Remove function.
37296 (find_framebuf): New function.
37297 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
37298 line length.
37299
37300 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
37301 problem for x86_64.
37302
74b21bee 373032009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
37304
37305 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
37306
37307 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
37308 coding tool name.
37309
a455f472 373102009-02-22 Robert Millan <rmh@aybabtu.com>
37311
37312 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
37313 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
37314 in our relocation, instead of using it directly from heap. Also
37315 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
37316
6374daf3 373172009-02-21 Robert Millan <rmh@aybabtu.com>
37318
37319 Implement USB keyboard support (based on patch by Marco Gerards)
37320
37321 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
37322 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
37323 (usb_keyboard_mod_LDFLAGS): New variables.
37324
37325 * term/usb_keyboard.c: New file.
37326
8fa4ea70 373272009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
37328
37329 Corrected wrong declaration
37330
37331 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
37332
353976ac 373332009-02-14 Christian Franke <franke@computer.org>
37334
37335 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
37336 (grub_lspci_iter): Print class code and programming interface byte.
37337
6aa1169b 373382009-02-14 Christian Franke <franke@computer.org>
37339
37340 * gendistlist.sh: Ignore `.svn' directories.
37341
265372ca 373422009-02-14 Felix Zielcke <fzielcke@z-51.de>
37343
37344 * fs/fat.c: Add 2009 to Copyright line.
37345
9ff516f3 373462009-02-14 Christian Franke <franke@computer.org>
37347
37348 * commands/hdparm.c: New file. Provides `hdparm' command
37349 which sends ATA commands via grub_disk_ata_pass_through ().
37350
37351 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
37352
37353 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
37354 and <grub/cpu/io.h> to include/grub/ata.h.
37355 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
37356 (GRUB_CDROM_SECTOR_SIZE): Remove.
37357 (GRUB_ATA_*): Move to include/grub/ata.h.
37358 (GRUB_ATAPI_*): Likewise.
37359 (enum grub_ata_commands): Likewise.
37360 (enum grub_ata_timeout_milliseconds): Likewise.
37361 (struct grub_ata_device): Likewise.
37362 (grub_ata_regset): Likewise.
37363 (grub_ata_regget): Likewise.
37364 (grub_ata_regset2): Likewise.
37365 (grub_ata_regget2): Likewise.
37366 (grub_ata_check_ready): Likewise.
37367 (grub_ata_wait_not_busy): Remove static, exported in
37368 include/grub/ata.h.
37369 (grub_ata_wait_drq): Likewise.
37370 (grub_ata_pio_read): Likewise.
37371
37372 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
37373 function for hdparm.mod.
37374
37375 * include/grub/ata.h: New file, contains declarations from
37376 disk/ata.c.
37377 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
37378
37379 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
37380 (grub_disk_ata_pass_through): New exported variable.
37381
37382 * kern/disk.c (grub_disk_ata_pass_through): New variable.
37383
772e23da 373842009-02-13 Colin D Bennett <colin@gibibit.com>
37385
37386 Support multiple fallback entries, and provide an API to support
37387 executing default+fallback menu entries. Renamed the `terminal' menu
37388 viewer to `text'.
37389
37390 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
37391 variable declaration.
37392 (grub_menu_execute_callback): New structure declaration.
37393 (grub_menu_execute_callback_t): New typedef.
37394 (grub_menu_execute_with_fallback): New function declaration.
37395 (grub_menu_get_entry): Likewise.
37396 (grub_menu_get_timeout): Likewise.
37397 (grub_menu_set_timeout): Likewise.
37398
37399 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
37400
37401 * normal/menu.c (grub_wait_after_message): Moved to
37402 `normal/menu_text.c'.
37403 (draw_border): Likewise.
37404 (print_message): Likewise.
37405 (print_entry): Likewise.
37406 (print_entries): Likewise.
37407 (grub_menu_init_page): Likewise.
37408 (get_entry_number): Likewise.
37409 (print_timeout): Likewise.
37410 (run_menu): Likewise.
37411 (grub_menu_execute_entry): Likewise.
37412 (show_text_menu): Likewise.
37413 (get_and_remove_first_entry_number): New function.
37414 (grub_menu_execute_with_fallback): Likewise.
37415 (get_entry): Renamed to ...
37416 (grub_menu_get_entry): .. this and made it global.
37417 (get_timeout): Renamed to ...
37418 (grub_menu_get_timeout): ... this and made it global.
37419 (set_timeout): Renamed to ...
37420 (grub_menu_set_timeout): ... this and made it global.
37421 (grub_normal_terminal_menu_viewer): Renamed to ...
37422 (grub_normal_text_menu_viewer): ... this.
37423
37424 * normal/menu_text.c: New file. Extracted text-menu-specific code
37425 from normal/menu.c.
37426
37427 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
37428 (normal_mod_SOURCES): Likewise.
37429
37430 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37431 (normal_mod_SOURCES): Likewise.
37432
37433 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37434 (normal_mod_SOURCES): Likewise.
37435
37436 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
37437 (normal_mod_SOURCES): Likewise.
37438
37439 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37440 (normal_mod_SOURCES): Likewise.
37441
37442 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37443 (normal_mod_SOURCES): Likewise.
37444
37445 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37446 (normal_mod_SOURCES): Likewise.
37447
16ac430e 374482009-02-11 Robert Millan <rmh@aybabtu.com>
37449
37450 * util/grub.d/00_header.in: Update old reference to `font' command.
37451
06ff20fc 374522009-02-10 Felix Zielcke <fzielcke@z-51.de>
37453
37454 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
37455
37456 Based on patch from Javier Martín.
37457
96da9407 374582009-02-09 Felix Zielcke <fzielcke@z-51.de>
37459
37460 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 37461 to avoid false positives with FAT.
96da9407 37462 (grub_fstest_SOURCES): Likewise.
37463 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37464 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37466 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37467 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37468 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37469
6dca6fe4 374702009-02-09 Felix Zielcke <fzielcke@z-51.de>
37471
06ff20fc 37472 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 37473 bpb.version_specific.fat12_or_fat16.fstype and
37474 bpb.version_specific.fat32.fstype.
37475
2550c62f 374762009-02-08 Robert Millan <rmh@aybabtu.com>
37477
be110b30 37478 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 37479
56978920 374802009-02-08 Robert Millan <rmh@aybabtu.com>
37481
37482 * Makefile.in (host_os, host_cpu): New variables.
37483 (target_os): Remove. Update all users.
37484
d64399b5 374852009-02-08 Marco Gerards <marco@gnu.org>
37486
37487 * Makefile.in (enable_grub_emu_usb): New variable.
37488 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
37489 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
37490 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
37491 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
37492 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
37493 `usbtest.mod' and `usbms.mod'.
37494 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
37495 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
37496 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
37497 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
37498 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
37499 variables.
37500
37501 * disk/usbms.c: New file.
37502
37503 * include/grub/usb.h: Likewise.
37504
37505 * include/grub/usbtrans.h: Likewise.
37506
37507 * include/grub/usbdesc.h: Likewise.
37508
37509 * bus/usb/usbtrans.c: Likewise.
37510
37511 * bus/usb/ohci.c: Likewise.
37512
37513 * bus/usb/uhci.c: Likewise.
37514
37515 * bus/usb/usbhub.c: Likewise.
37516
37517 * bus/usb/usb.c: Likewise.
37518
37519 * commands/usbtest.c: Likewise.
37520
37521 * util/usb.c: Likewise.
50fb7002 37522
d64399b5 37523 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
37524
37525 * configure.ac: Test for libusb presence.
50fb7002 37526
d64399b5 37527 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
37528
2b40d6bb 375292009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
37530
37531 * kern/mm.c: Add more comments.
37532
73a4ce81 375332009-02-08 Robert Millan <rmh@aybabtu.com>
37534
37535 Patch from Javier Martín.
37536 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
37537 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
37538
f821ce59 375392009-02-08 Robert Millan <rmh@aybabtu.com>
37540
37541 * fs/cpio.c: Split tar functionality to ...
37542 * fs/tar.c: ... here (new file). Update all users.
37543
aebfc4b0 375442009-02-07 Robert Millan <rmh@aybabtu.com>
37545
37546 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
37547 backward-incompatible features.
37548
37549 Based on patch from Javier Martín, with some adjustments.
37550
50fb7002 375512009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 37552
37553 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
37554
0bb5115e 375552009-02-07 Robert Millan <rmh@aybabtu.com>
37556
37557 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
37558 position of `disk/lvm.c' to ensure grub_init_all() always picks it
37559 after the RAID stuff.
37560
38a0f8e7 375612009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
37562
50fb7002 37563 Fixes problem when running vbetest command as reported by
38a0f8e7 37564 Vladimir Serbinenko <phcoder@gmail.com>.
37565
37566 * (grub_vbe_set_video_mode): Fixed problem with text modes.
37567
3143cc1c 375682009-02-04 Felix Zielcke <fzielcke@z-51.de>
37569
37570 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
37571 /dev/md/NpN style mdraid devices.
37572
9cba6fce 375732009-02-03 Felix Zielcke <fzielcke@z-51.de>
37574
37575 * util/unifont2pff.rb: Remove.
37576
e507a2c1 375772009-02-03 Felix Zielcke <fzielcke@z-51.de>
37578
37579 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
37580 `#'.
37581
d2c2b4cd 375822009-02-03 Felix Zielcke <fzielcke@z-51.de>
37583
37584 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
37585 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37586 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37587 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37589 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37590 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37591
b4315fb0 375922009-02-02 Christian Franke <franke@computer.org>
37593
37594 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
37595
de3aa260 375962009-02-01 Felix Zielcke <fzielcke@z-51.de>
37597
7c3ff286 37598 * INSTALL: Note that we now require at least autoconf 2.59 and
37599 that LZO is optional.
de3aa260 37600
825a182b 376012009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37602
37603 Base on patch on bug #24154 created by Tomas Tintera
37604 <trosos@seznam.cz>.
37605
37606 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
37607
a69ef770 376082009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37609
7c3ff286 37610 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 37611 <bero@arklinux.org>.
37612
37613 * normal/parser.y (script_init): Add missing semicolon.
37614
6fa42fa6 376152009-01-31 Colin D Bennett <colin@gibibit.com>
37616
7c3ff286 37617 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 37618 (free_menu_entry_classes): Added.
37619 (grub_normal_menu_addentry): Added class property handling.
37620 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
37621 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
37622
37623 * normal/menu_viewer.c: New file.
37624
37625 * normal/menu.c (run_menu_entry): Renamed to ...
37626 (grub_menu_execute_entry): ... this and made it as global.
37627 (grub_menu_run): Renamed to ...
37628 (show_text_menu): ... this and made it local.
37629 (show_text_menu): Adapt to new function names.
37630 (grub_normal_terminal_menu_viewer): New global variable.
37631
37632 * include/grub/menu.h: New file.
37633
37634 * include/grub/menu_viewer.h: New file.
37635
37636 * include/grub/normal.h: Added include to grub/menu.h.
37637 (grub_menu_entry): Moved to include/grub/menu.h.
37638 (grub_menu_entry_t): Likewise.
37639 (grub_menu): Likewise.
37640 (grub_menu_t): Likewise.
37641 (grub_normal_terminal_menu_viewer): Added.
37642 (grub_menu_execute_entry): Likewise.
37643 (grub_menu_run): Removed.
37644
37645 * DISTLIST: Added include/grub/menu.h.
37646 Added include/grub/menu_viewer.h.
37647 Added normal/menu_viewer.c.
37648
376492009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
37650
37651 * normal/execute.c (grub_script_execute_menuentry): Changed to use
37652 arglist for menutitle arguments.
37653
37654 * normal/main.c (grub_normal_menu_addentry): Likewise.
37655
37656 * normal/parser.y (menuentry): Likewise.
37657
37658 * normal/script.c (grub_script_create_cmdmenu): Likewise.
37659
37660 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
37661 (grub_script_create_cmdmenu): Likewise.
37662
37663 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
37664
37665 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
37666 changes.
37667
37668 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
37669
37670 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
37671
37672 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
37673
37674 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37675
37676 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37677
37678 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37679
56192c23 376802009-01-30 Christian Franke <franke@computer.org>
37681
37682 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
37683 in option help text.
37684
d72521b3 376852009-01-27 Pavel Roskin <proski@gnu.org>
37686
37687 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
37688
994b5e84 376892009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37690
37691 * commands/lsmmap.c: Add include to grub/machine/memory.h.
37692
37693 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
37694
37695 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
37696 unregister function.
37697
6a7eab2c 376982009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37699
37700 * disk/scsi.c (grub_scsi_read): Fix sign problem.
37701
37702 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
37703
37704 * util/grub-mkfont.c (usage): Fix typo.
37705
37706 * util/elf/grub-mkimage.c (load_modules): Fix warning.
37707
1806b56e 377082009-01-26 Daniel Mierswa <impulze@impulze.org>
37709
3fb18f09 37710 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
37711
336e1fb9 37712 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
37713
1806b56e 37714 * kern/misc.c (grub_strcasecmp): New function.
37715 (grub_strcasecmp): Use grub_size_t instead of int for length.
37716 Fix return value.
37717 * include/grub/misc.h: Update function prototypes.
37718
580b2a0f 377192009-01-26 Robert Millan <rmh@aybabtu.com>
37720
37721 * configure.ac: Fix cross-compilation check.
ef257b36 37722
d31c24f1 377232009-01-22 Christian Franke <franke@computer.org>
37724
37725 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
37726 (precision) digit string. Allow `.format2' without `format1' (width).
37727 Limit input chars for `%s' output to `format2' if specified. This is
37728 compatible with standard printf ().
37729
3138b44c 377302009-01-22 Christian Franke <franke@computer.org>
37731
37732 * disk/ata.c (grub_ata_wait_status): Replace by ...
37733 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
37734 other status bits may be invalid while BSY is asserted.
37735 (grub_ata_check_ready): New function.
37736 (grub_ata_cmd): Removed.
37737 (grub_ata_wait_drq): New function.
37738 (grub_ata_strncpy): Remove inline.
37739 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
37740 and error check now done by grub_ata_wait_drq ().
37741 (grub_ata_pio_write): Likewise.
37742 (grub_atapi_identify): Set DEV before check for !BSY. Use
37743 grub_ata_wait_drq () to wait for data.
37744 (grub_ata_device_initialize): Add status register check to
37745 detect missing SATA slave devices. Add debug messages.
37746 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
37747 (grub_atapi_packet): Set DEV before check for !BSY. Replace
37748 transfer loop by grub_ata_pio_write ().
37749 (grub_ata_identify): Set DEV before check for !BSY. Use
37750 grub_ata_wait_drq () to wait for data.
ef257b36 37751 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 37752 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
37753 read/write in one loop. Fix invalid command on write. Fix incomplete
37754 command on (size % batch) == 0. Add missing error check after write of
37755 last block. Add debug messages.
37756 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
37757
59a64ef6 377582009-01-19 Christian Franke <franke@computer.org>
37759
37760 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
37761 (GRUB_ATAPI_IREASON_*): Likewise.
37762 (grub_ata_pio_write): Fix timeout error return.
37763 (grub_atapi_identify): Add grub_ata_wait () after cmd.
37764 (grub_atapi_wait_drq): New function.
37765 (grub_atapi_packet): New parameter `size'.
37766 Use grub_atapi_wait_drq () and direct write instead of
37767 grub_ata_pio_write ().
37768 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
37769 reads the number of bytes requested by the device for each DRQ
37770 assertion.
37771 (grub_atapi_write): Remove old implementation, return not
37772 implemented instead.
37773
1cfe20b3 377742009-01-19 Christian Franke <franke@computer.org>
37775
37776 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
37777 of 512 to calculate data size.
37778 (grub_scsi_read12): Likewise.
37779 (grub_scsi_write10): Likewise.
37780 (grub_scsi_write12): Likewise.
37781 (grub_scsi_read): Adjust size according to blocksize.
37782 Add checks for invalid blocksize and unaligned transfer.
37783
bee5fe5d 377842009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
37785
37786 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
37787
ef257b36 37788 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 37789 width glyphs.
37790
3e643f8c 377912009-01-19 Robert Millan <rmh@aybabtu.com>
37792
37793 * config.guess: Update to latest version from config git.
37794 * config.sub: Likewise.
37795
4fa80998 377962009-01-17 Felix Zielcke <fzielcke@z-51.de>
37797
37798 * Makefile.in: Change font compilation to use new grub-mkfont instead
37799 of java version.
37800
37801 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
37802 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
37803 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37804 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37805 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
37806 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
37807 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
37808 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
37809 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37810
7086085b 378112009-01-16 Christian Franke <franke@computer.org>
37812
37813 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
37814 (enum grub_ata_timeout_milliseconds): New enum.
37815 (grub_ata_wait_status): Add parameter milliseconds.
37816 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
37817 recovery from timed-out commands.
37818 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
37819 return grub_errno instead of REG_ERROR.
37820 (grub_ata_pio_write): Add parameter milliseconds.
37821 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
37822 Pass milliseconds to grub_ata_wait_status () and
37823 grub_ata_pio_read ().
37824 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
37825 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
37826 grub_ata_wait_status (). Fix IDENTIFY timeout check.
37827 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
37828 It is not suitable for device detection, because DEV bit is ignored,
37829 the command may run too long, and not all devices set the signature
37830 properly.
37831 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
37832 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
37833 Fix device selection, DEV bit must be set first to address the registers
37834 of the correct device.
37835 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
37836 grub_ata_pio_read/write ().
37837 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
37838 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
37839
4a412913 378402009-01-13 Carles Pina i Estany <carles@pina.cat>
37841
37842 * util/grub-editenv.c (main): Use fseeko(), not fseek().
37843
7795c55e 378442009-01-13 Bean <bean123ch@gmail.com>
d913988c 37845
37846 * util/grub-mkfont.c (write_font): forget to remove some debug code.
37847
7795c55e 378482009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 37849
37850 * Makefile.in: (enable_grub_mkfont): New variable.
37851 (freetype_cflags): Likewise.
37852 (freetype_libs): Likewise.
37853
37854 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
37855 (grub_mkfont_SOURCES): New variable.
37856 (grub_mkfont_CFLAGS): Likewise.
37857 (grub_mkfont_LDFLAGS): Likewise.
37858
37859 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
37860 library if `--enable-grub-mkfont' is requested.
37861 (enable_grub_mkfont): New variable.
37862 (freetype_cflags): Likewise.
37863 (freetype_libs): Likewise.
37864
37865 * util/grub-mkfont.c: New file.
37866
093af1fe 378672009-01-12 Christian Franke <franke@computer.org>
37868
37869 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
37870 mode check. Fix setting of compat_use[].
37871
f36cc108 378722009-01-10 Robert Millan <rmh@aybabtu.com>
37873
37874 Update a few copyright years which we forgot to do in 2008 (only for
37875 files whose changes made in 2008 were copyright-significant)
37876
37877 * Makefile.in: Add 2008 to Copyright line.
37878 * disk/ieee1275/ofdisk.c: Likewise.
37879 * disk/efi/efidisk.c: Likewise.
37880 * kern/dl.c: Likewise.
37881 * kern/sparc64/ieee1275/init.c: Likewise.
37882 * kern/mm.c: Likewise.
37883 * kern/efi/mm.c: Likewise.
37884 * boot/i386/pc/boot.S: Likewise.
37885 * genfslist.sh: Likewise.
37886 * fs/iso9660.c: Likewise.
37887 * fs/hfs.c: Likewise.
37888 * fs/jfs.c: Likewise.
37889 * fs/minix.c: Likewise.
37890 * fs/ufs.c: Likewise.
37891 * gensymlist.sh.in: Likewise.
37892 * genkernsyms.sh.in: Likewise.
37893 * include/grub/misc.h: Likewise.
37894 * include/grub/types.h: Likewise.
37895 * include/grub/symbol.h: Likewise.
37896 * include/grub/elf.h: Likewise.
37897 * include/grub/kernel.h: Likewise.
37898 * include/grub/disk.h: Likewise.
37899 * include/grub/dl.h: Likewise.
37900 * include/grub/i386/linux.h: Likewise.
37901 * include/grub/i386/pc/biosdisk.h: Likewise.
37902 * include/grub/efi/api.h: Likewise.
37903 * include/grub/efi/pe32.h: Likewise.
37904 * include/grub/util/misc.h: Likewise.
37905 * normal/execute.c: Likewise.
37906 * normal/arg.c: Likewise.
37907 * normal/completion.c: Likewise.
37908 * normal/lexer.c: Likewise.
37909 * normal/parser.y: Likewise.
37910 * normal/misc.c: Likewise.
37911 * commands/i386/pc/vbeinfo.c: Likewise.
37912 * commands/hexdump.c: Likewise.
37913 * commands/terminal.c: Likewise.
37914 * commands/ls.c: Likewise.
37915 * commands/help.c: Likewise.
37916 * partmap/pc.c: Likewise.
37917 * loader/efi/chainloader.c: Likewise.
37918 * loader/multiboot_loader.c: Likewise.
37919 * loader/i386/pc/multiboot2.c: Likewise.
37920 * term/efi/console.c: Likewise.
37921 * term/i386/pc/serial.c: Likewise.
37922 * util/lvm.c: Likewise.
37923 * util/console.c: Likewise.
37924 * util/i386/efi/grub-mkimage.c: Likewise.
37925 * util/raid.c: Likewise.
37926
7f02114b 379272009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
37928
37929 * commands/videotest.c: Removed include to grub/machine/memory.h.
37930
37931 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
37932 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
37933 (video_mod_SOURCES): Removed.
37934 (video_mod_CFLAGS): Likewise.
37935 (video_mod_LDFLAGS): Likewise.
37936 (gfxterm_mod_SOURCES): Likewise.
37937 (gfxterm_mod_CFLAGS): Likewise.
37938 (gfxterm_mod_LDFLAGS): Likewise.
37939 (videotest_mod_SOURCES): Likewise.
37940 (videotest_mod_CFLAGS): Likewise.
37941 (videotest_mod_LDFLAGS): Likewise.
37942 (bitmap_mod_SOURCES): Likewise.
37943 (bitmap_mod_CFLAGS): Likewise.
37944 (bitmap_mod_LDFLAGS): Likewise.
37945 (tga_mod_SOURCES): Likewise.
37946 (tga_mod_CFLAGS): Likewise.
37947 (tga_mod_LDFLAGS): Likewise.
37948 (jpeg_mod_SOURCES): Likewise.
37949 (jpeg_mod_CFLAGS): Likewise.
37950 (jpeg_mod_LDFLAGS): Likewise.
37951 (png_mod_SOURCES): Likewise.
37952 (png_mod_CFLAGS): Likewise.
37953 (png_mod_LDFLAGS): Likewise.
37954
37955 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
37956 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
37957 (video_mod_SOURCES): Added.
37958 (video_mod_CFLAGS): Likewise.
37959 (video_mod_LDFLAGS): Likewise.
37960 (videotest_mod_SOURCES): Likewise.
37961 (videotest_mod_CFLAGS): Likewise.
37962 (videotest_mod_LDFLAGS): Likewise.
37963 (bitmap_mod_SOURCES): Likewise.
37964 (bitmap_mod_CFLAGS): Likewise.
37965 (bitmap_mod_LDFLAGS): Likewise.
37966 (tga_mod_SOURCES): Likewise.
37967 (tga_mod_CFLAGS): Likewise.
37968 (tga_mod_LDFLAGS): Likewise.
37969 (jpeg_mod_SOURCES): Likewise.
37970 (jpeg_mod_CFLAGS): Likewise.
37971 (jpeg_mod_LDFLAGS): Likewise.
37972 (png_mod_SOURCES): Likewise.
37973 (png_mod_CFLAGS): Likewise.
37974 (png_mod_LDFLAGS): Likewise.
37975 (gfxterm_mod_SOURCES): Likewise.
37976 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 37977 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 37978
37979 * term/gfxterm.c: Removed include to grub/machine/memory.h,
37980 grub/machine/console.h.
37981
644fff97 379822009-01-04 Jerone Young <jerone@gmail.com>
37983
37984 Make on screen instructions clearer
37985
37986 Based on patch created by Jidanni <jidanni@jidanni.org>
37987
37988 * normal/menu.c: print clearer instructions on the screen
37989
1e901a75 379902009-01-02 Colin D Bennett <colin@gibibit.com>
37991
37992 New font engine.
34c44600 37993
1e901a75 37994 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
37995 build system and fixed gfxterm.c to work with different sized fonts.
37996
37997 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 37998
1e901a75 37999 * configure: Re-generated.
34c44600 38000
1e901a75 38001 * DISTLIST: Removed font/manager.c.
38002 Added font/font.c.
38003 Added font/font_cmd.c.
34c44600 38004
1e901a75 38005 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
38006 compilation.
34c44600 38007
1e901a75 38008 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 38009
38010 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 38011
38012 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 38013
1e901a75 38014 * normal/menu.c: Likewise.
34c44600 38015
1e901a75 38016 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
38017 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 38018
1e901a75 38019 * include/grub/font.h: Replaced with new file.
34c44600 38020
1e901a75 38021 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
38022 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
38023 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
38024 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
38025 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 38026 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 38027 fg_red, fg_green, fg_blue, fg_alpha.
38028 (grub_video_adapter): Removed blit_glyph.
34c44600 38029 (grub_video_blit_glyph): Removed.
38030
1e901a75 38031 * font/manager.c: Removed file.
34c44600 38032
38033 * font/font.c: New file.
38034
1e901a75 38035 * font/font_cmd.c: Likewise.
34c44600 38036
1e901a75 38037 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 38038
1e901a75 38039 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
38040 (grub_video_vbe_map_rgba): Likewise.
38041 (grub_video_vbe_unmap_color_int): Likewise.
38042 (grub_video_vbe_blit_glyph): Removed.
38043 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 38044
1e901a75 38045 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
38046 (get_pixel): Likewise.
34c44600 38047 (set_pixel): Likewise.
38048
1e901a75 38049 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 38050
1e901a75 38051 * term/gfxterm.c: Adapted to new font engine.
34c44600 38052
1e901a75 38053 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 38054
1e901a75 38055 * term/i386/pc/vga.c: Likewise.
34c44600 38056
1e901a75 38057 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 38058
1e901a75 38059 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 38060
1e901a75 38061 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 38062
1e901a75 38063 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 38064
1e901a75 38065 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 38066
1e901a75 38067 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 38068
1e901a75 38069 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 38070
1e901a75 38071 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 38072
1e901a75 38073 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
38074
38075 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 38076
1e901a75 38077 * util/grub-mkconfig_lib.in: Changed font extension.
38078
278922e8 380792008-12-28 Felix Zielcke <fzielcke@z-51.de>
38080
38081 * util/getroot.c (grub_util_get_grub_dev): Add support for
38082 /dev/md/dNNpNN style partitionable mdraid devices.
38083
3ced05cf 380842008-12-12 Alex Smith <alex@alex-smith.me.uk>
38085
38086 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
38087 at a time limit of the PXE TFTP API correctly.
38088 (grub_pxefs_close): Likewise.
38089
7fd0ee30 380902008-11-29 Robert Millan <rmh@aybabtu.com>
38091
34c44600 38092 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 38093 grub_ata_device_initialize() calls.
38094
34c44600 380952008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 38096
38097 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
38098 iteration failed.
38099 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
38100
89313780 381012008-11-28 Robert Millan <rmh@aybabtu.com>
38102
38103 Fix build on powerpc-ieee1275. Based on patch created by
38104 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
38105 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38106 `kern/ieee1275/mmap.c'.
38107 * include/grub/powerpc/ieee1275/memory.h: New file.
38108
15257703 38109 Provide grub-install on coreboot.
38110 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
38111 (grub_install_SOURCES): New variable.
38112 * util/i386/pc/grub-install.in: Add a few condition checks to make it
38113 usable on coreboot.
38114
9fc5388a 381152008-11-25 Felix Zielcke <fzielcke@z-51.de>
38116
38117 * util/grub-fstest.c (grub_term_get_current_input): Change return type
38118 to `grub_term_input_t'.
38119 (grub_term_get_current_output): Change return type to
38120 `grub_term_output_t'.
38121
bc3a2f31 381222008-11-22 Robert Millan <rmh@aybabtu.com>
38123
34c44600 38124 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 38125 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
38126 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
38127 grub_vga_text_cls().
38128
80fc88f2 38129 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 38130 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 38131
cbf36fd3 38132 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
38133 to 0x200000 (avoids trouble with some OFW implementations, and matches
38134 with the one in Yaboot).
38135 Reported by Manoel Abranches
38136
73e8e268 381372008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 38138
38139 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
38140 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
38141
73e8e268 38142 * util/grub-mkconfig_lib.in (grub_warn): New function.
38143 (convert_system_path_to_grub_path): Use grub_warn() when issuing
38144 warnings, to obtain consistent formatting.
38145 * util/grub.d/00_header.in: Likewise.
38146 * util/update-grub_lib.in: Likewise.
38147
e94045a1 38148 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 38149 Move comment text to `#error' stanza.
e94045a1 38150
79d29fd7 38151 Harmonize ieee1275's grub_available_iterate() with the generic
38152 grub_machine_mmap_iterate() interface (fixes a recently-introduced
38153 build problem on i386-ieee1275):
38154 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
38155 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
38156 parameter `type'. Update all users of this function.
38157 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38158 `kern/ieee1275/mmap.c'.
38159 * kern/ieee1275/init.c
38160 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
38161 with ...
38162 (grub_machine_mmap_iterate): ... this.
38163 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
38164 return type to `grub_err_t'. Update all implementations of this
38165 function prototype.
38166 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
38167 Likewise.
38168
60d6b16e 38169 Add `lsmmap' command (lists firmware-provided memory map):
38170 * commands/lsmmap.c: New file.
38171 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
38172 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
38173 variables.
38174 * conf/powerpc-ieee1275.rmk: Likewise.
38175 * conf/i386-coreboot.rmk: Likewise.
38176 * conf/i386-ieee1275.rmk: Likewise.
38177
ebaaf49b 381782008-11-19 Robert Millan <rmh@aybabtu.com>
38179
38180 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 38181 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
38182 constraints to initrd allocation (based on code from
38183 loader/i386/pc/linux.c). Without them, initrd was allocated too high
38184 for Linux to find it.
ebaaf49b 38185
dfab719f 381862008-11-14 Robert Millan <rmh@aybabtu.com>
38187
38188 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
38189 order to cope with duplicate slashes.
38190
10fc3eb9 381912008-11-14 Robert Millan <rmh@aybabtu.com>
38192
38193 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
38194 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
38195 don't want to mess with lower memory, because it is used in the Linux
38196 loader.
38197
38198 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 38199 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 38200 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
38201 is in our heap (probably as a result of it being corrupted during
2f2a3442 38202 decompression). Add #error instance with comment to explain why this
38203 loader isn't currently usable on PC/BIOS.
10fc3eb9 38204
e2e07847 382052008-11-14 Robert Millan <rmh@aybabtu.com>
38206
38207 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 38208 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 38209
fe8e8d69 382102008-11-12 Robert Millan <rmh@aybabtu.com>
38211
38212 Make loader/i386/linux.c buildable on i386-pc (although disabled).
38213
38214 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
38215 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
38216 from here ...
38217 * include/grub/i386/pc/memory.h: ... to here.
38218
976b07d0 382192008-11-12 Robert Millan <rmh@aybabtu.com>
38220
38221 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
38222 split).
38223
38224 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
38225 (grub_console_cur_color, grub_console_real_putchar)
38226 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
38227 (grub_console_setcolorstate, grub_console_setcolor)
38228 (grub_console_getcolor): Move from here ...
38229 * include/grub/i386/vga_common.h: ... to here (new file).
38230
38231 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
38232 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
38233 `<grub/i386/io.h>'.
38234 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
38235 `<grub/i386/vga_common.h>'.
38236
76679cd3 382372008-11-12 Robert Millan <rmh@aybabtu.com>
38238
38239 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
38240 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
38241 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
38242 variables.
38243 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
38244 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
38245
38246 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
38247 grub_console_init() with call to grub_vga_text_init().
38248 (grub_machine_fini): Replace call to
38249 grub_console_fini() with call to grub_vga_text_fini() and
38250 grub_at_keyboard_fini().
38251
38252 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
38253 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
38254 (grub_console_setcolorstate, grub_console_setcolor)
38255 (grub_console_getcolor): New function prototypes.
38256
38257 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
38258 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
38259 (grub_vga_text_setcursor): Static-ize.
38260 (grub_vga_text_term): New structure.
38261 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
38262
38263 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
38264 (grub_console_cur_color, grub_console_standard_color)
38265 (grub_console_normal_color, grub_console_highlight_color)
38266 (map_char, grub_console_putchar, grub_console_getcharwidth)
38267 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
38268 (grub_console_getcolor): Move from here ...
38269 * term/i386/vga_common.c: ... to here (same function names).
38270
95b841d3 382712008-11-12 Robert Millan <rmh@aybabtu.com>
38272
38273 Use newly-added Multiboot support in coreboot.
38274
38275 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
38276 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
38277
38278 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
38279 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
38280 (codestart): Store the MBI in `startup_multiboot_info' when we're
38281 being loaded using Multiboot.
38282
38283 * kern/i386/coreboot/init.c (grub_machine_init): Move
38284 grub_at_keyboard_init() call to beginning of function (useful for
38285 debugging). Call grub_machine_mmap_init() before attempting to use
38286 grub_machine_mmap_iterate().
38287 (grub_lower_mem, grub_upper_mem): Move from here ...
38288 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
38289 here (new file).
38290
38291 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
38292 function prototype.
38293
761ca975 382942008-11-12 Robert Millan <rmh@aybabtu.com>
38295
38296 Fix a regression introduced by the at_keyboard.mod split. Because
38297 some terminals are default on some platforms and non-default on
38298 others, the first terminal being registered determines which is
38299 going to be default.
38300
38301 * kern/term.c (grub_term_register_input): If this is the first
38302 terminal being registered, set it as the current one.
38303 (grub_term_register_output): Likewise.
38304
38305 * term/efi/console.c (grub_console_init): Do not call
38306 grub_term_set_current_output() or grub_term_set_current_input().
38307 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
38308 * term/i386/pc/console.c (grub_console_init): Likewise.
38309 (grub_console_fini): Do not call grub_term_set_current_input()
38310 (but leave grub_term_set_current_output() to restore text mode).
38311
6c529df7 383122008-11-10 Robert Millan <rmh@aybabtu.com>
38313
38314 * util/grub.d/00_header.in: Add backward compatibility check for
38315 versions of terminal.mod that don't understand `terminal_input' or
38316 `terminal_output'.
38317
132e4113 383182008-11-09 Robert Millan <rmh@aybabtu.com>
38319
38320 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
38321 `terminal_input' / `terminal_output', not `terminal'.
38322
ac293d50 383232008-11-08 Robert Millan <rmh@aybabtu.com>
38324
38325 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 38326 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 38327
0025933a 383282008-11-08 Robert Millan <rmh@aybabtu.com>
38329
38330 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 38331 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 38332 members. Update all users.
38333 * util/console.c (grub_ncurses_term): Split in ...
38334 (grub_ncurses_term_input): ... this, and ...
38335 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 38336 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 38337
37c86336 383382008-11-08 Robert Millan <rmh@aybabtu.com>
38339
38340 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
38341 (PKGDATA): Add $(pkgdata_SRCDIR).
38342 (pkglib_BUILDDIR): New variable.
38343 (pkgdata_SRCDIR): New variable.
38344 (build_env.mk): New target.
38345 (include_DATA): New variable.
38346 (install-local): Install $(include_DATA) files in $(includedir).
38347
b6c15a2d 383482008-11-07 Pavel Roskin <proski@gnu.org>
38349
d99d46f1 38350 * gendistlist.sh: Use C locale for sorting to ensure consistent
38351 output on all systems.
38352
b6c15a2d 38353 * util/grub.d/00_header.in: Remove incorrect space before
38354 "serial".
38355
c32ee8c9 383562008-11-07 Robert Millan <rmh@aybabtu.com>
38357
38358 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
38359 per specification.
38360 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
38361 * loader/multiboot_loader.c (find_multi_boot2_header): New function
38362 (based on find_multi_boot1_header).
38363 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
38364 using find_multi_boot2_header(), and abort if neither Multiboot or
38365 Multiboot headers were found.
38366
651c29b7 383672008-11-07 Robert Millan <rmh@aybabtu.com>
38368
38369 Modularize at_keyboard.mod:
38370
38371 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
38372 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
38373 (at_keyboard_mod_LDFLAGS): New variables.
38374
38375 Actual terminal split:
38376
38377 * include/grub/term.h (struct grub_term): Split in ...
38378 (struct grub_term_input): ... this, and ...
38379 (struct grub_term_output): ... this. Update all users.
38380 (grub_term_set_current): Split in ...
38381 (grub_term_set_current_input): ... this, and ...
38382 (grub_term_set_current_output): ... this.
38383 (grub_term_get_current): Split in ...
38384 (grub_term_get_current_input): ... this, and ...
38385 (grub_term_get_current_output): ... this.
38386 (grub_term_register): Split in ...
38387 (grub_term_register_input): ... this, and ...
38388 (grub_term_register_output): ... this.
38389 (grub_term_unregister): Split in ...
38390 (grub_term_unregister_input): ... this, and ...
38391 (grub_term_unregister_output): ... this.
38392 (grub_term_iterate): Split in ...
38393 (grub_term_iterate_input): ... this, and ...
38394 (grub_term_iterate_output): ... this.
38395
38396 * kern/term.c (grub_term_list): Split in ...
38397 (grub_term_list_input): ... this, and ...
38398 (grub_term_list_output): ... this. Update all users.
38399 (grub_cur_term): Split in ...
38400 (grub_cur_term_input): ... this, and ...
38401 (grub_cur_term_output): ... this. Update all users.
38402 (grub_term_set_current): Split in ...
38403 (grub_term_set_current_input): ... this, and ...
38404 (grub_term_set_current_output): ... this.
38405 (grub_term_get_current): Split in ...
38406 (grub_term_get_current_input): ... this, and ...
38407 (grub_term_get_current_output): ... this.
38408 (grub_term_register): Split in ...
38409 (grub_term_register_input): ... this, and ...
38410 (grub_term_register_output): ... this.
38411 (grub_term_unregister): Split in ...
38412 (grub_term_unregister_input): ... this, and ...
38413 (grub_term_unregister_output): ... this.
38414 (grub_term_iterate): Split in ...
38415 (grub_term_iterate_input): ... this, and ...
38416 (grub_term_iterate_output): ... this.
38417
38418 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
38419 a check for input and one for output (and only attempt to get keys
38420 from user when input works).
38421
38422 * util/grub-probe.c (grub_term_get_current): Split in ...
38423 (grub_term_get_current_input): ... this, and ...
38424 (grub_term_get_current_output): ... this.
38425 * util/grub-fstest.c: Likewise.
38426 * util/i386/pc/grub-setup.c: Likewise.
38427 * util/grub-editenv.c: Likewise.
38428
38429 Portability adjustments:
38430
38431 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
38432 `term/i386/pc/at_keyboard.c'.
38433 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
38434 grub_keyboard_controller_init() (now handled by terminal .init).
38435 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
38436 grub_at_keyboard_init().
38437 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
38438 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
38439 at_keyboard.mod via input terminal interface).
38440 * include/grub/i386/coreboot/console.h: Convert into a stub for
38441 `<grub/i386/pc/console.h>'.
38442
38443 Migrate full terminals to new API:
38444
38445 * term/efi/console.c (grub_console_term): Split into ...
38446 (grub_console_term_input): ... this, and ...
38447 (grub_console_term_output): ... this. Update all users.
38448 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
38449 (grub_ofconsole_init): Split into ...
38450 (grub_ofconsole_init_input): ... this, and ...
38451 (grub_ofconsole_init_output): ... this.
38452 (grub_ofconsole_term): Split into ...
38453 (grub_ofconsole_term_input): ... this, and ...
38454 (grub_ofconsole_term_output): ... this. Update all users.
38455 * term/i386/pc/serial.c (grub_serial_term): Split into ...
38456 (grub_serial_term_input): ... this, and ...
38457 (grub_serial_term_output): ... this. Update all users.
38458 * term/i386/pc/console.c (grub_console_term): Split into ...
38459 (grub_console_term_input): ... this, and ...
38460 (grub_console_term_output): ... this. Update all users.
38461 (grub_console_term_input): Only enable it on PC/BIOS platform.
38462 (grub_console_init): Remove grub_keyboard_controller_init() call.
38463
38464 Migrate input terminals to new API:
38465
38466 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
38467 `i386' and `i386/pc' to enable build on x86_64 (this driver is
38468 i386-specific anyway).
38469 (grub_console_checkkey): Rename to ...
38470 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
38471 users.
38472 (grub_keyboard_controller_orig): New variable.
38473 (grub_console_getkey): Rename to ...
38474 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
38475 users.
38476 (grub_keyboard_controller_init): Static-ize. Save original
38477 controller value so that it can be restored ...
38478 (grub_keyboard_controller_fini): ... here (new function).
38479 (grub_at_keyboard_term): New structure.
38480 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
38481 functions.
38482
38483 Migrate output terminals to new API:
38484
38485 * term/i386/pc/vga.c (grub_vga_term): Change type to
38486 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38487 members. Update all users.
38488 * term/gfxterm.c (grub_video_term): Change type to
38489 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38490 members. Update all users.
38491 * include/grub/i386/pc/console.h (grub_console_checkkey)
38492 (grub_console_getkey): Do not export (no longer needed by gfxterm,
38493 etc).
38494
38495 Migrate `terminal' command and userland tools to new API:
38496
38497 * commands/terminal.c (grub_cmd_terminal): Split into ...
38498 (grub_cmd_terminal_input): ... this, and ...
38499 (grub_cmd_terminal_output): ... this.
38500 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
38501 `terminal_input' and `terminal_output'.
38502 * util/grub.d/00_header.in: Adjust `terminal' calls to new
38503 `terminal_input' / `terminal_output' API.
38504 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
38505 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
38506 provided ${GRUB_TERMINAL}, convert it).
38507
96e5d876 385082008-11-04 Robert Millan <rmh@aybabtu.com>
38509
38510 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
38511 for FreeBSD.
38512 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
38513
556f3775 385142008-11-03 Bean <bean123ch@gmail.com>
38515
38516 * kern/elf.c (grub_elf32_load): Revert to previous code.
38517 (grub_elf64_load): Likewise.
38518
38519 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
38520
926b9823 385212008-11-01 Robert Millan <rmh@aybabtu.com>
38522
38523 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
38524 (TARGET_CPPFLAGS): Likewise.
38525 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
38526
1432e958 385272008-11-01 Carles Pina i Estany <carles@pina.cat>
38528
38529 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
38530
dba3f844 385312008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 38532
38533 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
38534 addition of objects until the code is not going to be able to fail.
38535
dba3f844 385362008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 38537
38538 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
38539 (add a missing NULL check, and correct them by moving the pointer
38540 operations after the actual check).
38541
7ab28c21 385422008-10-29 Robert Millan <rmh@aybabtu.com>
38543
38544 * util/i386/pc/grub-install.in: Handle empty string as output from
38545 make_system_path_relative_to_its_root().
38546
1b7748eb 385472008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
38548
38549 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
38550 circular metadata worst case scenario. If the metadata is circular
38551 then copy the wrap in place.
38552 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
38553 project lib/format_text/layout.h
38554 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
38555
c9618ab2 385562008-10-03 Felix Zielcke <fzielcke@z-51.de>
38557
7a36edca 38558 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 38559
bf981c62 385602008-10-03 Felix Zielcke <fzielcke@z-51.de>
38561
38562 * util/update-grub_lib.in: Mention filename in warning message.
38563
6d994591 385642008-09-29 Felix Zielcke <fzielcke@z-51.de>
38565
38566 * NEWS: Update for rename of update-grub to grub-mkconfig.
38567
18ade780 385682008-09-29 Felix Zielcke <fzielcke@z-51.de>
38569
38570 * util/update-grub_lib.in: Copy to ...
38571 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 38572 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 38573 * util/update-grub.in: Rename to ...
38574 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
38575 option. Add `--output' option to allow users to specify the generated
38576 configuration file. Default to stdout.
38577 (update_grub_dir): Rename to ...
38578 (grub_mkconfig_dir): ... this.
38579 (grub_cfg): Default to an empty string.
38580 * conf/common.rmk (update-grub): Rename to ...
38581 (grub-mkconfig): ... this.
38582 (update-grub_lib): Copy to ...
38583 (grub-mkconfig_lib): ... this.
38584 (update-grub_SCRIPTS): Copy to ...
38585 (grub-mkconfig_SCRIPTS): ... this. Update all users.
38586 (update-grub_DATA): Rename to ...
38587 (grub-mkconfig_DATA): ... this.
38588
556ce6ac 385892008-09-28 Robert Millan <rmh@aybabtu.com>
38590
38591 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
38592 to `modified'. Add the real `created' field.
38593 (grub_iso9660_uuid): Use `modified' rather than `created' for
38594 constructing the UUID.
38595
385962008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 38597
38598 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
38599 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
38600
92274e85 386012008-09-28 Bean <bean123ch@gmail.com>
38602
38603 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
38604 Thanks to Christian Franke for finding this bug.
38605
add6f17a 386062008-09-25 Robert Millan <rmh@aybabtu.com>
38607
38608 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
38609 instances of grub_util_get_disk_name() (see previous commit).
38610
d2a367b8 386112008-09-25 Robert Millan <rmh@aybabtu.com>
38612
38613 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
38614 `util/i386/get_disk_name.c'.
38615 * conf/i386-efi.rmk: Likewise.
38616 * conf/x86_64-efi.rmk: Likewise.
38617 * conf/i386-coreboot.rmk: Likewise.
38618 * conf/i386-ieee1275.rmk: Likewise.
38619 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
38620 `util/ieee1275/get_disk_name.c'.
38621 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
38622 * util/ieee1275/get_disk_name.c: Remove file.
38623 * util/i386/get_disk_name.c: Remove file.
38624 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
38625 "hd%d" for device.map entries, rather than using
38626 grub_util_get_disk_name().
38627
81a06771 386282008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 38629
38630 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
38631 warning.
38632 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
38633
5a004279 386342008-09-24 Carles Pina i Estany <carles@pina.cat>
38635
38636 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
38637 Changed to 0x5100.
38638 (GRUB_TERM_PPAGE): Changed to 0x4900.
38639
397093d3 386402008-09-24 Robert Millan <rmh@aybabtu.com>
38641
38642 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
38643 macros (they were i386-pc specific).
38644 * include/grub/sparc64/ieee1275/console.h: Likewise.
38645 * include/grub/efi/console.h: Likewise.
38646
a91b6c7c 386472008-09-22 Bean <bean123ch@gmail.com>
38648
38649 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
38650 resident and in attribute list.
38651
38652 * include/grub/ntfs.h (BMP_LEN): Removed.
38653
c40fd116 386542008-09-22 Bean <bean123ch@gmail.com>
38655
81a06771 38656 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 38657 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
38658
38659 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
38660 error occurs, as grub_disk_open will call grub_disk_close, which will
38661 call p->close (scsi).
38662
81a06771 386632008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 38664
38665 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
38666 (AC_PREREQ): Bumped to 2.59.
38667 (AC_TRY_COMPILE): Replace obsolete macro with ...
38668 (AC_COMPILE_IFELSE): ... this.
38669 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
38670 (AC_LINK_IFELSE): ... this.
38671
5dc43410 386722008-09-21 Felix Zielcke <fzielcke@z-51.de>
38673
38674 * autogen.sh: Add a call to `gendistlist.sh'.
38675
9035dce4 386762008-09-19 Christian Franke <franke@computer.org>
38677
38678 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
38679 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
38680 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
38681 Export __enable_execute_stack() to modules.
38682 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
38683 New function.
38684
7fd75377 386852008-09-09 Felix Zielcke <fzielcke@z-51.de>
38686
040030b3 38687 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
38688 Sort the list.
38689
386902008-09-09 Felix Zielcke <fzielcke@z-51.de>
38691
38692 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 38693 #include <grub/util/hostdisk.h>.
38694
89d5ffcf 386952008-09-08 Robert Millan <rmh@aybabtu.com>
38696
38697 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
38698 segments when their filesz is zero (grub_file_read() interprets
81a06771 38699 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 38700 Use `lowest_segment' rather than 0 for calculating the current
38701 segment load address.
38702
40da438f 387032008-09-08 Robert Millan <rmh@aybabtu.com>
38704
38705 * util/hostdisk.c (open_device): Replace a grub_util_info() call
38706 with grub_dprintf("hostdisk", ...), as it was so verbose that it
38707 clobbered useful information.
38708
ddbf5556 387092008-09-08 Robert Millan <rmh@aybabtu.com>
38710
38711 * include/grub/util/biosdisk.h: Move to ...
38712 * include/grub/util/hostdisk.h: ... here. Update all users.
38713 * util/biosdisk.c: Move to ...
38714 * util/hostdisk.c: ... here. Update all users.
38715
783d0f48 387162008-09-07 Robert Millan <rmh@aybabtu.com>
38717
38718 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
38719 variables.
38720 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
38721 and length can be stored directly in the `mbi->mmap_addr' and
38722 `mbi->mmap_length' struct fields.
38723
548e2ea5 387242008-09-07 Robert Millan <rmh@aybabtu.com>
38725
38726 * conf/i386.rmk: New file. Provides declaration for building
38727 `cpuid.mod'.
38728 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
38729 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
38730 variables.
38731 Include `conf/i386.mk'.
38732 * conf/i386-efi.rmk: Likewise.
38733 * conf/x86_64-efi.rmk: Likewise.
38734 * conf/i386-coreboot.rmk: Likewise.
38735 * conf/i386-ieee1275.rmk: Likewise.
38736
0ea85a37 387372008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
38738
38739 Based on patch created by Colin D Bennett <colin@gibibit.com>.
38740 Adds optimization support for BGR based modes.
38741
38742 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
38743 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38744 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38745 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38746 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38747 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38748 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38749 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38750 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38751 (grub_video_i386_vbeblit_index_index): Likewise.
38752 (grub_video_i386_vbeblit_replace_directN): Added.
38753 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38754 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38755 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38756 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38757 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38758 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 38759 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 38760 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38761 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38762 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38763 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38764 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38765 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
38766
38767 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
38768 (grub_video_i386_vbefill_R8G8B8): Likewise.
38769 (grub_video_i386_vbefill_index): Likewise.
38770 (grub_video_i386_vbefill_direct32): Added.
38771 (grub_video_i386_vbefill_direct24): Likewise.
38772 (grub_video_i386_vbefill_direct16): Likewise.
38773 (grub_video_i386_vbefill_direct8): Likewise.
38774
81a06771 38775 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 38776 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
38777 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
38778 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
38779 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
38780 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 38781
0ea85a37 38782 * video/video.c (grub_video_get_blit_format): Updated to use new
38783 blit formats. Added handling for 16 bit color modes.
81a06771 38784
38785 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 38786 fillers.
38787 (common_blitter): Updated to use new blitters.
38788
38789 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
38790 Removed.
38791 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38792 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38793 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38794 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38795 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38796 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38797 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38798 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38799 (grub_video_i386_vbeblit_index_index): Likewise.
38800 (grub_video_i386_vbeblit_replace_directN): Added.
38801 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38802 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38803 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38804 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38805 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38806 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
38807 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
38808 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38809 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38810 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38811 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38812 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38813 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 38814
0ea85a37 38815 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
38816 (grub_video_i386_vbefill_R8G8B8): Likewise.
38817 (grub_video_i386_vbefill_index): Likewise.
38818 (grub_video_i386_vbefill_direct32): Added.
38819 (grub_video_i386_vbefill_direct24): Likewise.
38820 (grub_video_i386_vbefill_direct16): Likewise.
38821 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 38822
0ea85a37 38823 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
38824 types.
81a06771 38825
0ea85a37 38826 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
38827 types.
81a06771 38828
0ea85a37 38829 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
38830 blitter types.
81a06771 38831
0ea85a37 38832 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
38833 types.
38834
e8a83df6 388352008-09-06 Felix Zielcke <fzielcke@z-51.de>
38836
38837 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
38838 RAID level 1.
38839
6bcd8ee5 388402008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 38841
6bcd8ee5 38842 * fs/iso9660.c (grub_iso9660_date): New structure.
38843 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
38844 (grub_iso9660_uuid): New function.
c375ae58 38845
59261157 388462008-09-05 Bean <bean123ch@gmail.com>
38847
38848 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
38849
38850 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
38851 insensitive bit for names in Win32 and Win32 & DOS namespace.
38852
38853 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
38854
38855 * include/grub/types.h (LONG_MAX): Likewise.
38856
58b6645a 388572008-09-04 Felix Zielcke <fzielcke@z-51.de>
38858
4ee55921 38859 * util/getroot.c: Include <config.h>.
38860 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
38861 add support for /dev/md/N devices and handle LVM double dash escaping.
38862
388632008-09-04 Felix Zielcke <fzielcke@z-51.de>
38864
38865 * config.guess: Update to latest version from config git.
38866 * config.sub: Likewise.
58b6645a 38867
9124f65d 388682008-09-03 Robert Millan <rmh@aybabtu.com>
38869
38870 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
38871 `disk->total_sectors'.
38872
81a06771 388732008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 38874
38875 * include/grub/normal.h: Fixed incorrect comment for
38876 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
38877
81a06771 388782008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 38879
38880 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
38881 values with defines.
38882
38883 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
38884 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
38885 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
38886 (GRUB_VBE_MODEATTR_COLOR): Likewise.
38887 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
38888 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
38889 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
38890 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
38891 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
38892 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
38893 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
38894 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
38895 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
38896 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
38897 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
38898 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
38899 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
38900 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
38901 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
38902
93d5cbf8 389032008-08-31 Robert Millan <rmh@aybabtu.com>
38904
38905 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
38906 declaration.
38907 (grub_multiboot): Fix a few warnings.
38908
21751d50 389092008-08-31 Robert Millan <rmh@aybabtu.com>
38910
38911 * loader/i386/pc/multiboot.c: Update comment not to say that
38912 boot_device support is unimplemented.
38913
e27a75c5 389142008-08-31 Robert Millan <rmh@aybabtu.com>
38915
38916 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
38917 or memory map support are unimplemented.
38918
81a06771 389192008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 38920
38921 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
38922
81a06771 389232008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 38924
38925 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
38926 total video memory in 'vbeinfo' output; show color format details for
38927 each video mode.
38928
7c5d8d95 389292008-08-30 Pavel Roskin <proski@gnu.org>
38930
38931 * util/genmoddep.c: Remove for real this time.
38932 * DISTLIST: Remove util/genmoddep.c.
38933
4cebd25a 389342008-08-30 Robert Millan <rmh@aybabtu.com>
38935
38936 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
38937 as required by Multiboot spec (it was already 4-byte aligned, but
38938 only by chance).
38939
b497a269 389402008-08-29 Pavel Roskin <proski@gnu.org>
38941
e3925185 38942 * kern/powerpc/ieee1275/crt0.S: Rename to ...
38943 * kern/powerpc/ieee1275/startup.S: ... this.
38944 * conf/powerpc-ieee1275.rmk: Adjust for the above.
38945 * DISTLIST: Likewise.
38946
b497a269 38947 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
38948 grub/cpu/kernel.h. Add start label for consistency with other
38949 platforms. Add grub_prefix immediately after start. Add jump
38950 to the code after grub_prefix.
38951 * include/grub/powerpc/kernel.h: Provide valid values for
38952 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
38953
6e5a42fe 389542008-08-29 Bean <bean123ch@gmail.com>
38955
38956 * configure.ac: Change host_os to cygwin for mingw.
38957 (asprintf): New check for function.
38958
38959 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
38960 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
38961
38962 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 38963 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 38964 sync, sleep and grub_util_get_disk_size for mingw.
38965
38966 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
38967 to get size in mingw.
38968 (open_device): Use flag O_BINARY if it's defined.
38969 (find_root_device): Add dummy code for mingw.
38970
38971 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
38972 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
38973 (get_scsi_disk_name): Return 0 for mingw.
38974
38975 * util/hostfs.c: #include <grub/util/misc.h>.
38976 (grub_hostfs_open): Use "rb" flag to open file, use
38977 grub_util_get_disk_size to get disk size for mingw.
38978
38979 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
38980 (asprintf): New function if HAVE_ASPRINTF is not set.
38981 (sync): New function for mingw.
38982 (sleep): Likewise.
38983 (grub_util_get_disk_size): Likewise.
38984
ab3f2673 389852008-08-28 Pavel Roskin <proski@gnu.org>
38986
38987 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38988 kern/time.c.
38989
1c282483 389902008-08-28 Robert Millan <rmh@aybabtu.com>
38991
38992 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
38993
678e849c 389942008-08-28 Robert Millan <rmh@aybabtu.com>
38995
38996 Change find_grub_drive() syntax so it doesn't prevent it from
38997 detecting NULL names as errors.
38998
38999 * util/biosdisk.c (find_grub_drive): Move free slot search code
39000 from here ...
39001 (find_free_slot): ... to here.
39002 (read_device_map): Use find_free_slot() to search for free slots.
39003
965c75ca 390042008-08-27 Marco Gerards <marco@gnu.org>
39005
39006 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
39007 (scsi_mod_SOURCES): New variable.
39008 (scsi_mod_CFLAGS): Likewise
39009 (scsi_mod_LDFLAGS): Likewise.
39010
39011 * disk/scsi.c: New file.
39012
39013 * include/grub/scsi.h: Likewise.
39014
39015 * include/grub/scsicmd.h: Likewise.
39016
39017 * disk/ata.c: Include <grub/scsi.h>.
39018 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
39019 instead.
39020 (grub_ata_iterate): Skip ATAPI devices.
39021 (grub_ata_open): Only handle ATAPI devices.
39022 (struct grub_atapi_read): Removed.
39023 (grub_atapi_readsector): Likewise.
39024 (grub_ata_read): No longer handle ATAPI devices.
39025 (grub_ata_write): Likewise.
39026 (grub_atapi_iterate): New function.
39027 (grub_atapi_read): Likewise.
39028 (grub_atapi_write): Likewise.
39029 (grub_atapi_open): Likewise.
39030 (grub_atapi_close): Likewise.
39031 (grub_atapi_dev): New variable.
39032 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
39033 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
39034
39035 * include/grub/disk.h (enum grub_disk_dev_id): Add
39036 `GRUB_DISK_DEVICE_SCSI_ID'.
39037
c07ae501 390382008-08-26 Robert Millan <rmh@aybabtu.com>
39039
39040 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
39041 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
39042 descriptive.
39043
5ed20adc 390442008-08-23 Bean <bean123ch@gmail.com>
39045
39046 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
39047 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
39048 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
39049 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
39050 dm_nv.mod.
39051 (raid5rec_mod_SOURCES): New macro.
39052 (raid5rec_mod_CFLAGS): Likewise.
39053 (raid5rec_mod_LDFLAGS): Likewise.
39054 (raid6rec_mod_SOURCES): Likewise.
39055 (raid6rec_mod_CFLAGS): Likewise.
39056 (raid6rec_mod_LDFLAGS): Likewise.
39057 (mdraid_mod_SOURCES): Likewise.
39058 (mdraid_mod_CFLAGS): Likewise.
39059 (mdraid_mod_LDFLAGS): Likewise.
39060 (dm_nv_mod_SOURCES): Likewise.
39061 (dm_nv_mod_CFLAGS): Likewise.
39062 (dm_nv_mod_LDFLAGS): Likewise.
39063
39064 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
39065 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
39066 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
39067
39068 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
39069 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
39070
39071 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39072
39073 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39074
39075 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39076
39077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39078
39079 * disk/raid5_recover.c: New file.
39080
39081 * disk/raid6_recover.c: Likewise.
39082
39083 * disk/mdraid_linux.c: Likewise.
39084
39085 * disk/dmraid_nvidia.c: Likewise.
39086
39087 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
39088 ULONG_MAX.
39089
39090 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
39091 calculate the size of raid device.
39092 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
39093 different layout of raid5.
39094 (grub_raid_scan_device): Remove code specific to mdraid.
39095 (grub_raid_list): New variable.
39096 (free_array): New function.
39097 (grub_raid_register): Likewise.
39098 (grub_raid_unregister): Likewise.
39099 (grub_raid_rescan): Likewise.
39100 (GRUB_MOD_INIT): Don't iterate device here.
39101 (GRUB_MOD_FINI): Use free_array to release resource.
39102
39103 * include/grub/raid.h: Remove macro and structure specific to mdraid.
39104 (grub_raid5_recover_func_t): New function variable type.
39105 (grub_raid6_recover_func_t): Likewise.
39106 (grub_raid5_recover_func): New variable.
39107 (grub_raid6_recover_func): Likewise.
39108 (grub_raid_register): New function.
39109 (grub_raid_unregister): Likewise.
39110 (grub_raid_rescan): Likewise.
39111 (grub_raid_block_xor): Likewise.
39112
39113 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
39114 (CMD_CRC): New macro.
39115 (part): Removed.
39116 (read_file): Handle device as well as file.
39117 (cmd_crc): New function.
39118 (fstest): Handle multiple disks.
39119 (options): Remove part, raw and long, add root and diskcount.
39120 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 39121 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 39122 add handling for the new options, support multiple disks.
39123
39124 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
39125
29c18915 391262008-08-23 Bean <bean123ch@gmail.com>
39127
39128 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
39129
39130 * genfslist.sh: Ignore kernel.mod.
39131
39132 * genpartmaplist.sh: Likewise.
39133
8415f261 391342008-08-23 Robert Millan <rmh@aybabtu.com>
39135
39136 * util/getroot.c (find_root_device): Skip anything that starts with
39137 a dot, not just directories. This avoids things like /dev/.tmp.md0.
39138
d5a7dc5b 391392008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 39140
d5a7dc5b 39141 * util/update-grub.in (GRUB_GFXMODE): Export variable.
39142 * util/grub.d/00_header.in: Allow the administrator to change default
39143 gfxmode via ${GRUB_GFXMODE}.
39144
380cfbb4 391452008-08-21 Felix Zielcke <fzielcke@z-51.de>
39146
39147 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
39148
c9baafe7 391492008-08-21 Robert Millan <rmh@aybabtu.com>
39150
39151 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
39152 loader.
39153 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
39154 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
39155
e290bef2 391562008-08-20 Carles Pina i Estany <carles@pina.cat>
39157
39158 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
39159 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
39160
f9dbfc96 391612008-08-19 Robert Millan <rmh@aybabtu.com>
39162
39163 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
39164 (struct grub_virtual_screen): Remove `cursor_color'.
39165 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
39166 initialization.
39167 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
39168
dd6bd6ab 391692008-08-18 Robert Millan <rmh@aybabtu.com>
39170
39171 Unify (identical) linux_normal.c files.
39172 * loader/i386/efi/linux_normal.c: Move from here ...
39173 * loader/linux_normal.c: ... to here. Update all users.
39174 * loader/i386/pc/linux_normal.c: Delete. Update all users.
39175 * loader/i386/ieee1275/linux_normal.c: Likewise.
39176
7f42f83e 391772008-08-18 Robert Millan <rmh@aybabtu.com>
39178
39179 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
39180 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
39181 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
39182 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
39183 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
39184 New macros.
39185 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
39186 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
39187 (GRUB_LINUX_CL_END_OFFSET): ... to here.
39188 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
39189 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
39190 (GRUB_EFI_CL_END_OFFSET): Rename to ...
39191 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
39192 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
39193 Initialize `params->video_cursor_x' and `params->video_cursor_y'
39194 portably using grub_getxy().
39195 Replace `-EFI' with `-bzImage' in boot message.
39196
38487ddb 391972008-08-17 Robert Millan <rmh@aybabtu.com>
39198
39199 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
39200
deceb3ec 392012008-08-17 Robert Millan <rmh@aybabtu.com>
39202
39203 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
39204
39205 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
39206 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
39207 (grub_machine_mmap_iterate): New function declaration.
39208 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
39209 structure.
39210 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
39211 macros.
39212
39213 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
39214 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
39215 Move e820 parsing from here ...
39216 * kern/i386/pc/mmap.c: New file.
39217 (grub_machine_mmap_iterate): ... to here.
39218
39219 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
39220 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
39221 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
39222 (grub_available_iterate): Redeclare to return `void', and redeclare
39223 its hook to use grub_uint64_t as addr and size parameters, and rename
39224 to ...
39225 (grub_machine_mmap_iterate): ... this. Update all users.
39226
39227 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
39228 to make it more readable. Rename to ...
39229 (grub_machine_mmap_iterate): ... this.
39230
39231 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
39232 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
39233 (grub_multiboot): Allocate an extra region after the payload, and fill
39234 it with a Multiboot memory map. Adjust a.out loader to calculate size
39235 with the extra space.
39236 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
39237 with the extra space.
39238
f8aa0f43 392392008-08-17 Carles Pina i Estany <carles@pina.cat>
39240
9807deb9 39241 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 39242
605f5bb6 392432008-08-17 Felix Zielcke <fzielcke@z-51.de>
39244
39245 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
39246 mdate-sh to the list `find' searches for.
39247 * DISTLIST: Regenerated.
39248
210db6c6 392492008-08-16 Felix Zielcke <fzielcke@z-51.de>
39250
39251 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
39252 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 39253 genmoddep.awk, gensymlist.sh.in.
39254 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 39255 * DISTLIST: Regenerated.
48cdbfd4 39256 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 39257
1082b929 392582008-08-16 Robert Millan <rmh@aybabtu.com>
39259
39260 * disk/raid.c (grub_raid_init): Handle/report errors set by
39261 grub_device_iterate().
39262 * disk/lvm.c (grub_lvm_init): Likewise.
39263
42ce5170 392642008-08-15 Bean <bean123ch@gmail.com>
39265
39266 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39267 and datehook.mod.
39268 (datetime_mod_SOURCES): New macro.
39269 (datetime_mod_CFLAGS): Likewise.
39270 (datetime_mod_LDFLAGS): Likewise.
39271 (date_mod_SOURCES): Likewise.
39272 (date_mod_CFLAGS): Likewise.
39273 (date_mod_LDFLAGS): Likewise.
39274 (datehook_mod_SOURCES): Likewise.
39275 (datehook_mod_CFLAGS): Likewise.
39276 (datehook_mod_LDFLAGS): Likewise.
39277
39278 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39279 and datehook.mod.
39280 (datetime_mod_SOURCES): New macro.
39281 (datetime_mod_CFLAGS): Likewise.
39282 (datetime_mod_LDFLAGS): Likewise.
39283 (date_mod_SOURCES): Likewise.
39284 (date_mod_CFLAGS): Likewise.
39285 (date_mod_LDFLAGS): Likewise.
39286 (datehook_mod_SOURCES): Likewise.
39287 (datehook_mod_CFLAGS): Likewise.
39288 (datehook_mod_LDFLAGS): Likewise.
39289
39290 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39291 and datehook.mod.
39292 (datetime_mod_SOURCES): New macro.
39293 (datetime_mod_CFLAGS): Likewise.
39294 (datetime_mod_LDFLAGS): Likewise.
39295 (date_mod_SOURCES): Likewise.
39296 (date_mod_CFLAGS): Likewise.
39297 (date_mod_LDFLAGS): Likewise.
39298 (datehook_mod_SOURCES): Likewise.
39299 (datehook_mod_CFLAGS): Likewise.
39300 (datehook_mod_LDFLAGS): Likewise.
39301
39302 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39303 and datehook.mod.
39304 (datetime_mod_SOURCES): New macro.
39305 (datetime_mod_CFLAGS): Likewise.
39306 (datetime_mod_LDFLAGS): Likewise.
39307 (date_mod_SOURCES): Likewise.
39308 (date_mod_CFLAGS): Likewise.
39309 (date_mod_LDFLAGS): Likewise.
39310 (datehook_mod_SOURCES): Likewise.
39311 (datehook_mod_CFLAGS): Likewise.
39312 (datehook_mod_LDFLAGS): Likewise.
39313
39314 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39315 and datehook.mod.
39316 (datetime_mod_SOURCES): New macro.
39317 (datetime_mod_CFLAGS): Likewise.
39318 (datetime_mod_LDFLAGS): Likewise.
39319 (date_mod_SOURCES): Likewise.
39320 (date_mod_CFLAGS): Likewise.
39321 (date_mod_LDFLAGS): Likewise.
39322 (datehook_mod_SOURCES): Likewise.
39323 (datehook_mod_CFLAGS): Likewise.
39324 (datehook_mod_LDFLAGS): Likewise.
39325
39326 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
39327
39328 * commands/date.c: New file.
39329
39330 * hook/datehook.c: Likewise.
39331
39332 * include/grub/lib/datetime.h: Likewise.
39333
39334 * include/grub/i386/cmos.h: Likewise.
39335
39336 * lib/datetime.c: Likewise.
39337
39338 * lib/i386/datetime.c: Likewise.
39339
39340 * lib/efi/datetime.c: Likewise.
39341
0e9242da 393422008-08-14 Robert Millan <rmh@aybabtu.com>
39343
39344 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
39345 (grub_mkelfimage_SOURCES): New variable.
39346 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
39347
39348 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
39349 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
39350 * conf/powerpc-ieee1275.rmk: Likewise.
39351 * conf/i386-ieee1275.rmk: Likewise.
39352
39353 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
39354 * kern/i386/coreboot/init.c: Likewise.
39355
39356 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
39357 with `<grub/cpu/kernel.h>'.
39358 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
39359 to ...
39360 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
39361 * kern/i386/coreboot/startup.S: Likewise.
39362
39363 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
39364 (GRUB_MOD_GAP): Remove.
39365 * include/grub/powerpc/kernel.h: New file.
39366 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
39367 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39368 * include/grub/i386/kernel.h: New file.
39369 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
39370 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
39371 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39372
39373 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
39374 `grub-mkelfimage'.
39375 Use --directory when invoking grub_mkimage.
39376
39377 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
39378 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
39379 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
39380 and GRUB_KERNEL_CPU_PREFIX.
39381
b86408f8 393822008-08-14 Felix Zielcke <fzielcke@z-51.de>
39383
d5e619ca 39384 * include/grub/err.h (grub_err_printf): New function prototype.
39385 * util/misc.c (grub_err_printf): New function.
39386 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
39387 grub_printf.
39388 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 39389
7161f0e0 393902008-08-13 Robert Millan <rmh@aybabtu.com>
39391
39392 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
39393
a1967522 393942008-08-13 Robert Millan <rmh@aybabtu.com>
39395
39396 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
39397 boot entry.
39398
371458b5 393992008-08-12 Robert Millan <rmh@aybabtu.com>
39400
39401 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
39402 of the relocation code from here ...
39403 (grub_multiboot): ... to here.
39404 (forward_relocator, backward_relocator): Move from here ...
39405 * kern/i386/loader.S (grub_multiboot_forward_relocator)
39406 (grub_multiboot_backward_relocator): ... to here.
39407 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
39408 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
39409 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
39410 (grub_multiboot_forward_relocator_end)
39411 (grub_multiboot_backward_relocator)
39412 (grub_multiboot_backward_relocator_end): New variables.
39413
05f9452b 394142008-08-12 Bean <bean123ch@gmail.com>
39415
39416 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
39417
20024ab0 394182008-08-11 Robert Millan <rmh@aybabtu.com>
39419
39420 * kern/i386/linuxbios/startup.S: Move from here ...
39421 * kern/i386/coreboot/startup.S: ... to here.
39422
39423 * kern/i386/linuxbios/init.c: Move from here ...
39424 * kern/i386/coreboot/init.c: ... to here.
39425
39426 * kern/i386/linuxbios/table.c: Move from here ...
39427 * kern/i386/coreboot/mmap.c: ... to here.
39428
39429 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
39430
e352e9cd 394312008-08-11 Robert Millan <rmh@aybabtu.com>
39432
39433 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
39434 errors. Leave it to the upper layer to handle them.
39435
2d05bc6a 394362008-08-09 Christian Franke <franke@computer.org>
39437
39438 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
39439 * conf/common.rmk: Install `grub-pe2elf' only if requested.
39440 Install `grub.d/10_windows' only on Cygwin.
39441 * configure.ac: Add subst of `target_os'.
39442 Check `target_os' also before setting TARGET_OBJ2ELF.
39443 Add `--enable-grub-pe2elf'.
39444
042bd419 394452008-08-08 Robert Millan <rmh@aybabtu.com>
39446
39447 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39448 (grub_last_time): Change type to grub_uint64_t.
39449 (grub_disk_open): Migrate code from to using grub_get_time_ms().
39450 (grub_disk_close): Likewise.
39451
39452 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39453 (run_menu): Migrate code from to using grub_get_time_ms().
39454
39455 * util/misc.c (grub_get_time_ms): New function.
39456
7f280db5 394572008-08-08 Marco Gerards <marco@gnu.org>
39458
39459 * disk/ata.c (grub_ata_regget): Change return type to
39460 `grub_uint8_t'.
39461 (grub_ata_regget2): Likewise.
39462 (grub_ata_wait_status): New function.
39463 (grub_ata_wait_busy): Removed function, updated all users to use
39464 `grub_ata_wait_status'.
39465 (grub_ata_wait_drq): Likewise.
39466 (grub_ata_cmd): New function.
39467 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
39468 error handling.
39469 (grub_ata_pio_write): Add error handling.
39470 (grub_atapi_identify): Likewise.
39471 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
39472 handling.
39473 (grub_ata_identify): Use `grub_ata_cmd' and improve error
39474 handling. Actually use the detected registers. Reorder the
39475 detection logic such that it is easier to read.
39476 (grub_ata_pciinit): Do not assign the same ID to each controller.
39477 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
39478 handling.
39479 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
39480
39481 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
39482
1fbc5e66 394832008-08-08 Marco Gerards <marco@gnu.org>
39484
39485 * NEWS: Update.
39486
819ce6c0 394872008-08-07 Bean <bean123ch@gmail.com>
39488
39489 * include/grub/x86_64/pci.h: New file.
39490
5c41d44d 394912008-08-07 Christian Franke <franke@computer.org>
39492
39493 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
39494 (TIMER2_GATE): Likewise.
39495 (grub_pit_wait): Add enable/disable of the timer2 gate
39496 bit of port 0x61. This fixes a possible infinite loop.
39497
5ebc275d 394982008-08-07 Bean <bean123ch@gmail.com>
39499
39500 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
39501 kern/i386/tsc.c and kern/i386/pit.c.
39502
39503 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
39504 x86_64 platform.
39505
39506 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
39507 <grub/i386/tsc.h>.
39508
39509 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
39510
e383b3d0 395112008-08-07 Bean <bean123ch@gmail.com>
39512
39513 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
39514
39515 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
39516
39517 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
39518 multiple inclusion. Add #include <grub/types.h>.
39519
1cbb58ac 395202008-08-06 Christian Franke <franke@computer.org>
39521
39522 * conf/common.rmk: Build and install `10_windows'.
39523 * util/grub.d/10_windows.in: New script.
39524
337f5a1e 395252008-08-06 Pavel Roskin <proski@gnu.org>
39526
39527 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
39528
057bc4ac 395292008-08-06 Robert Millan <rmh@aybabtu.com>
39530
39531 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
39532 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
39533
2b99f123 395342008-08-06 Bean <bean123ch@gmail.com>
39535
39536 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
39537 (grub_pxefs_fs_int): Remove dummy definition.
39538 (grub_pxefs_open): Use data->block_size to store the current block
39539 size setting.
39540 (grub_pxefs_read): Use block size stored in data->block_size. As the
39541 value of grub_pxe_blksize can be changed after the file is opened.
39542
9f0234cb 395432008-08-06 Bean <bean123ch@gmail.com>
39544
39545 * fs/i386/pc/pxe.c (curr_file): new variable.
39546 (grub_pxefs_open): Simply the handling of pxe file system. Don't
39547 require the dummy internal file system anymore.
39548 (grub_pxefs_read): Removed.
39549 (grub_pxefs_close): Likewise.
39550 (grub_pxefs_fs_int): Likewise.
39551 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
39552 connection when we switch file.
39553 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
39554
a55d42e0 395552008-08-06 Robert Millan <rmh@aybabtu.com>
39556
39557 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
39558 `halt.mod'.
39559 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
39560 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
39561
39562 * kern/i386/halt.c: New file.
39563 * kern/i386/reboot.c: Likewise.
39564 * include/grub/i386/reboot.h: Likewise.
39565 * include/grub/i386/halt.h: Likewise.
39566
39567 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
39568 Include `<grub/cpu/halt.h>'.
39569 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
39570 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
39571
39572 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
39573 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
39574 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
39575 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
39576 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
39577 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
39578 from here ...
39579 * include/grub/i386/at_keyboard.h: ... to here.
39580
24371d26 395812008-08-05 Robert Millan <rmh@aybabtu.com>
39582
39583 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
39584 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
39585 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
39586 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39587 `kern/generic/millisleep.c'.
39588
39589 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
39590 instead of grub_get_rtc().
39591 (grub_tsc_init): Initialize `tsc_boot_time'.
39592
39593 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
39594 (grub_machine_init): Use grub_tsc_init() rather than
39595 installing an RTC-based handler via grub_install_get_time_ms().
39596
39597 * kern/i386/pit.c: New file.
39598 * include/grub/i386/pit.h: Likewise.
39599
9e7007b3 396002008-08-05 Bean <bean123ch@gmail.com>
39601
39602 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
39603
39604 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
39605 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
39606 (pxe_mod_SOURCES): New macro.
39607 (pxe_mod_CFLAGS): Likewise.
39608 (pxe_mod_LDFLAGS): Likewise.
39609 (pxecmd_mod_SOURCES): Likewise.
39610 (pxecmd_mod_CFLAGS): Likewise.
39611 (pxecmd_mod_LDFLAGS): Likewise.
39612
39613 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
39614 (grub_pxe_call): Likewise.
39615
39616 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
39617
39618 * commands/i386/pc/pxecmd.c: New file.
39619
9f0234cb 39620 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 39621
39622 * include/grub/i386/pc/pxe.h: Likewise.
39623
6977d49f 396242008-08-05 Bean <bean123ch@gmail.com>
39625
39626 * util/console.c (grub_console_cur_color): New variable.
39627 (grub_console_standard_color): Likewise.
39628 (grub_console_normal_color): Likewise.
39629 (grub_console_highlight_color): Likewise.
39630 (color_map): Likewise.
39631 (use_color): Likewise.
39632 (NUM_COLORS): New macro.
39633 (grub_ncurses_setcolorstate): Handle color properly.
39634 (grub_ncurses_setcolor): Don't change color here, just remember the
39635 settings, color will be set in grub_ncurses_setcolorstate.
39636 (grub_ncurses_getcolor): New function.
39637 (grub_ncurses_init): Initialize color pairs.
39638 (grub_ncurses_term): New member grub_ncurses_getcolor.
39639
9c2ff3ee 396402008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 39641
9c2ff3ee 39642 High resolution timer support. Implemented for x86 CPUs using TSC.
39643 Extracted generic grub_millisleep() so it's linked in only as needed.
39644 This requires a Pentium compatible CPU; if the RDTSC instruction is
39645 not supported, then it falls back on the generic grub_get_time_ms()
39646 implementation that uses the machine's RTC.
39647
39648 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
39649 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39650 `kern/generic/millisleep.c'.
39651
39652 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
39653 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
39654
39655 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
39656 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
39657
39658 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39659
39660 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39661 `kern/generic/millisleep.c'.
39662
39663 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39664
39665 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
39666
39667 * kern/generic/rtc_get_time_ms.c: New file.
39668
39669 * kern/generic/millisleep.c: New file.
337f5a1e 39670
9c2ff3ee 39671 * kern/misc.c: Don't include
39672 <kern/time.h> anymore.
39673 (grub_millisleep_generic): Removed.
39674
39675 * commands/sleep.c (grub_interruptible_millisleep): Uses
39676 grub_get_time_ms() instead of grub_get_rtc().
39677
39678 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
39679 function.
39680 (grub_cpu_is_cpuid_supported): New inline function.
39681 (grub_cpu_is_tsc_supported): New inline function.
39682 (grub_tsc_init): New function prototype.
39683 (grub_tsc_get_time_ms): New function prototype.
39684
39685 * kern/i386/tsc.c (grub_get_time_ms): New file.
39686
39687 * include/grub/time.h: Include <grub/types.h.
39688 (grub_millisleep_generic): Removed.
39689 (grub_get_time_ms): New prototype.
39690 (grub_install_get_time_ms): New prototype.
39691 (grub_rtc_get_time_ms): New prototype.
39692
39693 * kern/time.c (grub_get_time_ms): New function.
39694 (grub_install_get_time_ms): New function.
39695
39696 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
39697 <grub/time.h> anymore.
39698 (grub_millisleep): Removed.
39699 (grub_machine_init): Call grub_tsc_init.
39700
39701 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
39702 get_time_ms() implementation.
39703
39704 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
39705 (ieee1275_get_time_ms): New function.
39706 (grub_machine_init): Install get_time_ms() implementation.
39707
39708 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
39709 (grub_machine_init): Call grub_tsc_init().
39710 (grub_millisleep): Removed.
bf06a93f 39711
9c2ff3ee 39712 * kern/ieee1275/init.c (grub_millisleep): Removed.
39713 (grub_machine_init): Install ieee1275_get_time_ms()
39714 implementation.
39715 (ieee1275_get_time_ms): New function.
39716 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
39717 real work.
39718
9ec92aaf 397192008-08-05 Marco Gerards <marco@gnu.org>
39720
39721 * disk/ata.c: Include <grub/pci.h>.
39722 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
39723 (grub_ata_initialize): Rewritten.
39724 (grub_ata_device_initialize): New function.
39725
8d23f507 397262008-08-04 Pavel Roskin <proski@gnu.org>
39727
39728 * kern/main.c: Include grub/mm.h.
39729
5e15ee3d 397302008-08-04 Robert Millan <rmh@aybabtu.com>
39731
39732 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
39733 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
39734 corruption problem).
39735
a9053f8f 397362008-08-04 Robert Millan <rmh@aybabtu.com>
39737
39738 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
39739 warnings introduced in my last commit.
39740
dd19c7d7 397412008-08-03 Robert Millan <rmh@aybabtu.com>
39742
39743 Make PCI available on all i386 architectures.
39744
39745 * include/grub/i386/pc/pci.h: Move from here ...
39746 * include/grub/i386/pci.h: ... to here.
39747
39748 * include/grub/i386/pc/pci.h: Remove.
39749 * include/grub/i386/efi/pci.h: Remove.
39750 * include/grub/x86_64/efi/pci.h: Remove.
39751
39752 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
39753 `<grub/cpu/pci.h>'.
39754
39755 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
39756 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
39757 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
39758
39759 * conf/i386-ieee1275.rmk: Likewise.
39760
e14a6184 397612008-08-03 Robert Millan <rmh@aybabtu.com>
39762
39763 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
39764 (grub_console_setcursor): Make it possible to set cursor off.
39765
52768e37 397662008-08-03 Robert Millan <rmh@aybabtu.com>
39767
39768 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
39769 of modules instead of assuming which platform provides what.
39770 * util/update-grub.in: Likewise.
39771
2d52f57f 397722008-08-03 Robert Millan <rmh@aybabtu.com>
39773
39774 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
39775 instead of `grub_install_dos_part' to determine whether a drive needs
39776 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 39777 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 39778
2a5cd121 397792008-08-02 Robert Millan <rmh@aybabtu.com>
39780
39781 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
39782
93808428 397832008-08-02 Robert Millan <rmh@aybabtu.com>
39784
39785 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
39786 of informational grub_dprintf() calls.
39787
3bd0a12a 397882008-08-02 Robert Millan <rmh@aybabtu.com>
39789
39790 * disk/memdisk.c (memdisk_size): Don't initialize.
39791 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
39792
39793 * include/grub/i386/pc/kernel.h
39794 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
39795 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
39796 (grub_memdisk_image_size, grub_arch_memdisk_addr)
39797 (grub_arch_memdisk_size): Remove.
39798
39799 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
39800 field (was only used to transfer a constant). Add `type' field to
39801 support multiple module types.
39802 (grub_module_iterate): New function.
39803
39804 * kern/device.c (grub_device_open): Do not hide error messages
39805 when grub_disk_open() fails. Use grub_print_error() instead.
39806
39807 * kern/i386/pc/init.c (grub_arch_modules_addr)
39808 (grub_arch_memdisk_size): Remove functions.
39809 (grub_arch_modules_addr): Return the module address in high memory
39810 (now that it isn't copied anymore).
39811
39812 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
39813 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
39814 decompression routine (grub_total_module_size already includes that
39815 now). Don't copy modules back to low memory.
39816
39817 * kern/main.c: Include `<grub/mm.h>'.
39818 (grub_load_modules): Split out (and use) ...
39819 (grub_module_iterate): ... this function, which iterates through
39820 module objects and runs a hook.
39821 Comment out grub_mm_init_region() call, as it would cause non-ELF
39822 modules to be overwritten.
39823
39824 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
39825 the memdisk image in its own region, make it part of the module list.
39826 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
39827 (main): Parse --memdisk|-m option, and pass user-provided path as
39828 parameter to generate_image().
39829 (add_segments): Pass `memdisk_path' down to load_modules().
39830 (load_modules): Embed memdisk image in module section when requested.
39831 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
39832 `header.type' instead of `header.offset'.
39833
39834 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
39835 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
39836 (memdisk_mod_LDFLAGS): New variables.
39837 * conf/i386-coreboot.rmk: Likewise.
39838 * conf/i386-ieee1275.rmk: Likewise.
39839
a927cc73 398402008-08-02 Robert Millan <rmh@aybabtu.com>
39841
39842 * loader/i386/pc/multiboot.c (playground, forward_relocator)
39843 (backward_relocator): New variables. Used to allocate and relocate
39844 the payload, respectively.
39845 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 39846 address, install the appropriate relocator code in each bound of
a927cc73 39847 the payload, and set the entry point such that
39848 grub_multiboot_real_boot() will jump to one of them.
39849
39850 * kern/i386/loader.S (grub_multiboot_payload_size)
39851 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39852 (grub_multiboot_payload_entry_offset): New variables.
39853 (grub_multiboot_real_boot): Set cpu context to what the relocator
39854 expects, and jump to the relocator instead of the payload.
39855
39856 * include/grub/i386/loader.h (grub_multiboot_payload_size)
39857 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39858 (grub_multiboot_payload_entry_offset): Export.
39859
b15d8a0c 398602008-08-01 Bean <bean123ch@gmail.com>
39861
39862 * normal/menu_entry.c (editor_getline): Don't return the original
39863 string as result, as it will be released by lexer once it has done
39864 using it.
39865
cdfb3d22 398662008-08-01 Robert Millan <rmh@aybabtu.com>
39867
39868 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
39869 within menuentries, not before them.
39870 util/grub.d/10_hurd.in: Likewise.
39871
9175e93d 398722008-08-01 Bean <bean123ch@gmail.com>
39873
39874 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
39875 (bufio_mod_SOURCES): New macro.
39876 (bufio_mod_CFLAGS): Likewise.
39877 (bufio_mod_LDFLAGS): Likewise.
39878
39879 * include/grub/bufio.h: New file.
39880
39881 * io/bufio.c: Likewise.
39882
39883 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
39884 (grub_video_reader_png): Use grub_buffile_open to open file.
39885
39886 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
39887 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
39888
39889 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
39890 (grub_video_reader_tga): Use grub_buffile_open to open file.
39891
39892 * font/manager.c: Include <grub/bufio.h>.
39893 (add_font): Use grub_buffile_open to open file.
39894
3d8383e7 398952008-07-31 Robert Millan <rmh@aybabtu.com>
39896
39897 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
39898 ELF segments, use a macro for arbitrarily accessing any of them instead
39899 of preparing a pointer that allows access to one at a time.
39900 (grub_multiboot_load_elf64): Likewise.
39901
16e641b6 399022008-07-31 Bean <bean123ch@gmail.com>
39903
39904 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
39905 GRUB_KERNEL_MACHINE_DATA_END.
39906
59198b72 399072008-07-30 Robert Millan <rmh@aybabtu.com>
39908
39909 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
39910 Increase from 0x50 to 0x60.
39911 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
39912 use UUIDs to identify the root drive for them. If that's not
39913 possible, abort.
39914 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
39915 check, for cross-disk installs.
39916
ae88bca3 399172008-07-30 Robert Millan <rmh@aybabtu.com>
39918
39919 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
39920 is non-empty, use it to set the `prefix' environment variable instead
39921 of the usual approach.
39922 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
39923 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
39924 environment variable instead of dummy make_install_device().
39925
39926 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
39927 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 39928 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 39929
39930 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
39931 New variable reference.
39932 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
39933 New macro. Defines offset of `grub_prefix' within startup.S (relative
39934 to `start').
39935 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
39936 section within startup.S (relative to `start').
39937 * include/grub/i386/coreboot/kernel.h: Likewise.
39938
39939 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
39940 Overwrite grub_prefix with its contents, at the beginning of the
39941 first segment.
39942 (main): Understand -p|--prefix.
39943
14f41dd1 399442008-07-30 Robert Millan <rmh@aybabtu.com>
39945
39946 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
39947
4ca049a3 399482008-07-30 Robert Millan <rmh@aybabtu.com>
39949
39950 * term/i386/pc/vga_text.c (grub_console_cls): Use
39951 grub_console_gotoxy() to go back to beginning of the screen.
39952 Found by Patrick Georgi <patrick.georgi@coresystems.de>
39953
2921d337 399542008-07-29 Christian Franke <franke@computer.org>
39955
39956 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39957 Add conversion of emulated mount points on Cygwin.
39958
b609876d 399592008-07-29 Christian Franke <franke@computer.org>
39960
39961 * util/update-grub.in: Add a check for admin
39962 group on Cygwin.
39963 Remove old `grub.cfg.new' before creation.
39964 Add `-f' to `mv' to handle the different filesystem
39965 semantics of Windows.
39966
e93e4679 399672008-07-29 Bean <bean123ch@gmail.com>
39968
39969 * normal/main.c (get_line): Fix buffer overflow bug.
39970
41694fd0 399712008-07-28 Robert Millan <rmh@aybabtu.com>
39972
39973 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
39974 (struct grub_apple_header): New struct. Describes the layout of
39975 the partmap header.
39976 (apple_partition_map_iterate): Check the header magic as well as the
39977 partition magic (which was already being checked).
39978
cfd0b4e6 399792008-07-28 Pavel Roskin <proski@gnu.org>
39980
39981 * genmk.rb: Add a warning to the beginning of the output that
39982 it's a generated file and should not be edited.
39983
93cce016 399842008-07-28 Robert Millan <rmh@aybabtu.com>
39985
39986 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39987 with the same number are found, just use issue a warning with
39988 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 39989
cd1df915 399902008-07-27 Robert Millan <rmh@aybabtu.com>
39991
39992 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
39993 information.
39994
b70a8427 399952008-07-27 Bean <bean123ch@gmail.com>
39996
39997 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
39998 (grub_fat_find_dir): Ignore case when comparing filename.
39999
8f5e379f 400002008-07-27 Bean <bean123ch@gmail.com>
40001
40002 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
40003 smallino, as it's more descriptive, and i8count can be confused with
40004 the other field count.
40005 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
40006 inode type.
40007
a85cd5a0 400082008-07-27 Bean <bean123ch@gmail.com>
40009
40010 * commands/crc.c: New file.
40011
40012 * lib/crc.c: Likewise.
40013
40014 * include/grub/lib/crc.h: Likewise.
40015
40016 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
40017
40018 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
40019 (hexdump): Move this function to ...
40020
40021 * lib/hexdump.c: ... here.
40022
40023 * include/grub/hexdump.h: Renamed to ...
40024
40025 * include/grub/lib/hexdump.h: ... this.
40026
40027 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
40028
40029 * util/grub-editenv.c: Likewise.
40030
40031 * include/envblk.h: Renamed to ...
40032
40033 * include/lib/envblk.h: ... this.
40034
40035 * util/envblk.c: Renamed to ...
40036
40037 * lib/envblk.c: ... this.
40038
40039 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
40040 lib/hexdump.c.
40041 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
40042 (pkglib_MODULES): Add crc.mod.
40043 (hexdump_mod_SOURCES): Add lib/hexdump.c.
40044 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
40045 (crc_mod_SOURCES): New macro.
40046 (crc_mod_CFLAGS): Likewise.
40047 (crc_mod_LDFLAGS): Likewise.
40048
40049 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
40050
40051 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40052
40053 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40054
40055 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40056
40057 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40058
c298def0 400592008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 40060
40061 * commands/help.c: Include <grub/term.h>.
40062 (TERM_WIDTH): Removed. Updated all users.
40063
cc349fb3 400642008-07-27 Pavel Roskin <proski@gnu.org>
40065
40066 * util/getroot.c (find_root_device): Rephrase a comment to avoid
40067 spurious warnings about a comment within a comment.
40068
9051607e 400692008-07-25 Robert Millan <rmh@aybabtu.com>
40070
40071 * util/getroot.c (find_root_device): Skip devices that match
40072 /dev/dm-[0-9]. This lets the real device be found for any type of
40073 abstraction (LVM, EVMS, RAID..).
40074 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
40075 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
40076 device is found first, find_root_device() will now skip it.
40077
01453bfc 400782008-07-24 Pavel Roskin <proski@gnu.org>
40079
40080 * include/grub/types.h: Use __builtin_bswap32() and
40081 __builtin_bswap64() with gcc 4.3 and newer.
40082
6af9849f 400832008-07-24 Christian Franke <franke@computer.org>
40084
3a0fa256 40085 * util/i386/pc/grub-install.in: If `--debug' is specified,
40086 pass `--verbose' to grub-setup.
40087 Abort script if make_system_path_relative_to_its_root() fails.
40088
7810e747 400892008-07-24 Bean <bean123ch@gmail.com>
40090
40091 * configure.ac: Fixed a bug caused by the previous cygwin patch,
40092 variable `target_platform' should be `platform'.
40093
42290e17 400942008-07-24 Bean <bean123ch@gmail.com>
40095
51cc5193 40096 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 40097 (grub_png_init_fixed_block): New function.
40098 (grub_png_decode_image_data): Handle fixed huffman code compression.
40099
2a8a80e4 401002008-07-24 Bean <bean123ch@gmail.com>
40101
40102 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
40103 (grub_pe2elf_SOURCES): New macro.
40104 (CLEANFILES): Add grub-pe2elf.
40105
40106 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
40107 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
40108 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
40109 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
40110 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
40111 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
40112 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
40113 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
40114 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
40115 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
40116 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
40117 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
40118 (GRUB_PE32_DT_FUNCTION): Likewise.
40119 (GRUB_PE32_REL_I386_DIR32): Likewise.
40120 (GRUB_PE32_REL_I386_REL32): Likewise.
40121 (grub_pe32_symbol): New structure.
40122 (grub_pe32_reloc): Likewise.
40123
40124 * util/grub-pe2elf.c: New file.
40125
40126 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
40127 start symbol in non pc platform.
40128
40129 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
40130
40131 The following patches are from Christian Franke.
40132
40133 * include/grub/dl.h: Remove .previous, gas supports this only
40134 for ELF format.
40135
40136 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
40137 Remove .type, gas supports this only for ELF format.
40138
40139 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
40140 nullbytes in symbol table. This fixes an infinite loop if table is
40141 zero filled.
40142
40143 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
40144 TARGET_IMG_LDFLAGS and EXEEXT.
40145
40146 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
40147 TARGET_IMG_LDFLAGS_AC.
40148 (grub_CHECK_STACK_ARG_PROBE): New function.
40149
40150 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
40151
40152 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
40153
40154 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
40155 to set TARGET_IMG_LD* accordingly.
40156 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
40157 Add call to grub_CHECK_STACK_ARG_PROBE.
40158 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
40159
40160 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
40161
40162 * genmk.rb: Add EXEEXT to CLEANFILES.
40163
12ccdb75 401642008-07-23 Robert Millan <rmh@aybabtu.com>
40165
40166 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
40167 define the codes for arrows and lines used for the menu).
40168 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
40169 as well.
40170
40171 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
40172 fonts, because the latter are too slow.
40173
18eeaf04 401742008-07-21 Bean <bean123ch@gmail.com>
40175
40176 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
40177 a20. Run keyboard test last, as it will cause macbook to halt.
40178
b095e2ad 401792008-07-18 Pavel Roskin <proski@gnu.org>
40180
40181 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
40182 load foreign architecture modules correctly anyway. Keep
40183 support for loading host architecture modules, whether we
40184 compile them or not.
40185
737feb35 401862008-07-17 Pavel Roskin <proski@gnu.org>
40187
3f4ce737 40188 * configure.ac: Use -m32 or -m64 regardless of whether we had to
40189 change target_cpu. The compiler default can mismatch target_cpu
40190 in any case.
40191
4ad2d049 40192 * disk/efi/efidisk.c: Fix format warnings on x86_64.
40193 * kern/efi/efi.c: Likewise.
40194
f6130a12 40195 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
40196 target compiler is functional.
40197 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
40198 are set up.
40199
58393a2d 40200 * configure.ac: Default to efi platform for x86_64-apple. Allow
40201 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
40202 adjustments from the rest, only do them if target is not
40203 explicitly given. Merge other adjustments with the final sanity
40204 check. Remove an extraneous check for supported CPU. Be
40205 specific which CPU and which platform is not supported.
40206
737feb35 40207 * configure.ac: Default to pc platform for x86_64.
40208
546f966a 402092008-07-17 Robert Millan <rmh@aybabtu.com>
40210
40211 Partial LinuxBIOS -> Coreboot rename.
40212
40213 * conf/i386-linuxbios.rmk: Renamed to ...
40214 * conf/i386-coreboot.rmk: ... this.
40215 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
40216 * configure.ac: Accept "coreboot" as input platform (but maintain
40217 compatibility with "linuxbios").
40218 * include/grub/i386/linuxbios: Renamed to ...
40219 * include/grub/i386/coreboot: ... this.
40220
20011694 402212008-07-17 Bean <bean123ch@gmail.com>
40222
40223 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 40224 (appleldr_mod_SOURCE): New variable.
20011694 40225 (appleldr_mod_CFLAGS): Likewise.
40226 (appleldr_mod_LDFLAGS): Likewise.
40227 (pci_mod_SOURCES): Likewise.
40228 (pci_mod_CFLAGS): Likewise.
40229 (pci_mod_LDFLAGS): Likewise.
40230 (lspci_mod_SOURCES): Likewise.
40231 (lspci_mod_CFLAGS): Likewise.
40232 (lspci_mod_LDFLAGS): Likewise.
40233
40234 * conf/x86_64-efi.rmk: New file.
40235
40236 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
40237 macro.
40238 (grub_efidisk_write): Likewise.
40239
40240 * include/efi/api.h (efi_call_0): New macro.
40241 (efi_call_1): Likewise.
40242 (efi_call_2): Likewise.
40243 (efi_call_3): Likewise.
40244 (efi_call_4): Likewise.
40245 (efi_call_5): Likewise.
40246 (efi_call_6): Likewise.
40247
40248 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
40249 grub_rescue_cmd_chainloader.
40250
40251 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
40252 (grub_pe32_optional_header): Change some fields based on i386 or
40253 x86_64 platform.
40254 (GRUB_PE32_PE32_MAGIC): Likewise.
40255
40256 * include/grub/efi/uga_draw.h: New file.
40257
40258 * include/grub/elf.h (STN_ABS): New constant.
40259 (R_X86_64_NONE): Relocation constant for x86_64.
40260 (R_X86_64_64): Likewise.
40261 (R_X86_64_PC32): Likewise.
40262 (R_X86_64_GOT32): Likewise.
40263 (R_X86_64_PLT32): Likewise.
40264 (R_X86_64_COPY): Likewise.
40265 (R_X86_64_GLOB_DAT): Likewise.
40266 (R_X86_64_JUMP_SLOT): Likewise.
40267 (R_X86_64_RELATIVE): Likewise.
40268 (R_X86_64_GOTPCREL): Likewise.
40269 (R_X86_64_32): Likewise.
40270 (R_X86_64_32S): Likewise.
40271 (R_X86_64_16): Likewise.
40272 (R_X86_64_PC16): Likewise.
40273 (R_X86_64_8): Likewise.
40274 (R_X86_64_PC8): Likewise.
40275
40276 * include/grub/i386/efi/pci.h: New file.
40277
40278 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
40279 Change it value based on platform.
40280 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
40281 (GRUB_E820_RAM): Likewise.
40282 (GRUB_E820_RESERVED): Likewise.
40283 (GRUB_E820_ACPI): Likewise.
40284 (GRUB_E820_NVS): Likewise.
40285 (GRUB_E820_EXEC_CODE): Likewise.
40286 (GRUB_E820_MAX_ENTRY): Likewise.
40287 (grub_e820_mmap): New structure.
40288 (linux_kernel_header): Change the efi field according to different
40289 kernel version, also field from linux_kernel_header.
40290
40291 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
40292
40293 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
40294 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
40295 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
40296 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
40297 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
40298 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
40299 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
40300 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
40301 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
40302 (GRUB_PCI_ADDR_IO_MASK): Likewise.
40303
40304 * include/grub/x86_64/efi/kernel.h: New file.
40305
40306 * include/grub/x86_64/efi/loader.h: Likewise.
40307
40308 * include/grub/x86_64/efi/machine.h: Likewise.
40309
40310 * include/grub/x86_64/efi/pci.h: Likewise.
40311
40312 * include/grub/x86_64/efi/time.h: Likewise.
40313
40314 * include/grub/x86_64/linux.h: Likewise.
40315
40316 * include/grub/x86_64/setjmp.h: Likewise.
40317
40318 * include/grub/x86_64/time.h: Likewise.
40319
40320 * include/grub/x86_64/types.h: Likewise.
40321
40322 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
40323 GRUB_TARGET_SIZEOF_VOID_P.
40324
40325 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
40326 (grub_efi_locate_handle): Likewise.
40327 (grub_efi_open_protocol): Likewise.
40328 (grub_efi_set_text_mode): Likewise.
40329 (grub_efi_stall): Likewise.
40330 (grub_exit): Likewise.
40331 (grub_reboot): Likewise.
40332 (grub_halt): Likewise.
40333 (grub_efi_exit_boot_services): Likewise.
40334 (grub_get_rtc): Likewise.
40335
40336 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
40337 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
40338 (grub_efi_allocate_pages): Wrap efi calls.
40339 (grub_efi_free_pages): Wrap efi calls.
40340 (grub_efi_get_memory_map): Wrap efi calls.
40341
40342 * kern/x86_64/dl.c: New file.
40343
40344 * kern/x86_64/efi/callwrap.S: Likewise.
40345
40346 * kern/x86_64/efi/startup.S: Likewise.
40347
40348 * loader/efi/appleloader.c: Likewise.
40349
40350 * loader/efi/chainloader.c (cmdline): New variable.
40351 (grub_chainloader_unload): Wrap efi calls.
40352 (grub_chainloader_boot): Likewise.
40353 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
40354 command line.
40355
40356 * loader/efi/chainloader_normal.c (chainloader_command):
40357 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
40358 command line.
40359
40360 * loader/i386/efi/linux.c (allocate_pages): Change allocation
40361 method.
40362 (grub_e820_add_region): New function.
40363 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
40364 booting.
40365 (grub_find_video_card): New function.
40366 (grub_linux_setup_video): New function.
40367 (grub_rescue_cmd_linux): Probe for video information.
40368
40369 * normal/x86_64/setjmp.S: New file.
40370
40371 * term/efi/console.c (map_char): New function.
40372 (grub_console_putchar): Map unicode char.
40373 (grub_console_checkkey): Wrap efi calls.
40374 (grub_console_getkey): Likewise.
40375 (grub_console_getwh): Likewise.
40376 (grub_console_gotoxy): Likewise.
40377 (grub_console_cls): Likewise.
40378 (grub_console_setcolorstate): Likewise.
40379 (grub_console_setcursor): Likewise.
40380
40381 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
40382
59652a20 403832008-07-16 Pavel Roskin <proski@gnu.org>
40384
ef294055 40385 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
40386 format strings.
40387
59652a20 40388 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
40389 pointer, not an integer. This fixes a warning and prevents
40390 precision loss on 64-bit systems.
40391 (relocate_addresses): Remove unneeded cast.
40392
afc3b5d7 403932008-07-15 Pavel Roskin <proski@gnu.org>
40394
506b2b3e 40395 * kern/i386/ieee1275/init.c: Include grub/cache.h.
40396
62ead89c 40397 * term/ieee1275/ofconsole.c: Disable code unused on i386.
40398
c4cd51d7 40399 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
40400 Fix comparison between signed and unsigned.
40401
0d3d8f28 40402 * include/grub/i386/ieee1275/console.h: Declare
40403 grub_console_init() and grub_console_fini().
40404
8804b286 40405 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
40406 It's empty and unused.
40407
ee01cf35 40408 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
40409 beginning to avoid warnings with some compilers.
40410
afc3b5d7 40411 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
40412 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
40413
e4e8eaa5 404142008-07-14 Pavel Roskin <proski@gnu.org>
40415
407aceb4 40416 * kern/env.c (grub_register_variable_hook): Don't copy empty
40417 string, it leaks memory. Pass "" to grub_env_set(), it should
40418 handle constant strings.
40419
e4e8eaa5 40420 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
40421 * commands/cmp.c (grub_cmd_cmp): Likewise.
40422 * kern/dl.c (grub_dl_flush_cache): Likewise.
40423 (grub_dl_load_core): Likewise.
40424 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
40425 (grub_elf64_load_phdrs): Likewise.
40426
d4e2dad3 404272008-07-13 Pavel Roskin <proski@gnu.org>
40428
40429 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
40430 between signed and unsigned.
40431 (LzmaEnc_Finish): Fix warning about an unused parameter.
40432
aa24b516 404332008-07-13 Bean <bean123ch@gmail.com>
40434
40435 * Makefile.in (enable_lzo): New rule.
40436
40437 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
40438
40439 * configure.ac (ENABLE_LZO): New option --enable-lzo.
40440
40441 * boot/i386/pc/lnxboot.S: #include <config.h>.
40442
40443 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 40444 its value according to the compression algorithm used, lzo or lzma.
aa24b516 40445
40446 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
40447 compression algorithm according to configure macro.
40448
40449 * kern/i386/pc/startup.S (codestart): Likewise.
40450
40451 * kern/i386/pc/lzma_decode.S: New file.
40452
40453 * include/grub/lib/LzFind.h: Likewise.
40454
40455 * include/grub/lib/LzHash.h: Likewise.
40456
40457 * include/grub/lib/LzmaDec.h: Likewise.
40458
40459 * include/grub/lib/LzmaEnc.h: Likewise.
40460
40461 * include/grub/lib/LzmaTypes.h: Likewise.
40462
40463 * lib/LzFind.c: Likewise.
40464
40465 * lib/LzmaDec.c: Likewise.
40466
40467 * lib/LzmaEnc.c: Likewise.
40468
4ae821ac 404692008-07-13 Bean <bean123ch@gmail.com>
40470
40471 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
40472 (grub_ext4_extent_header): New structure.
40473 (grub_ext4_extent): Likewise.
40474 (grub_ext4_extent_idx): Likewise.
40475 (grub_ext4_find_leaf): New function.
40476 (grub_ext2_read_block): Handle extents.
40477
9a745147 404782008-07-12 Robert Millan <rmh@aybabtu.com>
40479
40480 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
40481
d49a4cf6 404822008-07-11 Robert Millan <rmh@aybabtu.com>
40483
40484 * util/grub.d/40_custom.in: New file. Example on how to add custom
40485 entries to /etc/grub.d.
40486 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
40487 40_custom (implicitly, by merging all the grub.d rules).
40488
947414b4 404892008-07-11 Pavel Roskin <proski@gnu.org>
40490
0059cf6f 40491 * commands/read.c (grub_getline): Fix invalid memory access.
40492 Don't add newline to the variable value.
40493
947414b4 40494 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
40495 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
40496 (serial_hw_get_port): Check validity of the port number.
40497 (grub_cmd_serial): Check return value of serial_hw_get_port().
40498
62a02d00 404992008-07-07 Pavel Roskin <proski@gnu.org>
40500
40501 * boot/i386/pc/diskboot.S (notification_string): Replace
40502 "Loading kernel" with just "loading". This is shorter, less
40503 confusing and saves a few bytes for possible future changes.
40504
3e5581b0 405052008-07-05 Pavel Roskin <proski@gnu.org>
40506
ea387a48 40507 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
40508 size for ATAPI devices, they are undefined. Output sector
40509 number in decimal form.
40510
3e5581b0 40511 * disk/ata.c: Use named constants for status bits.
40512
fdecb8fd 405132008-07-04 Pavel Roskin <proski@gnu.org>
40514
bcd35b90 40515 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
40516 grub_addr_t before casting it to the void pointer to fix a
40517 warning. Non-addressable regions are discarded earlier.
40518 (grub_arch_modules_addr): Cast _end to grub_addr_t.
40519 * kern/i386/linuxbios/table.c: Include grub/misc.h.
40520 (check_signature): Don't shadow table_header.
40521 (grub_linuxbios_table_iterate): Cast numeric constants to
40522 grub_linuxbios_table_header_t.
40523 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
40524 grub_stop().
40525
af58ab3d 40526 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
40527 prevent warnings.
40528
1759aa57 40529 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
40530 pointer, which can cause warnings. Support 64-bit addresses.
40531
fdecb8fd 40532 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
40533 of sizeof(long). This fixes PowerPC image generation on x86_64.
40534
8516d2a8 405352008-07-04 Robert Millan <rmh@aybabtu.com>
40536
40537 This fixes a performance issue when pc & gpt partmap iterators
40538 didn't abort iteration even after our hook found what it was
fe987087 40539 looking for (often causing expensive probes of non-existent drives).
8516d2a8 40540
40541 Some callers relied on previous buggy behaviour, since they would
34c44600 40542 raise an error when their own hooks caused early abortion of its
8516d2a8 40543 iteration.
40544
40545 * kern/device.c (grub_device_open): Improve error message.
40546 * disk/lvm.c (grub_lvm_open): Likewise.
40547 * disk/raid.c (grub_raid_open): Likewise.
40548
40549 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
40550 when hook requests it, independently of grub_errno.
40551 (pc_partition_map_probe): Do not fail when find_func() caused
40552 early abortion of pc_partition_map_iterate().
40553
40554 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
40555 when hook requests it, independently of grub_errno.
40556 (gpt_partition_map_probe): Do not fail when find_func() caused
40557 early abortion of gpt_partition_map_iterate().
40558
40559 * kern/partition.c (grub_partition_iterate): Abort parent iteration
40560 when hook requests it, independently of grub_errno. Do not fail when
40561 part_map_iterate_hook() caused early abortion of p->iterate().
40562
40563 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
40564 when grub_partition_iterate() returned with non-zero.
40565
277d0de9 405662008-07-03 Pavel Roskin <proski@gnu.org>
40567
40568 * disk/ata.c (grub_ata_pio_write): Check status before writing,
40569 like we do in grub_ata_pio_read().
40570 (grub_ata_readwrite): Always write individual sectors. Fix the
40571 sector count for the remainder.
40572 (grub_ata_write): Enable writing to ATA devices. Correctly
40573 report error for ATAPI devices.
40574
d4c9b428 405752008-07-02 Pavel Roskin <proski@gnu.org>
40576
e43fc690 40577 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
40578 warning.
40579
f707af42 40580 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
40581 for every read sector, we already increment it for the whole
40582 batch. This fixes reading more than 256 sectors at once.
40583
11e16b15 40584 * util/grub-editenv.c (cmd_info): Cast argument to long
40585 explicitly. ptrdiff_t reduces to int on i386.
40586
cbabfdd4 40587 * util/grub-editenv.c (main): Be specific which parameter is
40588 missing.
40589
b8fbce0a 40590 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
40591 (memdisk): Make memdisk_orig_addr a pointer.
40592
c9c8e606 40593 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
40594 for file offsets, use grub_off_t instead. Fix printf format
40595 warnings.
40596
ca62e598 40597 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
40598 there. Real unexpected warnings should not drown in the noise
40599 about known problems.
40600
ce8d1766 40601 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
40602 grub_disk_addr_t for memory addresses.
40603
00c7a56a 40604 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
40605 explicitly to fix a warning.
40606
08d3ef09 40607 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
40608
cb71ba20 40609 * Makefile.in (MODULE_LDFLAGS): New variable.
40610 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
40611 the linker accepts --build-id=none.
40612 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
40613 MODULE_LDFLAGS.
40614 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
40615
d4c9b428 40616 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
40617 those in Linux XFS code. Provide a way to access 64-bit parent
40618 inode.
40619 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
40620 the end of struct grub_xfs_dir_header.
40621
d4156eee 406222008-07-02 Bean <bean123ch@gmail.com>
40623
40624 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
40625 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40626 and GRUB_IEEE1275_FLAG_NO_ANSI.
40627
40628 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
40629 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40630 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
40631
40632 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
40633 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
40634
40635 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
40636 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
40637
40638 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
40639 esc sequence on non ANSI terminal.
40640 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
40641
40642 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
40643 beginning of file.
40644
2270f77b 406452008-07-02 Bean <bean123ch@gmail.com>
40646
40647 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
40648 (grub_editenv_SOURCES): New variable.
40649 (pkglib_MODULES): Add loadenv.mod.
40650 (loadenv_mod_SOURCES): New variable.
40651 (loadenv_mod_CFLAGS): Likewise.
40652 (loadenv_mod_LDFLAGS): Likewise.
40653
40654 * include/grub/envblk.h: New file.
40655
40656 * util/envblk.c: New file.
40657
40658 * util/grub-editenv.c: New file.
40659
40660 * commands/loadenv.c: New file.
40661
0e9e51ec 406622008-07-01 Pavel Roskin <proski@gnu.org>
40663
d89b7634 40664 * include/multiboot2.h (struct multiboot_tag_module): Use char,
40665 not unsigned char. This fixes warnings and is consistent with
40666 other tags.
40667
bf1835b1 40668 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
40669
8222a04b 40670 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
40671
6a42d99d 40672 * term/tparm.c (analyze): Always set *popcount.
40673
10b159d1 40674 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
40675 cast to fix a warning.
40676
b8789f6c 40677 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
40678 cast to suppress a warning.
40679
29d7e38a 40680 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
40681 grub_fshelp_read_file() expects.
40682
f341f669 40683 * fs/fat.c: Fix UUID calculation on big-endian systems. We
40684 write uuid as a 32-bit value in CPU byte order, so declare and
40685 use it as such.
40686
0e9e51ec 40687 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
40688 long if the format specifier expects it.
40689 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
40690 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40691 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
40692 long to fix a warning.
40693 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
40694 grub_dprintf() arguments to fix warnings.
40695
3aefa857 406962008-06-30 Pavel Roskin <proski@gnu.org>
40697
56c7668b 40698 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
40699 install_bsd_part immediately before core.img is embedded or
40700 modified on disk. This fixes core.img verification if core.img
40701 cannot be embedded.
40702
3aefa857 40703 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
40704 core_path to calculate the blocklist.
40705 Patch from Javier Martín <lordhabbit@gmail.com>
40706
5444088d 407072008-06-29 Robert Millan <rmh@aybabtu.com>
40708
40709 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
40710 block to disk block.
40711 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
40712 Patch from Niels Böhm <bitbucket@arcor.de>
40713
674835c8 407142008-06-29 Robert Millan <rmh@aybabtu.com>
40715
40716 * util/update-grub_lib.in (font_path): Search for fonts in
40717 /boot/grub first, which is more likely to be readable (we aren't
40718 deciding where fonts live, just looking for them).
40719
f527dbc8 407202008-06-26 Pavel Roskin <proski@gnu.org>
40721
6c2d8df6 40722 * util/biosdisk.c (read_device_map): Don't leave dead map
40723 entries for devices failing stat() check.
40724
f527dbc8 40725 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
40726 core_path_dev for the core.img path on the target device.
40727
aebe3d13 407282008-06-26 Robert Millan <rmh@aybabtu.com>
40729
40730 * disk/fs_uuid.c: New file.
40731 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
40732 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
40733 (fs_uuid_mod_LDFLAGS): New variables.
40734 * include/grub/disk.h (grub_disk_dev_id): Add
40735 `GRUB_DISK_DEVICE_UUID_ID'.
40736 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
40737 implement iterate().
40738
37aaf354 407392008-06-26 Robert Millan <rmh@aybabtu.com>
40740
40741 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
40742 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
40743 Linux image includes no initrd.
40744
25ff262a 407452008-06-21 Javier Martín <lordhabbit@gmail.com>
40746
40747 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
40748 call to resolve the core image location that effectively appended the
40749 name twice.
40750
76a2bd44 407512008-06-21 Robert Millan <rmh@aybabtu.com>
40752
40753 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
40754 call from here ...
40755
40756 * util/grub.d/10_hurd.in: ... to here ...
40757 * util/grub.d/10_linux.in: ... and here.
40758
650e1c79 407592008-06-19 Robert Millan <rmh@aybabtu.com>
40760
fe987087 40761 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 40762 after it has been set by grub_machine_set_prefix().
40763
6ce63911 407642008-06-19 Robert Millan <rmh@aybabtu.com>
40765
40766 * commands/search.c (search_label, search_fs_uuid, search_file): Print
40767 search result when not saving to variable, not the other way around.
40768 When saving to variable, abort iteration as soon as a match is found.
40769
73940cec 407702008-06-19 Robert Millan <rmh@aybabtu.com>
40771
40772 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
40773 check for partition that provides /boot/grub. Its logic is flawed,
40774 as it prevents prepare_grub_to_access_device() from being called
40775 multiple times.
40776
3c62a39d 407772008-06-19 Robert Millan <rmh@aybabtu.com>
40778
40779 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
40780 "insmod" command directly when abstraction modules are needed,
fe987087 40781 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 40782 since it had already been processed).
40783
47395a42 407842008-06-19 Pavel Roskin <proski@gnu.org>
40785
40786 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
40787 changed. This is needed in case GRUB_LIBDIR changes.
40788 * conf/i386-ieee1275.rmk: Likewise.
40789 * conf/i386-linuxbios.rmk: Likewise.
40790 * conf/i386-pc.rmk: Likewise.
40791 * conf/powerpc-ieee1275.rmk: Likewise.
40792
a145ac2d 407932008-06-18 Pavel Roskin <proski@gnu.org>
40794
40795 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
40796 kernel_elf_symlist.c to symlist.c for consistency with other
40797 architectures. Update all users.
40798 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40799
7847c51e 408002008-06-18 Robert Millan <rmh@aybabtu.com>
40801
40802 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
40803 it in prefix.
40804
40805 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
40806 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
40807 a RAID device, run setup() for all members independently on whether
40808 LVM abstraction is being used.
40809 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
40810 If grub-mkimage has set `*install_dos_part == -2', don't override this
40811 value.
40812 Perform *install_dos_part adjustments independently on whether
40813 we're embedding or not.
40814 Clarify error message when image is too big for embedding.
40815 Remove duplicate *install_dos_part stanza.
40816
b23e5644 408172008-06-17 Robert Millan <rmh@aybabtu.com>
40818
40819 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
40820 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
40821 variables.
40822 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
40823 values in grub_ofconsole_normal_color and
40824 grub_ofconsole_highlight_color (they're not directly related to
40825 background and foreground).
40826 (grub_ofconsole_setcolorstate): Extract background and foreground
40827 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
40828
0aac2f79 408292008-06-17 Robert Millan <rmh@aybabtu.com>
40830
40831 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
40832 /boot/grub for the check in last commit, not /boot (they could be
40833 different partitions).
40834
3cca7ef3 408352008-06-16 Robert Millan <rmh@aybabtu.com>
40836
40837 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
40838 asked to setup access for the same partition that provides /boot,
40839 don't bother using UUIDs since our root already has the value we
40840 want.
40841
347396d8 408422008-06-16 Robert Millan <rmh@aybabtu.com>
40843
40844 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
40845 I2O devices.
40846 Patch from Sven Mueller <sven@debian.org>.
40847
991477f8 408482008-06-16 Robert Millan <rmh@aybabtu.com>
40849
40850 * util/update-grub.in: Check for $EUID instead of $UID.
40851 Reported by Vincent Zweije.
40852
d31a32a1 408532008-06-16 Bean <bean123ch@gmail.com>
40854
fe987087 40855 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 40856 (grub_ext2_read_block): Likewise.
40857 (grub_ext2_read_inode): Likewise.
40858 (grub_ext2_mount): Likewise.
40859 (grub_ext2_close): Likewise.
40860 (grub_ext3_get_journal): Removed.
40861
fe987087 40862 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 40863 (grub_reiserfs_read_symlink): Likewise.
40864 (grub_reiserfs_mount): Likewise.
40865 (grub_reiserfs_open): Likewise.
40866 (grub_reiserfs_read): Likewise.
40867 (grub_reiserfs_close): Likewise.
40868 (grub_reiserfs_get_journal): Removed.
40869
40870 * fs/fshelp.c (grub_fshelp_read): Removed.
40871 (grub_fshelp_map_block): Likewise.
40872
40873 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
40874 (grub_fshelp_journal): Likewise.
40875 (grub_fshelp_read): Likewise.
40876 (grub_fshelp_map_block): Likewise.
40877
3540a760 408782008-06-16 Pavel Roskin <proski@gnu.org>
40879
40880 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
40881 floating point anymore.
40882 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
40883
95614c84 408842008-06-15 Pavel Roskin <proski@gnu.org>
40885
40886 * commands/ls.c (grub_ls_list_files): Use integer calculations
40887 for human readable format, avoid floating point use.
40888 * kern/misc.c (grub_ftoa): Remove.
40889 (grub_vsprintf): Remove floating point support.
40890
50465dd6 408912008-06-15 Robert Millan <rmh@aybabtu.com>
40892
fe6b695a 40893 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 40894 devices.
40895 Reported by Max Vozeler.
40896
a9207284 408972008-06-15 Robert Millan <rmh@aybabtu.com>
40898
40899 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
40900 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
40901 skipped later.
40902 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
40903 the beginning of the prefix.
40904
40905 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
40906 It is assumed that if we have a memdisk, grub-mkimage has set
40907 grub_prefix to include the "(memdisk)" drive in it.
40908
a7cbd45a 409092008-06-15 Robert Millan <rmh@aybabtu.com>
40910
40911 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
40912 Initialize keyboard controller after registering the terminal, so that
40913 grub_printf() can be called from grub_keyboard_controller_init().
40914
21cf716a 409152008-06-15 Robert Millan <rmh@aybabtu.com>
40916
40917 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
40918 extent-btree which is written as big endian on disk.
40919 Reported by Alain Greppin <al@chilibi.org>.
40920
23a64d8e 409212008-06-14 Robert Millan <rmh@aybabtu.com>
40922
40923 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
40924 * util/i386/pc/grub-install.in (modules): Likewise.
40925
d687651c 409262008-06-13 Pavel Roskin <proski@gnu.org>
40927
40928 * commands/ls.c (grub_ls_list_files): Fix format warnings.
40929
dfe9ddd4 409302008-06-13 Bean <bean123ch@gmail.com>
40931
40932 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
40933
40934 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
40935
40936 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
40937 to indicate sparse block.
40938
16ae7781 409392008-06-12 Pavel Roskin <proski@gnu.org>
40940
e6d1a308 40941 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
40942 number, grub_fshelp_read() does it for us.
40943
16ae7781 40944 * fs/fshelp.c (grub_fshelp_read): New function. Implement
40945 linear disk read with journal translation.
40946 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
40947 * include/grub/fshelp.h: Declare grub_fshelp_read().
40948
40fd3a2b 409492008-06-09 Pavel Roskin <proski@gnu.org>
40950
40951 * fs/minix.c (grub_minix_mount): Handle error reading
40952 superblock.
40953
f5679726 409542008-06-08 Robert Millan <rmh@aybabtu.com>
40955
40956 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
40957 don't append the RAID prefix afterwards.
40958 Reported by Clint Adams.
40959
ce525529 409602008-06-08 Robert Millan <rmh@aybabtu.com>
40961
40962 Based on description from Pavel:
40963 * kern/disk.c (grub_disk_check_range): Rename to ...
40964 (grub_disk_adjust_range): ... this. Add a comment explaining the
40965 tasks performed by this function.
40966
ad4936a0 409672008-06-08 Robert Millan <rmh@aybabtu.com>
40968
40969 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
40970 `num_serial' (for consistency with other variables).
40971 (struct grub_ntfs_data): Add `uuid' member.
40972 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
40973 (grub_ntfs_uuid): New function.
40974 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
40975
dc20b0f9 409762008-06-07 Pavel Roskin <proski@gnu.org>
40977
40978 * util/biosdisk.c (open_device): Revert last change to the
40979 function, it broke installation. The sector needs to be
40980 different dependent on which device is opened.
40981
c5e3cfba 409822008-06-06 Robert Millan <rmh@aybabtu.com>
40983
40984 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
40985 rest of GRUB, and breakage doesn't happen if its value were modified.
40986
40987 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40988 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
40989 a constant (same value).
40990 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
40991 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
40992
26a1f8c4 409932008-06-06 Robert Millan <rmh@aybabtu.com>
40994
40995 * util/biosdisk.c (open_device): Do not modify sector offset when
40996 accessing a partition. kern/disk.c already handles this for us.
40997
25d6b327 409982008-06-06 Robert Millan <rmh@aybabtu.com>
40999
41000 * util/grub-emu.c (grub_machine_init): Move code in this function from
41001 here ...
41002 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
41003 segfault in case grub_printf() is called).
41004
41005 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
41006 grub_probe. Update all users not to explicitly add it again.
41007 (grub_device): New variable; contains corresponding device for grubdir.
41008 (fs_module, partmap_module, devabstraction_module): Pass
41009 `--device ${grub_device}' to grub_probe to avoid traversing /dev
41010 every time.
41011
9ece62fb 410122008-06-05 Robert Millan <rmh@aybabtu.com>
41013
41014 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
41015 is found, print it (same layout as with labels).
41016
1ad36d37 410172008-06-04 Robert Millan <rmh@aybabtu.com>
41018
41019 * util/biosdisk.c (get_drive): Rename to ...
41020 (find_grub_drive): ... this. Update all users.
41021
41022 (get_os_disk): Rename to ...
41023 (convert_system_partition_to_system_disk): ... this. Update all users.
41024
41025 (find_drive): Rename to ...
41026 (find_system_device): ... this. Update all users.
41027
e6a30859 410282008-06-04 Robert Millan <rmh@aybabtu.com>
41029
41030 * util/biosdisk.c (get_os_disk): Handle IDA devices.
41031 * util/grub-mkdevicemap.c (get_mmc_disk_name)
41032 (make_device_map): Likewise.
41033
00c108a4 410342008-06-01 Robert Millan <rmh@aybabtu.com>
41035
41036 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
41037 before dereferencing it.
41038
41039 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
41040 union with fat12/fat16-specific ones. Add some new fields, including
41041 `num_serial' for both versions.
41042 (struct grub_fat_data): Add `uuid' member.
41043 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
41044 names. Initialize `data->uuid' using `num_serial'.
41045 (grub_fat_uuid): New function.
41046 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
41047
41048 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
41049 (grub_reiserfs_uuid): New function.
41050 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
41051 member.
41052
41053 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
41054 (grub_xfs_uuid): New function.
41055 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
41056
1385c5bb 410572008-06-01 Robert Millan <rmh@aybabtu.com>
41058
41059 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
41060 code that is backward compatible with pre-uuid search command.
41061
c682dfd7 410622008-05-31 Robert Millan <rmh@aybabtu.com>
41063
41064 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
41065 floppies after everything else, to ensure floppy drive isn't accessed
41066 unnecessarily (patch from Bean).
41067
b7db5d47 410682008-05-31 Robert Millan <rmh@aybabtu.com>
41069
41070 * commands/search.c (search_label, search_fs_uuid, search_file): Do
41071 not print device names when we were asked to set a variable.
41072
6e037aa9 410732008-05-31 Robert Millan <rmh@aybabtu.com>
41074
41075 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
41076 using "cursor-on" and "cursor-off" commands (understood at least by
41077 the Open Firmware flavour on OLPC).
41078
41305bc8 410792008-05-31 Michael Gorven <michael@gorven.za.net>
41080
41081 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
41082 on and off sequences.
41083
69ba137e 410842008-05-31 Robert Millan <rmh@aybabtu.com>
41085
41086 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
41087 * util/update-grub.in: Likewise.
41088
520ae21b 410892008-05-30 Pavel Roskin <proski@gnu.org>
41090
41091 * util/biosdisk.c (linux_find_partition): Simplify logic and
41092 make the code more universal. Keep special processing for
41093 devfs, but use a simple rule for all other devices. If the
41094 device ends with a number, append 'p' and the partition number.
41095 Otherwise, append only the partition number.
41096
5786569b 410972008-05-30 Robert Millan <rmh@aybabtu.com>
41098
41099 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
41100 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
41101 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
41102 the `root' parameter to Linux.
41103
51500452 411042008-05-30 Robert Millan <rmh@aybabtu.com>
41105
41106 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
41107 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
41108 --fs_uuid with --fs-uuid.
41109 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
41110 all filesystems support them).
41111
811d3878 411122008-05-30 Robert Millan <rmh@aybabtu.com>
41113
41114 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 41115 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 41116
cab63c95 411172008-05-30 Robert Millan <rmh@aybabtu.com>
41118
41119 * util/grub.d/00_header.in: Remove obsolete comment referencing
41120 convert_system_path_to_grub_path().
41121 * util/update-grub.in: Likewise.
41122 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
41123 (convert_system_path_to_grub_path): Add a warning message explaining
41124 that this function is deprecated. Rely on is_path_readable_by_grub()
41125 for the readability checks.
41126 (font_path): Use is_path_readable_by_grub() for the readability
41127 check rather than convert_system_path_to_grub_path().
41128
972e2f7a 411292008-05-30 Robert Millan <rmh@aybabtu.com>
41130
41131 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
41132 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
41133 converting it first.
41134 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
41135 grub.cfg for access to font file, and afterwards call it again to set
41136 the root device.
41137
62191274 411382008-05-30 Robert Millan <rmh@aybabtu.com>
41139
41140 * commands/search.c (options): Add --fs_uuid option.
41141 (search_fs_uuid): New function.
41142 (grub_cmd_search): Fix --set argument passing.
41143 Use search_fs_uuid() when requested via --fs_uuid.
41144 (grub_search_init): Update help message.
41145 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
41146 and redeclare it as an array of 16-bit words.
41147 (grub_ext2_uuid): New function.
41148 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
41149 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
41150 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
41151 (GRUB_DEVICE_BOOT_UUID): New variables.
41152 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
41153 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
41154 whenever possible.
41155 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
41156 just assume `root' variable has the right value.
41157 * util/grub.d/10_linux.in: Likewise.
41158 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
41159 via PRINT_FS_UUID.
41160 (main): Recognise `-t fs_uuid' argument.
41161
01b73ec8 411622008-05-30 Robert Millan <rmh@aybabtu.com>
41163
41164 * util/biosdisk.c (map): Redefine structure to hold information
41165 about GRUB drive name.
fe6b695a 41166 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 41167 drive names.
41168 (call_hook): Remove.
41169 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
41170 member. Assume drive has partitions.
41171 (grub_util_biosdisk_open): Access device names via `.device' struct
41172 member.
41173 (open_device): Likewise.
41174 (find_drive): Likewise.
41175 (read_device_map): Adjust map[] usage to match the new struct
41176 definition. Don't check for duplicates (still possible, but not cheap
41177 anymore).
41178 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
41179 (make_device_name): Remove assumption of BIOS-like drive names.
41180
22f16596 411812008-05-30 Pavel Roskin <proski@gnu.org>
41182
41183 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
41184 compiling execute.c doesn't need grub_script.tab.h anymore.
41185 (normal/command.c_DEPENDENCIES): Likewise.
41186 (normal/function.c_DEPENDENCIES): Likewise.
41187 * conf/i386-ieee1275.rmk: Likewise.
41188 * conf/i386-linuxbios.rmk: Likewise.
41189 * conf/i386-pc.rmk: Likewise.
41190 * conf/powerpc-ieee1275.rmk: Likewise.
41191 * conf/sparc64-ieee1275.rmk: Likewise.
41192
528ad8f2 411932008-05-29 Pavel Roskin <proski@gnu.org>
41194
d1dff95d 41195 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
41196 when scanning metadata for volume group name.
41197
528ad8f2 41198 * include/grub/script.h: Don't include grub_script.tab.h. It's
41199 a generated file, which may only be included from the files with
41200 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
41201 use union YYSTYPE, as the later allows forward declaration.
41202 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
41203
47248e08 412042008-05-29 Robert Millan <rmh@aybabtu.com>
41205
41206 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
41207 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
41208 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
41209 (grub_console_checkkey): Add grub_dprintf() call to report unknown
41210 scan codes.
41211
ee632529 412122008-05-29 Robert Millan <rmh@aybabtu.com>
41213
41214 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
41215 control key combinations.
41216
eee96e08 412172008-05-29 Robert Millan <rmh@aybabtu.com>
41218
41219 * util/powerpc/ieee1275/grub-install.in: Move from here ...
41220 * util/ieee1275/grub-install.in: ... to here.
41221 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
41222 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
41223 (grub_install_SOURCES): Likewise.
41224
da9a6a94 412252008-05-29 Robert Millan <rmh@aybabtu.com>
41226
41227 * fs/affs.c: Update copyright year.
41228 * fs/ext2.c: Likewise.
41229 * fs/fshelp.c: Likewise.
41230 * fs/hfsplus.c: Likewise.
41231 * fs/ntfs.c: Likewise.
41232 * fs/xfs.c: Likewise.
41233 * include/grub/fshelp.h: Likewise.
41234 * util/grub-mkdevicemap.c: Likewise.
41235
12e65f3a 412362008-05-28 Robert Millan <rmh@aybabtu.com>
41237
41238 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
41239 might need to be fatfs to support some firmware implementations
41240 (e.g. OFW or EFI).
41241
23023641 412422008-05-28 Robert Millan <rmh@aybabtu.com>
41243
41244 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
41245 devices.
41246 * util/grub-mkdevicemap.c (get_mmc_disk_name)
41247 (make_device_map): Likewise.
41248
887d2619 412492008-05-20 Bean <bean123ch@gmail.com>
41250
41251 * fs/fshelp.c (grub_fshelp_map_block): New function.
41252 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
41253 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
41254
41255 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
41256 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
41257 (grub_fshelp_journal): New structure.
41258 (grub_fshelp_map_block): New function prototype.
41259 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
41260 (grub_fshelp_map_block): Likewise.
41261
41262 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
41263 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
41264 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
41265 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
41266 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
41267 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
41268 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
41269 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
41270 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
41271 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
41272 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
41273 (grub_ext2_sblock): New members for journal support.
41274 (grub_ext3_journal_header): New structure.
41275 (grub_ext3_journal_revoke_header): Likewise.
41276 (grub_ext3_journal_block_tag): Likewise.
41277 (grub_ext3_journal_sblock): Likewise.
41278 (grub_fshelp_node): New members logfile and journal.
41279 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
41280 grub_fshelp_map_block to get real block number.
41281 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
41282 number.
41283 (grub_ext2_read_inode): Likewise.
41284 (grub_ext3_get_journal): New function.
41285 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
41286 (grub_ext2_close): Release memory used by journal.
41287
41288 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
41289 (REISERFS_MAGIC_DESC_BLOCK): New macro.
41290 (grub_reiserfs_transaction_header): Renamed to
41291 grub_reiserfs_description_block, replace field data with real_blocks.
41292 (grub_reiserfs_commit_block): New structure.
41293 (grub_reiserfs_data): New member journal.
41294 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
41295 number.
41296 (grub_reiserfs_read_symlink): Likewise.
41297 (grub_reiserfs_iterate_dir): Likewise.
41298 (grub_reiserfs_open): Likewise.
41299 (grub_reiserfs_read): Likewise.
41300 (grub_reiserfs_get_journal): New function.
41301 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
41302 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
41303 using grub_reiserfs_get_journal.
41304 (grub_reiserfs_close): Release memory used by journal.
41305
41306 * fs/affs.c (grub_affs_read_block): Change block type to
41307 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
41308
41309 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
41310
41311 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
41312
41313 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
41314
41315 * fs/udf.c (grub_udf_read_block): Change block type to
41316 grub_disk_addr_t. Use type cast to avoid warning.
41317
41318 * fs/xfs.c (grub_xfs_read_block): Likewise.
41319
b7c6bed5 413202008-05-16 Christian Franke <franke@computer.org>
41321
41322 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
41323 to ensure that break with ESC will always work.
41324 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
41325 Remove ESC from keyboard queue.
41326
eedf167f 413272008-05-16 Christian Franke <franke@computer.org>
41328
41329 * util/biosdisk.c: [__CYGWIN__] Add includes.
41330 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
41331 (get_os_disk): Move variable declarations to OS specific
41332 parts to avoid warning.
41333 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
41334 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
41335 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
41336 Cygwin.
41337 * util/getroot.c: [__CYGWIN__] Add includes.
41338 (strip_extra_slashes): Fix "/" case.
41339 [__CYGWIN__] (get_win32_path): New function.
41340 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
41341 [__CYGWIN__] (find_root_device): Disable.
41342 [__CYGWIN__] (get_bootsec_serial): New function.
41343 [__CYGWIN__] (find_cygwin_root_device): Likewise.
41344 [__linux__] (grub_guess_root_device): Add early returns to simplify
41345 structure.
41346 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
41347 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
41348 check for Linux only.
41349
a079699e 413502008-05-15 Bean <bean123ch@gmail.com>
41351
41352 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
41353 keyboard hang problem in apple's intel mac.
41354
1cf4059a 413552008-05-09 Robert Millan <rmh@aybabtu.com>
41356
41357 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
41358 devices.
41359 * util/grub-mkdevicemap.c (get_virtio_disk_name)
41360 (make_device_map): Likewise.
41361 Reported by Aurelien Jarno <aurel32@debian.org>
41362
ed759390 413632008-05-07 Ian Campbell <ijc@hellion.org.uk>
41364
41365 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
41366 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
41367 (make_device_map): Output entries for xvd type disks.
41368
b56c4eaa 413692008-05-07 Robert Millan <rmh@aybabtu.com>
41370
41371 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
41372 devices.
41373 * util/grub-mkdevicemap.c (get_cciss_disk_name)
41374 (make_device_map): Likewise.
41375 Reported by Roland Dreier <rdreier@cisco.com>
41376
7f8866ed 413772008-05-07 Robert Millan <rmh@aybabtu.com>
41378
41379 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
41380 grub_strstr() call. Correct a few mistakes in failure path handling.
41381
b0346e0f 413822008-05-06 Robert Millan <rmh@aybabtu.com>
41383
41384 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41385 Do not print a trailing slash (therefore, the root directory is an
41386 empty string).
41387 (convert_system_path_to_grub_path): Do not remove trailing slash
41388 from make_system_path_relative_to_its_root() output.
41389
41390 * util/i386/pc/grub-install.in: Add trailing slash to output from
41391 make_system_path_relative_to_its_root().
41392
6cf12cbd 413932008-05-06 Robert Millan <rmh@aybabtu.com>
41394
41395 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
41396 ensures that output lines aren't intermangled with those sent to
41397 stderr (via grub_util_info()).
41398 * util/grub-probe.c (grub_refresh): Likewise.
41399 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
41400
0fbb3117 414012008-05-05 Christian Franke <franke@computer.org>
41402
41403 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
41404 Add Cygwin device names.
41405 (get_ide_disk_name) [__CYGWIN__]: Likewise.
41406 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
41407 (check_device): Return error instead of success on empty name.
41408 (make_device_map): Move label inside linux specific code to
41409 prevent compiler warning.
41410
8124cdb7 414112008-04-30 Robert Millan <rmh@aybabtu.com>
41412
41413 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
41414 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
41415 first boot option.
41416 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
41417
094c01d0 414182008-04-29 Robert Millan <rmh@aybabtu.com>
41419
41420 * docs/grub.cfg: New file (example GRUB configuration).
41421
f4b1fc02 414222008-04-26 Robert Millan <rmh@aybabtu.com>
41423
329ce2a5 41424 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
41425 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
41426 and `disk/ieee1275/nand.c'.
f4b1fc02 41427
25f16ec1 414282008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 41429
25f16ec1 41430 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
41431 i386-linuxbios.
41432
41433 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
41434 change the buffer size to 4096 for cdrom device.
41435
41436 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
41437 and nand.mod.
41438 (_linux_mod_SOURCES): New variable.
41439 (_linux_mod_CFLAGS): Likewise.
41440 (_linux_mod_LDFLAGS): Likewise.
41441 (linux_mod_SOURCES): Likewise.
41442 (linux_mod_CFLAGS): Likewise.
41443 (linux_mod_LDFLAGS): Likewise.
41444 (nand_mod_SOURCES): Likewise.
41445 (nand_mod_CFLAGS): Likewise.
41446 (nand_mod_LDFLAGS): Likewise.
41447
41448 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
41449 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
41450 type property. (nand device in olpc don't have this property)
41451
41452 * include/grub/disk.h (grub_disk_dev_id): New macro
41453 GRUB_DISK_DEVICE_NAND_ID.
41454
41455 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
41456 function prototype.
41457 (grub_rescue_cmd_initrd): Likewise.
41458
41459 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
41460 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
41461 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 41462
25f16ec1 41463 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
41464 GRUB_MACHINE_IEEE1275 is defined.
41465
41466 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
41467 Use NESTED_FUNC_ATTR attribute on the hook parameter.
41468
41469 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
41470 on nested function heap_init.
41471 (grub_upper_mem): New variable for i386-ieee1275.
41472 (grub_get_extended_memory): New function for i386-ieee1275.
41473 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
41474
41475 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
41476 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
41477 property.
f19dbdb7 41478
25f16ec1 41479 * loader/i386/ieee1275/linux.c: New file.
41480
41481 * loader/i386/ieee1275/linux_normal.c: New file.
41482
41483 * disk/ieee1275/nand.c: New file.
41484
e89d61e9 414852008-04-18 Thomas Schwinge <tschwinge@gnu.org>
41486
41487 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
41488 value.
41489 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
41490
602566f6 414912008-04-18 Robert Millan <rmh@aybabtu.com>
41492
41493 Restructures early code path on ieee1275 to unify grub_main() as
41494 the first C function that is executed in every platform.
41495
41496 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
41497 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
41498 cmain().
41499 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
41500 * kern/ieee1275/cmain.c (cmain): Rename to ...
41501 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
41502 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
41503 at the beginning.
41504
57490c2b 415052008-04-18 Robert Millan <rmh@aybabtu.com>
41506
41507 * util/update-grub.in: Fix syntax error when setting
41508 `GRUB_PRELOAD_MODULES'.
41509 Reported by Stephane Chazelas <stephane@artesyncp.com>
41510
1977517d 415112008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
41512
41513 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
41514 section into account, newer toolchains generate unique build ids
41515 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 41516 we want build ids to be preserved
1977517d 41517 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
41518 far from other sections don't cause the raw binary images grow
41519 size
41520
bfb1f1a2 415212008-04-15 Robert Millan <rmh@aybabtu.com>
41522
41523 * disk/lvm.c: Update copyright year.
41524 * kern/misc.c: Likewise.
41525
01979850 415262008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41527
41528 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 41529 there is no memory left for physical volume name.
01979850 41530
0a1150e2 415312008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41532
41533 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
41534 volume name mapping to support bigger than 9 character names properly.
41535
82ead3fe 415362008-04-13 Robert Millan <rmh@aybabtu.com>
41537
41538 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
41539 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
41540
e54a72f5 415412008-04-13 Christian Franke <franke@computer.org>
41542
41543 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
41544 to create a floppy emulation boot CD when non emulation mode
41545 does not work.
41546 Enable Joliet CD filesystem extension.
41547
9fe86034 415482008-04-13 Robert Millan <rmh@aybabtu.com>
41549
41550 * kern/misc.c (grub_strncat): Fix off-by-one error.
41551 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
41552
41553 * kern/env.c (grub_env_context_close): Clear current context, not
41554 previous one.
41555 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
41556
41557 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
41558
7ceeee39 415592008-04-13 Robert Millan <rmh@aybabtu.com>
41560
41561 Improve robustness when handling LVM.
41562
41563 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 41564 (and leave `*p' unmodified).
7ceeee39 41565 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
41566 through it.
41567 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
41568 iterating through it.
41569 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
41570 through it.
fe6b695a 41571 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 41572 when due) on each grub_lvm_getvalue() or grub_strstr() call.
41573 Don't assume `vg->pvs != NULL' when iterating through it.
41574
58cd3d85 415752008-04-13 Robert Millan <rmh@aybabtu.com>
41576
41577 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
41578 * genmk.rb (partmap): New variable.
41579 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
41580 (#{partmap}): New target rule.
41581 * genpartmaplist.sh: New file.
41582 * Makefile.in (pkglib_DATA): Add partmap.lst.
41583 (partmap.lst): New target rule.
41584 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
41585 modules (including all partition maps), instead of preloading them.
41586
78b51059 415872007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
41588
41589 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
41590 `linux-boot-prober' (if installed) to detect other operating
41591 systems which are installed on the computer and add them to
41592 the boot menu.
41593 * conf/common.rmk: Build and install 30_os-prober.
41594
a91627b4 415952008-04-12 Robert Millan <rmh@aybabtu.com>
41596
41597 * kern/powerpc/ieee1275/init.c: Move from here ...
41598 * kern/ieee1275/init.c: ... to here. Update all users.
41599
41600 * kern/powerpc/ieee1275/cmain.c: Move from here ...
41601 * kern/ieee1275/cmain.c: ... to here. Update all users.
41602
41603 * kern/powerpc/ieee1275/openfw.c: Move from here ...
41604 * kern/ieee1275/openfw.c: ... to here. Update all users.
41605
41606 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
41607 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
41608
322562ea 416092008-04-10 Pavel Roskin <proski@gnu.org>
41610
41611 * configure.ac: Always use "_cv_" in cache variables for
41612 compatibility with Autoconf 2.62.
41613
a02a73c5 416142008-04-07 Robert Millan <rmh@aybabtu.com>
41615
41616 Revert grub/machine/init.h addition by Pavel (since it breaks on
41617 i386-ieee1275 and others):
41618 * util/i386/pc/misc.c: Remove grub/machine/init.h.
41619 * util/powerpc/ieee1275/misc.c: Likewise.
41620
25c024b1 416212008-04-07 Robert Millan <rmh@aybabtu.com>
41622
41623 * util/grub-probe.c (probe): Improve error message.
41624
3cbd2f98 416252008-04-07 Robert Millan <rmh@aybabtu.com>
41626
41627 * util/biosdisk.c (read_device_map): Skip devices that don't exist
41628 (this prevents the presence of a bogus entry from ruining the whole
41629 thing).
41630
87a297bf 416312008-04-06 Pavel Roskin <proski@gnu.org>
41632
36747a62 41633 * util/biosdisk.c: Include grub/util/biosdisk.h.
41634 * util/grub-fstest.c (execute_command): Make static.
41635 * util/grub-mkdevicemap.c (check_device): Likewise.
41636 * util/i386/pc/misc.c: Include grub/machine/init.h.
41637 * util/powerpc/ieee1275/misc.c: Likewise.
41638 * util/lvm.c: Include grub/util/lvm.h.
41639 * util/misc.c: Include grub/kernel.h, grub/misc.h and
41640 grub/cache.h.
41641 * util/raid.c: Include grub/util/raid.h.
41642 (grub_util_getdiskname): Make static.
41643
87a297bf 41644 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
41645 grub_hostfs_fini(), as they are called from grub_init_all() and
41646 grub_fini_all() respectively. This fixes an infinite loop in
41647 grub-fstest due to double registration of hostfs.
41648 Reported by Christian Franke <Christian.Franke@t-online.de>
41649
f6ce7629 416502008-04-05 Pavel Roskin <proski@gnu.org>
41651
41652 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
41653 all 8 functions. Otherwise, probe function 0 only.
41654
070e49e4 416552008-04-04 Pavel Roskin <proski@gnu.org>
41656
8b088a4c 41657 * commands/lspci.c (grub_lspci_iter): Print the bus number
41658 correctly.
41659
4f657021 41660 * commands/lspci.c (grub_pci_classes): Fix typos.
41661 (grub_lspci_iter): Don't print func twice. Print vendor ID
41662 before device ID, as it's normally done.
41663
070e49e4 41664 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41665 Fix signedness warnings.
41666 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
41667 Likewise.
41668 * util/ieee1275/get_disk_name.c: Include config.h so that
41669 _GNU_SOURCE is defined and getline() is declared. Mark an
41670 unused argument as such. Fix a signedness warning.
41671
ba7328dc 416722008-04-02 Pavel Roskin <proski@gnu.org>
41673
26887f22 41674 * genkernsyms.sh.in: Use more robust assignments for CC and
41675 srcdir. Quote srcdir.
41676 * gensymlist.sh.in: Likewise. Assert at the compile time that
41677 the symbol table is not empty.
41678
ba7328dc 41679 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
41680 * fs/cpio.c (grub_cpio_read): Likewise.
41681
0f582c6b 416822008-04-01 Pavel Roskin <proski@gnu.org>
41683
4b6e1995 41684 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
41685 * disk/host.c (grub_host_open): Likewise.
41686 * disk/loopback.c (grub_loopback_open): Likewise.
41687 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
41688 disk->id as in disk/host.c, not a multi-character constant.
41689
828a2768 41690 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
41691 later is obsolete, potentially dangerous and sets a bad example.
41692 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
41693 * util/misc.c (grub_util_get_image_size): Likewise.
41694
2bb4fb47 41695 * disk/loopback.c (options): Improve help for "--partitions".
41696
0f582c6b 41697 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
41698 options to align them with the short options, e.g. "echo -e".
41699
a33224e0 417002008-03-31 Bean <bean123ch@gmail.com>
41701
41702 * video/reader/png.c (grub_png_data): New member is_16bit and
41703 image_data.
41704 (grub_png_decode_image_header): Detect 16 bit png image.
41705 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
41706 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
41707 (grub_video_reader_png): Release memory occupied by image_data.
41708
41709 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
41710 4096 bytes.
41711 (grub_nfs_mount): Skip the test for sector per cluster.
41712
41713 * include/grub/ntfs.h (MAX_SPC): Removed.
41714
86cb4f54 417152008-03-31 Bean <bean123ch@gmail.com>
41716
41717 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
41718 (grub_probe_SOURCES): Add fs/afs.c.
41719 (grub_fstest_SOURCES): Likewise.
41720 (afs_mod_SOURCES): New variable.
41721 (afs_mod_CFLAGS): Likewise.
41722 (afs_mod_LDFLAGS): Likewise.
41723
41724 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
41725 (grub_emu_SOURCES): Likewise.
41726
41727 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41728
41729 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41730
41731 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41732
41733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41734
41735 * fs/afs.c: New file.
41736
17c74c21 417372008-03-30 Pavel Roskin <proski@gnu.org>
41738
4cb68e89 41739 * disk/host.c: Include grub/misc.h to fix a warning.
41740 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
41741 warnings about implicit declarations.
41742
8790bb04 41743 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
41744 variable.
41745 * include/grub/i386/loader.h: Change declaration of
41746 grub_linux_boot() to match what grub_loader_set() expects.
41747 * util/getroot.c (grub_guess_root_device): Return const char* to
41748 fix a warning.
41749 * util/grub-probe.c (probe): Fix a warning about uninitialized
41750 abstraction_name variable.
41751 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
41752 second argument as unused to fix a warning.
41753
9a3f3296 41754 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
41755 missing grub_error() call.
41756
0ecef90d 41757 * util/update-grub_lib.in: Define datarootdir, since Autoconf
41758 2.60 and newer uses it to define datadir.
41759
0bf6d401 41760 * commands/sleep.c: Fix warning about implicit declaration.
41761 * disk/memdisk.c: Likewise.
41762 * loader/aout.c: Likewise.
41763 * loader/i386/bsd_normal.c: Likewise.
41764 * util/grub-probe.c: Likewise.
41765
7cdacf97 41766 * commands/i386/cpuid.c (has_longmode): Make static.
41767 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
41768 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
41769
17c74c21 41770 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
41771 GDT. This is more robust, as %ds can change.
41772 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
41773 calling real_to_prot().
41774 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
41775
80a3e68b 417762008-03-28 Pavel Roskin <proski@gnu.org>
41777
41778 * kern/i386/pc/startup.S: Assert that uncompressed functions
41779 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
41780 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
41781 code, as they push parts of the code (error handlers) beyond
41782 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
41783 code as correctness and size.
41784
77bcd272 417852008-03-28 Pavel Roskin <proski@gnu.org>
41786
41787 * kern/i386/pc/startup.S
41788 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
41789 data block address to the real mode, keep offset minimal. This
41790 works around a bug in AWARD BIOS on old Athlon systems, which
41791 makes CD detection hang.
41792
c5dfd43b 417932008-03-26 Pavel Roskin <proski@gnu.org>
41794
41795 * normal/color.c (grub_parse_color_name_pair): Make `name' a
41796 const.
41797 * include/grub/normal.h: Add grub_parse_color_name_pair()
41798 declaration.
41799
bf962df2 418002008-03-24 Bean <bean123ch@gmail.com>
41801
41802 * disk/i386/pc/biosdisk.c (cd_start): Removed.
41803 (cd_count): Removed.
41804 (cd_drive): New variable.
41805 (grub_biosdisk_get_drive): Don't check for (cdN) device.
41806 (grub_biosdisk_call_hook): Likewise.
41807 (grub_biosdisk_iterate): Change cdrom detection method.
41808 (grub_biosdisk_open): Replace cd_start with cd_drive.
41809 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
41810 detect cdrom device.
41811
41812 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
41813 Removed.
41814 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
41815 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
41816 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
41817 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
41818 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
41819 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
41820 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
41821 (grub_biosdisk_cdrp): New structure.
41822 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
41823
41824 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
41825
41826 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
41827 device.
41828
41829 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
41830 New function.
41831
68e7fc7a 418322008-03-20 Robert Millan <rmh@aybabtu.com>
41833
41834 Remove 2 TiB limit in ata.mod.
41835 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
41836 (grub_ata_dumpinfo): Print sector count with 0x%llx.
41837 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
41838 grub_uint64_t instead of grub_uint32_t.
41839
38ad2cf5 418402008-03-05 Bean <bean123ch@gmail.com>
41841
41842 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
41843 (grub_multiboot): Set boot device.
41844
41845 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
41846
2b89344e 418472008-03-02 Bean <bean123ch@gmail.com>
41848
41849 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
41850 symlink_buffer.
41851
87a95d1f 418522008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
41853
41854 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
41855 texinfo.tex.
41856
41857 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
41858 modified.
41859
41860 * docs/fdl.texi: New file.
f19dbdb7 41861
87a95d1f 41862 * docs/mdate-sh: New file. Copied from gnulib.
41863 * docs/texinfo.tex: Likewise.
41864
41865 * config.guess: Updated from gnulib.
41866 * install-sh: Likewise.
41867
7dc15d8e 418682008-02-28 Robert Millan <rmh@aybabtu.com>
41869
41870 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
41871 (aout_mod_SOURCES): New variable.
41872 (aout_mod_CFLAGS): Likewise.
41873 (aout_mod_LDFLAGS): Likewise.
41874
41875 * conf/i386-ieee1275.rmk: Likewise.
41876
b00ab696 418772008-02-28 Robert Millan <rmh@aybabtu.com>
41878
41879 * util/update-grub.in: Reorganise terminal validity check. Accept
41880 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
41881 Based on suggestion by Franklin PIAT.
41882
79ca2d78 418832008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
41884
41885 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
41886 function.
41887 * util/getroot.c (grub_util_check_block_device): New function that
41888 returns the given argument if it is a block device and returns NULL else.
41889 * util/grub-probe.c (argument_is_device): New variable.
41890 (probe): Promote device_name from a variable to an argument. Receive
41891 device_name from grub_util_check_block_device() if path is NULL and from
41892 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 41893 (options): Introduce new parameter '-d, --device'.
79ca2d78 41894 (main): Add description of the new parameter to the help screen.
41895 Rename path variable to argument. Set argument_is_device if the '-d'
41896 option is given. Pass argument to probe() depending on
41897 argument_is_device.
41898
0d16e571 418992008-02-24 Bean <bean123ch@gmail.com>
41900
41901 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
41902 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
41903 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
41904 (GRUB_ISO9660_VOLDESC_PART): Likewise.
41905 (GRUB_ISO9660_VOLDESC_END): Likewise.
41906 (grub_iso9660_primary_voldesc): New member escape.
41907 (grub_iso9660_data): New member joliet.
41908 (grub_iso9660_convert_string): New function.
41909 (grub_iso9660_mount): Detect joliet extension.
41910 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
41911 (grub_iso9660_iso9660_label): Likewise.
41912
41913 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
41914 (grub_setup_SOURCES): Add fs/udf.c.
41915 (grub_fstest_SOURCES): Likewise.
41916 (udf_mod_SOURCES): New variable.
41917 (udf_mod_CFLAGS): Likewise.
41918 (udf_mod_LDFLAGS): Likewise.
41919
41920 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
41921 (grub_emu_SOURCES): Likewise.
41922
41923 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41924
41925 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41926
41927 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41928
41929 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41930
41931 * fs/udf.c: New file.
41932
8a594a17 419332008-02-24 Robert Millan <rmh@aybabtu.com>
41934
41935 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
41936 (normal/lexer.c_DEPENDENCIES): New variables.
41937 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41938 (normal/lexer.c_DEPENDENCIES): Likewise.
41939 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
41940 (normal/lexer.c_DEPENDENCIES): Likewise.
41941 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
41942 (normal/lexer.c_DEPENDENCIES): Likewise.
41943 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41944 (normal/lexer.c_DEPENDENCIES): Likewise.
41945 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41946 (normal/lexer.c_DEPENDENCIES): Likewise.
41947
2dc33c03 419482008-02-23 Robert Millan <rmh@aybabtu.com>
41949
41950 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
41951 since they were intended to be in hex. This didn't break previously
41952 because of a bug in gpt_partition_map_iterate() (see below).
41953
41954 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
41955 when checking the validity of GPT header.
41956 Remove `partno', since it always provides the same information as `i'.
41957
f6f4cfb0 419582008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
41959
41960 * include/grub/efi/time.h: Fix a wrong comment.
41961
79ff665f 419622008-02-19 Pavel Roskin <proski@gnu.org>
41963
41964 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
41965 message.
41966
d38e24c2 419672008-02-19 Bean <bean123ch@gmail.com>
41968
41969 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
41970 (aout_mod_SOURCES): New variable.
41971 (aout_mod_CFLAGS): Likewise.
41972 (aout_mod_LDFLAGS): Likewise.
41973 (_bsd_mod_SOURCES): New variable.
41974 (_bsd_mod_CFLAGS): Likewise.
41975 (_bsd_mod_LDFLAGS): Likewise.
41976 (bsd_mod_SOURCES): New variable.
41977 (bsd_mod_CFLAGS): Likewise.
41978 (bsd_mod_LDFLAGS): Likewise.
41979
41980 * include/grub/aout.h: New file.
41981
41982 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
41983
41984 * include/grub/i386/bsd.h: New file.
41985
41986 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
41987 to make it public.
41988
41989 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
41990 function is called, so that it's possible to change it inside the hook.
41991 (grub_elf64_load): Likewise.
41992 (grub_elf_file): Don't close the file if elf header is not found.
41993 (grub_elf_close): Close the file if grub_elf_file fails (The new
41994 grub_elf_file won't close it).
41995 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
41996 (grub_elf64_size): Likewise.
41997
41998 * kern/i386/loader.S (grub_unix_real_boot): New function.
41999
42000 * loader/aout.c: New file.
42001
42002 * loader/i386/bsd.c: New file.
42003
42004 * loader/i386/bsd_normal.c: New file.
42005
42006 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
42007
42008 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 42009 can test other formats.
d38e24c2 42010
b93bdb0f 420112008-02-19 Robert Millan <rmh@aybabtu.com>
42012
42013 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
42014 (grub_gpt_partition_type_empty): Redefine with macro from
42015 `<grub/gpt_partition.h>'.
42016 (gpt_partition_map_iterate): Adjust partition type comparison.
42017
42018 Export `entry' as partmap-specific `part.data' struct.
42019 (grub_gpt_header, grub_gpt_partentry): Move from here ...
42020
42021 * include/grub/gpt_partition.h (grub_gpt_header)
42022 (grub_gpt_partentry): ... to here (new file).
42023
42024 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
42025
42026 (grub_gpt_partition_type_bios_boot): New const variable, defined
42027 with macro from `<grub/gpt_partition.h>'.
42028
42029 (setup): Replace `first_start' with `embed_region', which keeps
42030 track of the embed region (and is partmap-agnostic).
42031
42032 Replace find_first_partition_start() with find_usable_region(),
42033 which finds a usable region for embedding using partmap-specific
42034 knowledge (supports PC/MSDOS and GPT).
42035
42036 Fix all assumptions that the embed region start at sector 1, using
42037 `embed_region.start' from now on. Similarly, use `embed_region.end'
42038 rather than `first_start' to calculate available size.
42039
42040 In grub_util_info() message, replace "into after the MBR" with an
42041 indication of the specific sector our embed region starts at.
42042
66cb40f6 420432008-02-19 Robert Millan <rmh@aybabtu.com>
42044
42045 * DISTLIST: Replace `commands/ieee1275/halt.c' and
42046 `commands/ieee1275/reboot.c' with `commands/halt.c' and
42047 `commands/reboot.c'.
42048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
42049 (halt_mod_SOURCES): Likewise.
42050 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
42051 (halt_mod_SOURCES): Likewise.
42052
b7202015 420532008-02-17 Christian Franke <franke@computer.org>
42054
42055 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
42056
32b0fc49 420572008-02-17 Robert Millan <rmh@aybabtu.com>
42058
42059 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
42060 set `first_start' to 0 for non-PC/MSDOS partition maps.
42061
aca63502 420622008-02-16 Robert Millan <rmh@aybabtu.com>
42063
42064 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
42065 do not assume partition map is PC/MSDOS before performing checks that
42066 are specific to that layout.
42067
0de8be86 420682008-02-13 Robert Millan <rmh@aybabtu.com>
42069
42070 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
42071 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
42072 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
42073
c3db8364 420742008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
42075
42076 * configure.ac: Only a cosmetic change on the handling of
42077 -fno-stack-protector.
42078
f714229e 420792008-02-12 Alexandre Boeglin <alex@boeglin.org>
42080
c3db8364 42081 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
42082 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
42083 reboot.c.
f714229e 42084 (grub_install_SOURCES): Add halt.mod and reboot.mod.
42085 (halt_mod_SOURCES): New variable.
42086 (halt_mod_CFLAGS): Likewise.
42087 (halt_mod_LDFLAGS): Likewise.
42088 (reboot_mod_SOURCES): Likewise.
42089 (reboot_mod_CFLAGS): Likewise.
42090 (reboot_mod_LDFLAGS): Likewise.
42091
c3db8364 42092 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
42093 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
42094 reboot.c.
f714229e 42095 (halt_mod_SOURCES): Likewise.
42096 (reboot_mod_SOURCES): Likewise.
42097
c3db8364 42098 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
42099 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 42100 (reboot_mod_SOURCES): Likewise.
42101
42102 * commands/i386/pc/reboot.c: merge this file ...
42103
42104 * commands/ieee1275/reboot.c: ... and this file ...
42105
42106 * commands/reboot.c: ... to this file.
c3db8364 42107 Add some precompiler directive to include the correct header for
42108 each machine.
f714229e 42109
42110 * commands/ieee1275/halt.c: move this file ...
42111
42112 * commands/halt.c: ... to here.
c3db8364 42113 Add some precompiler directive to include the correct header for
42114 each machine.
f714229e 42115
42116 * include/grub/efi/efi.h (grub_reboot): New function declaration.
42117 (grub_halt): Likewise.
42118
42119 * kern/efi/efi.c (grub_reboot): New function.
42120 (grub_halt): Likewise.
42121
c74493e0 421222008-02-12 Robert Millan <rmh@aybabtu.com>
42123
42124 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
42125 /dev (like it is done for /dev/mapper). This doesn't provide support
42126 for EVMS, but at least it is now easy to identify the problem when it
42127 arises.
42128
d0db4b04 421292008-02-11 Robert Millan <rmh@aybabtu.com>
42130
42131 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
42132 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
42133 comparing it with -1, not 0.
42134
bf748642 421352008-02-10 Robert Millan <rmh@aybabtu.com>
42136
42137 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
42138 `disk/lvm.c'.
42139 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42140 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
42141
42142 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
42143 `disk/lvm.c' to the end of the list.
42144 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42145 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42146
b5db202a 421472008-02-10 Robert Millan <rmh@aybabtu.com>
42148
42149 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
42150 grub_print_error() instead. This will let user know why we're entering
42151 rescue mode.
42152 Based on suggestions from Sam Morris.
42153
83abee31 421542008-02-10 Alexandre Boeglin <alex@boeglin.org>
42155
42156 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
42157 on remaining N args, instead of "--" arg N times.
42158
78d5a08b 421592008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
42160
42161 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
42162 (fill_with_default_glyph): Changed to use unknown_glyph for fill
42163 pattern for unknown glyphs.
42164
68807e5f 421652008-02-09 Robert Millan <rmh@aybabtu.com>
42166
42167 * configure.ac: Probe for `help2man'.
42168 * Makefile.in (builddir): New variable.
42169 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
42170 or otherwise add a few flags/options to it.
42171 (install-local): For every executable utility or script that is
42172 installed, invoke $(HELP2MAN) to install a manpage based on --help
42173 output.
42174
42175 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
42176 that it doesn't prevent --help from working in build tree.
42177
42178 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
42179 with `bug-grub@gnu.org'.
42180 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
42181 * util/update-grub.in (usage): New function.
42182 Implement proper argument check, with support for --help and --version
42183 (as well as existing -y).
42184
421852008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 42186
42187 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
42188 avoid overwriting previous output.
42189 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
42190
c1962162 421912008-02-09 Robert Millan <rmh@aybabtu.com>
42192
42193 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
42194 drawing the menu.
42195
3dac2e3f 421962008-02-09 Robert Millan <rmh@aybabtu.com>
42197
42198 * commands/sleep.c: New file.
42199 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
42200 (sleep_mod_SOURCES): New variable.
42201 (sleep_mod_CFLAGS): Likewise.
42202 (sleep_mod_LDFLAGS): Likewise.
42203
7a634e08 422042008-02-09 Robert Millan <rmh@aybabtu.com>
42205
42206 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
42207 situations in which we can deduce the RAID size and the superblock
42208 doesn't match it.
42209
b92f0c18 422102008-02-09 Robert Millan <rmh@aybabtu.com>
42211
42212 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
42213 and return a grub_diskmemberlist_t composed of LVM physical volumes.
42214 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
42215
42216 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
42217 and return a grub_diskmemberlist_t composed of physical array members.
42218 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
42219
42220 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
42221 prototype.
42222 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
42223 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
42224 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
42225
42226 * util/grub-probe.c (probe): Move partmap probing code from here ...
42227 (probe_partmap): ... to here.
42228 (probe): Use probe_partmap() once for the disk we're probing, and
42229 additionally, when such disk contains a memberlist() struct member,
42230 once for each disk that is contained in the structure returned by
42231 memberlist().
42232
91a4bf68 422332008-02-09 Robert Millan <rmh@aybabtu.com>
42234
42235 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
42236 environment variable to 'all' in order to obtain debug output from
42237 non-util/ code.
42238 * util/i386/pc/grub-setup.c (main): Likewise.
42239
a96f9caa 422402008-02-08 Robert Millan <rmh@aybabtu.com>
42241
42242 * disk/raid.c (grub_raid_scan_device): Check for
42243 `array->device[sb.this_disk.number]' rather than for
42244 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 42245 guaranteed to be accessible.
a96f9caa 42246
b37a9222 422472008-02-08 Robert Millan <rmh@aybabtu.com>
42248
42249 * disk/raid.c: Update copyright.
42250 * fs/cpio.c: Likewise.
42251 * include/grub/raid.h: Likewise.
42252 * loader/i386/pc/multiboot.c: Likewise.
42253 * util/hostfs.c: Likewise.
42254
5626aee1 422552008-02-08 Robert Millan <rmh@aybabtu.com>
42256
42257 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
42258 to a grub_disk_t array.
42259 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
42260 `device[x]'.
42261 (grub_raid_scan_device): Replace `device[x].name' accesses with
42262 `device[x]->name'. Simplify initialization of `array->device[x]'.
42263
554f0187 422642008-02-08 Robert Millan <rmh@aybabtu.com>
42265
42266 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
42267 grub_dprintf() calls.
42268 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
42269 error message.
42270
1ec8425d 422712008-02-07 Christian Franke <franke@computer.org>
42272
42273 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
42274 instead of fseek and ftell to support large files.
42275 (grub_hostfs_read): Likewise.
42276
f2156fda 422772008-02-07 Robert Millan <rmh@aybabtu.com>
42278
42279 Patch from Jeroen Dekkers.
42280 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 42281 failure, since successfully reading all array members might not be
f2156fda 42282 required.
42283
9216e0e7 422842008-02-06 Robert Millan <rmh@aybabtu.com>
42285
42286 * util/grub-probe.c (probe): Simplify partmap probing (with the
42287 assumption that the first word up to the underscore equals to
42288 the module name).
42289
b0dfd29a 422902008-02-06 Christian Franke <franke@computer.org>
42291
42292 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
42293 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
42294 last block of a cpio or tar stream.
42295 Check for "TRAILER!!!" instead of any empty data
42296 block to detect last block of a cpio stream.
42297 (grub_cpio_dir): Fix constness of variable np.
42298 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
42299 cpio or tar trailer is detected. This fixes a crash
42300 on open of a non existing file.
42301
c32865bf 423022008-02-05 Bean <bean123ch@gmail.com>
42303
42304 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
42305 address of entry.
42306 (grub_multiboot_load_elf64): Likewise.
42307 (grub_multiboot): Initialize mbi structure.
42308
42309 * util/grub-fstest.c: Don't include unused header file script.h.
42310
fe6b695a 42311 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 42312 of file.
42313 (grub_fstest_SOURCES): Likewise.
42314
409480b7 423152008-02-05 Robert Millan <rmh@aybabtu.com>
42316
42317 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
42318 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
42319 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
42320 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
42321
42322 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
42323 (translation_table): Replace hardcoded values with macros
42324 provided by `<grub/term.h>'.
42325
42326 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
42327 (keyboard_map): Correct/add a few values, with macros provided
42328 by `<grub/term.h>'.
42329 (keyboard_map_shift): Zero values that don't differ from their
42330 `keyboard_map' equivalents.
42331 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
42332 Discard the second scan code that is always sent by Caps lock.
42333 Only use `keyboard_map_shift' when it provides a non-zero value,
42334 otherwise fallback to `keyboard_map'.
42335
99fadbaa 423362008-02-04 Bean <bean123ch@gmail.com>
42337
42338 * Makefile.in (enable_grub_fstest): New variable.
42339
42340 * conf/common.rmk (grub_fstest_init.lst): New rule.
42341 (grub_fstest_init.h): Likewise.
42342 (grub_fstest_init.c): Likewise.
42343 (util/grub-fstest.c_DEPENDENCIES): New variable.
42344 (grub_fstest_SOURCES): Likewise.
42345
42346 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
42347
42348 * util/grub-fstest.c: New file.
42349
bf567c50 423502008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42351
42352 Make grub-setup handle a separate root device.
f19dbdb7 42353
bf567c50 42354 * util/i386/pc/grub-setup.c (setup): Always open the root device,
42355 so that the root device can be compared with the destination
42356 device.
42357 When embedding the core image, if the root and destination devices
42358 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
42359 0xFF.
42360 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 42361
9be6b98b 423622008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42363
42364 Add support for having a grub directory in a different drive. This
42365 is still only the data handling part.
f19dbdb7 42366
9be6b98b 42367 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
42368 (codestart): Save %dh in GRUB_ROOT_DRIVE.
42369 (grub_root_drive): New variable.
42370
42371 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
42372 instead of GRUB_BOOT_DRIVE to construct a device name. Set
42373 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
42374 as it was.
42375
42376 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
42377
42378 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
42379 macro.
42380 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
42381
42382 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
42383 is bogus, because PXE booting does not specify any drive
42384 correctly.
42385
42386 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
42387 am not sure if this is really correct.
42388
42389 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
42390 is always identical to the boot drive when booting from a CD.
42391
42392 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
42393 longer.
42394 (root_drive): New variable.
42395 (real_start): Unconditionally set %dh to ROOT_DRIVE.
42396 (setup_sectors): Push %dx right after popping it, because %dh will
42397 be modified later.
42398 (copy_buffer): Restore %dx.
42399
e0ca0677 424002008-02-03 Robert Millan <rmh@aybabtu.com>
42401
42402 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
42403 use `cdboot.img' for cdrom images.
42404
3b3f6629 424052008-02-03 Robert Millan <rmh@aybabtu.com>
42406
42407 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
42408 only setup gfxterm when `font' command has succeeded.
42409
d42b3672 424102008-02-03 Robert Millan <rmh@aybabtu.com>
42411
42412 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
42413 (grub_rescue_cmd_multiboot_loader)
42414 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
42415
fa370ea6 424162008-02-03 Pavel Roskin <proski@gnu.org>
42417
e0c5dacb 42418 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 42419 %edx and %esi from stack only after grub_gate_a20() is called.
42420 grub_gate_a20() clobbers %edx.
42421
f2a76e1d 424222008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42423
42424 * configure.ac (AC_INIT): Bumped to 1.96.
42425
42426 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
42427 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
42428 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
42429 video/readers/png.c.
42430
90fd32d1 424312008-02-03 Bean <bean123ch@gmail.com>
9be665dd 42432
42433 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
42434 (cdboot_img_SOURCES): New variable.
42435 (cdboot_img_ASFLAGS): New variable.
42436 (cdboot_img_LDFLAGS): New variable.
42437
42438 * boot/i386/pc/cdboot.S: New file.
42439
42440 * disk/i386/pc/biosdisk.c (cd_start): New variable.
42441 (cd_count): Likewise.
42442 (grub_biosdisk_get_drive): Add support for cd device.
42443 (grub_biosdisk_call_hook): Likewise.
42444 (grub_biosdisk_iterate): Likewise.
42445 (grub_biosdisk_open): Likewise.
42446 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
42447 (grub_biosdisk_rw): Support reading from cd device.
42448 (GRUB_MOD_INIT): Iterate cd devices.
42449
42450 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
42451 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
42452 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
42453
42454 * kern/i386/pc/init.c (make_install_device): Check for cd device.
42455
4020aa53 424562008-02-02 Robert Millan <rmh@aybabtu.com>
42457
42458 * commands/read.c: New file.
42459 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
42460 (read_mod_SOURCES): New variable.
42461 (read_mod_CFLAGS): Likewise.
42462 (read_mod_LDFLAGS): Likewise.
42463
e03a1132 424642008-02-02 Robert Millan <rmh@aybabtu.com>
42465
42466 * normal/main.c (grub_normal_execute): Check for `menu->size' when
42467 determining whether menu has to be displayed.
42468
58c69220 424692008-02-02 Marco Gerards <marco@gnu.org>
42470
42471 * bus/pci.c: New file.
42472
42473 * include/grub/pci.h: Likewise.
42474
42475 * include/grub/i386/pc/pci.h: Likewise.
42476
42477 * commands/lspci.c: Likewise.
42478
42479 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
42480 `lspci.mod'.
42481 (pci_mod_SOURCES): New variable.
42482 (pci_mod_CFLAGS): Likewise.
42483 (pci_mod_LDFLAGS): Likewise.
42484 (lspci_mod_SOURCES): Likewise.
42485 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 42486 (lspci_mod_LDFLAGS): Likewise.
58c69220 42487
c004e1b4 424882008-02-02 Bean <bean123ch@gmail.com>
42489
42490 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
42491 (grub_ufs_get_file_block): Fix indirect block calculation problem.
42492
42493 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
42494 (grub_xfs_btree_node): New structure.
42495 (grub_xfs_btree_root): New structure.
42496 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
42497 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
42498 (GRUB_XFS_EXTENT_BLOCK): Likewise.
42499 (GRUB_XFS_EXTENT_SIZE): Likewise.
42500 (grub_xfs_read_block): Support btree format type.
42501 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
42502 Use directory block as basic unit.
42503
42504 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
42505
42506 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
42507 __attribute__ ((__regparm__ (1))).
42508
f95562bf 425092008-02-01 Robert Millan <rmh@aybabtu.com>
42510
42511 Correct a mistake in previous commit.
42512
42513 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
42514 top.
42515 (normal/command.c_DEPENDENCIES): New variable.
42516
7d31f41f 425172008-02-01 Robert Millan <rmh@aybabtu.com>
42518
42519 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
42520 top.
42521 (normal/command.c_DEPENDENCIES): New variable.
42522 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
42523 * conf/i386-ieee1275.rmk: Likewise.
42524 * conf/i386-linuxbios.rmk: Likewise.
42525 * conf/i386-pc.rmk: Likewise.
42526 * conf/sparc64-ieee1275.rmk: Likewise.
42527 * conf/powerpc-ieee1275.rmk: Likewise.
42528 (grub_emu_SOURCES): Add `fs/fshelp.c'.
42529
42530 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
42531
60b6be74 425322008-02-01 Robert Millan <rmh@aybabtu.com>
42533
42534 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
42535 call at beginning of function.
42536
078522ab 425372008-01-31 Pavel Roskin <proski@gnu.org>
42538
42539 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 42540 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
42541 (grub_mkrescue_SOURCES): Likewise.
078522ab 42542 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
42543
ccaa8a5f 425442008-01-30 Robert Millan <rmh@aybabtu.com>
42545
42546 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
42547 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
42548 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
42549 (grub_probe_SOURCES): ... to here.
42550
42551 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
42552 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
42553 * conf/i386-ieee1275.rmk: Likewise.
42554 * conf/i386-linuxbios.rmk: Likewise.
42555 * conf/powerpc-ieee1275.rmk: Likewise.
42556
ae5a9cd7 425572008-01-30 Tristan Gingold <gingold@free.fr>
42558
42559 * kern/rescue.c: Silently accept empty lines.
42560
70bc2ef2 425612008-01-29 Bean <bean123ch@gmail.com>
42562
42563 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
42564 (real_code_2): Code cleanup and change comment style.
42565 (move_memory): Avoid using 32-bit address mode.
42566
6a4d50ea 425672008-01-29 Bean <bean123ch@gmail.com>
42568
42569 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
42570 (png_mod_SOURCES): New variable.
42571 (png_mod_CFLAGS): Likewise.
42572 (png_mod_LDFLAGS): Likewise.
42573
42574 * video/readers/png.c: New file.
42575
11cc30ac 425762008-01-28 Robert Millan <rmh@aybabtu.com>
42577
42578 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
42579 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
42580 `ifndef GRUB_MOD_GAP' hack.
42581 * util/elf/grub-mkimage.c (add_segments): Likewise.
42582
3abc589f 425832008-01-27 Robert Millan <rmh@aybabtu.com>
42584
42585 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
42586 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 42587 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 42588
e1907778 425892008-01-27 Robert Millan <rmh@aybabtu.com>
42590
42591 Get grub-emu to build again (including parallel builds).
42592
42593 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
42594 Split into ...
42595 (util/grub-emu.c_DEPENDENCIES): ... this, ...
42596 (normal/execute.c_DEPENDENCIES): ... this, ...
42597 (grub-emu_DEPENDENCIES): ... and this.
42598
42599 * conf/i386-efi.rmk: Likewise.
42600 * conf/i386-linuxbios.rmk: Likewise.
42601 * conf/i386-ieee1275.rmk: Likewise.
42602 * conf/powerpc-ieee1275.rmk: Likewise.
42603 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
42604
2216b101 426052008-01-27 Robert Millan <rmh@aybabtu.com>
42606
42607 * NEWS: Add a few items.
42608
f75172d9 426092008-01-27 Robert Millan <rmh@aybabtu.com>
42610
42611 Fix parallel builds with grub-emu. Based on earlier commit for
42612 grub-probe and grub-setup.
42613
42614 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42615 (util/grub-emu.c_DEPENDENCIES): ... this.
42616 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42617 (util/grub-emu.c_DEPENDENCIES): ... this.
42618 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42619 (util/grub-emu.c_DEPENDENCIES): ... this.
42620 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42621 (util/grub-emu.c_DEPENDENCIES): ... this.
42622 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42623 (util/grub-emu.c_DEPENDENCIES): ... this.
42624
3f51de77 426252008-01-27 Pavel Roskin <proski@gnu.org>
42626
42627 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
42628 to create a gap between _end and the modules added to the image
42629 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
42630 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
42631 * util/elf/grub-mkimage.c (add_segments): Likewise.
42632
2033f53e 426332008-01-26 Pavel Roskin <proski@gnu.org>
42634
42635 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
42636 just return an error.
42637
22da1f6f 426382008-01-26 Bean <bean123ch@gmail.com>
42639
42640 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
42641 (grub_reiserfs_get_item): Save offset of the next item.
42642 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
42643
2a9525e6 426442008-01-25 Robert Millan <rmh@aybabtu.com>
42645
42646 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
42647 make all filesystem sources appear together (possibly fixing omissions
42648 while at it).
42649 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42650 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42651 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42652 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42653
42654 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
42655 add `kern/file.c'.
42656 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
42657 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42658 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
42659 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42660
42661 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
42662 (probe): Add a sanity check to make sure of our ability to read
42663 requested files when probing for filesystem type.
42664
42665 * genmk.rb: Update copyright year (2007).
42666
42667 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
42668 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
42669 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
42670 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
42671 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
42672 : Remove function prototypes.
42673
b95f71b5 426742008-01-25 Robert Millan <rmh@aybabtu.com>
42675
42676 Revert my previous commits (based on wrong assumption of how grub_errno
42677 works).
42678
fe6b695a 42679 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 42680 * kern/file.c (grub_file_open): Likewise.
42681
d08bbb49 426822008-01-24 Pavel Roskin <proski@gnu.org>
42683
42684 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
42685 that hang if GRUB tries to setup colors.
42686 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
42687 colors for firmwares that don't support it.
42688 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
42689 Recognize Open Hack'Ware, set flags to work around its
42690 limitations.
42691
605e36ed 426922008-01-24 Robert Millan <rmh@aybabtu.com>
42693
42694 * kern/file.c (grub_file_open): Do not account previous failures of
42695 unrelated functions when grub_errno is checked for.
42696 Reported by Oleg Strikov.
42697
bac332a1 426982008-01-24 Bean <bean123ch@gmail.com>
42699
42700 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
42701 (grub_ufs_sblock): New member volume name.
42702 (grub_ufs_find_file): Fix string copy bug.
42703 (grub_ufs_label): Implement this function properly.
42704
42705 * fs/hfs.c (grub_hfs_cnid_type): New enum.
42706 (grub_hfs_iterate_records): Use the correct file number for extents
42707 and catalog file. Fix problem in next index calculation.
42708 (grub_hfs_find_node): Replace recursive function call with loop.
42709 (grub_hfs_iterate_dir): Replace recursive function call with loop.
42710
15c80c09 427112008-01-23 Robert Millan <rmh@aybabtu.com>
42712
42713 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
42714 `<grub/symbol.h>' and `<grub/multiboot.h>'.
42715 (grub_multiboot2_real_boot): New function prototype.
42716
42717 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
42718 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
42719
42720 * kern/i386/ieee1275/init.c (grub_os_area_addr)
42721 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
42722
305338fd 427232008-01-23 Robert Millan <rmh@aybabtu.com>
42724
42725 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
42726 #ifdef'ed out grub_printf().
42727
3ea52685 427282008-01-23 Robert Millan <rmh@aybabtu.com>
42729
42730 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
42731 grub_dprintf calls, since they make "debug=all" mode unusable.
42732 (grub_console_checkkey): Likewise.
42733
5882ae4b 427342008-01-23 Robert Millan <rmh@aybabtu.com>
42735
42736 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
42737 `term/i386/pc/at_keyboard.c'.
42738 (pkglib_MODULES): Add `serial.mod'.
42739 (serial_mod_SOURCES): New variable.
42740 (serial_mod_CFLAGS): Likewise.
42741 (serial_mod_LDFLAGS): Likewise.
42742
42743 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
42744 `<grub/powerpc/ieee1275/console.h>'.
42745 (grub_keyboard_controller_init): New function prototype.
42746 (grub_console_checkkey): Likewise.
42747 (grub_console_getkey): Likewise.
42748
42749 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
42750 keyboard on i386.
42751
42752 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
42753 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
42754
06ab5303 427552008-01-23 Robert Millan <rmh@aybabtu.com>
42756
42757 * kern/i386/pc/init.c (make_install_device): When memdisk image is
42758 present, "(memdisk)/boot/grub" becomes the default prefix.
42759
42760 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
42761 a memdisk tarball with all the modules. Add --overlay=DIR option that
42762 allows users to overlay additional files into the image.
42763
dbb475a4 427642008-01-23 Robert Millan <rmh@aybabtu.com>
42765
42766 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
42767 and `machine/memory.h'.
42768 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
42769 (_multiboot_mod_SOURCES): New variable.
42770 (_multiboot_mod_CFLAGS): Likewise.
42771 (_multiboot_mod_LDFLAGS): Likewise.
42772 (multiboot_mod_SOURCES): Likewise.
42773 (multiboot_mod_CFLAGS): Likewise.
42774 (multiboot_mod_LDFLAGS): Likewise.
42775
42776 * include/grub/i386/ieee1275/loader.h: New file.
42777
42778 * include/grub/i386/ieee1275/machine.h: Likewise.
42779
42780 * include/grub/i386/ieee1275/memory.h: Likewise.
42781
42782 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
42783 variable declaration.
42784 (grub_os_area_size): Likewise.
42785
42786 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
42787 (grub_lower_mem, grub_upper_mem): New variables.
42788 (grub_stop_floppy): New function (just to make
42789 grub_multiboot2_real_boot() happy).
42790
42791 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
42792 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
42793 (grub_stop): New function.
42794 Include `"../realmode.S"' and `"../loader.S"'.
42795
42796 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
42797 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
42798
42799 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
42800 rely on grub_multiboot2_real_boot() for final boot.
42801
25638629 428022008-01-22 Robert Millan <rmh@aybabtu.com>
42803
42804 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
42805 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
42806 device that doesn't look like an SD card.
42807 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42808 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
42809 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
42810 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
42811 found.
42812
9dad816d 428132008-01-22 Robert Millan <rmh@aybabtu.com>
42814
42815 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
42816 avoid claiming over our own code.
42817
34842f2d 428182008-01-22 Bean <bean123ch@gmail.com>
42819
42820 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
42821 (jpeg_mod_SOURCES): New variable.
42822 (jpeg_mod_CFLAGS): Likewise.
42823 (jpeg_mod_LDFLAGS): Likewise.
42824
42825 * video/readers/jpeg.c : New file.
42826
44023a28 428272008-01-22 Bean <bean123ch@gmail.com>
42828
42829 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
42830 there are no more items.
42831
bc2d8ac6 428322008-01-21 Robert Millan <rmh@aybabtu.com>
42833
42834 * kern/mm.c (grub_mm_init_region): Improve debug message.
42835
261bd4bc 428362008-01-21 Robert Millan <rmh@aybabtu.com>
42837
42838 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
42839 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
42840 address.
42841 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
42842 a C macro.
42843 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
42844 Indicates start of upper memory.
42845 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
42846 (generate_image): Abort when image size is big enough to corrupt
42847 upper memory.
42848
42849 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
42850 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
42851 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42852 instead of hardcoding 0xA0000.
42853 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
42854 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42855 instead of hardcoding 0xA0000.
42856
f970b55e 428572008-01-21 Robert Millan <rmh@aybabtu.com>
42858
42859 * disk/memdisk.c (memdisk_size): New variable.
42860 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
42861 `memdisk_size'.
42862 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
42863 image to dynamic memory.
42864 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
42865 `memdisk_size'. Free memdisk block.
42866
1a8b0526 428672008-01-21 Robert Millan <rmh@aybabtu.com>
42868
42869 Fix detection of very small filesystems (like tar).
42870
42871 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
42872 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
42873 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
42874 a problem with this disk).
42875
6e9b4aab 428762008-01-21 Robert Millan <rmh@aybabtu.com>
42877
42878 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
42879 on grub_biosdisk_rw_standard() error.
42880
0d8837b2 428812008-01-21 Robert Millan <rmh@aybabtu.com>
42882
42883 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
42884 recent changes.
42885 * kern/elf.c: Likewise.
42886 * kern/ieee1275/ieee1275.c: Likewise.
42887 * kern/powerpc/ieee1275/openfw.c: Likewise.
42888 * term/ieee1275/ofconsole.c: Likewise.
42889
ffd36e34 428902008-01-21 Robert Millan <rmh@aybabtu.com>
42891
42892 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
42893
3f0093d0 42894 * include/grub/kernel.h (grub_arch_memdisk_addr)
42895 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 42896
3f0093d0 42897 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
42898 (grub_arch_memdisk_size): ... to here.
ffd36e34 42899
6c391b21 429002008-01-21 Robert Millan <rmh@aybabtu.com>
42901
42902 Mostly based on bugfix from Bean.
42903
42904 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
42905 attribute with hook() parameter.
42906 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
42907 declaration.
42908 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
42909 attribute with hook() parameter.
42910 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
42911 declaration.
42912
55a581dc 429132008-01-21 Robert Millan <rmh@aybabtu.com>
42914
42915 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
42916 (pkglib_MODULES): Add `memdisk.mod'.
42917 (memdisk_mod_SOURCES): New variable.
42918 (memdisk_mod_CFLAGS): Likewise.
42919 (memdisk_mod_LDFLAGS): Likewise.
42920
42921 * disk/memdisk.c: New file.
42922
42923 * include/grub/disk.h (grub_disk_dev_id): Add
42924 `GRUB_DISK_DEVICE_MEMDISK_ID'.
42925
42926 * include/grub/i386/pc/kernel.h
42927 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
42928 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
42929 (grub_kernel_image_size): New variable declaration.
42930 (grub_total_module_size): Likewise.
42931 (grub_memdisk_image_size): Likewise.
42932
42933 * include/grub/i386/pc/memory.h
42934 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
42935
42936 * include/grub/kernel.h: Include `<grub/symbol.h>'.
42937 (grub_arch_memdisk_addr): New variable declaration.
42938 (grub_arch_memdisk_size): Likewise.
42939
42940 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
42941 (grub_arch_memdisk_size): Likewise.
42942
42943 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
42944 (codestart): Replace hardcoded `0x100000' with
42945 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
42946
42947 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
42948 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
42949 not NULL, append the contents of the file it refers to, at the end of
42950 the compressed kernel image. Initialize `grub_memdisk_image_size'
42951 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
42952 (options): Add "memdisk"|'m' option.
42953 (main): Parse --memdisk|-m option, and pass user-provided path as
42954 parameter to generate_image().
42955
3d7f54c9 429562008-01-20 Robert Millan <rmh@aybabtu.com>
42957
42958 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
42959 grub_dprintf() calls from here ...
42960 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
42961
0bf74728 429622008-01-20 Robert Millan <rmh@aybabtu.com>
42963
42964 Fix detection of "real mode" when /options/real-mode? doesn't exist.
42965
42966 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
42967 declaration.
42968 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
42969 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
42970 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 42971 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 42972 property).
42973 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
42974 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
42975
33bf70a7 429762008-01-19 Robert Millan <rmh@aybabtu.com>
42977
fe6b695a 42978 Get rid of confusing function (superseded by
33bf70a7 42979 `grub_ieee1275_get_integer_property')
42980 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
42981 prototype.
42982 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
42983 function.
42984 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
42985 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 42986 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 42987
e2da7d26 429882008-01-19 Robert Millan <rmh@aybabtu.com>
42989
42990 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
42991 command after "shut-down", since implementations differ on which
42992 the command for halt is.
42993
59f1fd8d 429942008-01-19 Robert Millan <rmh@aybabtu.com>
42995
42996 * include/grub/i386/linuxbios/console.h: Add header protection.
42997 (grub_keyboard_controller_init): New function prototype.
42998 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
42999 (KEYBOARD_COMMAND_READ): Likewise.
43000 (KEYBOARD_COMMAND_WRITE): Likewise.
43001 (KEYBOARD_SCANCODE_SET1): Likewise.
43002 (grub_keyboard_controller_write): New function.
43003 (grub_keyboard_controller_read): Likewise.
43004 (grub_keyboard_controller_init): Likewise.
43005
43006 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
43007 (grub_console_init): On coreboot/LinuxBIOS, call
43008 grub_keyboard_controller_init().
43009
5f5a7c15 430102008-01-19 Robert Millan <rmh@aybabtu.com>
43011
43012 PowerPC changes provided by Pavel Roskin.
43013
43014 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
43015 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
43016 don't rely on cmain() doing it.
43017 * kern/i386/ieee1275/startup.S (_start): Store %eax in
43018 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
43019
1210e168 430202008-01-16 Robert Millan <rmh@aybabtu.com>
43021
43022 * include/grub/i386/linuxbios/memory.h
43023 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
43024 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
43025 receive `table_header' as argument. Instead, probe for it in the
43026 known memory ranges where it can be present.
43027 (grub_available_iterate): Do not pass a fixed `table_header' address
43028 to grub_linuxbios_table_iterate().
43029
3d04eab8 430302008-01-15 Robert Millan <rmh@aybabtu.com>
43031
43032 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
43033 * conf/i386-ieee1275.rmk: New file.
43034 * include/grub/i386/ieee1275/console.h: Likewise.
43035 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
43036 * include/grub/i386/ieee1275/kernel.h: Likewise.
43037 * include/grub/i386/ieee1275/time.h: Likewise.
43038 * kern/i386/ieee1275/init.c: Likewise.
43039 * kern/i386/ieee1275/startup.S: Likewise.
43040
d1bc1b73 430412008-01-15 Robert Millan <rmh@aybabtu.com>
43042
43043 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
43044 when pointers are 32-bit (but still do set it to one when they are
43045 64-bit).
43046
66a65807 430472008-01-15 Robert Millan <rmh@aybabtu.com>
43048
43049 * include/grub/ieee1275/ieee1275.h
43050 (grub_ieee1275_get_integer_property): New function prototype.
43051
43052 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
43053 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 43054 grub_ieee1275_get_property() to handle endianness.
66a65807 43055
43056 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
43057 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 43058 where appropriate.
66a65807 43059 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
43060 (grub_map): Likewise.
43061 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
43062
a83ccafd 430632008-01-15 Bean <bean123ch@gmail.com>
43064
43065 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
43066 (grub_script_execute_cmdline): Reset grub_errno.
43067
43068 * normal/main.c (read_config_file): Reset grub_errno.
43069
43070 * normal/parse.y (script_init): New.
43071 (script): Move function and menuentry here.
43072 (delimiter): New.
43073 (command): Add delimiter at the end of command.
43074 (commands): Adjust to match the new command.
43075 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 43076 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 43077 (if): Use the new commands.
43078
43079 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
43080
df6ecfc6 430812008-01-15 Robert Millan <rmh@aybabtu.com>
43082
43083 * normal/menu.c (run_menu): Move timeout message from here ...
43084 (print_timeout): ... to here.
43085 (run_menu): Use print_timeout() once during initial draw to print
43086 the whole message, and again in every clock tick to update only
43087 the number of seconds.
43088
87ae25eb 430892008-01-15 Robert Millan <rmh@aybabtu.com>
43090
43091 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
43092 actual size of `available' from grub_ieee1275_get_property(), and
43093 restrict parsing to that bound.
43094
47bf09a4 430952008-01-15 Christian Franke <franke@computer.org>
43096
43097 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
43098 (argp_program_version): Remove variable.
43099 (argp_program_bug_address): Likewise.
43100 (options): Convert from struct argp_option to struct option.
43101 (struct arguments): Remove.
43102 (parse_opt): Remove.
43103 (usage): New function.
43104 (main): Replace struct args members by simple variables.
43105 Replace argp_parse() by getopt_long().
43106 Add switch to evaluate options.
43107 Add missing "(...)" around root_dev in prefix string.
43108
c86f1469 431092008-01-14 Robert Millan <rmh@aybabtu.com>
43110
43111 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
43112 for grub_ieee1275_exit(), in order to improve portability.
43113
e622c559 431142008-01-14 Robert Millan <rmh@aybabtu.com>
43115
43116 * util/grub.d/10_linux.in (prefix): Define.
43117 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
43118
44cb1ec8 431192008-01-13 Pavel Roskin <proski@gnu.org>
43120
43121 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
43122 grub_errno if no errors have been detected.
43123
1eb8c802 431242008-01-12 Robert Millan <rmh@aybabtu.com>
43125
43126 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
43127 (grub_util_get_dev_abstraction): New function prototype.
43128
43129 * util/getroot.c: Include `<grub/util/getroot.h>'
43130 (grub_util_get_grub_dev): Move detection of abstraction type to ...
43131 (grub_util_get_dev_abstraction): ... here (new function).
43132
43133 * util/grub-probe.c: Convert PRINT_* to an enum. Add
43134 `PRINT_ABSTRACTION'.
43135 (probe): Probe for abstraction type when requested.
43136 (main): Understand `--target=abstraction'.
43137
43138 * util/i386/efi/grub-install.in: Add abstraction module to core
43139 image when it is found to be necessary.
43140 * util/i386/pc/grub-install.in: Likewise.
43141 * util/powerpc/ieee1275/grub-install.in: Likewise.
43142
43143 * util/update-grub_lib.in (font_path): Return system path without
43144 converting to GRUB path.
43145 * util/update-grub.in: Convert system path returned by font_path()
43146 to a GRUB path. Use `grub-probe -t abstraction' to determine what
43147 abstraction module is needed for loading fonts (if any). Export
43148 that as `GRUB_PRELOAD_MODULES'.
43149 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
43150 insmod commands).
43151
52bd3de9 431522008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
43153
43154 Remove some unused code from reiserfs.
f19dbdb7 43155
52bd3de9 43156 * fs/reiserfs.c (struct grub_reiserfs_key)
43157 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
43158 (struct grub_reiserfs_node_body): Removed.
43159 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
43160 Likewise.
43161 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43162 Likewise.
43163 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43164 Likewise.
43165 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43166 Likewise.
43167 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
43168 Likewise.
43169 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
43170 Likewise.
43171 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43172 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43173 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43174
2f80039d 431752008-01-10 Robert Millan <rmh@aybabtu.com>
43176
43177 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
43178 Determines if a file is garbage left by packaging systems, etc.
43179 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
43180 for processing /etc/grub.d scripts.
43181 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
43182 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
43183 as a condition for processing Linux images.
43184
87888032 431852008-01-10 Pavel Roskin <proski@gnu.org>
43186
43187 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
43188 to compile reiserfs.c on PowerPC.
43189
7e54fced 431902008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 43191
43192 * kern/device.c (grub_device_iterate): Do not abort device iteration
43193 when one of the devices cannot be opened.
43194 * kern/disk.c (grub_disk_open): Do not account previous failures of
43195 unrelated functions when grub_errno is checked for.
43196
5aa541e6 431972008-01-08 Robert Millan <rmh@aybabtu.com>
43198
43199 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
43200 `! grub_linux_is_bzimage', change order of address comparison to make
43201 it more intuitive, and improve "too big zImage" error message.
43202
7076340d 432032008-01-08 Robert Millan <rmh@aybabtu.com>
43204
43205 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
43206 `$(update-grub_DATA)'.
43207 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
43208 targets.
43209
9ca70333 432102008-01-07 Robert Millan <rmh@aybabtu.com>
43211
43212 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
43213 which instruction is modified by grub-setup during installation
43214 (since it wasn't obvious by only looking at this file).
43215
38ccf575 432162008-01-07 Robert Millan <rmh@aybabtu.com>
43217
43218 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
43219 listing actual TODO items.
43220
f5db4291 432212008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43222
868967cf 43223 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
43224 correctly.
43225 (grub_reiserfs_get_key_offset): Likewise.
43226 (grub_reiserfs_set_key_offset): Likewise.
43227 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 43228 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 43229
43230 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
43231 better to remove the bitfield version completely.
f19dbdb7 43232
868967cf 432332008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43234
f5db4291 43235 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
43236 allocated from the heap, due to the fshelp implementation.
43237 (grub_reiserfs_dir): Free NODE, due to the same reason.
43238
492e6d9d 432392008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43240
43241 Mostly from Vincent Pelletier:
f19dbdb7 43242
492e6d9d 43243 * fs/reiserfs.c: New file.
f19dbdb7 43244
492e6d9d 43245 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
43246 (reiserfs_mod_SOURCES): New variable.
43247 (reiserfs_mod_CFLAGS): Likewise.
43248 (reiserfs_mod_LDFLAGS): Likewise.
43249
43250 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
43251 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
43252 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
43253 normal/color.c.
43254
9ce3e7c1 432552008-01-06 Robert Millan <rmh@aybabtu.com>
43256
43257 * normal/color.c: Remove `<grub/env.h>'.
43258
f3b58148 432592008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
43260
43261 * include/grub/normal.h: Include <grub/env.h>.
43262
7ac3bcfa 432632008-01-05 Robert Millan <rmh@aybabtu.com>
43264
43265 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
43266 usage example with `(hd0,1)'.
fb358190 43267 Reported by Samuel Thibault.
7ac3bcfa 43268
c8ee99d7 432692008-01-05 Robert Millan <rmh@aybabtu.com>
43270
43271 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
43272 (grub_linux_boot_zimage): Rename to ...
43273 (grub_linux_boot): ... this.
43274 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
43275 (grub_linux_boot_zimage): Conditionalize zImage copy.
43276
43277 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
43278 (grub_linux_boot_bzimage): Remove prototype.
43279 (grub_linux_boot_zimage): Rename to ...
43280 (grub_linux_boot): ... this.
43281
43282 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
43283 (grub_linux_boot): Remove function.
43284
0ece25b1 432852008-01-05 Robert Millan <rmh@aybabtu.com>
43286
43287 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
43288 (grub_env_write_color_highlight): Likewise.
43289 (grub_wait_after_message): Likewise.
43290
43291 * normal/color.c: New file.
43292
43293 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43294 (normal_mod_DEPENDENCIES): Likewise.
43295
43296 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43297 (normal_mod_DEPENDENCIES): Likewise.
43298
43299 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43300 (normal_mod_DEPENDENCIES): Likewise.
43301
43302 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43303 (normal_mod_DEPENDENCIES): Likewise.
43304
43305 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
43306 for waiting after a message is printed.
43307 * normal/main.c (read_config_file): Likewise.
43308 (grub_normal_init): Register grub_env_write_color_normal() and
43309 grub_env_write_color_highlight() hooks. Mark `color_normal' and
43310 `color_highlight' variables as global.
43311
43312 * normal/menu.c (grub_wait_after_message): New function.
43313 (grub_color_menu_normal): New variable. Replaces ...
43314 (GRUB_COLOR_MENU_NORMAL): ... this macro.
43315 (grub_color_menu_highlight): New variable. Replaces ...
43316 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
43317 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
43318 `GRUB_TERM_COLOR_STANDARD'.
43319 (print_message): Use `grub_setcolorstate' to reload colors. Rename
43320 `normal_code' and `highlight_code' to `old_color_normal' and
43321 `old_color_highlight', respectively.
43322 (grub_menu_init_page): Update colors when drawing the menu, based on
43323 `menu_color_normal' and `menu_color_highlight' variables.
43324 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
43325 a message is printed.
43326
182dd4e5 433272008-01-05 Robert Millan <rmh@aybabtu.com>
43328
43329 * kern/env.c (grub_env_context_open): Propagate hooks for global
43330 variables to new context.
43331
43332 * kern/main.c (grub_set_root_dev): Export `root' variable.
43333
ddf8f6ad 433342008-01-05 Robert Millan <rmh@aybabtu.com>
43335
43336 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 43337 discs unconditionally, since udev and others have options to provide
ddf8f6ad 43338 them.
43339
d8b43d9b 433402008-01-05 Robert Millan <rmh@aybabtu.com>
43341
43342 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
43343
2bff2de3 433442008-01-04 Christian Franke <franke@computer.org>
43345
43346 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
43347 of eisa_mmap.
43348
97eab917 433492008-01-03 Pavel Roskin <proski@gnu.org>
43350
43351 * kern/i386/linuxbios/init.c: Put "void" to all function
43352 declarations with no arguments.
43353 * kern/powerpc/ieee1275/init.c: Likewise.
43354 * term/i386/pc/at_keyboard.c: Likewise.
43355 * term/i386/pc/vga_text.c: Likewise.
43356 * util/grub-mkdevicemap.c: Likewise.
43357
b9416d00 433582008-01-02 Robert Millan <rmh@aybabtu.com>
43359
43360 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
43361 message when loaded image is out of bounds.
43362 (grub_multiboot_load_elf64): Likewise.
43363
92695df9 433642008-01-02 Pavel Roskin <proski@gnu.org>
43365
43366 * util/grub.d/10_linux.in: Try version without ".old" when
43367 looking for initrd. It's better to use initrd from the newer
43368 kernel of the same version than no initrd at all.
43369
d98d9cad 433702008-01-01 Robert Millan <rmh@aybabtu.com>
43371
43372 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
43373
dbfdce36 433742008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
43375
f19dbdb7 43376 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 43377 grub_video_get_active_render_target.
43378 (grub_video_adapter): Added unmap_color and get_active_render_target.
43379
f19dbdb7 43380 * video/video.c: Added grub_video_unmap_color and
dbfdce36 43381 grub_video_get_active_render_target.
43382 (grub_video_get_info): Changed method to accept NULL pointer as an
43383 argument to allow detection of active video adapter.
43384
43385 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
43386 grub_video_vbe_unmap_color_int.
43387 Added grub_video_vbe_unmap_color and
43388 grub_video_vbe_get_active_render_target.
43389 (grub_video_vbe_adapter): Added unmap_color and
43390 get_active_render_target.
43391
f19dbdb7 43392 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 43393 with grub_video_vbe_unmap_color_int.
43394
43395 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
43396 (DEFAULT_NORMAL_COLOR): Likewise.
43397 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
43398 (DEFAULT_FG_COLOR): Removed.
43399 (DEFAULT_BG_COLOR): Likewise.
43400 (DEFAULT_CURSOR_COLOR): Changed value.
43401 (grub_virtual_screen): Added standard_color_setting,
43402 normal_color_setting, highlight_color_setting and term_color.
43403 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
43404 (bitmap_width): Added.
43405 (bitmap_height): Likewise.
43406 (bitmap): Likewise.
43407 (set_term_color): Likewise.
43408 (grub_virtual_screen_setup): Changed to use new terminal coloring
43409 settings.
43410 (grub_gfxterm_init): Added init for bitmap.
43411 (grub_gfxterm_fini): Added destroy for bitmap.
43412 (redraw_screen_rect): Updated to use background bitmap and new
43413 terminal coloring.
43414 (scroll_up): Added optimization for case when there is no bitmap.
43415 (grub_gfxterm_cls): Fixed to use correct background color.
43416 (grub_virtual_screen_setcolorstate): Changed to use new terminal
43417 coloring.
43418 (grub_virtual_screen_setcolor): Likewise.
43419 (grub_virtual_screen_getcolor): Added.
43420 (grub_gfxterm_background_image_cmd): Likewise.
43421 (grub_video_term): Added setcolor and getcolor.
43422 (MOD_INIT): Added registration of background_image command.
43423 (MOD_TERM): Added unregistration for background_image command.
43424
c3c20931 434252007-12-30 Pavel Roskin <proski@gnu.org>
43426
43427 * loader/multiboot_loader.c: Fix multiboot command
43428 unregistration. Fix all typos in the word "multiboot".
43429
df266716 434302007-12-29 Pavel Roskin <proski@gnu.org>
94239199 43431
43432 * util/grub.d/10_linux.in: Refactor search for initrd. Add
43433 support for initrd names used in Fedora.
43434
fc6e896c 434352007-12-26 Bean <bean123ch@gmail.com>
43436
43437 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
43438 (cpio_mod_SOURCES): New variable.
43439 (cpio_mod_CFLAGS): Likewise.
43440 (cpio_mod_LDFLAGS): Likewise.
43441
43442 * fs/cpio.c: New file.
43443
43444 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
43445
43446 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43447
43448 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43449
43450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43451
533110ad 434522007-12-25 Robert Millan <rmh@aybabtu.com>
43453
43454 * include/grub/term.h (struct grub_term): Add `getcolor' function.
43455 (grub_getcolor): New function.
43456
43457 * kern/term.c (grub_getcolor): New function.
43458 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
43459 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
43460 (print_entry): Set normal and highlight colors to
43461 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
43462 respectively, before printing and restore them to old
43463 values afterwards.
43464 (grub_menu_init_page): Likewise. Fill an additional colored space
43465 that would otherwise be left blank.
43466
43467 * term/efi/console.c (grub_console_getcolor): New function.
43468 (struct grub_console_term.getcolor): New variable.
43469 * term/i386/pc/console.c (grub_console_getcolor): New function.
43470 (struct grub_console_term.getcolor): New variable.
43471 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
43472 (struct grub_console_term.getcolor): New variable.
43473
43474 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
43475 (struct grub_console_term.setcolor): Remove variable.
43476 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
43477 (struct grub_console_term.setcolor): Remove variable.
43478 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
43479 (struct grub_console_term.setcolor): Remove variable.
43480 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
43481 (struct grub_console_term.setcolor): Remove variable.
43482
4931827f 434832007-12-25 Robert Millan <rmh@aybabtu.com>
43484
43485 * configure.ac: Search for possible unifont.hex locations, and
43486 define UNIFONT_HEX if found.
43487
43488 * Makefile.in (UNIFONT_HEX): Define variable.
43489 (DATA): Rename to ...
43490 (PKGLIB): ... this. Update all users.
43491 (PKGDATA): New variable.
43492 (pkgdata_IMAGES): Rename to ...
43493 (pkglib_IMAGES): ... this. Update all users.
43494 (pkgdata_MODULES): Rename to ...
43495 (pkglib_MODULES): ... this. Update all users.
43496 (pkgdata_PROGRAMS): Rename to ...
43497 (pkglib_PROGRAMS): ... this. Update all users.
43498 (pkgdata_DATA): Rename to ...
43499 (pkglib_DATA): ... this. Update all users.
43500 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
43501 (unicode.pff, ascii.pff): New rules.
43502 (all-local): Add `$(PKGDATA)' dependency.
43503 (install-local): Process `$(PKGDATA)'.
43504
43505 * util/update-grub_lib.in (font_path): Search for *.pff files in
43506 a few more locations, including `${pkgdata}'.
43507
57e57e31 435082007-12-23 Robert Millan <rmh@aybabtu.com>
43509
43510 Patch from Bean <bean123ch@gmail.com>:
43511 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
43512 `size'.
43513
4bc72aa9 435142007-12-21 Bean <bean123ch@gmail.com>
43515
43516 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
43517 (ntfscomp_mod_SOURCES): New variable.
43518 (ntfscomp_mod_CFLAGS): Likewise.
43519 (ntfscomp_mod_LDFLAGS): Likewise.
43520
43521 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
43522 (grub_probe_SOURCES): Likewise.
43523 (grub_emu_SOURCES): Likewise.
43524
43525 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43526 (grub_emu_SOURCES): Likewise.
43527
43528 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43529 (grub_emu_SOURCES): Likewise.
43530
43531 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43532 (grub_emu_SOURCES): Likewise.
43533
43534 * fs/ntfs.c (grub_ntfscomp_func): New variable.
43535 (read_run_list): Renamed to grub_ntfs_read_run_list.
43536 (decomp_nextvcn): Moved to ntfscomp.c.
43537 (decomp_getch): Likewise.
43538 (decomp_get16): Likewise.
43539 (decomp_block): Likewise.
43540 (read_block): Likewise.
43541 (read_data): Partially moved to ntfscomp.c.
43542 (fixup): Change unsigned to grub_uint16_t.
43543 (read_mft): Change unsigned long to grub_uint32_t.
43544 (read_attr): Likewise.
43545 (read_data): Likewise.
43546 (read_run_data): Likewise.
43547 (read_run_list): Likewise.
43548 (read_mft): Likewise.
43549
43550 * fs/ntfscomp.c: New file.
43551
43552 * include/grub/ntfs.h: New file.
43553
af680a87 435542007-12-16 Robert Millan <rmh@aybabtu.com>
43555
43556 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
43557 IDE disk check, since Linux is known to support 20 IDE disks.
43558 Reported by Colin Watson.
43559
84be7599 435602007-12-15 Bean <bean123ch@gmail.com>
43561
43562 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
43563 (lnxboot_img_SOURCES): New variable.
43564 (lnxboot_img_ASFLAGS): Likewise.
43565 (lnxboot_img_LDFLAGS): Likewise.
43566
43567 * boot/i386/pc/lnxboot.S: New file.
43568
6af9db01 435692007-11-24 Pavel Roskin <proski@gnu.org>
43570
43571 * configure.ac: Test if '--build-id=none' is supported by the
43572 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
43573 objcopy to generate incorrect binary files (binutils
43574 2.17.50.0.18-1 as shipped by Fedora 8).
43575 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
43576 linking, so that build ID doesn't break the test.
43577
7361cfe6 435782007-11-24 Pavel Roskin <proski@gnu.org>
43579
43580 * include/grub/i386/time.h: use "void" in the argument list
43581 of grub_cpu_idle().
43582 * include/grub/powerpc/time.h: Likewise.
43583 * include/grub/sparc64/time.h: Likewise.
43584
1593e10c 435852007-11-18 Christian Franke <franke@computer.org>
43586
43587 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
43588 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
43589 This fixes the problem that function keys did not work in grub-emu.
43590
3b8db1a8 435912007-11-18 Christian Franke <franke@computer.org>
43592
43593 * disk/host.c (grub_host_open): Remove attribute unused from
43594 name parameter. Add check for "host". This fixes the problem
43595 that grub-emu does not find partitions.
43596
2e29408d 435972007-11-18 Christian Franke <franke@computer.org>
43598
43599 * util/hostfs.c (is_dir): New function.
43600 (grub_hostfs_dir): Handle missing dirent.d_type case.
43601 (grub_hostfs_read): Add missing fseek().
43602 (grub_hostfs_label): Clear label pointer. This fixes a crash
43603 of grub-emu on "ls (host)".
43604
398cd047 436052007-11-18 Christian Franke <franke@computer.org>
43606
43607 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
43608 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
43609 to 64 bit boundary by default.
43610
c405c391 436112007-11-18 Bean <bean123ch@gmail.com>
43612
43613 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
43614 (hexdump_mod_SOURCES): New variable.
43615 (hexdump_mod_CFLAGS): Likewise.
43616 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 43617
c405c391 43618 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43619
43620 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43621
43622 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43623
43624 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43625
43626 * include/grub/hexdump.h: New file.
43627
43628 * commands/hexdump.c: New file.
43629
5cced7fd 436302007-11-10 Robert Millan <rmh@aybabtu.com>
43631
43632 * commands/i386/pc/play.c (beep_off): Switch order of arguments
43633 in grub_outb() calls.
43634 (beep_on): Likewise.
43635
8b714eb0 436362007-11-10 Christian Franke <franke@computer.org>
43637
43638 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
43639 (grub_menu_run): Likewise.
43640
ce0f1839 436412007-11-10 Robert Millan <rmh@aybabtu.com>
43642
43643 * include/grub/i386/efi/machine.h: New file.
43644 * include/grub/i386/linuxbios/machine.h: Likewise.
43645 * include/grub/i386/pc/machine.h: Likewise.
43646 * include/grub/powerpc/ieee1275/machine.h: Likewise.
43647 * include/grub/sparc64/ieee1275/machine.h: Likewise.
43648
43649 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
43650 (serial_hw_io_addr): New variable.
43651 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
43652 instead of `(unsigned short *) 0x400'.
43653
270c237d 436542007-11-10 Bean <bean123ch@gmail.com>
43655
43656 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
43657
a87783bf 436582007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43659
43660 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
43661 (vga_mod_SOURCES): Added.
43662 (vga_mod_CFLAGS): Likewise.
43663 (vga_mod_LDFLAGS): Likewise.
43664
43665 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
43666 grub_outb() calls.
43667 (set_map_mask): Likewise.
43668 (set_read_map): Likewise.
43669 (set_read_address): Likewise.
43670 (vga_font): Removed variable.
43671 (get_vga_glyph): Removed function.
43672 (invalidate_char): Likewise.
43673 (write_char): Changed to use grub_font_get_glyph() for font
43674 information.
43675 (grub_vga_putchar): Likewise.
43676 (grub_vga_getcharwidth): Likewise.
43677
6433b448 436782007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43679
43680 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
43681 flags.
43682 (pxeboot_img_LDFLAGS): Likewise.
43683 (diskboot_img_LDFLAGS): Likewise.
43684 (kernel_img_LDFLAGS): Likewise.
43685
49178511 436862007-11-06 Robert Millan <rmh@aybabtu.com>
43687
43688 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
43689 in grub_outb() calls.
43690 (serial_hw_init): Likewise.
43691
53b052de 436922007-11-05 Robert Millan <rmh@aybabtu.com>
43693
43694 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
43695 spaces. Skip non-regular files.
43696
5ab33bba 436972007-11-05 Robert Millan <rmh@aybabtu.com>
43698
43699 * kern/disk.c (grub_disk_firmware_fini)
43700 (grub_disk_firmware_is_tainted): New variables.
43701
43702 * include/grub/disk.h (grub_disk_firmware_fini)
43703 (grub_disk_firmware_is_tainted): Likewise.
43704
43705 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
43706 (grub_disk_biosdisk_fini): ... to here.
43707 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
43708 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
43709 is set. Register grub_disk_biosdisk_fini() in
43710 `grub_disk_firmware_fini'.
43711
43712 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
43713 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
43714 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
43715 to finish existing firmware disk interface.
43716
43717 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
43718 (ata_mod_SOURCES): New variable.
43719 (ata_mod_CFLAGS): Likewise.
43720 (ata_mod_LDFLAGS): Likewise.
43721
0149ab7c 437222007-11-05 Robert Millan <rmh@aybabtu.com>
43723
43724 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
43725 (grub_ata_wait): Reimplement using grub_millisleep().
43726
43727 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
43728 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
43729
be7ac41e 437302007-11-03 Marco Gerards <marco@gnu.org>
43731
43732 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
43733 (CRTC_ADDR_PORT): New macro.
43734 (CRTC_DATA_PORT): Likewise.
43735 (CRTC_CURSOR): Likewise.
43736 (CRTC_CURSOR_ADDR_HIGH): Likewise.
43737 (CRTC_CURSOR_ADDR_LOW): Likewise.
43738 (update_cursor): New function.
43739 (grub_console_real_putchar): Call `update_cursor'.
43740 (grub_console_gotoxy): Likewise.
43741 (grub_console_cls): Set the default color when clearing the
43742 screen.
43743 (grub_console_setcursor): Implemented.
43744
bb06ab2e 437452007-11-03 Marco Gerards <marco@gnu.org>
43746
43747 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
43748 become activate.
43749 (grub_ata_pio_write): Likewise.
43750
43751 (grub_atapi_identify): Wait after issuing an ATA command.
43752 (grub_atapi_packet): Likewise.
43753 (grub_ata_identify): Likewise.
43754 (grub_ata_readwrite): Likewise.
43755
cf8f780b 437562007-11-03 Marco Gerards <marco@gnu.org>
43757
43758 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
43759 (grub_ata_pio_write): Likewise.
43760 (grub_ata_readwrite): Use `grub_error', instead of
43761 returning `grub_errno'.
43762
ed649e54 437632007-11-03 Marco Gerards <marco@gnu.org>
43764
43765 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
43766 grub_ata_pio_write once for every single sector, instead of for
43767 multiple sectors.
43768
ca25d8f0 437692007-10-31 Robert Millan <rmh@aybabtu.com>
43770
43771 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
43772
43773 * conf/i386-linuxbios.rmk: New file.
43774
43775 * kern/i386/pc/hardware.c: Likewise.
43776 * term/i386/pc/at_keyboard.c: Likewise.
43777 * term/i386/pc/vga_text.c: Likewise.
43778
43779 * include/grub/i386/linuxbios/boot.h: Likewise.
43780 * include/grub/i386/linuxbios/console.h: Likewise.
43781 * include/grub/i386/linuxbios/init.h: Likewise.
43782 * include/grub/i386/linuxbios/kernel.h: Likewise.
43783 * include/grub/i386/linuxbios/loader.h: Likewise.
43784 * include/grub/i386/linuxbios/memory.h: Likewise.
43785 * include/grub/i386/linuxbios/serial.h: Likewise.
43786 * include/grub/i386/linuxbios/time.h: Likewise.
43787
43788 * kern/i386/linuxbios/init.c: Likewise.
43789 * kern/i386/linuxbios/startup.S: Likewise.
43790 * kern/i386/linuxbios/table.c: Likewise.
43791
e911ecc1 437922007-10-31 Marco Gerards <marco@gnu.org>
43793
43794 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
43795 (ata_mod_SOURCES): New variable.
43796 (ata_mod_CFLAGS): Likewise.
43797 (ata_mod_LDFLAGS): Likewise.
43798
43799 * disk/ata.c: New file.
43800
43801 * include/grub/disk.h (grub_disk_dev_id): Add
43802 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 43803
7f66d0e0 438042007-10-31 Robert Millan <rmh@aybabtu.com>
43805
43806 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
43807 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
43808
43809 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
43810 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
43811
43812 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
43813 `<grub/types.h>'.
43814
43815 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
43816
5cd7dd46 438172007-10-27 Robert Millan <rmh@aybabtu.com>
43818
3236ca65 43819 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 43820
2ebfc90f 438212007-10-22 Robert Millan <rmh@aybabtu.com>
43822
43823 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
43824 `"../realmode.S"'.
43825 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
43826
73fcb0f3 438272007-10-22 Robert Millan <rmh@aybabtu.com>
43828
43829 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
43830 (pkgdata_MODULES): Add `biosdisk.mod'.
43831 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
43832 variables.
43833
43834 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
43835 (grub_biosdisk_init): Replace with ...
43836 (GRUB_MOD_INIT(biosdisk)): ... this.
43837 (grub_biosdisk_fini): Replace with ...
43838 (GRUB_MOD_FINI(biosdisk)): ... this.
43839
43840 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
43841 (grub_machine_init): Remove call to grub_biosdisk_init().
43842 (grub_machine_fini): Remove call to grub_machine_fini().
43843
43844 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
43845
3381d274 438462007-10-22 Robert Millan <rmh@aybabtu.com>
43847
43848 * include/grub/time.h: New file.
43849 * include/grub/i386/time.h: Likewise.
43850 * include/grub/powerpc/time.h: Likewise.
43851 * include/grub/sparc64/time.h: Likewise.
43852
43853 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
43854 instances to ...
43855 (KERNEL_MACHINE_TIME_HEADER): ... this.
43856 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43857 instances to ...
43858 (KERNEL_MACHINE_TIME_HEADER): ... this.
43859 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43860 instances to ...
43861 (KERNEL_MACHINE_TIME_HEADER): ... this.
43862
43863 * kern/i386/efi/init.c: Include `<grub/time.h>'.
43864 (grub_millisleep): New function.
43865 * kern/i386/pc/init.c: Include `<grub/time.h>'.
43866 (grub_millisleep): New function.
43867 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
43868 Remove `grub/machine/time.h' include.
43869 (grub_millisleep): New function.
43870 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
43871 Remove `grub/machine/time.h' include.
43872 (grub_millisleep): New function.
43873
43874 * include/grub/misc.h (grub_div_roundup): New function.
43875
43876 * kern/misc.c: Include `<grub/time.h>'.
43877 (grub_millisleep_generic): New function.
43878
43879 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
43880 Add `time.h'.
43881 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
43882 Add `time.h'.
43883 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
43884 `machine/time.h'. Add `time.h'.
43885 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43886
a39a0312 438872007-10-21 Robert Millan <rmh@aybabtu.com>
43888
43889 * include/grub/misc.h (grub_max): New function.
43890
2aad70e2 438912007-10-21 Robert Millan <rmh@aybabtu.com>
43892
43893 * util/misc.c (grub_util_info): Call fflush() before returning.
43894
54b71c4b 438952007-10-20 Robert Millan <rmh@aybabtu.com>
43896
43897 * genmk.rb (Image): Copy `extra_flags' from here ...
43898 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
43899
43900 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
43901 to `argc' and `args' arguments.
43902
a979f513 439032007-10-17 Robert Millan <rmh@aybabtu.com>
43904
43905 * kern/i386/loader.S: New file.
43906
43907 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
43908 * kern/i386/loader.S (grub_linux_prot_size)... to here.
43909 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
43910 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
43911 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
43912 * kern/i386/loader.S (grub_linux_real_addr)... to here.
43913 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
43914 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
43915 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
43916 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
43917 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
43918 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
43919 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
43920 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
43921
43922 * kern/i386/realmode.S: New file.
43923
43924 * kern/i386/pc/startup.S (protstack): Moved from here ...
43925 * kern/i386/realmode.S (protstack)... to here.
43926 * kern/i386/pc/startup.S (gdt): Moved from here ...
43927 * kern/i386/realmode.S (gdt)... to here.
43928 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
43929 * kern/i386/realmode.S (prot_to_real)... to here.
43930
43931 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
43932 `kern/i386/realmode.S'.
43933
825fc8fd 439342007-10-17 Robert Millan <rmh@aybabtu.com>
43935
43936 * include/grub/i386/loader.h: New file.
43937
43938 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
43939 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43940 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43941 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43942 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
43943 * include/grub/i386/loader.h (grub_linux_prot_size)
43944 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43945 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43946 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43947 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
43948
43949 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
43950
e179b2f4 439512007-10-15 Robert Millan <rmh@aybabtu.com>
43952
43953 * normal/misc.c (grub_normal_print_device_info): Do not probe for
43954 filesystem when dev->disk is unset.
43955 Do probe for filesystem even when dev->disk->has_partitions is set.
43956 In case a filesystem is found, always report it.
43957 In case it isn't, if dev->disk->has_partitions is set, report that
43958 a partition table was found instead of reporting that no filesystem
43959 could be identified.
43960
5db82af6 439612007-10-12 Robert Millan <rmh@aybabtu.com>
43962
43963 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
43964 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
43965
68f6ac74 43966 * include/grub/types.h (grub_host_to_target16): New macro.
43967 (grub_host_to_target32): Likewise.
43968 (grub_host_to_target64): Likewise.
43969 (grub_target_to_host16): Likewise.
43970 (grub_target_to_host32): Likewise.
43971 (grub_target_to_host64): Likewise.
5db82af6 43972
43973 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43974 Renamed from to ...
43975 (GRUB_MOD_ALIGN): ...this. Update all users.
43976
68f6ac74 43977 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
43978 grub_host_to_target32.
43979 Replace grub_be_to_cpu32 with grub_target_to_host32.
43980 (load_modules): Likewise.
43981 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
43982 Replace grub_be_to_cpu32 with grub_target_to_host32.
43983 Replace grub_cpu_to_be16 with grub_host_to_target16.
43984 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 43985
3cf497cc 439862007-10-12 Robert Millan <rmh@aybabtu.com>
43987
43988 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
43989 * util/elf/grub-mkimage.c: ... here.
43990
43991 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
43992 `util/powerpc/ieee1275/grub-mkimage.c'.
43993
c8cc3692 439942007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 43995
c8cc3692 43996 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
43997 and make it easier to figure out.
43998 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
43999 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
44000 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
44001 leave us with less than HEAP_MIN_SIZE total heap.
44002 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 44003
5c58b791 440042007-10-03 Robert Millan <rmh@aybabtu.com>
44005
44006 * include/grub/i386/io.h: New file.
44007 * commands/i386/pc/play.c (inb): Removed.
44008 (outb): Removed.
44009 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44010 with grub_outb().
afcd2ef8 44011 * term/i386/pc/serial.c (inb): Removed.
44012 (outb): Removed.
44013 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44014 with grub_outb().
44015 * term/i386/pc/vga.c (inb): Removed.
44016 (outb): Removed.
44017 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44018 with grub_outb().
5c58b791 44019
1a477ed6 440202007-10-02 Robert Millan <rmh@aybabtu.com>
44021
44022 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
44023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44024 Reported by Marcin Kurek.
44025
6b5d80fa 440262007-09-07 Robert Millan <rmh@aybabtu.com>
44027
44028 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
44029 SmartFirmware version updates (as released by Sven Luther), and avoid
44030 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
44031 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
44032 known broken.
44033
5618afbf 440342007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44035
44036 From Hitoshi Ozeki:
44037 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
44038 when merging two regions.
44039
6139dcd9 440402007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44041
508e39ee 44042 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
44043 * normal/completion.c (grub_normal_do_completion): Likewise.
44044 Reported by Hitoshi Ozeki.
44045
440462007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44047
6139dcd9 44048 Do not use devices at boot in chainloading.
f19dbdb7 44049
6139dcd9 44050 * loader/i386/pc/chainloader.c (boot_drive): New variable.
44051 (boot_part_addr): Likewise.
44052 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
44053 with BOOT_DRIVE and BOOT_PART_ADDR.
44054 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
44055 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
44056
38da6516 440572007-08-29 Robert Millan <rmh@aybabtu.com>
44058
44059 Patch from Simon Peter <dn.tlp@gmx.net>:
44060 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
44061 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
44062 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
44063 util/i386/pc/grub-setup.c_DEPENDENCIES.
44064 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
44065 util/grub-probe.c_DEPENDENCIES.
44066 * conf/powerpc-ieee1275.rmk: Likewise.
44067
29d0928c 440682007-08-28 Robert Millan <rmh@aybabtu.com>
44069
44070 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
44071 to tell grub-mkdevicemap how to name devices.
44072 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
44073 feature).
44074
44075 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
44076 util/i386/get_disk_name.c.
44077 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
44078 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
44079 util/ieee1275/get_disk_name.c.
44080
44081 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
44082
44083 * DISTLIST: Add util/i386/get_disk_name.c and
44084 util/ieee1275/get_disk_name.c.
44085
44086 * util/grub-mkdevicemap.c: Replace device naming logic with
44087 grub_util_get_disk_name() calls.
44088
5a0d3cca 440892007-08-20 Robert Millan <rmh@aybabtu.com>
44090
44091 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
44092 (so that it works for both plural and singular quantities).
44093
8b72db2f 440942007-08-05 Robert Millan <rmh@aybabtu.com>
44095
44096 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
44097 so that [xz] isn't taken into account when determining order.
44098
352466bf 440992007-08-02 Marco Gerards <marco@gnu.org>
44100
44101 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
44102 `include/multiboot2.h', `include/grub/elfload.h',
44103 `include/multiboot.h', `include/grub/multiboot.h',
44104 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
44105 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
44106 `kern/elf.c', `loader/multiboot_loader.c',
44107 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
44108 `loader/i386/pc/multiboot2.c',
44109 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
44110 `util/i386/pc/grub-mkrescue.in'. Remove
44111 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
44112 `include/grub/i386/pc/util/biosdisk.h' and
44113 `include/grub/powerpc/ieee1275/multiboot.h'.
44114
8f096014 441152007-08-02 Bean <bean123ch@gmail.com>
44116
44117 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
44118 (ntfs_mod_SOURCES): New variable.
44119 (ntfs_mod_CFLAGS): Likewise.
44120 (ntfs_mod_LDFLAGS): Likewise.
44121
44122 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
44123 (grub_probe_SOURCES): Likewise.
44124 (grub_emu_SOURCES): Likewise.
44125
44126 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
44127 (grub_emu_SOURCES): Likewise.
44128
44129 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
44130 (grub_emu_SOURCES): Likewise.
f19dbdb7 44131
8f096014 44132 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
44133
44134 * fs/ntfs.c: New file.
44135
9959f7db 441362007-08-02 Bean <bean123ch@gmail.com>
44137
44138 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
44139
44140 * file.h (grub_file): Likewise.
44141
44142 * fshelp.h (grub_fshelp_read_file): Likewise.
44143
44144 * util/i386/pc/grub-setup.c (setup): Likewise.
44145 (save_first_sector): Likewise.
44146 (save_blocklists): Likewise.
f19dbdb7 44147
9959f7db 44148 * fs/affs.c (grub_affs_read_file): Likewise.
44149
44150 * fs/ext2.c (grub_ext2_read_file): Likewise.
44151
44152 * fs/fat.c (grub_fat_read_data): Likewise.
44153
44154 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
44155
44156 * fs/hfs.c (grub_hfs_read_file): Likewise.
44157
44158 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44159
44160 * fs/jfs.c (grub_jfs_read_file): Likewise.
44161
44162 * fs/minix.c (grub_minix_read_file): Likewise.
44163
44164 * fs/sfs.c (grub_sfs_read_file): Likewise.
44165
44166 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 44167
9959f7db 44168 * fs/xfs.c (grub_xfs_read_file): Likewise.
44169
44170 * command/blocklist.c (read_blocklist): Likewise.
44171 (print_blocklist): Likewise.
44172
0a203f83 441732007-08-02 Marco Gerards <marco@gnu.org>
44174
44175 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
44176 `util/hostfs.c'.
44177
44178 * disk/host.c: New file.
44179
44180 * util/hostfs.c: Likewise.
44181
44182 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
44183 return `GRUB_ERR_BAD_FS'.
44184 * fs/sfs.c (grub_sfs_mount): Likewise.
44185 * fs/xfs.c (grub_xfs_mount): Likewise.
44186
44187 * include/grub/disk.h (enum grub_disk_dev_id): Add
44188 `GRUB_DISK_DEVICE_HOST_ID'.
44189
44190 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
44191
e5dfe777 441922007-07-24 Jerone Young <jerone@gmail.com>
44193
f19dbdb7 44194 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 44195 modules for compilation.
44196 * conf/powerpc-ieee1275.rmk: Likewise.
44197
44198 * include/multiboot.h: Move multiboot definitions to one file. Rename
44199 many definitions to not get grub specific.
44200 * include/multiboot2.h: Create header with multiboot 2 definitions.
44201 * include/grub/multiboot.h: Header for grub specific function
44202 prototypes and definitions.
44203 * include/grub/multiboot2.h: Likewise.
44204 * include/grub/multiboot_loader.h: Likewise.
44205 * include/grub/i386/pc/multiboot.h: Removed.
44206 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
44207
44208 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
44209 and 2 to allow for one multiboot and module commands.
44210 * loader/multiboot2.c: Add multiboot2 functionality.
44211 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
44212 and definition names.
44213 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
44214 2 functions.
44215 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
44216 ieee1275 specific multiboot2 code.
44217
44218 * kern/i386/pc/startup.S: Change headers and definition names for
44219 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
44220
daf0f0ba 442212007-07-22 Robert Millan <rmh@aybabtu.com>
44222
44223 * geninitheader.sh: Process file specified in first parameter rather
44224 than hardcoding grub_modules_init.lst.
fe6b695a 44225 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 44226 than hardcoding grub_modules_init.h.
44227
44228 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
44229 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
44230 grub_probe_init.[ch] and grub_setup_init.[ch].
44231
44232 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
44233 grub_modules_init.h with grub_emu_init.h.
44234 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
44235 grub_probe_init.[ch] files.
44236 * conf/i386-efi.rmk: Likewise.
44237 * conf/i386-pc.rmk: Likewise.
44238 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
44239 grub_setup_init.[ch] files.
44240
44241 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
44242 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
44243 to initialize modules rather than a list of hardcoded functions.
44244 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
44245 grub_init_all() to initialize modules rather than a list of hardcoded
44246 functions.
44247
54cdc1cc 442482007-07-22 Robert Millan <rmh@aybabtu.com>
44249
44250 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
44251 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
44252
ad0686cc 442532007-07-22 Robert Millan <rmh@aybabtu.com>
44254
44255 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44256 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
44257 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
44258 flag when running on SmartFirmware.
44259 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
44260 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
44261 was set.
44262
44263 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44264 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
44265 rather than decreasing it.
44266
44267 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
44268 there's not enough space to do it, fail in the same way as when it
44269 can't be done because there are no partitions.
44270
44271 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
44272 when nvsetenv failed.
44273
969c02ec 442742007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
44275
44276 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
44277 because this rule is automatically generated.
44278 (grub-mkrescue): Removed for the same reason as above.
44279
5a79f472 442802007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
44281
44282 Migrate to GNU General Public License Version 3.
f19dbdb7 44283
5a79f472 44284 * COPYING: Replaced with the plain text version of GPLv3.
44285
44286 * config.guess: Updated from gnulib.
44287 * config.sub: Likewise.
44288
44289 * geninit.sh: Output a GPLv3 copyright notice.
44290 * geninitheader.sh: Likewise.
44291 * genmodsrc.sh: Likewise.
44292 * gensymlist.sh.in: Likewise.
44293
44294 * boot/i386/pc/boot.S: Upgraded to GPLv3.
44295 * boot/i386/pc/diskboot.S: Likewise.
44296 * boot/i386/pc/pxeboot.S: Likewise.
44297 * commands/blocklist.c: Likewise.
44298 * commands/boot.c: Likewise.
44299 * commands/cat.c: Likewise.
44300 * commands/cmp.c: Likewise.
44301 * commands/configfile.c: Likewise.
44302 * commands/echo.c: Likewise.
44303 * commands/help.c: Likewise.
44304 * commands/ls.c: Likewise.
44305 * commands/search.c: Likewise.
44306 * commands/terminal.c: Likewise.
44307 * commands/test.c: Likewise.
44308 * commands/videotest.c: Likewise.
44309 * commands/i386/cpuid.c: Likewise.
44310 * commands/i386/pc/halt.c: Likewise.
44311 * commands/i386/pc/play.c: Likewise.
44312 * commands/i386/pc/reboot.c: Likewise.
44313 * commands/i386/pc/vbeinfo.c: Likewise.
44314 * commands/i386/pc/vbetest.c: Likewise.
44315 * commands/ieee1275/halt.c: Likewise.
44316 * commands/ieee1275/reboot.c: Likewise.
44317 * commands/ieee1275/suspend.c: Likewise.
44318 * disk/loopback.c: Likewise.
44319 * disk/lvm.c: Likewise.
44320 * disk/raid.c: Likewise.
44321 * disk/efi/efidisk.c: Likewise.
44322 * disk/i386/pc/biosdisk.c: Likewise.
44323 * disk/ieee1275/ofdisk.c: Likewise.
44324 * font/manager.c: Likewise.
44325 * fs/affs.c: Likewise.
44326 * fs/ext2.c: Likewise.
44327 * fs/fat.c: Likewise.
44328 * fs/fshelp.c: Likewise.
44329 * fs/hfs.c: Likewise.
44330 * fs/hfsplus.c: Likewise.
44331 * fs/iso9660.c: Likewise.
44332 * fs/jfs.c: Likewise.
44333 * fs/minix.c: Likewise.
44334 * fs/sfs.c: Likewise.
44335 * fs/ufs.c: Likewise.
44336 * fs/xfs.c: Likewise.
44337 * hello/hello.c: Likewise.
44338 * include/grub/acorn_filecore.h: Likewise.
44339 * include/grub/arg.h: Likewise.
44340 * include/grub/bitmap.h: Likewise.
44341 * include/grub/boot.h: Likewise.
44342 * include/grub/cache.h: Likewise.
44343 * include/grub/device.h: Likewise.
44344 * include/grub/disk.h: Likewise.
44345 * include/grub/dl.h: Likewise.
44346 * include/grub/elfload.h: Likewise.
44347 * include/grub/env.h: Likewise.
44348 * include/grub/err.h: Likewise.
44349 * include/grub/file.h: Likewise.
44350 * include/grub/font.h: Likewise.
44351 * include/grub/fs.h: Likewise.
44352 * include/grub/fshelp.h: Likewise.
44353 * include/grub/gzio.h: Likewise.
44354 * include/grub/hfs.h: Likewise.
44355 * include/grub/kernel.h: Likewise.
44356 * include/grub/loader.h: Likewise.
44357 * include/grub/lvm.h: Likewise.
44358 * include/grub/misc.h: Likewise.
44359 * include/grub/mm.h: Likewise.
44360 * include/grub/net.h: Likewise.
44361 * include/grub/normal.h: Likewise.
44362 * include/grub/parser.h: Likewise.
44363 * include/grub/partition.h: Likewise.
44364 * include/grub/pc_partition.h: Likewise.
44365 * include/grub/raid.h: Likewise.
44366 * include/grub/rescue.h: Likewise.
44367 * include/grub/script.h: Likewise.
44368 * include/grub/setjmp.h: Likewise.
44369 * include/grub/symbol.h: Likewise.
44370 * include/grub/term.h: Likewise.
44371 * include/grub/terminfo.h: Likewise.
44372 * include/grub/tparm.h: Likewise.
44373 * include/grub/types.h: Likewise.
44374 * include/grub/video.h: Likewise.
44375 * include/grub/efi/api.h: Likewise.
44376 * include/grub/efi/chainloader.h: Likewise.
44377 * include/grub/efi/console.h: Likewise.
44378 * include/grub/efi/console_control.h: Likewise.
44379 * include/grub/efi/disk.h: Likewise.
44380 * include/grub/efi/efi.h: Likewise.
44381 * include/grub/efi/pe32.h: Likewise.
44382 * include/grub/efi/time.h: Likewise.
44383 * include/grub/i386/linux.h: Likewise.
44384 * include/grub/i386/setjmp.h: Likewise.
44385 * include/grub/i386/types.h: Likewise.
44386 * include/grub/i386/efi/kernel.h: Likewise.
44387 * include/grub/i386/efi/loader.h: Likewise.
44388 * include/grub/i386/efi/time.h: Likewise.
44389 * include/grub/i386/pc/biosdisk.h: Likewise.
44390 * include/grub/i386/pc/boot.h: Likewise.
44391 * include/grub/i386/pc/chainloader.h: Likewise.
44392 * include/grub/i386/pc/console.h: Likewise.
44393 * include/grub/i386/pc/init.h: Likewise.
44394 * include/grub/i386/pc/kernel.h: Likewise.
44395 * include/grub/i386/pc/loader.h: Likewise.
44396 * include/grub/i386/pc/memory.h: Likewise.
44397 * include/grub/i386/pc/multiboot.h: Likewise.
44398 * include/grub/i386/pc/serial.h: Likewise.
44399 * include/grub/i386/pc/time.h: Likewise.
44400 * include/grub/i386/pc/vbe.h: Likewise.
44401 * include/grub/i386/pc/vbeblit.h: Likewise.
44402 * include/grub/i386/pc/vbefill.h: Likewise.
44403 * include/grub/i386/pc/vbeutil.h: Likewise.
44404 * include/grub/i386/pc/vga.h: Likewise.
44405 * include/grub/ieee1275/ieee1275.h: Likewise.
44406 * include/grub/ieee1275/ofdisk.h: Likewise.
44407 * include/grub/powerpc/libgcc.h: Likewise.
44408 * include/grub/powerpc/setjmp.h: Likewise.
44409 * include/grub/powerpc/types.h: Likewise.
44410 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
44411 * include/grub/powerpc/ieee1275/console.h: Likewise.
44412 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
44413 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
44414 * include/grub/powerpc/ieee1275/loader.h: Likewise.
44415 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
44416 * include/grub/powerpc/ieee1275/time.h: Likewise.
44417 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
44418 * include/grub/sparc64/libgcc.h: Likewise.
44419 * include/grub/sparc64/setjmp.h: Likewise.
44420 * include/grub/sparc64/types.h: Likewise.
44421 * include/grub/sparc64/ieee1275/console.h: Likewise.
44422 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44423 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44424 * include/grub/sparc64/ieee1275/time.h: Likewise.
44425 * include/grub/util/biosdisk.h: Likewise.
44426 * include/grub/util/getroot.h: Likewise.
44427 * include/grub/util/lvm.h: Likewise.
44428 * include/grub/util/misc.h: Likewise.
44429 * include/grub/util/raid.h: Likewise.
44430 * include/grub/util/resolve.h: Likewise.
44431 * io/gzio.c: Likewise.
44432 * kern/device.c: Likewise.
44433 * kern/disk.c: Likewise.
44434 * kern/dl.c: Likewise.
44435 * kern/elf.c: Likewise.
44436 * kern/env.c: Likewise.
44437 * kern/err.c: Likewise.
44438 * kern/file.c: Likewise.
44439 * kern/fs.c: Likewise.
44440 * kern/loader.c: Likewise.
44441 * kern/main.c: Likewise.
44442 * kern/misc.c: Likewise.
44443 * kern/mm.c: Likewise.
44444 * kern/parser.c: Likewise.
44445 * kern/partition.c: Likewise.
44446 * kern/rescue.c: Likewise.
44447 * kern/term.c: Likewise.
44448 * kern/efi/efi.c: Likewise.
44449 * kern/efi/init.c: Likewise.
44450 * kern/efi/mm.c: Likewise.
44451 * kern/i386/dl.c: Likewise.
44452 * kern/i386/efi/init.c: Likewise.
44453 * kern/i386/efi/startup.S: Likewise.
44454 * kern/i386/pc/init.c: Likewise.
44455 * kern/i386/pc/lzo1x.S: Likewise.
44456 * kern/i386/pc/startup.S: Likewise.
44457 * kern/ieee1275/ieee1275.c: Likewise.
44458 * kern/powerpc/cache.S: Likewise.
44459 * kern/powerpc/dl.c: Likewise.
44460 * kern/powerpc/ieee1275/cmain.c: Likewise.
44461 * kern/powerpc/ieee1275/crt0.S: Likewise.
44462 * kern/powerpc/ieee1275/init.c: Likewise.
44463 * kern/powerpc/ieee1275/openfw.c: Likewise.
44464 * kern/sparc64/cache.S: Likewise.
44465 * kern/sparc64/dl.c: Likewise.
44466 * kern/sparc64/ieee1275/init.c: Likewise.
44467 * kern/sparc64/ieee1275/openfw.c: Likewise.
44468 * loader/efi/chainloader.c: Likewise.
44469 * loader/efi/chainloader_normal.c: Likewise.
44470 * loader/i386/efi/linux.c: Likewise.
44471 * loader/i386/efi/linux_normal.c: Likewise.
44472 * loader/i386/pc/chainloader.c: Likewise.
44473 * loader/i386/pc/chainloader_normal.c: Likewise.
44474 * loader/i386/pc/linux.c: Likewise.
44475 * loader/i386/pc/linux_normal.c: Likewise.
44476 * loader/i386/pc/multiboot.c: Likewise.
44477 * loader/i386/pc/multiboot_normal.c: Likewise.
44478 * loader/powerpc/ieee1275/linux.c: Likewise.
44479 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
44480 * normal/arg.c: Likewise.
44481 * normal/cmdline.c: Likewise.
44482 * normal/command.c: Likewise.
44483 * normal/completion.c: Likewise.
44484 * normal/execute.c: Likewise.
44485 * normal/function.c: Likewise.
44486 * normal/lexer.c: Likewise.
44487 * normal/main.c: Likewise.
44488 * normal/menu.c: Likewise.
44489 * normal/menu_entry.c: Likewise.
44490 * normal/misc.c: Likewise.
44491 * normal/parser.y: Likewise.
44492 * normal/script.c: Likewise.
44493 * normal/i386/setjmp.S: Likewise.
44494 * normal/powerpc/setjmp.S: Likewise.
44495 * normal/sparc64/setjmp.S: Likewise.
44496 * partmap/acorn.c: Likewise.
44497 * partmap/amiga.c: Likewise.
44498 * partmap/apple.c: Likewise.
44499 * partmap/gpt.c: Likewise.
44500 * partmap/pc.c: Likewise.
44501 * partmap/sun.c: Likewise.
44502 * term/gfxterm.c: Likewise.
44503 * term/terminfo.c: Likewise.
44504 * term/efi/console.c: Likewise.
44505 * term/i386/pc/console.c: Likewise.
44506 * term/i386/pc/serial.c: Likewise.
44507 * term/i386/pc/vesafb.c: Likewise.
44508 * term/i386/pc/vga.c: Likewise.
44509 * term/ieee1275/ofconsole.c: Likewise.
44510 * util/biosdisk.c: Likewise.
44511 * util/console.c: Likewise.
44512 * util/genmoddep.c: Likewise.
44513 * util/getroot.c: Likewise.
44514 * util/grub-emu.c: Likewise.
44515 * util/grub-mkdevicemap.c: Likewise.
44516 * util/grub-probe.c: Likewise.
44517 * util/lvm.c: Likewise.
44518 * util/misc.c: Likewise.
44519 * util/raid.c: Likewise.
44520 * util/resolve.c: Likewise.
44521 * util/update-grub.in: Likewise.
44522 * util/update-grub_lib.in: Likewise.
44523 * util/grub.d/00_header.in: Likewise.
44524 * util/grub.d/10_hurd.in: Likewise.
44525 * util/grub.d/10_linux.in: Likewise.
44526 * util/i386/efi/grub-install.in: Likewise.
44527 * util/i386/efi/grub-mkimage.c: Likewise.
44528 * util/i386/pc/grub-install.in: Likewise.
44529 * util/i386/pc/grub-mkimage.c: Likewise.
44530 * util/i386/pc/grub-mkrescue.in: Likewise.
44531 * util/i386/pc/grub-setup.c: Likewise.
44532 * util/i386/pc/misc.c: Likewise.
44533 * util/powerpc/ieee1275/grub-install.in: Likewise.
44534 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
44535 * util/powerpc/ieee1275/misc.c: Likewise.
44536 * video/bitmap.c: Likewise.
44537 * video/video.c: Likewise.
44538 * video/i386/pc/vbe.c: Likewise.
44539 * video/i386/pc/vbeblit.c: Likewise.
44540 * video/i386/pc/vbefill.c: Likewise.
44541 * video/i386/pc/vbeutil.c: Likewise.
44542 * video/readers/tga.c: Likewise.
44543
3572d015 445442007-07-02 Robert Millan <rmh@aybabtu.com>
44545
44546 * conf/i386-efi.rmk: Replace obsolete reference to
44547 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
44548 with util/getroot.c.
44549 * conf/powerpc-ieee1275.rmk: Likewise.
44550 * conf/sparc64-ieee1275.rmk: Likewise.
44551
44552 * util/grub-emu.c (main): Fix unchecked pointer handling.
44553
2c2a681b 445542007-07-02 Robert Millan <rmh@aybabtu.com>
44555
44556 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
44557 invocation to fail, in order to support partition-less media.
44558
44559 * util/i386/pc/grub-install.in: Likewise.
44560
44561 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
44562 which fs or partmap modules are needed (akin to its sister scripts).
44563
44564 Also use grub-probe to get rid of unportable /proc/mounts check.
44565
44566 Print the same informational message that the other scripts do, before
fe6b695a 44567 exiting.
2c2a681b 44568
6193defe 445692007-06-23 Robert Millan <rmh@aybabtu.com>
44570
fe6b695a 44571 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 44572 a font file can be found and, if so, echo the GRUB path to it.
44573
44574 * util/update-grub.in: Handle multiple terminals depending on user
44575 input, platform availability and font file presence. Propagate
44576 variables of our findings to /etc/grub.d/ children.
44577
44578 * util/grub.d/00_header.in: Handle multiple terminals, based on
44579 environment setup by update-grub.
44580
eface1dc 445812007-06-23 Robert Millan <rmh@aybabtu.com>
44582
ba50d28f 44583 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 44584
bf697e28 445852007-06-21 Robert Millan <rmh@aybabtu.com>
44586
44587 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
44588 indicate end of data section in kernel image.
44589 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
44590 GRUB_KERNEL_MACHINE_DATA_END.
44591
44592 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
44593 space for it.
44594 * kern/i386/efi/startup.S: Likewise.
44595
44596 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
44597 during image generation. Implement --prefix option to override this
44598 patch.
44599 * util/i386/efi/grub-mkimage.c: Likewise.
44600
44601 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
44602 code to make path relative to its root into a separate function.
44603
44604 * util/i386/pc/grub-install.in: Use newly provided
44605 make_system_path_relative_to_its_root() to convert ${grubdir}, then
44606 pass the result to grub-install --prefix.
44607
baa574b4 446082007-06-13 Robert Millan <rmh@aybabtu.com>
44609
44610 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
44611 DEFAULT_DEVICE_MAP.
44612 * util/grub-emu.c: Use above definitions from misc.h instead of
44613 defining them.
44614 * util/grub-mkdevicemap.c: Likewise.
44615 * util/i386/pc/grub-setup.c: Likewise.
44616 * util/grub-probe.c: Likewise.
44617 (probe): Abort with grub_util_error() when either
44618 grub_guess_root_device or grub_util_get_grub_dev fails.
44619
0215dcbf 446202007-06-12 Robert Millan <rmh@aybabtu.com>
44621
44622 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
44623 "pager" assignment.
44624 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
44625 "pcdata".
44626 * util/grub-probe.c (probe): Likewise for "drive_name".
44627
8af2ab7b 446282007-06-11 Robert Millan <rmh@aybabtu.com>
44629
44630 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
44631 not just the cdrom one.
44632
59d31694 446332007-06-11 Robert Millan <rmh@aybabtu.com>
44634
44635 * util/i386/pc/grub-mkrescue.in: Add "set -e".
44636 Add --pkglibdir=DIR option to override pkglibdir.
44637 Mention --image-type=TYPE in help output.
44638 Fix --grub-mkimage (it was a no-op).
fe6b695a 44639 Abort gracefully when no parameter is given.
59d31694 44640
7ee367e4 446412007-06-11 Robert Millan <rmh@aybabtu.com>
44642
44643 * util/i386/pc/grub-mkrescue.in: New file.
44644 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
44645 * Makefile.in: Handle bin_SCRIPTS.
44646
29b0ed46 446472007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
44648
44649 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
44650 list of video modes.
44651
c0f90770 446522007-06-06 Robert Millan <rmh@aybabtu.com>
44653
44654 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
44655 file doesn't exist, or if it is in a filesystem grub can't read.
44656
44657 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
44658 not abort if GRUB_DRIVE could not be defined. Rearrange generated
44659 header comment to fit in 80 columns when the variables are resolved.
44660
44661 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
44662 could be identified by update-grub. Remove redundant check for
fe6b695a 44663 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 44664 handles that).
44665
fb36dc26 446662007-06-04 Robert Millan <rmh@aybabtu.com>
44667
44668 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
44669
44670 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
44671
44672 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
44673
0c68c93e 446742007-06-04 Robert Millan <rmh@aybabtu.com>
44675
44676 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
44677
44678 * include/grub/partition.h: Declare grub_apple_partition_map_init and
44679 grub_apple_partition_map_fini.
44680
44681 * util/biosdisk.c
44682 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
44683 to access >2 TiB disks).
44684
44685 Print disk->total_sectors with %llu instead of %lu, since this
44686 variable is always 64-bit (prevents wrong disk size from being displayed
44687 on either >2 TiB disk or big-endian CPU).
44688
44689 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
44690 into a generic case that supports all (sane) partition maps.
44691
44692 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
44693 breaks big-endian.
44694
44695 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
44696 and grub_apple_partition_map_fini() after that.
44697
0f23eb74 446982007-06-01 Robert Millan <rmh@aybabtu.com>
44699
44700 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
44701
44702 * util/grub.d/00_header.in: Only enable gfxterm when
44703 convert_system_path_to_grub_path() succeeds.
44704
42c71976 447052007-05-20 Robert Millan <rmh@aybabtu.com>
44706
44707 * util/update-grub_lib.in: New file.
44708 * DISTLIST: Add update-grub_lib.in.
44709 * conf/common.rmk: Generate update-grub_lib and install it in
44710 $(lib_DATA).
44711 * Makefile.in: Add install routine for $(lib_DATA).
44712
44713 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
44714 function provided by update-grub_lib to support arbitrary paths of
44715 unifont.pff.
44716 * util/update-grub.in: Use convert_system_path_to_grub_path() to
44717 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
44718
5beb2291 447192007-05-19 Robert Millan <rmh@aybabtu.com>
44720
44721 * commands/i386/cpuid.c: New module.
44722 * DISTLIST: Add it.
44723 * conf/i386-efi.rmk: Enable cpuid.mod.
44724 * conf/i386-pc.rmk: Likewise.
44725
7262eca1 447262007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44727
44728 * kern/disk.c (grub_disk_read): Check return value of
44729 grub_realloc().
44730
260ba823 447312007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44732
44733 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
44734 arrays.
44735 * disk/raid.c (grub_raid_open): Likewise.
44736
1ecb6cf2 447372007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44738
44739 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
44740 stack instead of on the heap.
44741
44742 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
44743 before doing a read on it.
44744
44745 * configure.ac: Only use -fno-stack-protector for the target
44746 environment.
f19dbdb7 44747
21c8cbb1 447482007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44749
44750 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
44751 __attribute_ ((unused)) to mode_type argument.
44752
44753 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 44754
21c8cbb1 44755 * kern/misc.c (memcmp): Fix prototype.
44756
44757 * include/grub/partition.h [GRUB_UTIL]
44758 (grub_gpt_partition_map_init): Add prototype.
44759 (grub_gpt_partition_map_fini): Likewise.
44760
44761 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
44762 at the right place.
44763
44764 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
44765 (grub_fat_read_data): Likewise.
44766 (grub_fat_find_dir): Likewise.
44767
44768 * font/manager.c (find_glyph): Make table a const.
44769 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 44770
849d55d3 447712007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
44772
44773 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
44774 code, first search for device in /dev/mapper, then in /dev.
44775 (grub_util_get_grub_dev): New function.
44776 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
44777 prototype.
44778 * util/grub-probe.c (probe): Remove check for RAID, call
44779 grub_util_get_grub_dev() instead of
44780 grub_util_biosdisk_get_grub_dev().
44781 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
44782 grub_util_biosdisk_get_grub_dev().
44783 * util/i386/pc/grub-setup.c (main): Likewise.
44784
8fff7c2f 447852007-05-16 Robert Millan <rmh@aybabtu.com>
44786
44787 * DISTLIST: Update for the latest changes.
44788 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
44789 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
44790 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
44791 grub/util/biosdisk.h.
44792 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
44793 grub/util/biosdisk.h.
44794
48e12b52 447952007-05-16 Robert Millan <rmh@aybabtu.com>
44796
44797 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
44798
46b9d128 447992007-05-16 Robert Millan <rmh@aybabtu.com>
44800
44801 * util/i386/efi/grub-install.in: New.
44802 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
44803 newly added grub-install.
44804 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
44805 include.
44806 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
44807 grub/util/biosdisk.h.
44808 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
44809 grub/util/biosdisk.h.
44810
2d1a40a9 448112007-05-16 Robert Millan <rmh@aybabtu.com>
44812
44813 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
44814 * include/grub/util/biosdisk.h: ... here.
44815 * util/i386/pc/biosdisk.c: Moved to ...
44816 * util/biosdisk.c: ... here.
44817 * util/i386/pc/getroot.c: Moved to ...
44818 * util/getroot.c: ... here.
44819 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
44820 * util/grub-mkdevicemap.c: ... here.
44821 * util/i386/pc/grub-probe.c: Moved to ...
44822 * util/grub-probe.c: ... here.
44823
9e26e3bc 448242007-05-15 Robert Millan <rmh@aybabtu.com>
44825
44826 * util/update-grub.in: Remove duplicated line in grub.cfg header
44827 message.
44828
57f96397 448292007-05-13 Robert Millan <rmh@aybabtu.com>
44830
44831 * util/update-grub.in: Fix a few assumptions about the devices holding
44832 /, /boot and /boot/grub being the same.
44833 * util/grub.d/00_header.in: Likewise.
44834 * util/grub.d/10_hurd.in: Likewise.
44835 * util/grub.d/10_linux.in: Likewise.
44836
44837 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
44838 patterns. Use that to define the `.old' suffix as older than `'.
44839
44840 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
44841
44842 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
44843 the grub.cfg header message.
44844
2e610d62 448452007-05-11 Robert Millan <rmh@aybabtu.com>
44846
44847 * util/update-grub.in: Create device.map if it doesn't already exist,
44848 before attempting to run grub-probe.
44849 Check for grub-probe and grub-mkdevicemap with the same code
44850 grub-install is using.
44851 Remove test mode.
44852
3f6a10ef 448532007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
44854
44855 * Makefile.in: Add the datarootdir autoconf variable.
44856
02e7b75e 448572007-05-09 Robert Millan <rmh@aybabtu.com>
44858
44859 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 44860 fail gracefully if dev->disk->partition == NULL.
02e7b75e 44861
75f396cc 448622007-05-07 Robert Millan <rmh@aybabtu.com>
44863
44864 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
44865 determine partition map module.
44866 * util/i386/pc/grub-install.in: Use this feature to decide which
44867 partition module to load, instead of hardcoding pc and gpt.
44868
da65cb36 448692007-05-07 Robert Millan <rmh@aybabtu.com>
44870
44871 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
44872 source directory differs from build directory.
44873
b57d6a91 448742007-05-05 Robert Millan <rmh@aybabtu.com>
44875
44876 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
44877 initialisation.
44878
509d00f1 448792007-05-05 Robert Millan <rmh@aybabtu.com>
44880
44881 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
44882
c48f23ef 448832007-05-05 Robert Millan <rmh@aybabtu.com>
44884
44885 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
44886 command-line arguments via ${GRUB_CMDLINE_LINUX}.
44887
20b97658 448882007-05-05 Robert Millan <rmh@aybabtu.com>
44889
44890 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
44891 (grub_probe_SOURCES): Likewise.
44892 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
44893 GPT and initialize dos_part and bsd_part accordingly.
44894 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
44895 install_bsd_part.
44896 (main): Activate gpt module for use during partition identification,
44897 and deactivate it afterwards.
44898 * util/i386/pc/grub-install.in: Add gpt module to core.img.
44899 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
44900 partition identification, and deactivate it afterwards.
44901
99123174 449022007-05-05 Robert Millan <rmh@aybabtu.com>
44903
44904 * term/i386/pc/console.c (grub_console_fini): Call
44905 grub_term_set_current() before grub_term_unregister().
44906
ebd97f6e 449072007-05-04 Robert Millan <rmh@aybabtu.com>
44908
44909 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
44910 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
44911 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
44912 and update-grub_DATA.
44913 * conf/common.rmk: Build and install update-grub components.
44914 * conf/common.mk: Regenerate.
44915 * util/update-grub.in: New. Core of update-grub.
44916 * util/grub.d/00_header.in: New. Generates grub.cfg header.
44917 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
44918 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
44919 * util/grub.d/README: New. Document grub.d directory layout.
44920
b06a264d 449212007-05-01 Robert Millan <rmh@aybabtu.com>
44922
44923 * util/grub-emu.c: Move initialization functions
44924 grub_util_biosdisk_init() and grub_init_all() before
44925 grub_util_biosdisk_get_grub_dev(), which relies on them.
44926
41f0050e 449272007-04-19 Robert Millan <rmh@aybabtu.com>
44928
44929 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
44930 it is used later.
44931
04582bb3 449322007-04-18 Jerone Young <jerone@gmail.com>
44933
f19dbdb7 44934 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 44935 stanza.
44936
08db4632 449372007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 44938
08db4632 44939 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
44940 continue on and look for device node with real device name.
44941
801b76be 449422007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 44943
fe6b695a 44944 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 44945 ability.
44946 * Makefile.in: Add autoconf package transformation code.
44947 * util/i386/pc/grub-install.in: Likewise.
44948 * util/powerpc/ieee1275/grub-install.in: Likewise.
44949
6795c4e1 449502007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44951
44952 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
44953 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
44954 (EXT2_REVISION): Likewise.
44955 (EXT2_INODE_SIZE): Likewise.
44956 (struct grub_ext2_block_group): Added a missing member
44957 "used_dirs".
44958 (grub_ext2_read_inode): Divide by the inode size in a superblock
44959 instead of 128 to obtain INODES_PER_BLOCK.
44960 Use the macro EXT2_INODE_SIZE instead of directly using
44961 SBLOCK->INODE_SIZE.
44962
d70af616 449632007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44964
44965 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
44966 superblock instead of the structure size to compute an
44967 offset. This fixes the problem that GRUB could not read a
44968 filesystem when inode size is different from 128-byte.
44969
3b801603 449702007-03-05 Marco Gerards <marco@gnu.org>
44971
44972 * normal/main.c (read_config_file): When "menu" is not set, create
44973 an initial context.
44974
4785bfe4 449752007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44976
44977 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
44978 (HEAP_LIMIT): New macro.
44979 (grub_claim_heap): Claim memory up to `heaplimit'.
44980
a0cbb023 449812007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44982
44983 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
44984 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
44985 (_start): Likewise.
44986 (grub_arch_modules_addr): Return address after `_end'.
44987 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
44988 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
44989 (add_segments): Calculate `_end' from phdr size and location.
44990 (ALIGN_UP): Moved to ...
44991 * include/grub/misc.h: here.
44992 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44993 New macro.
44994 (GRUB_IEEE1275_MODULE_BASE): Removed.
44995
fd7d8eba 449962007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44997
44998 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
44999 loop boundary.
45000
9b09e6fc 450012007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45002
45003 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
45004 All users updated.
45005 (grub_elf64_load_hook_t): Likewise.
45006 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
45007 debug output.
45008
3ce27299 450092007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45010
45011 * kern/mm.c: Update copyright.
45012 (grub_mm_debug): Correct syntax error.
45013 (grub_mm_dump_free): New function.
45014 (grub_debug_free): Call `grub_free'.
45015 * include/grub/mm.h: Update copyright.
45016 (grub_mm_dump_free): Add declaration.
45017
077d5fee 450182007-02-12 Hollis Blanchard <hollis@penguinppc.org>
45019
45020 * include/grub/ieee1275/ieee1275.h: Update copyright.
45021 * kern/powerpc/ieee1275/init.c: Likewise.
45022 * kern/powerpc/ieee1275/openfw.c: Likewise.
45023
45024 * loader/powerpc/ieee1275/linux.c: Likewise.
45025 * include/grub/elfload.h: Likewise.
45026 * kern/elf.c: Likewise.
45027 (grub_elf32_load): Pass `base' and `size' parameters. Update all
45028 callers.
45029 (grub_elf64_load): Likewise.
45030 (grub_elf32_load_segment): Move to a nested function.
45031 (grub_elf64_load_segment): Likewise.
45032
dc946850 450332007-02-12 Hollis Blanchard <hollis@penguinppc.org>
45034
45035 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
45036 prototype.
45037 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
45038 (grub_heap_len): Likewise.
45039 (HEAP_SIZE): New macro.
45040 (grub_claim_heap): New function.
45041 (grub_machine_init): Don't claim heap directly. Call
45042 `grub_claim_heap'.
45043 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
45044 (grub_available_iterate): New function.
45045
baa2a121 450462007-02-03 Thomas Schwinge <tschwinge@gnu.org>
45047
45048 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
45049 * configure.ac: Use it for testing the HOST and TARGET compilers.
45050
4fe9862e 450512006-12-13 Thomas Schwinge <tschwinge@gnu.org>
45052
45053 * Makefile.in (enable_grub_emu): New variable.
45054 * configure.ac (--enable-grub-emu): New option.
45055 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
45056 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
45057 * conf/i386-pc.rmk: Likewise.
45058 * conf/powerpc-ieee1275.rmk: Likewise.
45059 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
45060
a8aa5762 450612006-12-12 Marco Gerards <marco@gnu.org>
45062
45063 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
45064
45065 * kern/env.c (grub_env_unset): Don't free the member `value' when
45066 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
45067 pointer.
45068
45069 * normal/main.c (current_menu): Removed.
45070 (free_menu): Unset the `menu' environment variable.
45071 (grub_normal_menu_addentry): Make use of the environment variable
45072 `menu', instead of using the global `current_menu'. Allocate
45073 memory for the sourcecode of this entry.
45074 (read_config_file): New argument `nested', changed all callers.
45075 Only in the case of a new context, initialize a new menu. Set the
45076 `menu' environment variable.
45077 (grub_normal_execute): Don't set and unset the environment
45078 variable `menu' here anymore. Only free the menu when leaving the
45079 context.
45080
45081 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
45082 leak.
45083
957b3a3e 450842006-12-11 Marco Gerards <marco@gnu.org>
45085
45086 * normal/menu_entry.c (run): Fix off by one bug so the last line
45087 is executed. Move the loader check to outside the loop.
45088
ef875714 450892006-12-08 Hollis Blanchard <hollis@penguinppc.org>
45090
45091 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
45092
4e739985 450932006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
45094
45095 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
45096 the number of sectors. Reported by Andrey Shuvikov
45097 <mr_hyro@yahoo.com>.
f19dbdb7 45098
790707f2 450992006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
45100
45101 * kern/disk.c (grub_disk_read): When there is a read error, always
45102 try to read only the necessary data.
f19dbdb7 45103
790707f2 45104 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
45105 disk/raid.c.
45106 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
45107 prototype.
45108 [GRUB_UTIL] (grub_raid_fini): Likewise.
45109 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 45110 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 45111 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
45112 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
45113 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
45114 and grub_raid_fini().
f19dbdb7 45115
03e58196 451162006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
45117
45118 * include/grub/types.h (__unused): Rename to UNUSED.
45119 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
45120 (grub_elf64_size): Likewise.
f19dbdb7 45121
ae4f23bf 451222006-11-03 Hollis Blanchard <hollis@penguinppc.org>
45123
45124 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
45125 grub_error_push and grub_error_pop in the error-handling path.
45126 (grub_elf32_load_segment): Only call grub_file_read with non-zero
45127 length.
45128
2166cc83 451292006-11-03 Hollis Blanchard <hollis@penguinppc.org>
45130
45131 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
45132 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45134 (kernel_elf_SOURCES): Likewise.
45135 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
45136 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
45137 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45138 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45139 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
45140 (elf_mod_SOURCES): New variable.
45141 (elf_mod_CFLAGS): Likewise.
45142 (elf_mod_LDFLAGS): Likewise.
45143 * include/grub/types.h (__unused): New macro.
45144 * include/grub/elfload.h: New file.
45145 * kern/elf.c: Likewise.
45146 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
45147 (ELF32_LOADMASK): New macro.
45148 (ELF64_LOADMASK): Likewise.
45149 (vmlinux): Removed.
45150 (grub_linux_load32): New function.
45151 (grub_linux_load64): Likewise.
45152 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
45153 Use grub_elf_t instead of grub_file_t.
45154
a09d5aa5 451552006-11-02 Hollis Blanchard <hollis@penguinppc.org>
45156
45157 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
45158 `catch_result' to struct set_color_args.
45159
d976fc51 451602006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
45161
45162 * normal/menu.c: Include grub/script.h.
45163 * normal/menu_entry.c: Likewise.
45164 * include/grub/normal.h: Do not include grub/script.h.
45165
67507549 451662006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45167
45168 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
45169
69203a99 451702006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45171
45172 * kern/disk.c (grub_disk_open): Print debug messages when opening a
45173 disk.
45174 (grub_disk_close): Print debug messages when closing a disk.
45175 (grub_disk_read): Print debug messages when disk read fails.
45176 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
45177 filesystem type.
45178 * kern/partition.c: Include misc.h.
45179 (grub_partition_iterate): Print debug messages when detecting
45180 partition type.
45181
e2b8278c 451822006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45183
45184 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
45185 is negative.
45186 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
45187
97b2f2ff 451882006-10-26 Hollis Blanchard <hollis@penguinppc.org>
45189
45190 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45191 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
45192
6555d655 451932006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
45194
45195 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
45196 instead of sizeof(lv). Patch by Michael Guntsche.
45197
4d42b77f 451982006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
45199
45200 * disk/lvm.c: Rename VGS to VG_LIST.
45201 (grub_lvm_iterate): Change VGS->LV to VG-LV.
45202 (grub_lvm_open): Likewise.
45203 Thanks to Michael Guntsche for finding this bug.
45204
5d74d927 452052006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45206
45207 * configure.ac (AC_INIT): Bumped to 1.95.
45208
a1bb27e4 452092006-10-14 Robert Millan <rmh@aybabtu.com>
45210
45211 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
45212 with "/dev/.static/dev/md".
45213
e0994b8b 452142006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
45215
45216 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
45217 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
45218 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
45219 DRIVE_NAME are always freed.
45220
45221 * util/i386/pc/biosdisk.c (make_device_name): Add one into
45222 DOS_PART, as a DOS partition is counted from one instead of zero
45223 now. Reported by Robert Millan.
45224
ddd5cee9 452252006-10-14 Robert Millan <rmh@aybabtu.com>
45226
45227 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
45228 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
45229 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
45230 string returned by grub_guess_root_device.
45231 * util/i386/pc/grub-setup.c: Likewise.
45232 * util/i386/pc/grub-probefs.c: Likewise.
45233
45234 * util/i386/pc/grub-probefs.c: Rename to ...
45235 * util/i386/pc/grub-probe.c: ... this.
45236 * DISTLIST: Remove grub-probefs, add grub-probe.
45237 * conf/i386-efi.rmk: Likewise.
45238 * conf/i386-pc.rmk: Likewise.
45239 * util/i386/pc/grub-install.in: Likewise.
45240
45241 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
45242 choose which information we want to print.
45243
2b002173 452442006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
45245
45246 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
45247 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
45248 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
45249 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
45250 video/readers/tga.c and video/i386/pc/vbeutil.c.
45251
452522006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
45253
45254 Added support for RAID and LVM.
f19dbdb7 45255
2b002173 45256 * disk/lvm.c: New file.
45257 * disk/raid.c: Likewise.
45258 * include/grub/lvm.h: Likewise.
f19dbdb7 45259 * include/grub/raid.h: Likewise.
2b002173 45260 * include/grub/util/lvm.h: Likewise.
45261 * include/grub/util/raid.h: Likewise.
45262 * util/lvm.c: Likewise.
45263 * util/raid.c: Likewise.
45264
45265 * include/grub/disk.h (grub_disk_dev_id): Add
45266 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
45267 (grub_disk_get_size): New prototype.
45268 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
45269 returns a partition.
45270 (grub_disk_get_size): New function.
f19dbdb7 45271
2b002173 45272 * kern/i386/pc/init.c (make_install_device): Copy the prefix
45273 verbatim if grub_install_dos_part is -2.
45274
45275 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
45276 and LVM devices.
45277
45278 * util/i386/pc/grub-setup.c (setup): New argument
45279 MUST_EMBED. Force embedding of GRUB when the argument is
45280 true. Close FILE before returning.
45281 (main): Add support for RAID and LVM.
f19dbdb7 45282
2b002173 45283 * conf/common.rmk: Add RAID and LVM modules.
45284 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
45285 util/lvm.c.
45286 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
45287
45288 * kern/misc.c (grub_strstr): New function.
45289 * include/grub/misc.h (grub_strstr): New prototype.
45290
050548d0 452912006-10-10 Tristan Gingold <tristan.gingold@bull.net>
45292
45293 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
45294
da849d2d 452952006-10-05 Tristan Gingold <tristan.gingold@bull.net>
45296
45297 * kern/misc.c (grub_strtoull): Guess the base only if not
45298 specified.
45299
97b2f2ff 453002006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 45301
45302 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
45303 PowerMac support.
45304
97b2f2ff 453052006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 45306
45307 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
45308
45309 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
45310 Remove `flags' argument. All callers changed.
45311 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
45312 (IEEE1275_IHANDLE_INVALID): New variable.
45313 (IEEE1275_CELL_INVALID): New variable.
45314 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
45315 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
45316 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
45317 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
45318 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
45319 codes from Open Firmware. All callers updated.
45320 (grub_ieee1275_next_property): Directly return Open Firmware return
45321 code.
45322 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
45323 Standardize error checking from `grub_ieee1275_get_property'.
45324 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
45325 `devalias' to `aliases'. Correct comments. Consolidate error paths.
45326
97b2f2ff 453272006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 45328
45329 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
45330 `instance_to_package_args' to `instance_to_path_args'.
45331
45332 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
45333 `grub_ieee1275_chosen'.
45334
45335 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
45336 `grub_ieee1275_interpret'.
45337
97b2f2ff 453382006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 45339
45340 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
45341
97b2f2ff 453422006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 45343
45344 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
45345 (__cmpdi): Likewise.
45346
45347 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
45348 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
45349 `grub_ssize_t'.
45350
02bb8acc 45351 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 45352
45353 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
45354 to type `grub_ssize_t'.
45355 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
45356
7f9a8531 453572006-09-22 Marco Gerards <marco@gnu.org>
45358
45359 * normal/script.c (grub_script_create_cmdmenu): Skip leading
45360 newlines.
45361
b5ef1102 453622006-09-22 Marco Gerards <marco@gnu.org>
45363
45364 * commands/echo.c: New file.
45365
45366 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
45367
45368 * conf/common.rmk (echo_mod_SOURCES): New variable.
45369 (echo_mod_CFLAGS): Likewise.
45370 (echo_mod_LDFLAGS): Likewise.
45371
2cff3677 453722006-09-22 Marco Gerards <marco@gnu.org>
45373
45374 * normal/main.c (get_line): Malloc memory instead of using
45375 preallocated memory. Removed the arguments `cmdline' and
45376 `max_len'. Updated all callers.
45377
6ba4688b 453782006-09-22 Marco Gerards <marco@gnu.org>
45379
45380 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
45381 (normal_mod_DEPENDENCIES): Likewise.
45382
45383 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
45384 (normal_mod_DEPENDENCIES): Likewise.
45385
45386 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
45387
e02ac02c 453882006-09-22 Johan Rydberg <jrydberg@gnu.org>
45389
45390 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
45391 programs.
45392 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
45393 (normal_mod_DEPENDENCIES): Likewise.
45394 * conf/i386-pc.mk: Regenerate.
45395 * conf/i386-efi.mk: Likewise
45396 * conf/common.mk: Likewise.
45397 * conf/powerpc-ieee1275.mk: Likewise.
45398 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 45399
8d252e44 454002006-09-22 Robert Millan <rmh@aybabtu.com>
45401
45402 Sync with i386 version.
45403 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
45404 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
45405
209bf7ac 454062006-09-21 Robert Millan <rmh@aybabtu.com>
45407
45408 Import from GRUB Legacy (lib/device.c):
45409 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
45410 (init_device_map) [__linux__]: Add support for I2O devices.
45411
6b146090 454122006-09-14 Marco Gerards <marco@gnu.org>
45413
45414 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
45415 `-melf_i386'.
45416
e38600a8 454172006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 45418
45419 * util/i386/pc/grub-install.in: Skip menu.lst when removing
45420 /boot/grub/*.lst.
78fa1790 45421
2952da5d 45422 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 45423
2952da5d 45424 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
45425 before adding it to device.map.
45426
01b82a64 454272006-08-15 Johan Rydberg <jrydberg@gnu.org>
45428
fe6b695a 45429 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 45430 compiles a file; using the -MD option.
45431 * conf/common.mk: Regenerate.
45432 * conf/i386-pc.mk: Likewise.
45433 * conf/i386-efi.mk: Likewise.
45434 * conf/powerpc-ieee1275.mk: Likewise.
45435 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 45436
1064790d 454372006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
45438
45439 Move the prototypes of grub_setjmp and grub_longjmp to
45440 cpu/setjmp.h, so that each architecture may specify different
45441 attributes.
f19dbdb7 45442
1064790d 45443 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
45444 (grub_longjmp): Likewise.
45445 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
45446 (grub_longjmp): Likewise.
45447 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
45448 (grub_longjmp): Likewise.
45449
45450 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
45451 [!GRUB_UTIL] (grub_longjmp): Removed.
45452
29dda3ed 454532006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
45454
45455 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
45456 "color!" method does not return any value.
45457
ad2a06ed 454582006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45459
45460 * include/grub/bitmap.h: New file.
45461
45462 * include/grub/i386/pc/vbeutil.h: Likewise.
45463
45464 * video/bitmap.c: Likewise.
45465
45466 * video/readers/tga.c: Likewise.
45467
45468 * video/i386/pc/vbeutil.c: Likewise.
45469
45470 * commands/videotest.c: Code cleanup and updated to reflect to new
45471 video API.
45472
45473 * term/gfxterm.c: Likewise.
45474
45475 * video/video.c: Likewise.
45476
45477 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
45478 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
45479 (bitmap_mod_SOURCES): New entry.
45480 (bitmap_mod_CFLAGS): Likewise.
45481 (bitmap_mod_LDFLAGS): Likewise.
45482 (tga_mod_SOURCES): Likewise.
45483 (tga_mod_CFLAGS): Likewise.
45484 (tga_mod_LDFLAGS): Likewise.
45485
45486 * include/grub/video.h (grub_video_blit_operators): New enum type.
45487 (grub_video_render_target): Changed as forward declaration and moved
45488 actual definition to be video driver specific.
45489 (grub_video_adapter.blit_bitmap): Added blitting operator.
45490 (grub_video_adapter.blit_render_target): Likewise.
45491 (grub_video_blit_bitmap): Likewise.
45492 (grub_video_blit_render_target): Likewise.
45493
45494 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
45495 driver specific render target definition.
45496 (grub_video_vbe_map_rgba): Added driver internal helper.
45497 (grub_video_vbe_unmap_color): Updated to use
45498 grub_video_i386_vbeblit_info.
45499 (grub_video_vbe_get_video_ptr): Likewise.
45500
45501 * include/grub/i386/pc/vbeblit.h
45502 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
45503 grub_video_i386_vbeblit_info.
45504 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
45505 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
45506 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
45507 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
45508 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
45509 (grub_video_i386_vbeblit_index_index): Likewise.
45510 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
45511 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
45512 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
45513 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
45514 operator.
45515 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
45516 operator.
45517
45518 * video/i386/pc/vbeblit.c: Updated to reflect changes on
45519 include/grub/i386/pc/vbeblit.h.
45520
45521 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
45522 Updated to use grub_video_i386_vbeblit_info.
45523 (grub_video_i386_vbefill_R8G8B8): Likewise.
45524 (grub_video_i386_vbefill_index): Likewise.
45525 (grub_video_i386_vbefill): Added generic filler.
45526
45527 * video/i386/pc/vbefill.c: Updated to reflect changes on
45528 include/grub/i386/pc/vbefill.h.
45529
45530 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
45531 grub_video_i386_vbeblit_info.
45532 (grub_video_vbe_unmap_color): Likewise.
45533 (grub_video_vbe_blit_glyph): Likewise.
45534 (grub_video_vbe_scroll): Likewise.
45535 (grub_video_vbe_draw_pixel): Removed function.
45536 (grub_video_vbe_get_pixel): Likewise.
45537 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
45538 updated code to use it.
45539 (common_blitter): Added common blitter for render target and bitmap.
45540 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
45541 (grub_video_vbe_blit_render_target): Likewise.
45542
bc8c036d 455432006-07-30 Johan Rydberg <jrydberg@gnu.org>
45544
45545 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
45546 is in text mode if there is no console control protocol instance
45547 available.
45548
684a8eff 455492006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45550
45551 * include/grub/video.h: Code cleanup.
45552
45553 * include/grub/i386/pc/vbe.h: Likewise.
45554
45555 * video/i386/pc/vbe.c: Likewise.
45556
45557 * video/i386/pc/vbeblit.c: Likewise.
45558
45559 * video/i386/pc/vbefill.c: Likewise.
45560
45561 * video/video.c: Likewise. Also added more comments.
45562
5915059b 455632006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45564
45565 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
45566 (struct grub_biosdisk_dap): Likewise.
45567
45568 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
45569 linkage settings for all functions.
45570
90ce5d56 455712006-07-12 Marco Gerards <marco@gnu.org>
45572
45573 * configure.ac (--enable-mm-debug): Fix typo.
45574
45575 * genkernsyms.sh.in: Use proper quoting for `CC'.
45576
43e7f879 455772006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
45578
45579 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
45580 (normal_mod_ASFLAGS): Remove "-m32".
45581
4889bdec 455822006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
45583
45584 * util/misc.c: Include config.h.
45585 [!HAVE_MEMALIGN]: Do not include malloc.h.
45586 (grub_memalign): Use posix_memalign, if present. Then, use
45587 memalign, if present. Otherwise, emit an error.
45588
45589 * util/grub-emu.c: Do not include malloc.h.
45590
45591 * include/grub/util/misc.h: Include unistd.h. This is required for
45592 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
45593 D. Eades III <hde@foobar-qux.org>.
45594
45595 * configure.ac (AC_GNU_SOURCE): Added.
45596 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
45597 type.
45598
fd39d4da 455992006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
45600
45601 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
45602 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
45603
b786f3b5 456042006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
45605
45606 * include/grub/types.h (grub_host_addr_t): Rename to
45607 grub_target_addr_t.
45608 (grub_host_off_t): Rename to grub_target_off_t.
45609 (grub_host_size_t): Rename to grub_target_size_t.
45610 (grub_host_ssize_t): Rename to grub_target_ssize_t.
45611 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
45612
45613 * include/grub/kernel.h (struct grub_module_header): Change type
45614 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
45615 (grub_module_info): Likewise.
f19dbdb7 45616
051988bb 456172006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45618
45619 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
45620 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
45621 Velazquez <jesus.velazquez@gmail.com>.
45622
deae281b 456232006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45624
45625 Count partitions from 1 instead of 0 in the string representation
45626 of partitions. Still use 0-based internally.
f19dbdb7 45627
deae281b 45628 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
45629 (sun_partition_map_iterate): Use grub_partition_t instead of
45630 struct grub_partition *. Cast DESC->START_CYLINDER to
45631 grub_uint64_t after converting the endian.
45632 (sun_partition_map_probe): Subtract 1 for PARTNUM.
45633 (sun_partition_map_get_name): Add 1 to P->INDEX.
45634
45635 * partmap/pc.c (grub_partition_parse): Subtract 1 for
45636 PCDATA->DOS_PART.
45637 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
45638
45639 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
45640 zero instead of one.
45641 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
45642 (gpt_partition_map_get_name): Add 1 into P->INDEX.
45643
45644 * partmap/apple.c (apple_partition_map_iterate): Change the type
45645 of POS to unsigned.
45646 (apple_partition_map_probe): Subtract 1 for PARTNUM.
45647 (apple_partition_map_get_name): Add 1 into P->INDEX.
45648
45649 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
45650 of POS to unsigned.
45651 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
45652 calculate the offset of a partition.
45653 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
45654 (amiga_partition_map_get_name): Add 1 into P->INDEX.
45655
45656 * partmap/acorn.c (acorn_partition_map_find): Change the type of
45657 SECTOR to grub_disk_addr_t.
45658 (acorn_partition_map_iterate): Likewise.
45659 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
45660 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
45661 top.
45662 (acorn_partition_map_get_name): Add 1 into P->INDEX.
45663
45664 * kern/i386/pc/init.c (make_install_device): Add 1 into
45665 GRUB_INSTALL_DOS_PART.
45666
45667 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
45668 conditional.
45669
524a1e6a 456702006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45671
45672 Clean up the code to support 64-bit addressing in disks and
45673 files. This change is not enough for filesystems yet.
f19dbdb7 45674
524a1e6a 45675 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
45676 type of "start" to grub_uint64_t.
45677 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
45678 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
45679 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
45680 convert addresses.
45681
45682 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
45683 to grub_disk_addr_t.
45684
45685 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
45686 string.
45687
45688 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45689
45690 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
45691 to char *.
45692
45693 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
45694
45695 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
45696
45697 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
45698
45699 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
45700 to grub_off_t, to detect an error from grub_file_seek.
45701 (grub_multiboot_load_elf32): Likewise.
45702
45703 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
45704 maximum unsigned long value when an overflow is detected.
45705 (grub_strtoull): New function.
45706 (grub_divmod64): Likewise.
45707 (grub_lltoa): use grub_divmod64.
45708
45709 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
45710 grub_disk_addr_t.
45711 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
45712 the pointer to next character. Use grub_strtoull instead of
45713 grub_strtoul.
45714 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
45715 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
45716 respectively.
45717
fe6b695a 45718 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 45719 return value is signed.
45720 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
45721 test if OFFSET is less than zero, as OFFSET is unsigned now.
45722
45723 * kern/disk.c (struct grub_disk_cache): Change the type of
45724 "sector" to grub_disk_addr_t.
45725 (grub_disk_cache_get_index): Change the type of SECTOR to
45726 grub_disk_addr_t. Calculate the hash with SECTOR casted to
45727 unsigned after shifting.
45728 (grub_disk_cache_invalidate): Change the type of SECTOR to
45729 grub_disk_addr_t.
45730 (grub_disk_cache_unlock): Likewise.
45731 (grub_disk_cache_store): Likewise.
45732 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
45733 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
45734 grub_disk_addr_t and grub_uint64_t, respectively.
45735 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
45736 body, as the value of OFFSET is tweaked by
45737 grub_disk_check_range. Change the types of START_SECTOR, LEN and
45738 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
45739 respectively.
45740 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
45741 body, as the value of OFFSET is tweaked by
45742 grub_disk_check_range. Change the types of LEN and N to
45743 grub_size_t.
45744
45745 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
45746 and "saved_offset" to grub_off_t.
45747 (test_header): Cast BUF to char *.
45748 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
45749 to char *.
45750 (grub_gzio_read): Change the types of OFFSET and SIZE to
45751 grub_off_t and grub_size_t, respectively.
45752
45753 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
45754 Removed.
45755 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
45756 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
45757 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
45758 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
45759 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
45760
45761 * include/grub/types.h (grub_off_t): Unconditionally set to
45762 grub_uint64_t.
45763 (grub_disk_addr_t): Changed to grub_uint64_t.
45764
45765 * include/grub/partition.h (struct grub_partition): Change the
45766 types of "start", "len" and "offset" to grub_disk_addr_t,
45767 grub_uint64_t and grub_disk_addr_t, respectively.
45768 (grub_partition_get_start): Return grub_disk_addr_t.
45769 (grub_partition_get_len): Return grub_uint64_t.
45770
45771 * include/grub/misc.h (grub_strtoull): New prototype.
45772 (grub_divmod64): Likewise.
45773
45774 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
45775 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
45776 grub_off_t, respectively.
45777 All callers and references changed.
45778
45779 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
45780 grub_size_t in "read".
45781 All callers and references changed.
45782
45783 * include/grub/file.h (struct grub_file): Change the types of
45784 "offset" and "size" to grub_off_t and grub_off_t,
45785 respectively. Change the type of SECTOR to grub_disk_addr_t in
45786 "read_hook".
45787 (grub_file_read): Change the type of LEN to grub_size_t.
45788 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
45789 grub_off_t.
45790 (grub_file_size): Return grub_off_t.
45791 (grub_file_tell): Likewise.
45792 All callers and references changed.
45793
45794 * include/grub/disk.h (struct grub_disk_dev): Change the types of
45795 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
45796 "write".
45797 (struct grub_disk): Change the type of "total_sectors" to
45798 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 45799 "read_hook".
524a1e6a 45800 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
45801 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
45802 (grub_disk_write): Likewise.
45803 All callers and references changed.
45804
45805 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
45806 char * for grub_strncmp to silence gcc.
45807 (grub_iso9660_mount): Likewise.
45808 (grub_iso9660_mount): Likewise.
45809 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
45810 return statement.
45811 (grub_iso9660_iterate_dir): Likewise.
45812 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
45813
45814 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
45815 LEN to grub_disk_addr_t and grub_size_t, respectively.
45816
45817 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45818
45819 * fs/jfs.c (grub_jfs_read_file): Likewise.
45820
45821 * fs/minix.c (grub_jfs_read_file): Likewise.
45822
45823 * fs/sfs.c (grub_jfs_read_file): Likewise.
45824
45825 * fs/ufs.c (grub_jfs_read_file): Likewise.
45826
45827 * fs/xfs.c (grub_jfs_read_file): Likewise.
45828
45829 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
45830 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
45831 respectively.
45832
45833 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
45834 BLKNR to -1 instead of returning GRUB_ERRNO.
45835 (grub_ext2_read_file): Change the types of SECTOR and
45836 LEN to grub_disk_addr_t and grub_size_t, respectively.
45837
45838 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
45839 LEN to grub_disk_addr_t and grub_size_t, respectively.
45840
45841 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
45842 grub_file_read.
45843
45844 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
45845 string. Do not cast SECTOR explicitly.
45846
45847 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
45848 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
45849 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
45850 grub_disk_addr_t and grub_size_t, respectively. If the sector is
45851 over 2TB and LBA mode is not supported, raise an error.
45852 (get_safe_sectors): New function.
45853 (grub_biosdisk_read): Use get_safe_sectors.
45854 (grub_biosdisk_write): Likewise.
45855
45856 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
45857 (grub_efidisk_write): Likewise.
45858
45859 * disk/loopback.c (delete_loopback): Cosmetic changes.
45860 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
45861 correctly.
45862 (grub_loopback_open): Likewise.
45863 (grub_loopback_read): Likewise. Also, change the type of POS to
45864 grub_off_t, and fix the usage of grub_memset.
45865
45866 * commands/i386/pc/play.c: Include grub/machine/time.h.
45867
45868 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
45869 print FILE->SIZE.
45870
45871 * commands/configfile.c: Include grub/env.h.
45872
45873 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
45874 GRUB_ERRNO directly instead. Change the type of POS to
45875 grub_off_t. Follow the coding standard.
45876
45877 * commands/blocklist.c: Include grub/partition.h.
45878 (grub_cmd_blocklist): Return an error if the underlying device is
45879 not a disk. Take the starting sector of a partition into account,
45880 if a partition is used.
45881
45882 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
45883 a length field.
45884 (lba_mode): Support 64-bit addresses.
45885 (chs_mode): Likewise.
45886 (copy_buffer): Adapted to the new offsets of a length field and a
45887 segment field.
45888 (blocklist_default_start): Allocate 64-bit space.
45889
45890 * boot/i386/pc/boot.S (force_lba): Removed.
45891 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 45892 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 45893 space.
45894 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
45895 is useless.
45896 (lba_mode): Refactored to support a 64-bit address. More size
45897 optimization.
45898 (setup_sectors): Likewise.
45899
53af98ad 459002006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45901
45902 * DISTLIST: Added include/grub/i386/linux.h. Removed
45903 include/grub/i386/pc/linux.h
45904
45905 * configure.ac (AC_INIT): Bumped to 1.94.
45906
45907 * config.guess: Updated from gnulib.
45908 * config.sub: Likewise.
45909 * install-sh: Likewise.
45910 * mkinstalldirs: Likewise.
45911
b4c1940a 459122006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45913
45914 * conf/common.rmk (grub_modules_init.lst): Depended on
45915 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
45916 MODSRCFILES.
45917
45918 * genmk.rb (PModule::rule): Reverted the previous change.
45919
cfca1cfd 459202006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45921
45922 * conf/common.rmk (grub_modules_init.lst): Depends on
45923 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
45924 that the target does not exist before producing.
45925 (grub_modules_init.h): Remove the target before generating.
45926 (grub_emu_init.c): Likewise.
45927
45928 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
45929
aa6d7826 459302006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
45931
45932 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
45933 for the target-specific tests. Make sure that we also have the
45934 up-to-date target variables for those tests.
45935
26c607b9 459362006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45937
45938 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
45939 (PModule::rule): Likewise.
45940
0162321a 459412006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45942
45943 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
45944 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
45945 target-specific flags should be prefixed.
45946 (PModule::rule): Likewise.
45947
6c826348 459482006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
45949
45950 * configure.ac (CMP): Check if cmp is available explicitly.
45951
b977bf01 459522006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
45953
45954 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
45955 (target_cpu): New variable.
45956 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 45957
b977bf01 45958 * util/i386/pc/grub-install.in (host_cpu): Removed.
45959 (target_cpu): New variable.
45960 (pkglibdir): Use target_cpu instead of host_cpu.
45961
45962 * util/genmoddep.c: Removed.
f19dbdb7 45963
b977bf01 45964 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
45965 instead of GRUB_HOST_SIZEOF_VOID_P.
45966 * kern/dl.c: Likewise.
45967
45968 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
45969 ...
45970 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45971 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45972 (GRUB_TARGET_SIZEOF_LONG): ... this.
45973 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45974 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45975 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45976 to ...
45977 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45978 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45979 (GRUB_TARGET_SIZEOF_LONG): ... this.
45980 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45981 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45982 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45983 to ...
45984 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45985 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45986 (GRUB_TARGET_SIZEOF_LONG): ... this.
45987 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45988 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45989
45990 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
45991 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
45992 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
45993 instead of GRUB_HOST_SIZEOF_LONG.
45994 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
45995 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
45996 GRUB_CPU_WORDS_BIGENDIAN.
45997 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
45998 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
45999 grub_host_ssize_t.
46000
46001 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
46002 (genmoddep_SOURCES): Likewise.
46003 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
46004 (genmoddep_SOURCES): Likewise.
46005 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
46006 (genmoddep_SOURCES): Likewise.
46007 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
46008 Likewise.
46009 (genmoddep_SOURCES): Likewise.
46010
46011 * genmoddep.awk: New file.
46012
46013 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
46014 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
46015 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
46016 (PModule::rule): Likewise.
46017 (Program::rule): Likewise.
46018 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
46019 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
46020 respectively.
46021
46022 * configure.ac: Rewritten intensively to use host and target
46023 instead of build and host, respectively.
46024
46025 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
46026 (host_cpu): Removed.
46027 (target_cpu): New variable.
46028 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
46029 (BUILD_CC): Removed.
46030 (BUILD_CFLAGS): Likewise.
46031 (BUILD_CPPFLAGS): Likewise.
46032 (TARGET_CC): New variable.
46033 (TARGET_CFLAGS): Likewise.
46034 (TARGET_CPPFLAGS): Likewise.
46035 (TARGET_LDFLAGS): Likewise.
46036 (AWK): Likewise.
46037 (include): Use target_cpu instead of host_cpu.
46038 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 46039
b977bf01 46040 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
46041
f09771a1 460422006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
46043
46044 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
46045 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
46046 field 'false' to 'exec_on_false'.
46047 (grub_script_create_cmdif): Renamed argument names to reflect above
46048 changes.
46049
46050 * normal/execute.c (grub_script_execute_cmdif): Likewise.
46051
46052 * normal/script.c (grub_script_create_cmdif): Likewise.
46053
118f4fb3 460542006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
46055
46056 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
46057 top.
46058 (grub_hfsplus_btree_recptr): Likewise.
46059 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
46060 FILEBLOCK both to pass a block number and store next block
46061 number.
46062 (grub_hfsplus_read_block): Rewritten heavily to support an extent
46063 overflow file correctly. Specify errors appropriately, because
46064 fshelp expects that GRUB_ERRNO is set when fails. Reuse
46065 grub_hfsplus_btree_recptr to get the pointer to a found key.
46066 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
46067 is found.
46068
46069 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
46070 linux.mod.
46071 (_linux_mod_SOURCES): New variable.
46072 (_linux_mod_CFLAGS): Likewise.
46073 (_linux_mod_LDFLAGS): Likewise.
46074 (linux_mod_SOURCES): Likewise.
46075 (linux_mod_CFLAGS): Likewise.
46076 (linux_mod_LDFLAGS): Likewise.
46077
46078 * DISTLIST: Added loader/i386/efi/linux.c,
46079 loader/i386/efi/linux_normal.c and
46080 include/grub/i386/efi/loader.h.
46081
46082 * loader/i386/efi/linux.c: New file.
46083 * loader/i386/efi/linux_normal.c: Likewise.
46084 * include/grub/i386/efi/loader.h: Likewise.
46085
89a7d726 460862006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
46087
46088 * commands/blocklist.c: New file.
46089
46090 * DISTLIST: Added commands/blocklist.c.
46091
46092 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 46093 color for the background, and a darker color for the foreground.
89a7d726 46094 (grub_console_checkkey): Return READ_KEY.
46095 (grub_console_cls): Set the background to
46096 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
46097
46098 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
46099
46100 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
46101 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
46102
46103 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
46104 prototype.
46105
46106 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
46107 BG. The spec is wrong again.
46108
46109 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
46110 prototype.
46111 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
46112
46113 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46114 commands/blocklist.c.
46115 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 46116
89a7d726 46117 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
46118 (blocklist_mod_SOURCES): New variable.
46119 (blocklist_mod_CFLAGS): Likewise.
46120 (blocklist_mod_LDFLAGS): Likewise.
46121
75c8f258 461222006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
46123
46124 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
46125 duplication.
46126 (lba_mode): Use %eax more intensively to reduce the code size.
46127
da2eb181 461282006-05-20 Marco Gerards <marco@gnu.org>
46129
46130 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
46131
46132 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
46133 for `menuentry'.
46134 (script): Accept leading newlines.
46135 (newlines): New rule to describe 0 or more newlines.
46136 (commands): Accept `command' with trailing newline. Fixed the
46137 order in which arguments were passed to `grub_script_add_cmd'.
46138 Accept commands separated by newlines.
46139 (function): Changed to accept newlines.
46140 (menuentry) Rewritten.
46141
46142 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
46143 front of the list, instead of to the end.
46144
577b4050 461452006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
46146
46147 * util/i386/pc/grub-install.in (bindir): New variable.
46148 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
46149 Shaver <lbgwjl@gmail.com>.
46150
0d6e1189 461512006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
46152
46153 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
46154 grub/machine/linux.h
46155 * loader/i386/pc/linux.c: Likewise.
46156
46157 * include/grub/i386/pc/linux.h: Moved to ...
46158 * include/grub/i386/linux.h: ... here.
46159
46160 * include/grub/i386/linux.h (struct linux_kernel_params): New
46161 struct.
f19dbdb7 46162
31b86e9f 461632006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
46164
46165 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
46166 checking.
46167 (grub_video_vbe_blit_glyph): Likewise.
46168 (grub_video_vbe_blit_bitmap): Likewise.
46169 (grub_video_vbe_blit_render_target): Likewise.
46170
83b984de 461712006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
46172
46173 * configure.ac (--with-platform): Properly quote the square
46174 brackets.
46175
5f0413bd 461762006-05-08 Marco Gerards <marco@gnu.org>
46177
46178 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
46179 this...
46180 (kernel_elf_HEADERS): ...to this. Updated all users.
46181 (grubof_symlist.c): Renamed from this...
46182 (kernel_elf_symlist.c): ...to this. Updated all users.
46183 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
46184 (grubof_SOURCES): Renamed from this...
46185 (kernel_elf_SOURCES): ...to this.
46186 (grubof_HEADERS): Renamed from this...
46187 (kernel_elf_HEADERS): ...to this.
46188 (grubof_CFLAGS): Renamed from this...
46189 (kernel_elf_CFLAGS): ...to this.
46190 (grubof_ASFLAGS): Renamed from this...
46191 (kernel_elf_ASFLAGS): ...to this.
46192 (grubof_LDFLAGS): Renamed from this...
46193 (kernel_elf_LDFLAGS): ...to this.
46194
46195 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
46196 this...
46197 (kernel_elf_HEADERS): ...to this. Updated all users.
46198 (grubof_symlist.c): Renamed from this...
46199 (kernel_elf_symlist.c): ...to this. Updated all users.
46200 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
46201 (grubof_SOURCES): Renamed from this...
46202 (kernel_elf_SOURCES): ...to this.
46203 (grubof_HEADERS): Renamed from this...
46204 (kernel_elf_HEADERS): ...to this.
46205 (grubof_CFLAGS): Renamed from this...
46206 (kernel_elf_CFLAGS): ...to this.
46207 (grubof_ASFLAGS): Renamed from this...
46208 (kernel_elf_ASFLAGS): ...to this.
46209 (grubof_LDFLAGS): Renamed from this...
46210 (kernel_elf_LDFLAGS): ...to this.
46211
46212 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
46213 `kernel.elf' instead of `grubof'.
46214
05568c2e 462152006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
46216
46217 Add --with-platform to configure. Use pkglibdir instead of
46218 pkgdatadir. This is reported by Roger Leigh.
46219
46220 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
46221 (host_vendor): Likewise.
46222 (host_os): Likewise.
46223 (pkgdatadir): Likewise.
46224 (platform): New variable.
46225 (pkglibdir): Likewise.
46226 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 46227
05568c2e 46228 * util/i386/pc/grub-install.in (datadir): Removed.
46229 (host_vendor): Likewise.
46230 (host_os): Likewise.
46231 (pkgdatadir): Likewise.
46232 (platform): New variable.
46233 (pkglibdir): Likewise.
46234 Use PKGLIBDIR instead of PKGDATADIR.
46235
46236 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
46237 instead of GRUB_DATADIR.
46238 (main): Likewise.
46239 * util/i386/pc/grub-mkimage.c (usage): Likewise.
46240 (main): Likewise.
46241 * util/i386/efi/grub-mkimage.c (usage): Likewise.
46242 (main): Likewise.
46243
46244 * configure.ac (--with-platform): New option.
46245 Use PLATFORM instead of HOST_VENDOR to specify a platform.
46246
46247 * Makefile.in: Include a makefile based on PLATFORM instead of
46248 HOST_VENDOR.
46249 (pkgdatadir): Not appended by the machine type.
46250 (pkglibdir): Appended by the machine type.
46251 (host_vendor): Removed.
46252 (platform): New variable.
46253 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
46254 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
46255 (uninstall): Likewise.
46256
4e93851c 462572006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
46258
46259 Use the environment context in the menu. Remove the commands
46260 "default" and "timeout", and use variables instead.
f19dbdb7 46261
4e93851c 46262 * normal/menu.c: Include grub/env.h.
46263 (print_entry): Cast TITLE to silence gcc.
46264 (get_timeout): New function.
46265 (set_timeout): Likewise.
46266 (get_entry_number): Likewise.
46267 (run_menu): Use a default entry, a fallback entry and a timeout
46268 in the environment variables "default", "fallback" and
46269 "timeout". Also, tweak the default entry if it is not within the
46270 current menu entries.
46271 (grub_menu_run): Use a fallback entry in the environment variable
46272 "fallback".
46273
46274 * normal/main.c (read_config_file): Do not initialize
46275 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
46276 NEWMENU->TIMEOUT.
46277 (grub_normal_execute): Use a data slot to store the menu.
46278
46279 * include/grub/normal.h (struct grub_menu): Removed default_entry,
46280 fallback_entry and timeout.
46281 (struct grub_menu_list): Removed.
46282 (grub_menu_list_t): Likewise.
46283 (struct grub_context): Likewise.
46284 (grub_context_t): Likewise.
46285 (grub_context_get): Likewise.
46286 (grub_context_get_current_menu): Likewise.
46287 (grub_context_push_menu): Likewise.
46288 (grub_context_pop_menu): Likewise.
46289 (grub_default_init): Likewise.
46290 (grub_default_fini): Likewise.
46291 (grub_timeout_init): Likewise.
46292 (grub_timeout_fini): Likewise.
46293
46294 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
46295 and timeout.mod.
46296 (normal_mod_SOURCES): Removed normal/context.c.
46297
46298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
46299 commands/default.c, commands/timeout.c and normal/context.c.
46300 (normal_mod_SOURCES): Removed normal/context.c.
46301
46302 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
46303 commands/timeout.c and normal/context.c.
46304 (normal_mod_SOURCES): Removed normal/context.c.
46305
46306 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
46307 commands/default.c, commands/timeout.c and normal/context.c.
46308 (normal_mod_SOURCES): Removed normal/context.c.
46309
46310 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
46311 timeout.mod.
46312 (default_mod_SOURCES): Removed.
46313 (default_mod_CFLAGS): Likewise.
46314 (default_mod_LDFLAGS): Likewise.
46315 (timeout_mod_SOURCES): Removed.
46316 (timeout_mod_CFLAGS): Likewise.
46317 (timeout_mod_LDFLAGS): Likewise.
46318
46319 * DISTLIST: Removed commands/default.c, commands/timeout.c and
46320 normal/context.c.
46321
46322 * commands/default.c: Removed.
46323 * commands/timeout.c: Likewise.
46324 * normal/context.c: Likewise.
46325
1eb9cc1d 463262006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
46327
46328 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
46329
385bd9c1 463302006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
46331
46332 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
46333 "next" to "prev" for readability.
46334 (struct grub_env_sorted_var): New struct.
46335 (grub_env_context): Renamed to ...
46336 (initial_context): ... this.
46337 (grub_env_var_context): Renamed to ...
46338 (current_context): ... this.
46339 (grub_env_find): Look only at CURRENT_CONTEXT.
46340 (grub_env_context_open): Rewritten to copy exported variables from
46341 previous context.
46342 (grub_env_context_close): Rewritten according to the new
46343 scheme. Also, add an assertion to prevent the initial context from
46344 removed.
46345 (grub_env_insert): Removed the code for the sorted list.
46346 (grub_env_remove): Likewise.
46347 (grub_env_export): Simply mark the variable with
46348 GRUB_ENV_VAR_GLOBAL.
46349 (grub_env_set): A cosmetic change for naming consistency.
46350 (grub_env_get): Likewise.
46351 (grub_env_unset): Likewise.
46352 (grub_env_iterate): Rewritten to sort variables within this
46353 function.
46354 (grub_register_variable_hook): Fixed for naming consistency. Call
46355 grub_env_find again, only if NAME is not found at the first time.
46356 (mangle_data_slot_name): New function.
46357 (grub_env_set_data_slot): Likewise.
46358 (grub_env_get_data_slot): Likewise.
46359 (grub_env_unset_data_slot): Likewise.
46360
46361 * include/grub/env.h (grub_env_var_type): New enum.
46362 (GRUB_ENV_VAR_LOCAL): New constant.
46363 (GRUB_ENV_VAR_GLOBAL): Likewise.
46364 (GRUB_ENV_VAR_DATA): Likewise.
46365 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
46366 "type".
46367 (grub_env_set): Replace VAR with NAME for consistency.
46368 (grub_register_variable_hook): Likewise.
46369 (grub_env_export): Specify the name of the argument.
46370 (grub_env_set_data_slot): New prototype.
46371 (grub_env_get_data_slot): Likewise.
46372 (grub_env_unset_data_slot): Likewise.
46373
7f362539 463742006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46375
46376 Extend the loader so that GRUB can accept a loader which comes
46377 back to GRUB when a loaded image exits. Also, this change adds
46378 support for a chainloader on EFI.
f19dbdb7 46379
7f362539 46380 * term/efi/console.c: Include grub/misc.h.
46381 (grub_console_checkkey): Display a scan code on the top for
46382 debugging. This will be removed once the EFI port gets stable.
46383 Correct the scan code mapping.
46384
46385 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
46386 allocate memory from larger regions, in order to reduce the number
46387 of allocated regions. Otherwise, the MacOSX loader panics.
46388 (filter_memory_map): Avoid less than 1MB for compatibility with
46389 other loaders.
46390 (add_memory_regions): Allocate from the tail of a region, if
46391 possible, to avoid allocating a region near to 1MB, for the MacOSX
46392 loader.
46393
46394 * kern/efi/init.c (grub_efi_set_prefix): Specify
46395 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
46396
46397 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
46398 argument IMAGE_HANDLE and specify it to get a loaded image.
46399 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
46400 grub_efi_get_loaded_image.
fe6b695a 46401 (grub_efi_get_filename): Divide the length by the size of
7f362539 46402 grub_efi_char16_t.
46403 (grub_efi_get_device_path): New function.
46404 (grub_efi_print_device_path): Print End Device Path nodes. Divide
46405 the length by the size of grub_efi_char16_t for a file path device
46406 path node.
46407
46408 * kern/loader.c (grub_loader_noreturn): New variable.
46409 (grub_loader_set): Accept a new argument NORETURN. Set
46410 GRUB_LOADER_NORETURN to NORETURN.
46411 All callers changed.
46412 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
46413 grub_machine_fini.
46414
46415 * include/grub/efi/efi.h (grub_efi_get_device_path): New
46416 prototype.
46417 (grub_efi_get_loaded_image): Take an argument to specify an image
46418 handle.
46419
46420 * include/grub/loader.h (grub_loader_set): Added one more argument
46421 NORETURN.
46422
46423 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
46424 instead of grub_efi_open_protocol.
46425 (grub_efidisk_get_device_name): Likewise.
46426 (grub_efidisk_close): Print a newline.
46427 (grub_efidisk_get_device_handle): Fixed to use
46428 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
46429 GRUB_EFI_DEVICE_PATH_TYPE.
46430
46431 * disk/efi/efidisk.c (device_path_guid): Moved to ...
46432 * kern/efi/efi.c (device_path_guid): ... here.
46433
46434 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
46435 chain.mod.
46436 (kernel_mod_HEADERS): Added efi/disk.h.
46437 (_chain_mod_SOURCES): New variable.
46438 (_chain_mod_CFLAGS): Likewise.
46439 (_chain_mod_LDFLAGS): Likewise.
46440 (chain_mod_SOURCES): Likewise.
46441 (chain_mod_CFLAGS): Likewise.
46442 (chain_mod_LDFLAGS): Likewise.
46443
46444 * DISTLIST: Added include/grub/efi/chainloader.h,
46445 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
46446
46447 * include/grub/efi/chainloader.h: New file.
46448 * loader/efi/chainloader.c: Likewise.
46449 * loader/efi/chainloader_normal.c: Likewise.
46450
c0111d6e 464512006-04-30 Marco Gerards <marco@gnu.org>
46452
46453 * commands/configfile.c (grub_cmd_source): New function.
46454 (GRUB_MOD_INIT): Register the commands `source' and `.'.
46455 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
46456
df5341da 464572006-04-30 Marco Gerards <marco@gnu.org>
46458
46459 * normal/execute.c (grub_script_execute_cmd): Change the return
46460 type to `grub_err_t'. Correctly return the error.
46461 (grub_script_execute_cmdline): In case a command line is not a
46462 command or a function, try to interpret it as an assignment.
46463
f85934bd 464642006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46465
46466 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
46467 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
46468 skip a node whose name is obviously invalid as UTF-16,
46469 i.e. contains a NUL character. Stop the iteration when the last
46470 directory entry is found. Instead of using the return value of
46471 grub_hfsplus_btree_iterate_node, store the value in RET and use
46472 it, because the iterator can be stopped by the last directory
46473 entry.
46474
8f8a2cf8 464752006-04-30 Marco Gerards <marco@gnu.org>
46476
46477 * include/grub/env.h (grub_env_export): New prototype. Reported
46478 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
46479
a27e84ce 464802006-04-30 Marco Gerards <marco@gnu.org>
46481
46482 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
46483 size of the extents in a catalog file record.
46484
eaef0553 464852006-04-29 Marco Gerards <marco@gnu.org>
46486
46487 * commands/configfile.c (grub_cmd_configfile): Execute the
46488 configfile within its own context.
46489
46490 * include/grub/env.h (grub_env_context_open): New prototype.
46491 (grub_env_context_close): Likewise.
46492
46493 * kern/env.c (grub_env): Removed.
46494 (grub_env_sorted): Likewise.
46495 (grub_env_context): New variable.
46496 (grub_env_var_context): Likewise.
46497 (grub_env_find): Search both the active context and the global
46498 context.
46499 (grub_env_context_open): New function.
46500 (grub_env_context_close): Likewise.
46501 (grub_env_insert): Likewise.
46502 (grub_env_remove): Likewise.
46503 (grub_env_export): Likewise.
46504 (grub_env_set): Changed to use helper functions to avoid code
46505 duplication.
46506 (grub_env_iterate): Rewritten so both the current context and the
46507 global context are being used.
46508
46509 * normal/command.c (export_command): New function.
46510 (grub_command_init): Register the `export' function.
46511
7b455f4d 465122006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
46513
46514 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
46515 explicitly to suppress gcc's warnings.
46516 * fs/fat.c (grub_fat_find_dir): Likewise.
46517 (grub_fat_label): Likewise.
46518 * fs/xfs.c (grub_xfs_read_inode): Likewise.
46519 (grub_xfs_mount): Likewise.
46520 (grub_xfs_label): Likewise.
46521 * fs/affs.c (grub_affs_mount): Likewise.
46522 (grub_affs_label): Likewise.
46523 (grub_affs_iterate_dir): Likewise.
46524 * fs/sfs.c (grub_sfs_mount): Likewise.
46525 (grub_sfs_iterate_dir): Likewise.
46526 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
46527 * fs/hfs.c (grub_hfs_mount): Likewise.
46528 (grub_hfs_cmp_catkeys): Likewise.
46529 (grub_hfs_find_dir): Likewise.
46530 (grub_hfs_dir): Likewise.
46531 (grub_hfs_label): Likewise.
46532 * fs/jfs.c (grub_jfs_mount): Likewise.
46533 (grub_jfs_opendir): Likewise.
46534 (grub_jfs_getent): Likewise.
46535 (grub_jfs_lookup_symlink): Likewise.
46536 (grub_jfs_label): Likewise.
46537 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
46538 (grub_hfsplus_iterate_dir): Likewise.
46539 (grub_hfsplus_btree_iterate_node): Made static.
46540
46541 * util/grub-emu.c (prefix): New variable.
46542 (grub_machine_set_prefix): New function.
46543 (main): Do not set the environment variable "prefix" here. Only
46544 set PREFIX, which is used later by grub_machine_set_prefix.
46545
46546 * include/grub/video.h: Do not include grub/symbol.h.
46547 (grub_video_register): Not exported. This symbol is not defined in
46548 the kernel.
46549 (grub_video_unregister): Likewise.
46550 (grub_video_iterate): Likewise.
46551 (grub_video_setup): Likewise.
46552 (grub_video_restore): Likewise.
46553 (grub_video_get_info): Likewise.
46554 (grub_video_get_blit_format): Likewise.
46555 (grub_video_set_palette): Likewise.
46556 (grub_video_get_palette): Likewise.
46557 (grub_video_set_viewport): Likewise.
46558 (grub_video_get_viewport): Likewise.
46559 (grub_video_map_color): Likewise.
46560 (grub_video_map_rgb): Likewise.
46561 (grub_video_map_rgba): Likewise.
46562 (grub_video_fill_rect): Likewise.
46563 (grub_video_blit_glyph): Likewise.
46564 (grub_video_blit_bitmap): Likewise.
46565 (grub_video_blit_render_target): Likewise.
46566 (grub_video_scroll): Likewise.
46567 (grub_video_swap_buffers): Likewise.
46568 (grub_video_create_render_target): Likewise.
46569 (grub_video_delete_render_target): Likewise.
46570 (grub_video_set_active_render_target): Likewise.
46571
46572 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
46573 Undefined.
46574 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
46575
46576 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
46577 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46578 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46579 instead of $(srcdir)/genkernsyms.sh.
46580
46581 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
46582 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46583 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46584 instead of $(srcdir)/genkernsyms.sh.
46585
46586 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
46587 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46588 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46589 instead of $(srcdir)/genkernsyms.sh.
46590
46591 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
46592 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46593 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46594 instead of $(srcdir)/genkernsyms.sh.
46595
46596 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
46597 genkernsyms.sh.
46598
46599 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
46600 genkernsyms.sh.
46601 (gensymlist.sh): New target.
46602 (genkernsyms.sh): Likewise.
46603
46604 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
46605 genkernsyms.sh.in and gensymlist.sh.in.
46606
46607 * genkernsyms.sh: Removed.
46608 * gensymlist.sh: Likewise.
f19dbdb7 46609
7b455f4d 46610 * genkernsyms.sh.in: New file.
46611 * gensymlist.sh.in: Likewise.
46612
1885bb27 466132006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46614
46615 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
46616 clobber "prefix", since we may have already set it manually.
46617
71538dff 466182006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46619
46620 * kern/misc.c (abort): New alias for grub_abort.
46621
2965c7cc 466222006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
46623
46624 A new machine-specific function "grub_machine_set_prefix" is
46625 defined. This is called after loading modules, so that a prefix
46626 initialization can use modules. Also, this change adds an
46627 intensive debugging feature for the memory manager via the
46628 configure option "--enable-mm-debug".
f19dbdb7 46629
2965c7cc 46630 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
46631 PART.LEN.
46632
46633 * kern/sparc64/ieee1275/init.c (abort): Removed.
46634 (grub_stop): Likewise.
46635 (grub_exit): New function.
46636 (grub_set_prefix): Renamed to ...
46637 (grub_machine_set_prefix): ... this.
46638 (grub_machine_init): Do not call grub_set_prefix.
46639
46640 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
46641 (grub_machine_set_prefix): ... this.
46642 (grub_machine_init): Do not call grub_set_prefix.
46643
46644 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
46645 (grub_machine_init): Do not set the prefix here.
46646
46647 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
46648
46649 * kern/efi/init.c: Include grub/mm.h.
46650 (grub_efi_set_prefix): New function.
46651
46652 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
46653 (grub_efi_get_filename): New function.
46654 (grub_print_device_path): Renamed to ...
46655 (grub_efi_print_device_path): ... this.
46656
46657 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
46658 [MM_DEBUG] (grub_realloc): Likewise.
46659 [MM_DEBUG] (grub_free): Likewise.
46660 [MM_DEBUG] (grub_memalign): Likewise.
46661 [MM_DEBUG] (grub_mm_debug): New variable.
46662 [MM_DEBUG] (grub_debug_malloc): New function.
46663 [MM_DEBUG] (grub_debug_free): New function.
46664 [MM_DEBUG] (grub_debug_realloc): New function.
46665 [MM_DEBUG] (grub_debug_memalign): New function.
46666
46667 * kern/misc.c (grub_abort): Print a newline to distinguish
46668 the message.
46669
46670 * kern/main.c (grub_main): Call grub_machine_set_prefix and
46671 grub_set_root_dev after loading modules. This is necessary when
46672 setting a prefix depends on modules.
46673
46674 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
46675 (grub_efi_print_device_path): ... this.
46676 (grub_efi_get_filename): New prototype.
46677 (grub_efi_set_prefix): Likewise.
46678
46679 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
46680 and grub/disk.h.
46681 (grub_efidisk_get_device_handle): New prototype.
46682 (grub_efidisk_get_device_name): Likewise.
46683
46684 * include/grub/mm.h: Include config.h.
46685 (MM_DEBUG): Removed.
46686 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
46687 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
46688 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
46689 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
46690 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
46691 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
46692 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
46693 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
46694 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
46695
46696 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
46697
46698 * disk/efi/efidisk.c: Include grub/partition.h.
46699 (iterate_child_devices): New function.
46700 (add_device): First, compare only last device path nodes, so that
46701 devices are sorted by the types.
46702 (grub_efidisk_get_device_handle): New function.
46703 (grub_efidisk_get_device_name): Likewise.
46704
46705 * configure.ac (--enable-mm-debug): New option to enable the
46706 memory manager debugging feature. This makes the binary much
46707 bigger, so is disabled by default.
46708
9cacaa17 467092006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
46710
46711 Use grub_abort instead of grub_stop, and grub_exit must be
46712 define in each architecture now. Also, this change adds support
46713 for EFI disks.
f19dbdb7 46714
9cacaa17 46715 * util/i386/pc/grub-probefs.c: Include grub/term.h.
46716 (grub_getkey): New function.
46717 (grub_term_get_current): Likewise.
46718
46719 * util/i386/pc/grub-setup.c: Include grub/term.h.
46720 (grub_getkey): New function.
46721 (grub_term_get_current): Likewise.
46722
46723 * util/misc.c (grub_stop): Renamed to ...
46724 (grub_exit): ... this.
46725
46726 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
46727 (grub_exit): ... this.
46728 (grub_machine_init): Use grub_abort instead of abort.
46729 (grub_stop): Removed.
46730
46731 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
46732 abort.
46733
46734 * kern/i386/pc/startup.S (grub_exit): New function.
46735 (cold_reboot): New label.
46736
46737 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
46738 (grub_efi_init): Call grub_efidisk_init.
46739 (grub_efi_fini): Call grub_efidisk_fini.
46740
46741 * kern/efi/efi.c: Include grub/mm.h.
46742 (grub_efi_console_control_guid): Renamed to ...
46743 (console_control_guid): ... this.
46744 (grub_efi_loaded_image_guid): Renamed to ...
46745 (loaded_image_guid): ... this.
46746 (grub_efi_locate_handle): New function.
46747 (grub_efi_open_protocol): Likewise.
46748 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
46749 GRUB_EFI_CONSOLE_CONTROL_GUID.
46750 (grub_efi_exit): Removed.
46751 (grub_stop): Likewise.
46752 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
46753 (grub_exit): New function.
46754 (grub_print_device_path): Likewise.
46755
46756 * kern/rescue.c (grub_rescue_cmd_exit): New function.
46757 (grub_enter_rescue_mode): Register "exit".
46758
46759 * kern/misc.c (grub_real_dprintf): A cosmetic change.
46760 (grub_abort): New function.
46761
46762 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
46763
46764 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
46765
46766 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
46767
46768 * include/grub/efi/efi.h (grub_efi_exit): Removed.
46769 (grub_print_device_path): New prototype.
46770 (grub_efi_locate_handle): Likewise.
46771 (grub_efi_open_protocol): Likewise.
46772
46773 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
46774 * disk/efi/efidisk.c: Likewise.
46775
46776 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
46777
46778 * include/grub/efi/console_control.h
46779 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
46780
46781 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
46782 last 8 bytes as an array.
46783 (GRUB_EFI_DISK_IO_GUID): New macro.
46784 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
46785 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
46786 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
46787 grub_uint8_t.
46788 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
46789 (struct grub_efi_device_path): Rename the member "sub_type" to
46790 "subtype".
46791 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
46792 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
46793 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
46794 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
46795 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
46796 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
46797 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
46798 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
46799 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
46800 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
46801 (struct grub_efi_pci_device_path): New structure.
46802 (grub_efi_pci_device_path_t): New type.
46803 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
46804 (struct grub_efi_pccard_device_path): New structure.
46805 (grub_efi_pccard_device_path_t): New type.
46806 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
46807 (struct grub_efi_memory_mapped_device_path): New structure.
46808 (grub_efi_memory_mapped_device_path_t): New type.
46809 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
46810 (struct grub_efi_vendor_device_path): New structure.
46811 (grub_efi_vendor_device_path_t): New type.
46812 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
46813 (struct grub_efi_controller_device_path): New structure.
46814 (grub_efi_controller_device_path_t): New type.
46815 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
46816 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
46817 (struct grub_efi_acpi_device_path): New structure.
46818 (grub_efi_acpi_device_path_t): New type.
46819 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
46820 (struct grub_efi_expanded_acpi_device_path): New structure.
46821 (grub_efi_expanded_acpi_device_path_t): New type.
46822 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
46823 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
46824 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
46825 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
46826 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
46827 (struct grub_efi_atapi_device_path): New structure.
46828 (grub_efi_atapi_device_path_t): New type.
46829 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
46830 (struct grub_efi_fibre_channel_device_path): New structure.
46831 (grub_efi_fibre_channel_device_path_t): New type.
46832 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
46833 (struct grub_efi_1394_device_path): New structure.
46834 (grub_efi_1394_device_path_t): New type.
46835 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
46836 (struct grub_efi_usb_device_path): New structure.
46837 (grub_efi_usb_device_path_t): New type.
46838 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
46839 (struct grub_efi_usb_class_device_path): New structure.
46840 (grub_efi_usb_class_device_path_t): New type.
46841 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
46842 (struct grub_efi_i2o_device_path): New structure.
46843 (grub_efi_i2o_device_path_t): New type.
46844 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
46845 (struct grub_efi_mac_address_device_path): New structure.
46846 (grub_efi_mac_address_device_path_t): New type.
46847 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
46848 (struct grub_efi_ipv4_device_path): New structure.
46849 (grub_efi_ipv4_device_path_t): New type.
46850 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
46851 (struct grub_efi_ipv6_device_path): New structure.
46852 (grub_efi_ipv6_device_path_t): New type.
46853 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
46854 (struct grub_efi_infiniband_device_path): New structure.
46855 (grub_efi_infiniband_device_path_t): New type.
46856 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
46857 (struct grub_efi_uart_device_path): New structure.
46858 (grub_efi_uart_device_path_t): New type.
46859 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
46860 (struct grub_efi_vendor_messaging_device_path): New structure.
46861 (grub_efi_vendor_messaging_device_path_t): New type.
46862 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
46863 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
46864 (struct grub_efi_hard_drive_device_path): New structure.
46865 (grub_efi_hard_drive_device_path_t): New type.
46866 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
46867 (struct grub_efi_cdrom_device_path): New structure.
46868 (grub_efi_cdrom_device_path_t): New type.
46869 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
46870 (struct grub_efi_vendor_media_device_path): New structure.
46871 (grub_efi_vendor_media_device_path_t): New type.
46872 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
46873 (struct grub_efi_file_path_device_path): New structure.
46874 (grub_efi_file_path_device_path_t): New type.
46875 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
46876 (struct grub_efi_protocol_device_path): New structure.
46877 (grub_efi_protocol_device_path_t): New type.
46878 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
46879 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
46880 (struct grub_efi_bios_device_path): New structure.
46881 (grub_efi_bios_device_path_t): New type.
46882 (struct grub_efi_disk_io): New structure.
46883 (grub_efi_disk_io_t): New type.
46884 (struct grub_efi_block_io_media): New structure.
46885 (grub_efi_block_io_media_t): New type.
46886 (struct grub_efi_block_io): New structure.
46887 (grub_efi_block_io_t): New type.
46888
46889 * include/grub/misc.h (grub_stop): Removed.
46890 (grub_exit): New prototype.
46891 (grub_abort): Likewise.
46892
46893 * include/grub/disk.h (enum grub_disk_dev_id): Added
46894 GRUB_DISK_DEVICE_EFIDISK_ID.
46895
46896 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
46897 disk/efi/efidisk.c.
46898 (kernel_syms.lst): Remove the target if an error occurs.
46899
49986a9f 469002006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
46901
46902 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
46903 as it was simply too buggy.
46904
970d3b8a 469052006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
46906
46907 * kern/misc.c (grub_lltoa): New function.
46908 (grub_vsprintf): Added support for the long long suffix,
46909 i.e. "ll".
46910
ff04ec24 469112006-04-20 Hollis Blanchard <hollis@penguinppc.org>
46912
46913 * Makefile.in (LDFLAGS): Add variable.
46914 (LD): Remove variable.
46915 * configure.ac: Add -m32 to LDFLAGS.
46916 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
46917 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
46918 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
46919 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
46920 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
46921 variables.
46922 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
46923 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
46924 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
46925
37e5e1a4 469262006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
46927
46928 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
46929 length for unknown glyph.
46930
c352d8dd 469312006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
46932
2eab1c0d 46933 Add support for pre-loaded modules into the EFI port.
f19dbdb7 46934
2eab1c0d 46935 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
46936 completely. Accept one more argument DIR. The caller has changed.
46937
46938 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
46939
46940 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
46941 (grub_efi_loaded_image_guid): New variable.
46942 (grub_efi_get_loaded_image): New function.
46943 (grub_arch_modules_addr): Likewise.
46944
46945 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
46946 prototype.
46947
46948 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
46949 (struct grub_efi_loaded_image): New structure.
46950 (grub_efi_loaded_image_t): New type.
46951
469522006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46953
c352d8dd 46954 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
46955 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
46956 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
46957
6d01d6b4 469582006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
46959
46960 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
46961
976a4ea0 469622006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
46963
46964 * DISTLIST: Added include/grub/efi/console.h,
46965 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
46966 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46967
46968 * include/grub/efi/console.h: New file.
46969 * include/grub/efi/time.h: Likewise.
46970 * include/grub/i386/efi/kernel.h: Likewise.
46971 * kern/efi/init.c: Likewise.
46972 * kern/efi/mm.c: Likewise.
46973 * term/efi/console.c: Likewise.
f19dbdb7 46974
976a4ea0 46975 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
46976 (grub_stop): Removed.
46977 (grub_get_rtc): Likewise.
46978 (grub_machine_init): Simply call grub_efi_init.
46979 (grub_machine_fini): Call grub_efi_fini.
46980
46981 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
46982 (grub_efi_output_string): Removed.
46983 (grub_efi_stall): New function.
46984 (grub_stop): Likewise.
46985 (grub_get_rtc): Likewise.
46986
46987 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
46988 (grub_efi_stall): New prototype.
46989 (grub_efi_allocate_pages): Likewise.
46990 (grub_efi_free_pages): Likewise.
46991 (grub_efi_get_memory_map): Likewise.
46992 (grub_efi_mm_init): Likewise.
46993 (grub_efi_mm_fini): Likewise.
46994 (grub_efi_init): Likewise.
46995 (grub_efi_fini): Likewise.
46996
46997 * include/grub/i386/efi/time.h: Do not include
46998 grub/symbol.h. Include grub/efi/time.h.
46999 (GRUB_TICKS_PER_SECOND): Removed.
47000 (grub_get_rtc): Likewise.
47001
47002 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
47003 Added padding. The EFI spec is buggy.
47004 (GRUB_EFI_BLACK): New macro.
47005 (GRUB_EFI_BLUE): Likewise.
47006 (GRUB_EFI_GREEN): Likewise.
47007 (GRUB_EFI_CYAN): Likewise.
47008 (GRUB_EFI_RED): Likewise.
47009 (GRUB_EFI_MAGENTA): Likewise.
47010 (GRUB_EFI_BROWN): Likewise.
47011 (GRUB_EFI_LIGHTGRAY): Likewise.
47012 (GRUB_EFI_BRIGHT): Likewise.
47013 (GRUB_EFI_DARKGRAY): Likewise.
47014 (GRUB_EFI_LIGHTBLUE): Likewise.
47015 (GRUB_EFI_LIGHTGREEN): Likewise.
47016 (GRUB_EFI_LIGHTCYAN): Likewise.
47017 (GRUB_EFI_LIGHTRED): Likewise.
47018 (GRUB_EFI_LIGHTMAGENTA): Likewise.
47019 (GRUB_EFI_YELLOW): Likewise.
47020 (GRUB_EFI_WHITE): Likewise.
47021 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
47022 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
47023 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
47024 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
47025 (GRUB_EFI_BACKGROUND_RED): Likewise.
47026 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
47027 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
47028 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
47029 (GRUB_EFI_TEXT_ATTR): Likewise.
47030
47031 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
47032 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
47033 (kernel_mod_HEADERS): Added efi/time.h.
47034
83709125 470352006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
47036
47037 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
47038 include/grub/efi/api.h, include/grub/efi/console_control.h,
47039 include/grub/efi/efi.h, include/grub/efi/pe32.h,
47040 include/grub/i386/efi/time.h, kern/efi/efi.c,
47041 kern/i386/efi/init.c, kern/i386/efi/startup.S,
47042 and util/i386/efi/grub-mkimage.c.
47043
47044 * Makefile.in (RMKFILES): Added i386-efi.rmk.
47045
47046 * genmk.rb (PModule#rule): Do not export symbols if
47047 #{prefix}_EXPORTS is set to "no".
47048
47049 * conf/i386-efi.mk: New file.
47050 * conf/i386-efi.rmk: Likewise.
47051 * include/grub/efi/api.h: Likewise.
47052 * include/grub/efi/console_control.h: Likewise.
47053 * include/grub/efi/efi.h: Likewise.
47054 * include/grub/efi/pe32.h: Likewise.
47055 * include/grub/i386/efi/time.h: Likewise.
47056 * kern/efi/efi.c: Likewise.
47057 * kern/i386/efi/init.c: Likewise.
47058 * kern/i386/efi/startup.S: Likewise.
47059 * util/i386/efi/grub-mkimage.c: Likewise.
47060
470612006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 47062
47063 * include/grub/script.h: Include <grub/parser.h> and
47064 "grub_script.tab.h".
47065 (struct grub_lexer_param): New struct.
47066 (struct grub_parser_param): Likewise.
47067 (grub_script_create_arglist): Pass the state in an argument.
47068 (grub_script_add_arglist): Likewise.
47069 (grub_script_create_cmdline): Likewise.
47070 (grub_script_create_cmdblock): Likewise.
47071 (grub_script_create_cmdif): Likewise.
47072 (grub_script_create_cmdmenu): Likewise.
47073 (grub_script_add_cmd): Likewise.
47074 (grub_script_arg_add): Likewise.
47075 (grub_script_lexer_ref): Likewise.
47076 (grub_script_lexer_deref): Likewise.
47077 (grub_script_lexer_record_start): Likewise.
47078 (grub_script_lexer_record_stop): Likewise.
47079 (grub_script_mem_record): Likewise.
47080 (grub_script_mem_record_stop): Likewise.
47081 (grub_script_malloc): Likewise.
47082 (grub_script_yylex): Likewise.
47083 (grub_script_yyparse): Likewise.
47084 (grub_script_yyerror): Likewise.
47085 (grub_script_yylex): Likewise.
47086 (grub_script_lexer_init): Return the state.
47087
47088 * normal/lexer.c (grub_script_lexer_state): Removed variable.
47089 (grub_script_lexer_done): Likewise.
47090 (grub_script_lexer_getline): Likewise.
47091 (grub_script_lexer_refs): Likewise.
47092 (script): Likewise.
47093 (newscript): Likewise.
47094 (record): Likewise.
47095 (recording): Likewise.
47096 (recordpos): Likewise.
47097 (recordlen): Likewise.
47098 (grub_script_lexer_init): Return the state instead of setting
47099 global variables.
47100 (grub_script_lexer_ref): Use the newly added argument for state
47101 instead of globals.
47102 (grub_script_lexer_deref): Likewise.
47103 (grub_script_lexer_record_start): Likewise.
47104 (grub_script_lexer_record_stop): Likewise.
47105 (recordchar): Likewise.
47106 (nextchar): Likewise.
47107 (grub_script_yylex2): Likewise.
47108 (grub_script_yylex): Likewise.
47109 (grub_script_yyerror): Likewise.
47110
47111 * normal/parser.y (func_mem): Removed variable.
47112 (menu_entry): Likewise.
47113 (err): Likewise.
47114 (%lex-param): New parser option.
47115 (%parse-param): Likewise.
47116 (script): Always return the AST.
47117 (argument): Pass the state around.
47118 (arguments): Likewise.
47119 (grubcmd): Likewise.
47120 (commands): Likewise.
47121 (function): Likewise.
47122 (menuentry): Likewise.
47123 (if_statement): Likewise.
47124 (if): Likewise.
47125
47126 * normal/script.c (grub_script_memused): Removed variable.
47127 (grub_script_parsed): Likewise.
47128 (grub_script_malloc): Added a state argument. Use that instead of
47129 global variables.
47130 (grub_script_mem_record): Likewise.
47131 (grub_script_mem_record_stop): Likewise.
47132 (grub_script_arg_add): Likewise.
47133 (grub_script_add_arglist): Likewise.
47134 (grub_script_create_cmdline): Likewise.
47135 (grub_script_create_cmdif): Likewise.
47136 (grub_script_create_cmdmenu): Likewise.
47137 (grub_script_add_cmd): Likewise.
47138 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 47139
e2a8c904 471402006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 47141
47142 * normal/command.c (grub_command_init): Remove the title command.
47143
47144 * normal/lexer.c (grub_script_yylex): Renamed from this...
47145 (grub_script_yylex2): ... to this.
47146 (grub_script_yylex): New function. Temporary
47147 introduced to filter some tokens.
47148 (grub_script_yyerror): Print a newline.
47149
47150 * normal/main.c (read_config_file): Output information about the
47151 lines that contain errors. Wait for a key after all lines have
47152 been processed. Don't return an empty menu.
47153
47154 * normal/parser.y (func_mem): Don't initialize.
47155 (menu_entry): Likewise.
47156 (err): New variable.
47157 (script): Don't return anything when an error was encountered.
47158 (ws, returns): Removed rules.
47159 (argument): Disabled concatenated variable support.
47160 (arguments): Remove explicit separators.
47161 (grubcmd): Likewise.
47162 (function): Likewise.
47163 (menuentry): Likewise.
47164 (if): Likewise.
47165 (commands): Likewise. Add error handling.
47166
47167 * normal/script.c (grub_script_create_cmdline): If
47168 `grub_script_parsed' is 0, assume the parser encountered an error.
47169
c9a86192 471702006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
47171
47172 * configure.ac: Add support for EFI. Fix the typo
47173 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
47174
70f3b243 471752006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
47176
47177 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
47178 foreign multibyte characters should be shown correctly.
47179
65f201ad 471802006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
47181
47182 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
47183 calculation.
47184 (read_config_file): Made it to close file before returning.
47185
b4b93674 471862006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
47187
47188 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
47189 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
47190 video/i386/pc/vbefill.c.
47191
47192 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
47193 video/i386/pc/vbefill.c.
47194
47195 * include/grub/video.h (grub_video_blit_format): New enum.
47196 (grub_video_mode_info): Added new member blit_format.
47197 (grub_video_get_blit_format): New function prototype.
47198
47199 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
47200 function prototype.
47201 (grub_video_vbe_map_rgb): Likewise.
47202 (grub_video_vbe_unmap_color): Likewise.
47203
47204 * include/grub/i386/pc/vbeblit.h: New file.
47205
47206 * include/grub/i386/pc/vbefill.h: New file.
47207
47208 * video/video.c (grub_video_get_blit_format): New function.
47209 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
47210 (grub_video_vbe_map_rgb): Likewise.
47211 (grub_video_vbe_unmap_color): Likewise.
47212
47213 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
47214 optimized fills.
47215 (grub_video_vbe_blit_render_target): Changed to use more optimized
47216 blits.
47217 (grub_video_vbe_setup): Added detection for optimized settings.
47218 (grub_video_vbe_create_render_target): Likewise.
47219
47220 * video/i386/pc/vbeblit.c: New file.
47221
47222 * video/i386/pc/vbefill.c: New file.
47223
c2379b9c 472242006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
47225
47226 * font/manager.c (grub_font_get_glyph): Removed font fixup from
47227 here...
47228
47229 * util/unifont2pff.rb: ... and moved it to here. Improved argument
47230 parsing to support both hex and dec ranges. If filename was missing
47231 show usage information.
47232
bd0d7896 472332006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
47234
47235 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
47236 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
47237
47238 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
47239 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
47240 (video_mod_SOURCES): Added.
47241 (video_mod_CFLAGS): Likewise.
47242 (video_mod_LDFLAGS): Likewise.
47243 (gfxterm_mod_SOURCES): Likewise.
47244 (gfxterm_mod_CFLAGS): Likewise.
47245 (gfxterm_mod_LDFLAGS): Likewise.
47246 (videotest_mod_SOURCES): Likewise.
47247 (videotest_mod_CFLAGS): Likewise.
47248 (videotest_mod_LDFLAGS): Likewise.
47249 (vesafb_mod_SOURCES): Removed.
47250 (vesafb_mod_CFLAGS): Likewise.
47251 (vesafb_mod_LDFLAGS): Likewise.
47252 (vga_mod_SOURCES): Likewise.
47253 (vga_mod_CFLAGS): Likewise.
47254 (vga_mod_LDFLAGS): Likewise.
47255
47256 * commands/videotest.c: New file.
47257
47258 * font/manager.c (fill_with_default_glyph): Modified to use
47259 grub_font_glyph.
47260 (grub_font_get_glyph): Likewise.
47261 (fontmanager): Renamed from this...
47262 (font_manager): ... to this.
47263
47264 * include/grub/font.h (grub_font_glyph): Added new structure.
47265 (grub_font_get_glyph): Modified to use grub_font_glyph.
47266
47267 * include/grub/misc.h (grub_abs): Added as inline function.
47268
47269 * include/grub/video.h: New file.
47270
47271 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
47272 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
47273 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
47274 (grub_vbe_get_controller_info): Renamed from this...
47275 (grub_vbe_bios_get_controller_info): ... to this.
47276 (grub_vbe_get_mode_info): Renamed from this...
47277 (grub_vbe_bios_get_mode_info): ... to this.
47278 (grub_vbe_set_mode): Renamed from this...
47279 (grub_vbe_bios_set_mode): ... to this.
47280 (grub_vbe_get_mode): Renamed from this...
47281 (grub_vbe_bios_get_mode): ... to this.
47282 (grub_vbe_set_memory_window): Renamed from this...
47283 (grub_vbe_bios_set_memory_window): ... to this.
47284 (grub_vbe_get_memory_window): Renamed from this...
47285 (grub_vbe_bios_get_memory_window): ... to this.
47286 (grub_vbe_set_scanline_length): Renamed from this...
47287 (grub_vbe_set_scanline_length): ... to this.
47288 (grub_vbe_get_scanline_length): Renamed from this...
47289 (grub_vbe_bios_get_scanline_length): ... to this.
47290 (grub_vbe_set_display_start): Renamed from this...
47291 (grub_vbe_bios_set_display_start): ... to this.
47292 (grub_vbe_get_display_start): Renamed from this...
47293 (grub_vbe_bios_get_display_start): ... to this.
47294 (grub_vbe_set_palette_data): Renamed from this...
47295 (grub_vbe_bios_set_palette_data): ... to this.
47296 (grub_vbe_set_pixel_rgb): Removed.
47297 (grub_vbe_set_pixel_index): Likewise.
47298
47299 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
47300 from this...
47301 (grub_vbe_bios_get_controller_info): ... to this.
47302 (grub_vbe_get_mode_info): Renamed from this...
47303 (grub_vbe_bios_get_mode_info): ... to this.
47304 (grub_vbe_set_mode): Renamed from this...
47305 (grub_vbe_bios_set_mode): ... to this.
47306 (grub_vbe_get_mode): Renamed from this...
47307 (grub_vbe_bios_get_mode): ... to this.
47308 (grub_vbe_set_memory_window): Renamed from this...
47309 (grub_vbe_bios_set_memory_window): ... to this.
47310 (grub_vbe_get_memory_window): Renamed from this...
47311 (grub_vbe_bios_get_memory_window): ... to this.
47312 (grub_vbe_set_scanline_length): Renamed from this...
47313 (grub_vbe_set_scanline_length): ... to this.
47314 (grub_vbe_get_scanline_length): Renamed from this...
47315 (grub_vbe_bios_get_scanline_length): ... to this.
47316 (grub_vbe_set_display_start): Renamed from this...
47317 (grub_vbe_bios_set_display_start): ... to this.
47318 (grub_vbe_get_display_start): Renamed from this...
47319 (grub_vbe_bios_get_display_start): ... to this.
47320 (grub_vbe_set_palette_data): Renamed from this...
47321 (grub_vbe_bios_set_palette_data): ... to this.
47322 (grub_vbe_bios_get_controller_info): Fixed problem with registers
47323 getting corrupted after calling it. Added more pushes and pops.
47324 (grub_vbe_bios_set_mode): Likewise.
47325 (grub_vbe_bios_get_mode): Likewise.
47326 (grub_vbe_bios_get_memory_window): Likewise.
47327 (grub_vbe_bios_set_scanline_length): Likewise.
47328 (grub_vbe_bios_get_scanline_length): Likewise.
47329 (grub_vbe_bios_get_display_start): Likewise.
47330 (grub_vbe_bios_set_palette_data): Likewise.
47331
47332 * normal/cmdline.c (cl_set_pos): Refresh the screen.
47333 (cl_insert): Likewise.
47334 (cl_delete): Likewise.
47335
47336 * term/gfxterm.c: New file.
47337
47338 * term/i386/pc/vesafb.c: Removed file.
47339
47340 * video/video.c: New file.
47341
47342 * video/i386/pc/vbe.c (real2pm): Added new function.
47343 (grub_video_vbe_draw_pixel): Likewise.
47344 (grub_video_vbe_get_video_ptr): Likewise.
47345 (grub_video_vbe_get_pixel): Likewise
47346 (grub_video_vbe_init): Likewise.
47347 (grub_video_vbe_fini): Likewise.
47348 (grub_video_vbe_setup): Likewise.
47349 (grub_video_vbe_get_info): Likewise.
47350 (grub_video_vbe_set_palette): Likewise.
47351 (grub_video_vbe_get_palette): Likewise.
47352 (grub_video_vbe_set_viewport): Likewise.
47353 (grub_video_vbe_get_viewport): Likewise.
47354 (grub_video_vbe_map_color): Likewise.
47355 (grub_video_vbe_map_rgb): Likewise.
47356 (grub_video_vbe_map_rgba): Likewise.
47357 (grub_video_vbe_unmap_color): Likewise.
47358 (grub_video_vbe_fill_rect): Likewise.
47359 (grub_video_vbe_blit_glyph): Likewise.
47360 (grub_video_vbe_blit_bitmap): Likewise.
47361 (grub_video_vbe_blit_render_target): Likewise.
47362 (grub_video_vbe_scroll): Likewise.
47363 (grub_video_vbe_swap_buffers): Likewise.
47364 (grub_video_vbe_create_render_target): Likewise.
47365 (grub_video_vbe_delete_render_target): Likewise.
47366 (grub_video_vbe_set_active_render_target): Likewise.
47367 (grub_vbe_set_pixel_rgb): Remove function.
47368 (grub_vbe_set_pixel_index): Likewise.
47369 (index_color_mode): Remove static variable.
47370 (active_mode): Likewise.
47371 (framebuffer): Likewise.
47372 (bytes_per_scan_line): Likewise.
47373 (grub_video_vbe_adapter): Added new static variable.
47374 (framebuffer): Likewise.
47375 (render_target): Likewise.
47376 (initial_mode): Likewise.
47377 (mode_in_use): Likewise.
47378 (mode_list): Likewise.
47379
5f97350b 473802006-03-10 Marco Gerards <marco@gnu.org>
47381
47382 * configure.ac (AC_INIT): Bumped to 1.93.
47383
47384 * DISTLIST: Added `include/grub/hfs.h'.
47385
a3c5c6f8 473862006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
47387
47388 * boot/i386/pc/boot.S (general_error): Before looping, try INT
47389 18H, which might help the BIOS falling back to next boot media.
47390
6de53d26 473912006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
47392
47393 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
47394 Poe Chen <poe.poechen@gmail.com>.
47395
77c4a393 473962006-01-17 Marco Gerards <marco@gnu.org>
47397
47398 * include/grub/normal.h: Include <grub/script.h>.
47399 (grub_command_list): Removed struct.
47400 (grub_command_list_t): Removed type.
47401 (grub_menu_entry): Remove members `num' and `command_list'. Add
47402 members `commands' and `sourcecode'.
47403 * include/grub/script.h: Add inclusion guards.
47404 (grub_script_cmd_menuentry): New struct.
47405 (grub_script_execute_menuentry): New prototype.
47406 (grub_script_lexer_record_start): Likewise.
47407 (grub_script_lexer_record_stop): Likewise.
47408 * normal/execute.c (grub_script_execute_menuentry): New function.
47409 * normal/lexer.c (record, recording, recordpos, recordlen): New
47410 variables.
47411 (grub_script_lexer_record_start): New function.
47412 (grub_script_lexer_record_stop): Likewise.
47413 (recordchar): Likewise.
47414 (nextchar): Likewise.
47415 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
47416 2048 as the buffer size. Add the tokens `menuentry' and `@'.
47417 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
47418 (current_menu): New variable.
47419 (free_menu): Mainly rewritten.
47420 (grub_normal_menu_addentry): New function.
47421 (read_config_file): Rewritten.
47422 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 47423 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 47424 the menu entry.
47425 (run): Mainly rewritten.
47426 * normal/parser.y (menu_entry): New variable.
47427 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
47428 (menuentry): New rule.
47429 (command): Add `menuentry'.
47430 (if_statement): Allow additional returns before `fi'.
47431 * normal/script.c (grub_script_create_cmdmenu): New function.
47432
144f1f98 474332006-01-03 Marco Gerards <marco@gnu.org>
47434
47435 * INSTALL: GNU Bison is required.
47436 * configure.ac: Rewritten the test to detect Bison.
47437 * Makefile.in (YACC): New variable. Reported by Xun Sun
47438 <xun.sun.cn@gmail.com>.
47439
af4b2d89 474402006-01-03 Marco Gerards <marco@gnu.org>
47441
47442 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
47443 the HFS+ filesystem to filesystem blocks.
47444 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
47445 GCC warning is silenced.
47446
15643b71 474472006-01-03 Marco Gerards <marco@gnu.org>
47448
47449 * partmap/apple.c (apple_partition_map_iterate): Convert the data
47450 read from disk from big endian to host byte order.
47451
00905879 474522006-01-03 Hollis Blanchard <hollis@penguinppc.org>
47453
47454 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
47455 documentation.
47456 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
47457 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
47458 embedded HFS+ filesystem.
47459 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
47460 (grub_hfs_sblock): Move from here...
47461 * include/grub/hfs.h: To here... New file.
47462 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
47463 documentation.
47464 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
47465 New macros.
47466 (grub_hfsplus_volheader): Change type of member `magic' to
47467 `grub_uint16_t'.
47468 (grub_hfsplus_data): Add new member `embedded_offset'.
47469 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
47470 returned block.
47471 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
47472 Calculate the offset.
47473
8899bc3e 474742005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47475
47476 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
47477 Removed.
47478 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
47479
ae8c0277 474802005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47481
47482 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
47483 ENV->NAME is NULL after allocating ENV->VALUE.
47484
07084456 474852005-12-25 Marco Gerards <marco@gnu.org>
47486
47487 * kern/env.c (grub_env_set): Rewritten the error handling code.
47488
4750f5f1 474892005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47490
47491 * geninit.sh: Made more robust, and more portable.
47492
50214199 474932005-12-25 Marco Gerards <marco@gnu.org>
47494
47495 Add support for Apple HFS+ filesystems.
f19dbdb7 47496
50214199 47497 * fs/hfsplus.c: New file.
47498
47499 * DISTLIST: Added `fs/hfsplus.c'.
47500
47501 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
47502 (hfsplus_mod_SOURCES): New variable.
47503 (hfsplus_mod_CFLAGS): Likewise.
47504 (hfsplus_mod_LDFLAGS): Likewise.
47505 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
47506 (grub_setup_SOURCES): Likewise.
47507 (grub_mkdevicemap_SOURCES): Likewise.
47508 (grub_emu_SOURCES): Likewise.
47509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47510
47511 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
47512
47513 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
47514
befaed6c 475152005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47516
47517 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
47518 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
47519 include/grub/parser.h, include/grub/script.h, kern/parser.c,
47520 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
47521 normal/lexer.c, normal/parser.y, normal/script.c, and
47522 partmap/gpt.c.
47523 Removed kern/sparc64/cache.c.
47524
47525 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
47526 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
47527 grub_emu_init.c.
47528
47529 * configure.ac (AC_INIT): Bumped to 1.92.
47530
6a124103 475312005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
47532
47533 * kern/err.c (grub_error_push): Added new function to support error
47534 stacks.
47535 (grub_error_pop): Likewise.
47536 (grub_error_stack_items): New local variable to support error stacks.
47537 (grub_error_stack_pos): Likewise.
47538 (grub_error_stack_assert): Likewise.
47539 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
47540 stack depth.
47541 (grub_print_error): Added support to print errors from error stack.
47542
47543 * include/grub/err.h (grub_error_push): Added function prototype.
47544 (grub_error_pop): Likewise.
47545
be973c1b 475462005-12-09 Hollis Blanchard <hollis@penguinppc.org>
47547
47548 * configure.ac: Accept `powerpc64' as host_cpu.
47549 (amd64): Rename to `biarch32'.
47550
47551 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
47552 non-cacheline-aligned addresses.
47553
47554 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
47555 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
47556 if `size' is non-zero.
47557
b04216ab 475582005-12-03 Marco Gerards <mgerards@xs4all.nl>
47559
47560 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
47561 and `cd' to make sure the filename is not prefixed with a
47562 directory name.
47563 (pkgdata_MODULES): Add `gpt.mod'.
47564 (gpt_mod_SOURCES): New variable.
47565 (gpt_mod_CFLAGS): Likewise.
47566 (gpt_mod_LDFLAGS): Likewise.
47567
47568 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
47569
47570 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
47571 New macro.
47572
47573 * partmap/gpt.c: New file.
47574
47575 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
47576 GPT partition map is detected.
47577
41730ed9 475782005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
47579
47580 * commands/i386/pc/play.c: New file.
47581 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
47582 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
47583 macros.
f19dbdb7 47584
95dc3643 475852005-11-27 Marco Gerards <mgerards@xs4all.nl>
47586
47587 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
47588 ((unused))' to silence gcc warning.
47589
1569ec51 475902005-11-26 Hollis Blanchard <hollis@penguinppc.org>
47591
47592 * configure.ac: Correct `AC_PROG_YACC' test.
47593
9abde152 475942005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47595
47596 * util/powerpc/ieee1275/grub-install.in: Run the mount point
47597 check before installing files.
47598
44b83271 475992005-11-22 Mike Small <smallm@panix.com>
47600
47601 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
47602 number regex so multidigit numbers are recognized correctly.
47603
476042005-11-22 Mike Small <smallm@panix.com>
47605
47606 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
47607 debugging message before attempting to claim memory.
47608 (grub_rescue_cmd_initrd): Add a claim debugging message and try
47609 multiple addresses in case of failure.
47610
9c12956b 476112005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47612
47613 * term/tparm.c (get_space): Remove empty `if' statement.
47614
47615 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
47616
47617 * kern/parser.c (check_varstate): Rename `state' to 's'.
47618
aeaf81d9 476192005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47620
47621 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
47622 variable definitions to the beginning of each function. Sort stack
47623 variables by size.
47624 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
47625 `buf' argument to `char *'.
47626
79bbb63f 476272005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47628
47629 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
47630 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47631 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 47632 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47633 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47634 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47635 configfile.mod, search.mod, gzio.mod and test.mod.
47636 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47637 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47638 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47639 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47640 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47641 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47642 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47643 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47644 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47645 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47646 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47647 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47648 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47649 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47650 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47651 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47652 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47653 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47654 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47655 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47656 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47657 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47658 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
47659
47660 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
47661 `grep --include'.
47662 (pkgdata_MODULES): Add test.mod.
47663
233b1628 476642005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47665
47666 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
47667 appending to variables with "+=".
47668 (PModule): Use full pathname to generate *.lst filenames.
47669
47670 * Makefile.in: Fixed list rules moved from genmk.rb.
47671 (.DELETE_ON_ERROR): New special target.
47672 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
47673
47674 * conf/i386-pc.rmk: Include conf/common.mk.
47675 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47676 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 47677 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47678 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47679 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47680 configfile.mod, search.mod, gzio.mod and test.mod.
47681 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47682 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47683 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47684 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47685 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47686 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47687 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47688 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47689 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47690 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47691 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47692 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47693 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47694 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47695 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47696 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47697 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47698 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47699 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47700 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47701 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47702 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47703 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
47704 here...
47705 * conf/common.rmk: ... to here. New file.
47706
47707 * conf/common.mk: New file.
47708
16f820c8 477092005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
47710
47711 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
47712 (grub_script.tab.c): ... here.
47713
47714 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
47715 (grub_script.tab.c): ... here.
47716
47717 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
47718 (grub_script.tab.c): ... here.
47719
47720 * normal/command.c (grub_command_find): Fixed a memory leak of
47721 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
47722
63ba1554 477232005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47724
47725 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
47726 "@" which marks the start of a comment on ARM.
47727 (VARIABLE): Likewise.
47728
7f67dc13 477292005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47730
79bbb63f 47731 Add support for Linux/ADFS partition tables.
7f67dc13 47732
47733 * partmap/acorn.c: New file.
47734
47735 * include/grub/acorn_filecore.h: Likewise.
47736
47737 * DISTLIST: Added `partmap/acorn.c' and
47738 `include/grub/acorn_filecore.h'.
f19dbdb7 47739
7f67dc13 47740 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47741 `partmap/acorn.c'.
47742 (pkgdata_MODULES): Add `acorn.mod'.
47743 (acorn_mod_SOURCES): New variable.
47744 (acorn_mod_CFLAGS): Likewise.
47745
47746 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47747 `partmap/acorn.c'.
47748 (pkgdata_MODULES): Add `acorn.mod'.
47749 (acorn_mod_SOURCES): New variable.
47750 (acorn_mod_CFLAGS): Likewise.
47751
47752 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
47753 (pkgdata_MODULES): Add `acorn.mod'.
47754 (acorn_mod_SOURCES): New variable.
47755 (acorn_mod_CFLAGS): Likewise.
47756 (acorn_mod_LDFLAGS): Likewise.
47757
47758 * include/types.h (grub_disk_addr_t): New typedef.
47759
6d099807 477602005-11-13 Marco Gerards <mgerards@xs4all.nl>
47761
47762 * geninit.sh: New file.
47763
47764 * geninitheader.sh: Likewise.
47765
47766 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
47767 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
47768 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
47769 * commands/configfile.c (grub_configfile_init)
47770 (grub_configfile_fini): Likewise.
47771 * commands/default.c (grub_default_init, grub_default_fini):
47772 Likewise.
47773 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
47774 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
47775 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
47776 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
47777 Likewise.
47778 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
47779 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
47780 Likewise.
47781 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 47782 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 47783 Likewise.
47784 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
47785 Likewise.
fe6b695a 47786 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 47787 Likewise.
47788 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
47789 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
47790 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
47791 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
47792 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
47793 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
47794 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
47795 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
47796 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
47797 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
47798 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
47799 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
47800 * partmap/amiga.c (grub_amiga_partition_map_init)
47801 (grub_amiga_partition_map_fini): Likewise.
47802 * partmap/apple.c (grub_apple_partition_map_init)
47803 (grub_apple_partition_map_fini): Likewise.
47804 * partmap/pc.c (grub_pc_partition_map_init)
47805 (grub_pc_partition_map_fini): Likewise.
47806 * partmap/sun.c (grub_sun_partition_map_init,
47807 grub_sun_partition_map_fini): Likewise.
47808 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
47809 Likewise.
47810
47811 * util/grub-emu.c: Include <grub_modules_init.h>.
47812 (main): Don't initialize and de-initialize any modules directly,
47813 use `grub_init_all' and `grub_fini_all' instead.
47814
47815 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
47816 `grub_vesafb_mod_init'.
47817 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
47818 all users.
47819 * term/i386/pc/vga.c (grub_vga_init): Renamed to
47820 `grub_vga_mod_init'. Updated all users.
47821 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 47822
6d099807 47823 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
47824 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
47825 rules.
47826
47827 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
47828 Generate a function to initialize the module in utilities.
47829 Updated all callers.
47830 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
47831 initialize the module in utilities. Updated all callers.
47832
9046bcf0 478332005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47834
47835 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
47836 escape sequence and a literal ^L to clear the screen.
47837
47838 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
47839 when returning from Open Firmware.
47840
d13ea639 478412005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47842
47843 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
47844 (grub_ofconsole_height): Likewise.
47845 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
47846 manually insert a '\n'.
47847 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
47848 `grub_ofconsole_height'. Return early if these are already set.
47849
a8fcf206 478502005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
47851
47852 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47853 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
47854 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
47855 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
47856 and `normal/script.c'.
47857 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47858 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47859 (test_mod_SOURCES): New variable.
47860 (test_mod_CFLAGS): Likewise.
47861 (test_mod_LDFLAGS): Likewise.
47862 (pkgdata_MODULES): Add `test.mod'.
47863 (grub_script.tab.c): New rule.
47864 (grub_script.tab.h): Likewise.
47865
b6b32745 478662005-11-07 Marco Gerards <mgerards@xs4all.nl>
47867
47868 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47869 `commands/test.c', `normal/execute.c', `normal/lexer.c',
47870 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47871 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47872 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47873 (test_mod_SOURCES): New variable.
47874 (test_mod_CFLAGS): Likewise.
47875 (pkgdata_MODULES): Add `test.mod'.
47876 (grub_script.tab.c): New rule.
47877 (grub_script.tab.h): Likewise.
47878
daac212a 478792005-11-06 Marco Gerards <mgerards@xs4all.nl>
47880
47881 Add initial scripting support.
47882
47883 * commands/test.c: New file.
47884 * include/grub/script.h: Likewise.
47885 * normal/execute.c: Likewise.
47886 * normal/function.c: Likewise.
47887 * normal/lexer.c: Likewise.
47888 * normal/parser.y: Likewise.
47889 * normal/script.c: Likewise.
47890
47891 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 47892
daac212a 47893 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
47894 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
47895 `normal/function.c' and `normal/script.c'.
47896 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47897 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 47898 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
47899 variables.
daac212a 47900 (pkgdata_MODULES): Add `test.mod'.
47901 (grub_script.tab.c): New rule.
47902 (grub_script.tab.h): Likewise.
47903
47904 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
47905
47906 * include/grub/normal.h (grub_test_init): New prototype.
47907 (grub_test_fini): Likewise.
f19dbdb7 47908
daac212a 47909 * normal/command.c: Include <grub/script.h>.
47910 (grub_command_execute): Rewritten.
f19dbdb7 47911
daac212a 47912 * util/grub-emu.c (main): Call `grub_test_init' and
47913 `grub_test_fini'.
47914
77500b2b 479152005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47916
47917 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
47918 to 0.
47919 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
47920 there are no pending characters.
47921
e45deb9e 479222005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47923
47924 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
47925 `grub_strndup' to drop device arguments. Replace unnecessary
47926 `grub_strndup' with `grub_strdup'.
47927
4ce32619 479282005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47929
47930 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
47931 `debug' environment variable has been set.
47932
479332005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47934
4ce32619 47935 * Makefile.in (install-local): Use $(DATA).
47936 (uninstall): Likewise.
47937 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
47938 (sbin_UTILITIES): ... to here.
47939 (sbin_SCRIPTS): New variable.
47940 (grub_install_SOURCES): New variable.
47941 * util/powerpc/ieee1275/grub-install.in: New file.
47942 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
47943 variable.
47944 (add_segments): Call `grub_util_get_path'.
47945
25fe6f03 479462005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47947
47948 From Timothy Baldwin:
47949 * commands/ls.c (grub_ls_list_files): Close FILE with
47950 grub_file_close.
47951 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
47952
04ccf3ec 479532005-10-24 Marco Gerards <mgerards@xs4all.nl>
47954
47955 * include/grub/parser.h: New file.
47956
47957 * kern/parser.c: Likewise.
47958
47959 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
47960 (grub_setup_SOURCES): Likewise.
47961 (grub_probefs_SOURCES): Likewise.
47962 (grub_emu_SOURCES): Likewise.
47963 (kernel_img_HEADERS): Add `parser.h'.
47964
47965 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47966 (grub_emu_SOURCES): Add `kern/parser.c'.
47967 (grubof_SOURCES): Likewise.
47968
47969 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47970 (grubof_SOURCES): Add `kern/parser.c'.
47971
47972 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
47973
47974 * kern/misc.c (grub_split_cmdline): Removed function.
47975
47976 * kern/rescue.c: Include <grub/parser.h>.
47977 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
47978 of `grub_split_cmdline'.
47979
47980 * normal/command.c: Include <grub/parser.h>.
47981 (grub_command_execute): Use `grub_parser_split_cmdline' instead
47982 of `grub_split_cmdline'.
47983
47984 * normal/completion.c: Include <grub/parser.h>.
47985 (cmdline_state): New variable.
47986 (iterate_dir): End the filename with a quote depending on the
47987 command line state.
47988 (get_state): new function.
47989 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
47990 split the arguments and determine the current argument. When the
47991 argument string is not quoted, escape all spaces.
47992
6d8f4b0e 479932005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47994
47995 * normal/sparc64/setjmp.S: New file.
47996
15cf03ed 479972005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47998
47999 * include/grub/sparc64/libgcc.h: New file.
48000 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
48001 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
48002 normal/sparc64/setjmp.c.
48003
03e8661a 480042005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48005
48006 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
48007 * kern/sparc64/cache.S: New file.
48008 * kern/sparc64/cache.c: Removed.
48009 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
48010 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
48011 -mtune=ultrasparc.
48012 (COMMON_LDFLAGS): Add -melf64_sparc.
48013 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
48014 (grubof_SOURCES): Use cache.S instead of cache.c.
48015 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
48016 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
48017 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
48018 commented though.
48019 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
48020 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
48021 (linux_mod_CFLAGS): Commented out.
48022 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
48023 out because module isn't built.
48024 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
48025 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
48026 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
48027 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
48028 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
48029 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
48030 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
48031 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
48032 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
48033 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
48034 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48035 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48036 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
48037 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
48038
34eeec8a 480392005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
48040
48041 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
48042 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
48043 longer, because HFS should not be used on PC.
48044
708367a3 480452005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48046
48047 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
48048 consistently within the loop.
48049
6fa1251a 480502005-10-15 Marco Gerards <mgerards@xs4all.nl>
48051
48052 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
48053 directory can not be read.
48054
4801580b 480552005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48056
48057 * configure.ac (AC_INIT): Increase the version number to 1.91.
48058
48059 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
48060 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
48061 term/i386/pc/serial.c.
48062
219ad426 480632005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48064
48065 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
48066 file size must be permitted.
48067
48068 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
48069 between %ah and %al.
48070
688e5699 480712005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48072
48073 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
48074 grub_uint64_t.
48075 Call the hook with a NUL-terminated filename.
48076 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
48077 grub_cpu_to_be32.
48078
48079 * kern/term.c (cursor_state): New variable.
48080 (grub_term_set_current): Reset the cursor state on a new
48081 terminal.
48082 (grub_setcursor): Rewritten to use CURSOR_STATE.
48083 (grub_getcursor): New function.
48084
48085 * include/grub/term.h (grub_getcursor): New prototype.
48086
48087 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
48088 integers on ARM. Reported by Timothy Baldwin
48089 <T.E.Baldwin99@members.leeds.ac.uk>.
48090
bb34586c 480912005-10-11 Marco Gerards <mgerards@xs4all.nl>
48092
48093 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
48094 allocated.
48095 (grub_sfs_dir): Likewise.
48096
9a909877 480972005-10-09 Marco Gerards <mgerards@xs4all.nl>
48098
48099 Add support for the SFS filesystem.
48100
48101 * fs/sfs.c: New file.
48102
48103 * DISTLIST: Added `fs/sfs.c'.
48104
48105 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
48106 (grub_probefs_SOURCES): Likewise.
48107 (grub_emu_SOURCES): Likewise.
48108 (pkgdata_MODULES): Add `sfs.mod'.
48109 (sfs_mod_SOURCES): New variable.
48110 (sfs_mod_CFLAGS): Likewise.
48111 (sfs_mod_LDFLAGS): Likewise.
48112
48113 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
48114 (pkgdata_MODULES): Add `sfs.mod'.
48115 (sfs_mod_SOURCES): New variable.
48116 (sfs_mod_CFLAGS): Likewise.
48117
48118 * util/grub-emu.c (main): Call `grub_sfs_init' and
48119 `grub_sfs_fini'.
48120
48121 * include/grub/fs.h (grub_sfs_init): New prototype.
48122 (grub_sfs_fini): Likewise.
48123
57bdbde3 481242005-10-07 Marco Gerards <mgerards@xs4all.nl>
48125
48126 Add support for the AFFS filesystem.
48127
48128 * fs/affs.c: New file.
48129
48130 * DISTLIST: Added `fs/affs.c'.
48131
48132 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
48133 (grub_probefs_SOURCES): Likewise.
48134 (grub_emu_SOURCES): Likewise.
48135 (pkgdata_MODULES): Add `affs.mod'.
48136 (affs_mod_SOURCES): New variable.
48137 (affs_mod_CFLAGS): Likewise.
48138 (affs_mod_LDFLAGS): Likewise.
48139
48140 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
48141 (pkgdata_MODULES): Add `affs.mod'.
48142 (affs_mod_SOURCES): New variable.
48143 (affs_mod_CFLAGS): Likewise.
48144
48145 * util/grub-emu.c (main): Call `grub_affs_init' and
48146 `grub_affs_fini'.
48147
48148 * include/grub/fs.h (grub_affs_init): New prototype.
48149 (grub_affs_fini): Likewise.
48150
047b67e0 481512005-10-01 Marco Gerards <mgerards@xs4all.nl>
48152
48153 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
48154
59b8208a 481552005-10-01 Marco Gerards <mgerards@xs4all.nl>
48156
48157 * configure.ac: Accept `x86_64' as host_cpu. In that case add
48158 `-m32' to CFLAGS.
48159
48160 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
48161 linking.
f19dbdb7 48162
59b8208a 48163 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
48164 (COMMON_LDFLAGS): New variable.
48165 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
48166 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
48167 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
48168 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
48169 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
48170 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
48171 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
48172 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
48173 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
48174 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
48175 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
48176 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
48177 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
48178 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
48179 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
48180 variables.
48181 (normal_mod_ASFLAGS): Add `-m32'.
48182
48183 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
48184 (grub_host_size_t, grub_host_ssize_t): New types.
48185 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 48186 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 48187 `GRUB_HOST_SIZEOF_VOID_P'.
48188
48189 * include/grub/kernel.h (struct grub_module_header): Type of
48190 member offset changed to `grub_host_off_t'. Type of member size
48191 changed to `grub_host_size_t'.
48192 (struct grub_module_info): Type of member offset changed to
48193 `grub_host_off_t'. Type of member size changed to
48194 `grub_host_size_t'.
48195
b4093103 481962005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
48197
48198 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 48199
b4093103 48200 * kern/i386/pc/startup.S (multiboot_header): New label.
48201 (multiboot_entry): Likewise.
48202 (multiboot_trampoline): Likewise.
48203
48204 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48205 Increased to 0x4A0.
48206
48207 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
48208 put parentheses after a question mark.
48209 [!GRUB_UTIL] (my_mod): New variable.
48210
48211 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
48212
b2499b29 482132005-09-28 Marco Gerards <mgerards@xs4all.nl>
48214
48215 Adds support for the XFS filesystem. Btrees are not supported
48216 yet.
48217
48218 * fs/xfs.c: New file.
48219
48220 * DISTLIST: Added `fs/xfs.c'.
48221
48222 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
48223 (grub_probefs_SOURCES): Likewise.
48224 (grub_emu_SOURCES): Likewise.
48225 (pkgdata_MODULES): Add `xfs.mod'.
48226 (xfs_mod_SOURCES): New variable.
48227 (xfs_mod_CFLAGS): Likewise.
48228
48229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
48230 (pkgdata_MODULES): Add `xfs.mod'.
48231 (xfs_mod_SOURCES): New variable.
48232 (xfs_mod_CFLAGS): Likewise.
48233
48234 * util/grub-emu.c (main): Call `grub_xfs_init' and
48235 `grub_xfs_fini'.
48236
48237 * include/grub/fs.h (grub_xfs_init): New prototype.
48238 (grub_xfs_fini): Likewise.
48239
f19dbdb7 48240
83d37a62 482412005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
48242
48243 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
48244 color modes, allow greater than 16 colors to be configured as
48245 a default palette.
48246
47d2d65e 482472005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
48248
48249 * normal/completion.c (complete_arguments): Add the qualifier
48250 const into OPTIONS.
48251
48252 From Omniflux <omniflux+lists@omniflux.com>:
48253 * include/grub/terminfo.h: New file.
48254 * include/grub/tparm.h: Likewise.
48255 * include/grub/i386/pc/serial.h: Likewise.
48256 * term/terminfo.c: Likewise.
48257 * term/tparm.c: Likewise.
48258 * term/i386/pc/serial.c: Likewise.
48259 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
48260 serial.mod.
48261 (terminfo_mod_SOURCES): New variable.
48262 (terminfo_mod_CFLAGS): Likewise.
48263 (serial_mod_SOURCES): Likewise.
48264 (serial_mod_CFLAGS): Likewise.
48265
48b671ff 482662005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
48267
48268 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
48269 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
48270 and kern/powerpc/ieee1275/cmain.c, respectively.
48271
48272 * boot/powerpc/ieee1275/crt0.S: Moved to ...
48273 * kern/powerpc/ieee1275/crt0.S: ... here.
48274
48275 * boot/powerpc/ieee1275/cmain.c: Moved to ...
48276 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 48277
48b671ff 48278 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
48279 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
48280 instead of boot/powerpc/ieee1275/crt0.S and
48281 boot/powerpc/ieee1275/cmain.c, respectively.
48282
48283 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
48284 sectors. It was not used anyway.
48285
09fc77a7 482862005-08-30 Hollis Blanchard <hollis@penguinppc.org>
48287
48288 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
48289 `unused parameter' warning.
48290
003789c7 482912005-08-30 Hollis Blanchard <hollis@penguinppc.org>
48292
48293 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
48294 function.
48295 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
48296 getcharwidth.
48297
67f44c86 482982005-08-28 Marco Gerards <metgerards@student.han.nl>
48299
48300 * include/grub/normal.h (enum grub_completion_type): Added
48301 `GRUB_COMPLETION_TYPE_ARGUMENT'.
48302
48303 * normal/cmdline.c (print_completion): Handle
48304 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
48305 * normal/menu_entry.c (store_completion): Likewise.
48306
48307 * normal/completion.c (complete_arguments): New function.
48308 (grub_normal_do_completion): Call `complete_arguments' when the
48309 current words start with a dash.
48310
0b5abe02 483112005-08-27 Marco Gerards <metgerards@student.han.nl>
48312
48313 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
48314 `gzio.mod' instead of `io.mod').
48315
d9864ee1 483162005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
48317
48318 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
48319 (DISTDIRS): Added io and video.
48320 Rewrite the search routine to make an output consistently.
48321
48322 * DISTLIST: Added conf/sparc64-ieee1275.mk,
48323 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
48324 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
48325 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
48326 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
48327 util/powerpc/ieee1275/misc.c.
f19dbdb7 48328
d9864ee1 48329 * include/grub/gzio.h: New file.
48330 * io/gzio.c: Likewise.
f19dbdb7 48331
d9864ee1 48332 * kern/file.c (grub_file_close): Call grub_device_close only if
48333 FILE->DEVICE is not NULL.
48334
48335 * include/grub/mm.h [!NULL] (NULL): New macro.
48336
48337 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
48338
48339 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
48340 (pkgdata_MODULES): Added gzio.mod.
48341 (gzio_mod_SOURCES): New variable.
48342 (gzio_mod_CFLAGS): Likewise.
48343
48344 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
48345 (pkgdata_MODULES): Added gzio.mod.
48346 (gzio_mod_SOURCES): New variable.
48347 (gzio_mod_CFLAGS): Likewise.
48348
48349 * commands/cat.c: Include grub/gzio.h.
48350 (grub_cmd_cat): Use grub_gzfile_open instead of
48351 grub_file_open.
f19dbdb7 48352
d9864ee1 48353 * commands/cmp.c: Include grub/gzio.h.
48354 (grub_cmd_cmp): Use grub_gzfile_open instead of
48355 grub_file_open.
48356
48357 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
48358 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
48359 grub_file_open.
48360 (grub_rescue_cmd_module): Likewise.
48361
fa46f4b5 483622005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
48363
48364 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
48365 kern/sparc64/ieee1275/init.c because it contains _start.
48366 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
48367
e9211b5d 483682005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
48369
48370 * configure.ac: Add support for sparc64 host with ieee1275
48371 firmware.
48372 * configure: Generated from configure.ac.
48373 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
48374 instead of int.
48375 (grub_ofdisk_read): Likewise.
48376 (grub_ofdisk_open): Use %p to print pointer values, and cast the
48377 pointers as (void *) to remove a warning.
48378 (grub_ofdisk_close): Likewise.
48379 (grub_ofdisk_read): Likewise.
48380 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
48381 returns, so make it return void to remove a warning.
48382 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
48383 Corresponding prototype change.
48384 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
48385 values, and cast the pointers as (void *) to remove a warning.
48386 (grub_mm_dump): Likewise.
48387 * conf/sparc64-ieee1275.mk: New file.
48388 * conf/sparc64-ieee1275.rmk: Likewise.
48389 * include/grub/sparc64/setjmp.h: Likewise.
48390 * include/grub/sparc64/types.h: Likewise.
48391 * include/grub/sparc64/ieee1275/console.h: Likewise.
48392 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
48393 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
48394 * include/grub/sparc64/ieee1275/time.h: Likewise.
48395 * kern/sparc64/cache.c: Likewise.
48396 * kern/sparc64/dl.c: Likewise.
48397 * kern/sparc64/ieee1275/init.c: Likewise.
48398 * kern/sparc64/ieee1275/openfw.c: Likewise.
48399
385c6a92 484002005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48401
48402 * util/console.c (grub_ncurses_putchar): If C is greater than
48403 0x7f, set C to a question mark.
48404 (grub_ncurses_getcharwidth): New function.
48405 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
48406 getcharwidth.
48407
48408 * normal/menu.c (print_entry): Made aware of Unicode. First,
48409 convert TITLE to UCS-4, and predict the cursor position by
48410 grub_getcharwidth.
48411
48412 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
48413 const to SRC.
48414 * kern/misc.c (grub_utf16_to_utf8): Likewise.
48415
16ccb8b1 484162005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48417
48418 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
48419 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48420 grub_strcat.
48421
48422 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
48423 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48424 grub_strcpy and grub_strlen. Take it into account that a space
48425 character is inserted as a delimiter.
48426
6a85ce79 484272005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48428
48429 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 48430 invalid magic in the error.
6a85ce79 48431
48432 * commands/search.c: New file.
f19dbdb7 48433
6a85ce79 48434 * util/grub-emu.c (main): Call grub_search_init and
48435 grub_search_fini.
48436
48437 * kern/rescue.c (grub_rescue_print_disks): Removed.
48438 (grub_rescue_print_devices): New function.
48439 (grub_rescue_cmd_ls): Use grub_device_iterate with
48440 grub_rescue_print_devices instead of grub_disk_dev_iterate with
48441 grub_rescue_print_disks.
48442
48443 * kern/partition.c (grub_partition_iterate): Return the result of
48444 PARTMAP->ITERATE instead of GRUB_ERRNO.
48445
48446 * kern/device.c: Include grub/partition.h.
48447 (grub_device_iterate): New function.
48448
48449 * include/grub/partition.h (grub_partition_iterate): Return int
48450 instead of grub_err_t.
48451
48452 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
48453 prototype.
48454 [GRUB_UTIL] (grub_search_fini): Likewise.
48455
48456 * include/grub/device.h (grub_device_iterate): New prototype.
48457
48458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48459 commands/search.c.
48460 (pkgdata_MODULES): Added search.mod.
48461 (search_mod_SOURCES): New variable.
48462 (search_mod_CFLAGS): Likewise.
48463
48464 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
48465 (pkgdata_MODULES): Added search.mod.
48466 (search_mod_SOURCES): New variable.
48467 (search_mod_CFLAGS): Likewise.
48468
48469 * commands/ls.c (grub_ls_list_disks): Renamed to ...
48470 (grub_ls_list_devices): ... this, and use grub_device_iterate.
48471 All callers changed.
48472
48473 * DISTLIST: Added commands/search.c.
48474
ef095434 484752005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48476
48477 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
48478 conversion.
48479 (grub_getcharwidth): New function.
48480
48481 * kern/misc.c (grub_utf8_to_ucs4): New function.
48482
48483 * include/grub/term.h (struct grub_term): Added a new member
48484 "getcharwidth".
48485 (grub_getcharwidth): New prototype.
48486
48487 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
48488
48489 * term/i386/pc/console.c (map_char): New function. Segregated from
48490 grub_console_putchar.
48491 (grub_console_putchar): Use map_char.
48492 (grub_console_getcharwidth): New function.
48493 (grub_console_term): Specified grub_console_getcharwidth as
48494 getcharwidth.
48495
48496 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
48497 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
48498
48499 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
48500 GRUB_ERRNO.
48501 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
48502 on grub_strtoul completely.
48503 (write_char): Declare local variables in the beginning of the
48504 function.
48505 (grub_vesafb_getcharwidth): New function.
48506 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
48507 getcharwidth.
48508
1f0a95e4 485092005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
48510
48511 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
48512 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
48513 commands/i386/pc/vbetest.c.
48514
48515 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
48516 call grub_vbe_get_controller_info again, because the returned
48517 information is volatile.
48518 (grub_vbe_set_video_mode): Mostly rewritten.
48519 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
48520 grub_vbe_status_t correctly.
48521 (grub_vbe_get_video_mode_info): Likewise.
48522 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
48523 several if statements.
48524
48525 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
48526 * commands/i386/pc/vbeinfo.c: ... this.
48527
48528 * commands/i386/pc/vbe_test.c: Renamed to ...
48529 * commands/i386/pc/vbetest.c: ... this.
48530
48531 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
48532 ...
48533 (grub_cmd_vbeinfo): ... this. Save video modes before
48534 iterating. Skip a video mode, if it is not available, not enough
48535 information is given or it is monochrome. Show the memory
48536 model. Leave the interpretation of MODEVAR to grub_strtoul
48537 completely.
48538 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
48539 (GRUB_MOD_FINI): Likewise.
48540
48541 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
48542 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
48543 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
48544 duplicated grub_env_get. Leave the interpretation of MODEVAR to
48545 grub_strtoul completely.
48546 (real2pm): Removed.
48547 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
48548 (GRUB_MOD_FINI): Likewise.
48549
48550 * normal/misc.c: Include grub/mm.h.
48551
48552 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
48553 vbe_list_modes with vbetest.mod and vbeinfo.mod.
48554 (vbe_list_modes_mod_SOURCES): Removed.
48555 (vbe_list_modes_mod_CFLAGS): Likewise.
48556 (vbe_test_mod_SOURCES): Likewise.
48557 (vbe_test_mod_CFLAGS): Likewise.
48558 (vbeinfo_mod_SOURCES): New variable.
48559 (vbeinfo_mod_CFLAGS): Likewise.
48560 (vbetest_mod_SOURCES): Likewise.
48561 (vbetest_mod_CFLAGS): Likewise.
48562
992ffbbe 485632005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
48564
48565 * normal/misc.c: New file.
48566
48567 * DISTLIST: Added normal/misc.c.
f19dbdb7 48568
992ffbbe 48569 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
48570 DISK to HOOK. Call HOOK with DISK.
48571 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48572 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48573 * partmap/sun.c (sun_partition_map_iterate): Likewise.
48574
48575 * normal/menu_entry.c (struct screen): Added a new member
48576 "completion_shown".
48577 (completion_buffer): New global variable.
48578 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
48579 (store_completion): New function.
48580 (complete): Likewise.
48581 (clear_completions): Likewise.
48582 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
48583 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
48584 a tab, call complete.
48585
48586 * normal/completion.c (disk_dev): Removed.
48587 (print_simple_completion): Likewise.
48588 (print_partition_completion): Likewise.
48589 (print_func): New global variable.
48590 (add_completion): Do not take the arguments WHAT or PRINT any
48591 longer. Added a new argument TYPE. Instead of printing directly,
48592 call PRINT_FUNC if not NULL.
48593 All callers changed.
48594 (complete_device): Use a local variable DEV instead of
48595 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
48596 (grub_normal_do_completion): Take a new argument HOOK. Do not
48597 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
48598 empty string, return NULL instead.
48599 All callers changed.
48600
48601 * normal/cmdline.c (print_completion): New function.
48602
48603 * kern/partition.c (grub_partition_iterate): Add an argument DISK
48604 to HOOK.
48605 All callers changed.
48606
48607 * kern/disk.c (grub_print_partinfo): Removed.
48608
48609 * include/grub/partition.h (struct grub_partition_map): Add a new
48610 argument DISK into HOOK of ITERATE.
48611 (grub_partition_iterate): Add a new argument DISK to HOOK.
48612
48613 * include/grub/normal.h (enum grub_completion_type): New enum.
48614 (grub_completion_type_t): New type.
48615 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
48616 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
48617 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
48618 (GRUB_COMPLETION_TYPE_FILE): Likewise.
48619 (grub_normal_do_completion): Added a new argument HOOK.
48620 (grub_normal_print_device_info): New prototype.
48621
48622 * include/grub/disk.h (grub_print_partinfo): Removed.
48623
48624 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
48625 (normal_mod_SOURCES): Likewise.
48626 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48627 (normal_mod_SOURCES): Likewise.
48628
48629 * commands/ls.c (grub_ls_list_disks): Use
48630 grub_normal_print_device_info instead of grub_print_partinfo. Free
48631 PNAME.
48632 (grub_ls_list_files): Use grub_normal_print_device_info instead of
48633 duplicating the code.
48634
0bd41162 486352005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48636
48637 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 48638 follow GCS more precisely.
48639 * commands/i386/pc/vbe_test.c: Likewise.
48640 * include/grub/i386/pc/vbe.h: Likewise.
48641 * term/i386/pc/vesafb.c: Likewise.
48642 * video/i386/pc/vbe.c: Likewise.
0bd41162 48643
6323696a 486442005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48645
48646 * DISTLIST: Added term/i386/pc/vesafb.c
48647 DISTLIST: Added video/i386/pc/vbe.c
48648 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
48649 DISTLIST: Added commands/i386/pc/vbe_test.c.
48650 * commands/i386/pc/vbe_list_modes.c: New file.
48651 * commands/i386/pc/vbe_test.c: Likewise.
48652 * term/i386/pc/vesafb.c: Likewise.
48653 * video/i386/pc/vbe.c: Likewise.
48654 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
48655 (grub_vbe_probe) Added prototype.
48656 (grub_vbe_set_video_mode) Likewise.
48657 (grub_vbe_get_video_mode) Likewise.
48658 (grub_vbe_get_video_mode_info) Likewise.
48659 (grub_vbe_set_pixel_rgb) Likewise.
48660 (grub_vbe_set_pixel_index) Likewise.
48661 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
48662 (pkgdata_MODULES): Added vesafb.mod.
48663 (pkgdata_MODULES): Added vbe_list_modes.mod.
48664 (pkgdata_MODULES): Added vbe_test.mod.
48665 (vbe_mod_SOURCES): Added.
48666 (vbe_mod_CFLAGS): Likewise.
48667 (vesafb_mod_SOURCES): Likewise.
48668 (vesafb_mod_CFLAGS): Likewise.
48669 (vbe_list_modes_mod_SOURCES): Likewise.
48670 (vbe_list_modes_mod_CFLAGS): Likewise.
48671 (vbe_test_mod_SOURCES): Likewise.
48672 (vbe_test_mod_CFLAGS): Likewise.
48673
0a74e62f 486742005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
48675
0a74e62f 48676 * normal/command.c (grub_command_execute): If INTERACTIVE is
48677 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
48678 CMDLINE. Disable the pager if INTERACTIVE is true.
48679 All callers are changed.
48680
48681 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
48682 before reading a config file.
48683 * normal/main.c (read_config_file): Even if a command is not
48684 found, register it if it is within an entry.
48685
48686 * util/grub-emu.c: Include sys/types.h and unistd.h.
48687 (options): Added --hold.
48688 (struct arguments): Added a new member "hold".
48689 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
48690 missing.
48691 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
48692 cleared by a debugger, if it is not zero.
48693
48694 * include/grub/normal.h (grub_command_execute): Add an argument
48695 INTERACTIVE.
48696
e51f85ae 486972005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
48698
48699 * DISTLIST: Added include/grub/i386/pc/vbe.h.
48700
e9c6f39b 487012005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
48702
48703 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
48704 program with another one, because the old one didn't detect a bug
48705 in gcc-3.4. Always use regparm 2, because the new test is still
48706 not enough for gcc-4.0. Someone must investigate a simple test
48707 case which detects a bug in gcc-4.0.
48708
8de3495c 487092005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
48710
48711 * DISTLIST: Added normal/completion.c.
48712
48713 * normal/completion.c: New file.
f19dbdb7 48714
8de3495c 48715 * term/i386/pc/console.c (grub_console_getwh): New function.
48716 (grub_console_term): Assign grub_console_getwh to getwh.
48717
48718 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
48719 function is defined in normal/completion.c as
48720 grub_normal_do_completion.
48721 (grub_cmdline_get): Use grub_normal_do_completion instead of
48722 grub_tab_complete.
48723
48724 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
48725 returns non-zero, otherwise return 0.
48726 (grub_partition_iterate): First, probe the partition map. Then,
48727 call ITERATE only for this partition map.
48728
48729 * kern/misc.c (grub_strncmp): Rewritten.
48730
48731 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
48732 returns non-zero. Otherwise return 0.
48733
48734 * include/grub/partition.h (grub_partition_map_iterate): Return
48735 int instead of void.
48736
48737 * include/grub/normal.h (grub_normal_do_completion): New prototype.
48738
48739 * include/grub/misc.h (grub_strncmp): Change the type of N to
48740 grub_size_t.
48741
48742 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
48743 of void.
48744
48745 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 48746 unsigned explicitly before comparing it with I.
8de3495c 48747
48748 * kern/main.c (grub_env_write_root): Add the attribute unused into
48749 VAR.
48750
48751 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48752 normal/completion.c.
48753 (normal_mod_SOURCES): Likewise.
48754 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48755 (normal_mod_SOURCES): Likewise.
48756
48757 * normal/command.c (grub_iterate_commands): If ITERATE returns
48758 non-zero, return one immediately.
48759
e85e144b 487602005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
48761
48762 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
48763 * kern/i386/pc/startup.S: Updated Global Descriptor table's
48764 descriptions.
48765 (grub_vbe_get_controller_info): New function.
48766 (grub_vbe_get_mode_info): Likewise.
48767 (grub_vbe_set_mode): Likewise.
48768 (grub_vbe_get_mode): Likewise.
48769 (grub_vbe_set_memory_window): Likewise.
48770 (grub_vbe_get_memory_window): Likewise.
48771 (grub_vbe_set_scanline_length): Likewise.
48772 (grub_vbe_get_scanline_length): Likewise.
48773 (grub_vbe_set_display_start): Likewise.
48774 (grub_vbe_get_display_start): Likewise.
48775 (grub_vbe_set_palette_data): Likewise.
48776 * include/grub/i386/pc/vbe.h: New file.
48777
c46153d2 487782005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48779
48780 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48781 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
48782 * DISTLIST: Likewise.
48783 * kern/ieee1275/of.c: Moved to ...
48784 * kern/ieee1275/ieee1275.c: ... here.
48785
0cb90c45 487862005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48787
48788 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
48789 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
48790 Pass 0 as `end' parameter to grub_strtoul().
48791
a19fb360 487922005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48793
48794 * include/grub/powerpc/ieee1275/console.h: Do not include
48795 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
48796 ifdef.
48797 (grub_console_cur_color): Remove i386-specific prototype.
48798 (grub_console_real_putchar): Likewise.
48799 (grub_console_checkkey): Likewise.
48800 (grub_console_getkey): Likewise.
48801 (grub_console_getxy): Likewise.
48802 (grub_console_gotoxy): Likewise.
48803 (grub_console_cls): Likewise.
48804 (grub_console_setcursor): Likewise.
48805 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
48806 Include <grub/machine/console.h>.
48807 * term/ieee1275/ofconsole.c: Likewise.
48808
4ac9bd04 488092005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
48810
48811 * Makefile.in (LIBLZO): New variable.
48812
48813 * configure.ac: Check for LZO version 2.
48814
48815 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
48816 lzo/lzo1x.h instead of lzo1x.h.
48817
48818 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
48819 of -llzo.
48820
48821 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
48822 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
48823
48824 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
48825 copying the data from PARTITION to P.
48826
f4917dfd 488272005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48828
48829 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
48830 negative, unload the module.
48831
48832 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
48833 map is "pc_partition_map" but not "pc".
48834 (usage): Fix the description. The options are --boot-image and
48835 --core-image but not --boot-file or --core-file.
48836 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
48837 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
48838 DEFAULT_DIRECTORY.
48839
48840 * util/i386/pc/grub-install.in: Do not specify --boot-file or
48841 --core-file. Specify INSTALL_DEVICE as an argument.
48842
48843 * util/console.c: Include config.h.
48844 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
48845 [HAVE_NCURSES_H]: Include ncurses.h.
48846 [HAVE_CURSES_H]: Include curses.h.
48847 [!A_NORMAL] (A_NORMAL): Defined as zero.
48848 [!A_STANDOUT] (A_STANDOUT): Likewise.
48849
48850 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
48851 -lncurses.
48852 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
48853
48854 * configure.ac: Check for curses libraries and headers.
48855
48856 * Makefile.in (LIBCURSES): New variable.
48857
48858 * genmk.rb (Script::rule): Set the executable bits.
48859
48860 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
48861 name of the PC partition map is "pc_partition_map" but not "pc".
48862
0e143073 488632005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48864
48865 * util/i386/pc/grub-install.in (grub_probefs): New variable.
48866 (modules): Likewise.
48867 (usage): Added descriptions for --modules and --grub-probefs.
48868 Handle --modules and --grub-probefs. Save the arguments in MODULES
48869 and GRUB_PROBEFS, respectively.
48870 Auto-detect a filesystem module against GRUBDIR. If the result is
48871 empty and modules are not specified explicitly, abort the
48872 installation. Add the result to MODULES.
48873
48874 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
48875 disk/powerpc/ieee1275/ofdisk.c,
48876 include/grub/powerpc/ieee1275/init.h and
48877 term/powerpc/ieee1275/ofconsole.c.
48878 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
48879 term/ieee1275/ofconsole.c.
48880
48881 * include/grub/powerpc/ieee1275/console.h: Resurrected.
48882
48883 * COPYING: Upgraded to the latest version. Only the address of the
48884 FSF office has changed.
f19dbdb7 48885
efd6e6d5 488862005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48887
48888 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48889 kern/ieee1275.c with kern/ieee1275/of.c.
48890
48891 * kern/ieee1275.c: Moved to ...
48892 * kern/ieee1275/of.c: ... here.
48893
8ceafda2 488942005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
48895
48896 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 48897 readability.
8ceafda2 48898
48899 * config.guess: Updated to the latest version from gnulib.
48900 * config.sub: Likewise.
48901 * install.sh: Likewise.
48902 * mkinstalldirs: Likewise.
48903
48904 * include/grub/console.h: Removed. This file is arch-specific. Do
48905 not put this in include/grub.
48906
48907 * include/grub/i386/pc/console.h: Resurrected.
48908
48909 * util/console.c: Include grub/machine/console.h instead of
48910 grub/console.h.
48911 * util/grub-emu.c: Likewise.
48912
267f6cd9 489132005-08-04 Marco Gerards <metgerards@student.han.nl>
48914
48915 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
48916 hardcoded value.
f19dbdb7 48917
267f6cd9 48918 From Vincent Pelletier <subdino2004@yahoo.fr>
48919 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
48920 Redefined to use grub_getwh.
48921 (grub_term): New member named getwh.
48922 (grub_getwh): New prototype.
48923 * kern/term.c (grub_getwh): New function.
48924 * term/i386/pc/console.c (grub_console_getwh): New function.
48925 (grub_console_term): New member `getwh'.
48926 * term/i386/pc/vga.c (grub_vga_getwh): New function.
48927 (grub_vga_term): New member `getwh'.
0b5abe02 48928 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 48929 grub_ssize_t.
48930 (grub_ofconsole_getw): New function.
48931 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
48932 (grub_ofconsole_term): New field named getwh and new initial
48933 value.
48934
3be7266d 489352005-08-03 Hollis Blanchard <hollis@penguinppc.org>
48936
48937 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
48938 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
48939 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
48940 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
48941 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
48942 of <grub/machine/ieee1275.h>.
48943 * commands/ieee1275/reboot.c: Likewise.
48944 * boot/powerpc/ieee1275/ieee1275.c: Move ...
48945 * kern/ieee1275.c: ... to here. All users updated. Change all
48946 parameter structs to use new type `grub_ieee1275_cell_t'.
48947 * term/powerpc/ieee1275/ofconsole.c: Move ...
48948 * term/ieee1275/ofconsole.c: ... to here. All users updated.
48949 * disk/powerpc/ieee1275/ofdisk.c: Move ...
48950 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
48951 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
48952 to return int.
48953 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
48954 Remove unused prototypes. All users updated.
48955 * include/grub/powerpc/ieee1275/console.h: Removed.
48956 * include/grub/powerpc/ieee1275/ieee1275.h: Define
48957 `grub_ieee1275_cell_t'.
48958 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
48959 Cast comparisons with -1 to the correct type.
48960 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
48961 type to match `grub_ieee1275_entry_fn'.
48962
8b5f3938 489632005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
48964
48965 * DISTLIST: Added util/i386/pc/grub-probefs.c.
48966
48967 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
48968 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
48969 partmap/sun.c.
48970 (grub_probefs_SOURCES): New variable.
48971
48972 * util/i386/pc/grub-probefs.c: New file.
48973
48974 * util/i386/pc/grub-setup.c (main): Call
48975 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
48976 grub_hfs_init and grub_jfs_init to initialize the system. Call
48977 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
48978 grub_pc_partition_map_fini to finish the system.
48979
ea409713 489802005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
48981
48982 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
48983 function.
48984 (grub_multiboot_load_elf32): Likewise.
48985 (grub_multiboot_is_elf64): Likewise.
48986 (grub_multiboot_load_elf64): Likewise.
48987 (grub_multiboot_load_elf): Likewise.
48988 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
48989 an ELF32 or ELF64 file.
48990 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
48991
48992 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
48993 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
48994 NULL before calling FS->LABEL.
48995 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
48996 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
48997 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
48998 before calling FS->LABEL.
48999
141a288b 490002005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
49001
49002 * util/i386/pc/grub-install.in (datadir): New variable.
49003 (libdir): Removed.
49004 (pkgdatadir): New variable.
49005 (pkglibdir): Removed.
49006
0d5f8a54 490072005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
49008
49009 * DISTLIST: Added util/i386/pc/grub-install.in.
49010
49011 * util/i386/pc/grub-install.in: New file.
49012
49013 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
49014 (grub_install_SOURCES): Likewise.
49015
49016 * genmk.rb: Added support for scripts.
49017 (Script): New class.
49018 (scripts): New variable.
49019
49020 * Makefile.in (install-local): Install sbin_SCRIPTS by
49021 INSTALL_SCRIPT.
49022 (uninstall): Remove sbin_SCRIPTS.
49023
49024 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
49025 device, try to get a GRUB device by
49026 grub_util_biosdisk_get_grub_dev.
49027 Free DEST_DEV.
49028
49029 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
49030 description for --device-map.
49031
5f968e1e 490322005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
49033
49034 Change the semantics of variable hooks. They now return strings
49035 instead of error values.
f19dbdb7 49036
5f968e1e 49037 * util/i386/pc/grub-setup.c: Include grub/env.h.
49038 (setup): Use grub_device_set_root instead of grub_env_set.
49039
49040 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
49041 grub_env_get instead of grub_device_set_root and
49042 grub_device_get_root, respectively.
49043
49044 * kern/main.c (grub_env_write_root): New function.
49045 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
49046 grub_env_set instead of grub_device_set_root.
49047
49048 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
49049 many variables.
49050 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
49051 rather than calling ENV->WRITE_HOOK afterwards.
49052 (grub_env_get): Return the result of ENV->READ_HOOK rather than
49053 passing a pointer of a pointer.
49054 (grub_register_variable_hook): Change the types of "read_hook" and
49055 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
49056 respectively.
49057 Allocate the default empty string on the heap, because this string
49058 may be freed later.
49059
49060 * kern/device.c: Include grub/env.h.
49061 (grub_device_set_root): Removed.
49062 (grub_device_get_root): Likewise.
49063 (grub_device_open): Use grub_env_get instead of
49064 grub_device_get_root.
49065
49066 * include/grub/env.h (grub_env_read_hook_t): New type.
49067 (grub_env_write_hook_t): Likewise.
49068 (grub_env_var): Change the types of "read_hook" and "write_hook"
49069 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
49070 (grub_register_variable_hook): Likewise.
49071
49072 * include/grub/device.h (grub_device_set_root): Removed.
49073 (grub_device_set_root): Likewise.
49074
49075 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
49076 make sure that DIRNAME terminates with '/', so that
49077 grub_fat_find_dir will fail if PATH is not a directory.
49078
49079 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
49080 from DIRNAME.
49081 Use the qualifier auto for print_files and print_files_long.
49082 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
49083 as a regular file.
49084 Put a newline only if there is no error.
49085 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
49086 used.
49087
896f0afd 490882005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
49089
49090 * kern/partition.c (grub_partition_probe): Initialize PART to
49091 NULL. Otherwise, when no partition map is registered, this returns
49092 a garbage.
49093
b28b81b2 490942005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
49095
49096 * partmap/apple.c (apple_partition_map_iterate): Check if POS
49097 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
49098 valid.
49099
5f3607e0 491002005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
49101
49102 * commands/ls.c (grub_ls_list_disks): Print the filesystem
49103 information on each device, if it does not have partitions. Print
49104 "Device" instead of "Disk", because this function is not specific
49105 to disk devices.
49106
49107 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
49108 static to ensure that it is put on the memory rather than a
49109 register.
49110
502c87e8 491112005-07-17 Yoshinori Okuji <okuji@enbug.org>
49112
49113 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
49114 (grub_cat_init): Likewise.
49115 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
49116 (options): Likewise.
49117 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
49118 (grub_configfile_init): Likewise.
49119 * font/manager.c (GRUB_MOD_INIT): Likewise.
49120 * commands/help.c (GRUB_MOD_INIT): Likewise.
49121 (grub_help_init): Likewise.
49122 * normal/command.c (grub_command_init): Likewise.
49123 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
49124 * disk/loopback.c (grub_loop_init): Likewise.
49125 (GRUB_MOD_INIT): Likewise.
49126 * commands/ls.c (grub_ls_init): Likewise.
49127 (GRUB_MOD_INIT): Likewise.
49128 (options): Likewise.
49129 * commands/boot.c (grub_boot_init): Likewise.
49130 (GRUB_MOD_INIT): Likewise.
49131 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
49132 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
49133 (GRUB_MOD_INIT): Likewise.
49134 * commands/cmp.c (grub_cmp_init): Likewise.
49135 (GRUB_MOD_INIT): Likewise.
49136
49137 * normal/arg.c: Use <> instead of "" to include header files.
49138 (SHORT_ARG_HELP): New macro.
49139 (SHORT_ARG_USAGE): Likewise.
49140 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
49141 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
49142 descriptions.
49143 (find_short): Check if C is 'h' or 'u' explicitly.
49144 (grub_arg_show_help): Use space characters instead of tabs. Treat
49145 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
49146 are shown with --help and --usage only if they are not used for
49147 the command itself.
49148 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
49149 'h' and 'u'.
49150
49151 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
49152 const into "longarg". Change the type of "shortarg" to int.
49153
f806d18e 491542005-07-17 Yoshinori Okuji <okuji@enbug.org>
49155
49156 * boot/i386/pc/boot.S (boot_drive_check): New label.
49157
49158 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
49159 macro.
49160
49161 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
49162 which do not pass a boot drive correctly. Copied from GRUB Legacy.
49163
e293232b 491642005-07-17 Yoshinori Okuji <okuji@enbug.org>
49165
49166 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
49167 When turning off Gate A20, skip the check and return immediately,
49168 because this is not fatal usually.
49169
ebedfd00 491702005-07-17 Yoshinori Okuji <okuji@enbug.org>
49171
49172 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
49173 be 0x7C00 instead of 0x8000.
49174
49175 * boot/i386/pc/pxeboot.S: Rewritten.
49176
49177 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
49178 EXT_C.
49179 (gate_a20_check_state): Read a byte from 0x108000. Invert the
49180 result.
49181
654fc59f 491822005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
49183
49184 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
49185 robustness. This routine now supports a BIOS call and System
49186 Control Port A to modify the gate A20.
49187
49188 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49189 Increased to 0x440.
49190
09f9923f 491912005-07-12 Hollis Blanchard <hollis@penguinppc.org>
49192
49193 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
49194 device path and resulting ihandle.
49195 (grub_ofdisk_close): dprintf the ihandle being closed.
49196 (grub_ofdisk_read): dprintf function parameters.
49197 * kern/mm.c (grub_mm_init_region): Likewise.
49198 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
49199 (grub_linux_boot): dprintf the Linux entry point, initrd address and
49200 size, and boot arguments.
49201 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
49202 before loading into memory.
49203 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
49204 before loading into memory.
49205
7ef504d8 492062005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
49207
49208 * kern/mm.c: Added much documentation.
49209 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
49210 8, set to 5 instead of 8.
49211
e0f050c2 492122005-07-10 Yoshinori Okuji <okuji@enbug.org>
49213
49214 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
49215
49216 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
49217 (grub_mkdevicemap_SOURCES): New variable.
49218
49219 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
49220 lib/device.c of GRUB Legacy.
49221
7224189a 492222005-07-10 Yoshinori Okuji <okuji@enbug.org>
49223
49224 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
49225 instead of PATH is NULL.
49226
68c864eb 492272005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
49228
49229 * commands/cmp.c (BUFFER_SIZE): New macro.
49230 (grub_cmd_cmp): Close the right file at the right time. Compare
49231 only data just read. Don't report files of different size as
49232 identical. Dynamically allocate buffers. Move variable
49233 declarations at the beginning of function.
49234
e6f3e614 492352005-07-09 Yoshinori Okuji <okuji@enbug.org>
49236
49237 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
49238 reverse.
49239
f8f1559a 492402004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
49241
49242 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
49243 when backspace is pressed at beginning of line.
49244
39c9d41d 492452005-07-03 Yoshinori Okuji <okuji@enbug.org>
49246
49247 * DISTLIST: Added genfslist.sh.
49248
49249 * normal/main.c (fs_module_list): New variable.
49250 (autoload_fs_module): New function.
49251 (read_fs_list): Likewise.
49252 (grub_normal_execute): Call read_fs_list.
49253
49254 * kern/fs.c (grub_fs_autoload_hook): New variable.
49255 (grub_fs_probe): Added support for auto-loading.
49256
49257 * include/grub/normal.h (struct grub_fs_module_list): New struct.
49258 (grub_fs_module_list_t): New type.
49259
49260 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
49261 (grub_fs_autoload_hook): New prototype.
49262
49263 * genfslist.sh: New file.
f19dbdb7 49264
39c9d41d 49265 * genmk.rb: Added a rule to generate a filesystem list.
49266
121c1d83 492672005-06-30 Marco Gerards <metgerards@student.han.nl>
49268
49269 * configure.ac: Fix the test for cross-compiling.
49270
49271 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
49272 define GRUB_UTIL anymore.
49273
49274 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
49275 so this function works on other systems than just big endian.
49276 (load_modules): Likewise.
49277 (add_segments): Likewise.
49278
e75d76e1 492792005-06-23 Hollis Blanchard <hollis@penguinppc.org>
49280
49281 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
49282 contains `l' modifier, get a long from va_arg().
49283
50b5a0a7 492842005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
49285
49286 * kern/mm.c (grub_free): If the next free block which is being
49287 merged is the first free block, set the first block to the block
49288 being freed.
49289 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
49290
89371b20 492912005-05-08 Hollis Blanchard <hollis@penguinppc.org>
49292
49293 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
49294 `grub_ieee1275_chosen'.
49295
168d6e58 492962005-05-08 Hollis Blanchard <hollis@penguinppc.org>
49297
49298 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
49299 (grub_ieee1275_chosen): New variable.
49300 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
49301 `chosen'.
49302 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
49303 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49304 Rename first argument to `phandle' for consistency.
49305 (grub_ieee1275_get_property_length): Likewise.
49306 (grub_ieee1275_next_property): Likewise. Change type of first argument
49307 to grub_ieee1275_phandle_t.
49308 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
49309 Move export next to declaration.
49310 (grub_ieee1275_chosen): New variable.
49311 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
49312 Correct cosmetic typo.
49313 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
49314 `grub_ieee1275_chosen'.
49315 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
49316 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
49317 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
49318 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
49319 `grub_ieee1275_chosen'.
49320
ca5baa3f 493212005-05-10 Hollis Blanchard <hollis@penguinppc.org>
49322
49323 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
49324 /chosen/bootargs.
49325 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
49326 /chosen/bootargs as "variable=value" pairs.
49327
708b345f 493282005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
49329
49330 * include/grub/misc.h (grub_dprintf): New macro.
49331 (grub_real_dprintf): New prototype.
49332 (grub_strword): Likewise.
49333 (grub_iswordseparator): Likewise.
49334 * kern/misc.c (grub_real_dprintf): New function.
49335 (grub_strword): Likewise.
49336 (grub_iswordseparator): Likewise.
49337
f4c5e67c 493382005-04-30 Hollis Blanchard <hollis@penguinppc.org>
49339
49340 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
49341 (roundup): Remove macro.
49342 (grub_ieee1275_flags): Make static.
49343 (grub_ieee1275_realmode): Remove.
49344 (grub_ieee1275_test_flag): New function.
49345 (grub_ieee1275_set_flag): Likewise.
49346 (find_options): Rename to `grub_ieee1275_find_options'; update
49347 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
49348 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
49349 (cmain): New prototype.
49350 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
49351 `grub_ieee1275_flags' directly.
49352 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
49353 machine/biosdisk.h.
49354 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
49355 Don't include grub/machine/init.h.
49356 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
49357 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49358 Remove prototype.
49359 (grub_ieee1275_realmode): Likewise.
49360 (grub_ieee1275_flag): New enum.
49361 (grub_ieee1275_test_flag): New prototype.
49362 (grub_ieee1275_set_flag): New prototype.
49363 * include/grub/powerpc/ieee1275/init.h: Remove file.
49364 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
49365 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
49366 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
49367 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
49368 comment.
49369 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
49370 `grub_ieee1275_test_flag'.
49371 (grub_ieee1275_encode_devname): Likewise.
49372
ed16607e 493732005-04-21 Hollis Blanchard <hollis@penguinppc.org>
49374
49375 * include/grub/powerpc/ieee1275/ieee1275.h
49376 (grub_ieee1275_encode_devname): New prototype.
49377 (grub_ieee1275_get_filename): Likewise.
49378 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
49379 function.
49380 (grub_set_prefix): Likewise.
49381 (grub_machine_init): Call grub_set_prefix.
49382 * kern/powerpc/ieee1275/openfw.c: Fix typos.
49383 (grub_parse_type): New enum.
49384 (grub_ieee1275_get_devargs): New function.
49385 (grub_ieee1275_get_devname): Likewise.
49386 (grub_ieee1275_parse_args): Likewise.
49387 (grub_ieee1275_get_filename): Likewise.
49388 (grub_ieee1275_encode_devname): Likewise.
49389
be369920 493902005-03-30 Marco Gerards <metgerards@student.han.nl>
49391
49392 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
49393 `grub_loader_unset'.
49394
a5ce3a4a 493952005-03-26 Hollis Blanchard <hollis@penguinppc.org>
49396
49397 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
49398 instead of grub_ieee1275_interpret.
49399 (grub_halt_init): New function.
49400 (grub_halt_fini): Likewise.
49401 (GRUB_MOD_INIT): Correct message grammar.
49402 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
49403 instead of grub_ieee1275_interpret.
49404 (grub_reboot_init): New function.
49405 (grub_reboot_fini): Likewise.
49406 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
49407 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
49408 util/i386/pc/misc.c with commands/ieee1275/halt.c,
49409 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
49410 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
49411 function.
49412 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
49413 Add prototype.
49414 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
49415 prototype.
49416 (grub_halt): Likewise.
49417 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
49418 (cmain): Remove __attribute__((unused)).
49419 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
49420 (grub_heap_len): Likewise.
49421 (grub_machine_fini): New function.
49422 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
49423 (grub_halt): Likewise.
49424 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
49425 function.
49426 * util/powerpc/ieee1275/misc.c: New file.
49427
0058f771 494282005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
49429
49430 * DISTLIST: New file.
49431 * gendistlist.sh: Likewise.
f19dbdb7 49432
0058f771 49433 * Makefile.in (COMMON_DISTFILES): Removed.
49434 (BOOT_DISTFILES): Likewise.
49435 (CONF_DISTFILES): Likewise.
49436 (DISK_DISTFILES): Likewise.
49437 (FS_DISTFILES): Likewise.
49438 (INCLUDE_DISTFILES): Likewise.
49439 (KERN_DISTFILES): Likewise.
49440 (LOADER_DISTFILES): Likewise.
49441 (TERM_DISTFILES): Likewise.
49442 (UTIL_DISTFILES): Likewise.
49443 (DISTFILES): Likewise.
49444 (uninstall): Uninstall files in $(pkgdata_DATA).
49445 (DISTLIST): New target.
49446 (distdir): Use the contents of the file DISTLIST to get a list of
49447 distributed files.
49448
46b3b8a5 494492005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
49450
49451 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
49452 descriptor. This is ported from GRUB Legacy.
49453
49454 * gencmdlist.sh: Added an extra semicolon to make it work with
49455 old sed versions. Reported by Robert Bihlmeyer
49456 <robbe@orcus.priv.at>.
49457
5822ff87 494582005-03-08 Yoshinori Okuji <okuji@enbug.org>
49459
49460 Automatic loading of commands is supported.
f19dbdb7 49461
5822ff87 49462 * normal/main.c (read_command_list): New function.
49463 (grub_normal_execute): Call read_command_list.
49464
49465 * normal/command.c (grub_register_command): Return zero or CMD.
49466 Allocate CMD->NAME from the heap.
49467 Initialize CMD->MODULE_NAME to zero.
49468 Find the same name as well. If the same command is found and it is
49469 a dummy command, overwrite members. If it is not a dummy command,
49470 return zero.
49471 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
49472 (grub_command_find): If a dummy command is found, load a module
49473 and retry to find a command only once.
49474
49475 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
49476 make sure that each command is loaded.
49477
49478 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
49479 macro.
49480 (struct grub_command): Remove const from the member `name'.
49481 Add a new member `module_name'.
49482 (grub_register_command): Return grub_command_t.
49483
49484 * commands/help.c (grub_cmd_help): Call grub_command_find to make
49485 sure that each command is loaded.
49486
49487 * genmk.rb (PModule::rule): Specify a module name without the
49488 suffix ".mod" to gencmdlist.sh.
49489
7b1f4b57 494902005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49491
49492 * gencmdlist.sh: New file.
f19dbdb7 49493
7b1f4b57 49494 * genmk.rb (PModule::rule): Generate a rule for a command list.
49495 Clean command.lst.
49496 Generate command.lst from $(COMMANDFILES).
49497
49498 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
49499 (DATA): Added $(pkgdata_DATA).
49500 (install-local): Install files in $(pkgdata_DATA).
49501
062aaf39 495022005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49503
49504 * term/i386/pc/vga.c (debug_command): Removed.
49505 (GRUB_MOD_INIT): Do not register the command "debug".
49506
49507 From Hollis Blanchard:
49508 * commands/configfile.c: New file.
49509 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49510 commands/configfile.c.
49511 (pkgdata_MODULES): Added configfile.mod.
49512 (configfile_mod_SOURCES): New variable.
49513 (configfile_mod_CFLAGS): Likewise.
49514 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49515 commands/configfile.c.
49516 (pkgdata_MODULES): Added configfile.mod.
49517 (configfile_mod_SOURCES): New variable.
49518 (configfile_mod_CFLAGS): Likewise.
49519 * util/grub-emu.c (main): Call grub_configfile_init and
49520 grub_configfile_fini.
49521 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
49522 prototype.
49523 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 49524
cee01aa6 495252005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49526
49527 * normal/arg.c (grub_arg_show_help): Do not show the bug report
49528 address.
49529
49530 * commands/help.c (grub_cmd_help): Do not print newlines after
49531 the last command in print_command_help.
49532
93f3a1d8 495332005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49534
49535 * commands/default.h: New file.
49536 * commands/timeout.h: Likewise.
49537 * normal/context.c: Likewise.
f19dbdb7 49538
93f3a1d8 49539 * util/misc.c: Do not include sys/times.h.
49540 Include sys/time.h and grub/machine/time.h.
49541 (grub_get_rtc): Rewritten with gettimeofday.
49542
49543 * util/grub-emu.c (main): Call grub_default_init and
49544 grub_timeout_init before grub_normal_init, and call
49545 grub_timeout_fini and grub_default_fini after grub_main.
49546
49547 * util/console.c (grub_ncurses_checkkey): Return the read
49548 character or -1.
49549
49550 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
49551 timeouts.
49552
49553 * normal/main.c (read_config_file): Push MENU. If this fails,
49554 print an error and wait for a user input.
49555 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
49556 If a menu is empty or an error occurs, pop MENU.
49557 (grub_normal_execute): Pop and free MENU after grub_menu_run
49558 returns.
49559
49560 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
49561
49562 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
49563 include time.h.
49564 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49565 without GRUB_UTIL.
49566 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
49567 time.h.
49568 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49569 without GRUB_UTIL.
49570
49571 * include/grub/normal.h (struct grub_menu_list): New struct.
49572 (grub_menu_list_t): New type.
49573 (struct grub_context): New struct.
49574 (grub_context_t): New type.
49575 (grub_register_command): Got rid of EXPORT_FUNC.
49576 (grub_unregister_command): Likewise.
49577 (grub_context_get): New prototype.
49578 (grub_context_get_current_menu): Likewise.
49579 (grub_context_push_menu): Likewise.
49580 (grub_context_pop_menu): Likewise.
49581 [GRUB_UTIL] (grub_default_init): Likewise.
49582 [GRUB_UTIL] (grub_default_fini): Likewise.
49583 [GRUB_UTIL] (grub_timeout_init): Likewise.
49584 [GRUB_UTIL] (grub_timeout_fini): Likewise.
49585
49586 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
49587 commands/timeout.c and normal/context.c.
49588 (pkgdata_MODULES): Added default.mod and timeout.mod.
49589 (normal_mod_SOURCES): Added normal/context.c.
49590 (default_mod_SOURCES): New variable.
49591 (default_mod_CFLAGS): Likewise.
49592 (timeout_mod_SOURCES): Likewise.
49593 (timeout_mod_CFLAGS): Likewise.
49594 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
49595 conf/i386-pc.rmk.
49596 (pkgdata_MODULES): Added default.mod and timeout.mod.
49597 (normal_mod_SOURCES): Added normal/context.c.
49598 (default_mod_SOURCES): New variable.
49599 (default_mod_CFLAGS): Likewise.
49600 (timeout_mod_SOURCES): Likewise.
49601 (timeout_mod_CFLAGS): Likewise.
49602
49603 * Makefile.in (all-local): Added $(MKFILES).
49604
4ed2e1dd 496052005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
49606
49607 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
49608 (grub_emu_SOURCES): Likewise.
49609 (pkgdata_MODULES): Add `sun.mod'.
49610 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49612 `partmap/sun.c'.
49613 (pkgdata_MODULES): Add `sun.mod'.
49614 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49615 * include/grub/partition.h (grub_sun_partition_map_init): New
49616 prototype.
49617 (grub_sun_partition_map_fini): Likewise.
49618 * partmap/sun.c: New file.
49619 * util/grub-emu.c (main): Initialize and de-initialize the sun
49620 partitionmap support.
49621
4d4e372e 496222005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
49623
49624 This implements an Emacs-like menu entry editor.
f19dbdb7 49625
4d4e372e 49626 * normal/menu_entry.c: New file.
f19dbdb7 49627
4d4e372e 49628 * util/console.c (grub_ncurses_putchar): Translate some Unicode
49629 characters to ASCII.
49630 (saved_char): New variable.
49631 (grub_ncurses_checkkey): Rewritten completely.
49632 (grub_ncurses_getkey): Likewise.
49633 (grub_ncurses_init): Call raw instead of cbreak.
49634
49635 * normal/menu.c (print_entry): Do not put a space.
49636 (init_page): Renamed to ...
49637 (grub_menu_init_page): ... this. All callers changed.
49638 (edit_menu_entry): Removed.
49639 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
49640
49641 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
49642
49643 * kern/misc.c (grub_vprintf): Call grub_refresh.
49644
49645 * normal/menu.c (DISP_LEFT): Renamed to ...
49646 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
49647 * normal/menu.c (DISP_UP): Renamed to ...
49648 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
49649 * normal/menu.c (DISP_RIGHT): Renamed to ...
49650 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
49651 * normal/menu.c (DISP_DOWN): Renamed to ...
49652 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
49653 * normal/menu.c (DISP_HLINE): Renamed to ...
49654 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
49655 * normal/menu.c (DISP_VLINE): Renamed to ...
49656 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
49657 * normal/menu.c (DISP_UL): Renamed to ...
49658 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
49659 * normal/menu.c (DISP_UR): Renamed to ...
49660 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
49661 * normal/menu.c (DISP_LL): Renamed to ...
49662 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
49663 * normal/menu.c (DISP_LR): Renamed to ...
49664 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
49665 * normal/menu.c (TERM_WIDTH): Renamed to ...
49666 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
49667 * normal/menu.c (TERM_HEIGHT): Renamed to ...
49668 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
49669 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
49670 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
49671 * normal/menu.c (TERM_MARGIN): Renamed to ...
49672 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
49673 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
49674 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
49675 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
49676 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
49677 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
49678 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
49679 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
49680 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
49681 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
49682 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
49683 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
49684 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
49685 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
49686 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
49687 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
49688 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
49689 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
49690 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
49691 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
49692 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
49693 All callers changed.
49694
49695 * include/grub/normal.h: New prototype.
49696
49697 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49698 normal/menu_entry.c.
49699 (normal_mod_SOURCES): Likewise.
49700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49701 (normal_mod_SOURCES): Likewise.
49702
e6b92c8a 497032005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
49704
49705 * include/grub/normal.h (grub_halt_init): New prototype.
49706 (grub_halt_fini): Likewise.
49707 (grub_reboot_init): Likewise.
49708 (grub_reboot_fini): Likewise.
49709
49710 * util/grub-emu.c: Include signal.h.
49711 (main_env): New global variable.
49712 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
49713 catch C-c.
49714 (grub_machine_fini): New function.
49715 (main): Call grub_halt_init and grub_reboot_init before
49716 grub_main, and grub_reboot_fini and grub_halt_fini after it.
49717 Call setjmp with MAIN_ENV to go back afterwards.
49718 Call grub_machine_fini right before return.
49719
49720 * include/grub/util/misc.h: Include setjmp.h.
49721 (main_env): New prototype.
49722
49723 * include/grub/kernel.h (grub_machine_fini): New prototype.
49724 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
49725 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
49726
49727 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
49728 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
49729 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 49730
e6b92c8a 49731 * util/i386/pc/misc.c: New file.
f19dbdb7 49732
e6b92c8a 49733 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49734 util/i386/pc/misc.c, commands/i386/pc/halt.c and
49735 commands/i386/pc/reboot.c.
49736
c642636f 497372005-02-14 Guillem Jover <guillem@hadrons.org>
49738
49739 * include/grub/dl.h (grub_dl_check_header): New prototype.
49740 (grub_arch_dl_check_header): Change return type to grub_err_t,
49741 remove size parameter and export function. Update all callers.
49742 * kern/dl.c (grub_dl_check_header): New function.
49743 (grub_dl_load_core): Use `grub_dl_check_header' instead of
49744 `grub_arch_dl_check_header'. Check ELF type. Check if sections
49745 are inside the core.
49746 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
49747 independent ELF header checks.
49748 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49749 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
49750 `grub_dl_check_header' instead of explicit checks. Check for the
49751 ELF type.
49752 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
49753 `grub_dl_check_header' instead of explicit checks. Remove arch
49754 specific ELF header checks.
49755
e6b92c8a 49756 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
49757 argument SIZE.
49758
5eabe94b 497592005-02-13 Hollis Blanchard <hollis@penguinppc.org>
49760
49761 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
49762 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
49763
1b14a681 497642005-02-12 Hollis Blanchard <hollis@penguinppc.org>
49765
49766 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 49767 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 49768 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 49769 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 49770 * partmap/amiga.c (amiga_partition_map_iterate): Return
49771 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
49772 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49773
aca108aa 497742005-02-01 Guillem Jover <guillem@hadrons.org>
49775
49776 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
49777 help info.
49778
c9f9c556 497792005-01-31 Marco Gerards <metgerards@student.han.nl>
49780
49781 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
49782 Removed prototype.
49783 (grub_rescue_cmd_linux): New prototype.
49784 (grub_rescue_cmd_initrd): Likewise.
49785 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
49786 `bi_rec'.
49787 (grub_linux_release_mem): Release the memory for the initrd.
49788 (grub_load_linux): Renamed from this...
49789 (grub_rescue_cmd_linux): ...To this. Changed all callers.
49790 Changed `entry' not to be static. Loop over memory regions to
49791 find another one when the default fails.
49792 (grub_rescue_cmd_initrd): New function.
49793 (grub_linux_init): Remove function.
49794 (grub_linux_fini): Likewise.
49795 (GRUB_MOD_INIT): Register `initrd'.
49796 (GRUB_MOD_FINI): Unregister `initrd'.
49797 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
49798 Function removed.
49799 (grub_linux_normal_fini): Likewise.
49800 (GRUB_MOD_INIT): Register `initrd'.
49801 (GRUB_MOD_FINI): Unregister `initrd'.
49802
990cf3aa 498032005-01-31 Marco Gerards <metgerards@student.han.nl>
49804
49805 * commands/help.c: New file.
49806 * normal/arg.c (show_help): Renamed to...
49807 (grub_arg_show_help): ... this.
49808 * commands/i386/pc/halt.c: New file.
49809 * commands/i386/pc/reboot.c: Likewise.
49810 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
49811 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
49812 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
49813 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
49814 variables.
49815 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49816 `commands/help.c'.
49817 (pkgdata_MODULES): Add `help.mod'.
49818 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
49819 * grub/i386/pc/init.h (grub_reboot): New prototype.
49820 (grub_halt): Likewise.
49821 * include/grub/normal.h (grub_arg_show_help): New prototype.
49822 (grub_help_init): Likewise.
49823 (grub_help_fini): Likewise.
49824 * util/grub-emu.c (main): Initialize and deinitialize the help
49825 command.
49826
49827 * normal/cmdline.c (grub_cmdline_get): Doc fix.
49828
49829 * normal/command.c (grub_command_init): Fixed the description of
49830 the `set' and `unset' commands.
49831
498322005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 49833
49834 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
49835 function.
49836 * commands/ieee1275/halt.c: New file.
49837 * commands/ieee1275/reboot.c: Likewise.
49838 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
49839 `__attribute__ ((unused))'. Some GCS related fixed.
49840 (grub_suspend_init) [GRUB_UTIL]: Function removed.
49841 (grub_suspend_fini): Likewise.
49842 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
49843 and `halt.mod'.
49844 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
49845 (halt_mod_CFLAGS): New variables.
49846 * include/grub/powerpc/ieee1275/ieee1275.h
49847 (grub_ieee1275_interpret): New prototype.
49848
1ab09cc7 498492005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
49850
49851 * include/grub/misc.h (memmove): New prototype.
49852 (memcpy): Likewise.
49853
8b8cbdb2 498542005-01-22 Hollis Blanchard <hollis@penguinppc.org>
49855
49856 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
49857 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
49858
e3741a27 498592005-01-22 Marco Gerards <metgerards@student.han.nl>
49860
49861 * kern/misc.c (grub_strndup): Function rewritten.
49862
776bd780 498632005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
49864
49865 * normal/menu.c (TERM_WIDTH): Macro redefined.
49866 (TERM_TOP_BORDER_Y): Likewise.
49867 (draw_border): Replaced while-loop by a for-loop. Make the number
49868 of lines consistent with the number of lines displayed in
49869 print_entries. Added a margin below the rectangle.
49870 (print_entry): Make the entry fit in the rectangle.
49871 (print_entries): Display the scroll arrows next to the right
49872 border.
49873
78026bce 498742005-01-21 Marco Gerards <metgerards@student.han.nl>
49875
49876 * fs/minix.c (grub_minix_find_file): Reserve more space for
49877 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
49878 `grub_strncpy' to copy `path' into it.
49879
67bbaf0f 498802005-01-21 Marco Gerards <metgerards@student.han.nl>
49881
49882 Add the loopback device, a device via which files can be accessed
49883 as devices.
f19dbdb7 49884
67bbaf0f 49885 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
49886 (pkgdata_MODULES): Add loopback.mod.
49887 (loopback_mod_SOURCES): New variable.
49888 (loopback_mod_CFLAGS): Likewise.
49889 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49890 `disk/loopback.c'.
49891 (pkgdata_MODULES): Add loopback.mod.
49892 (loopback_mod_SOURCES): New variable.
49893 (loopback_mod_CFLAGS): Likewise.
49894 * disk/loopback.c: new file.
49895 * include/grub/normal.h (grub_loop_init): New prototype.
49896 (grub_loop_fini): New prototype.
49897 * util/grub-emu.c (main): Initialize and de-initialize loopback
49898 support.
49899 * include/grub/disk.h (grub_disk_dev_id): Add
49900 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
49901
6f1c18bd 499022005-01-20 Hollis Blanchard <hollis@penguinppc.org>
49903
49904 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
49905 function.
49906 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
49907 (suspend_mod_SOURCES): New variable.
49908 (suspend_mod_CFLAGS): Likewise.
49909 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
49910 New prototype.
49911 * commands/ieee1275/suspend.c: New file.
49912
b38551da 499132005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49914
49915 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 49916 ((unused))' to `__attribute__ ((used))'.
b38551da 49917 (GRUB_MOD_FINI): Likewise.
49918 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
49919 * genmk.rb (PModule): Assign space to common symbols when linking
49920 modules.
49921
777aff39 499222005-01-20 Marco Gerards <metgerards@student.han.nl>
49923
49924 * include/grub/mm.h (grub_mm_init_region): Change the type of the
49925 `unsigned' arguments to `grub_size_t'.
49926 (grub_malloc): Likewise.
49927 (grub_realloc): Likewise.
49928 (grub_memalign): Likewise.
49929 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
49930 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49931 * util/misc.c (grub_malloc): Likewise.
49932 (grub_realloc): Likewise.
49933 * kern/mm.c (get_header_from_pointer): Change the casts to
49934 `unsigned' into a cast to `grub_size_t'.
49935
49936 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
49937 point to `currnode' when `currnode' is changed.
49938
49939 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
49940 Schottelius <nico-linux@schottelius.org>.
49941
d0ff18e1 499422005-01-09 Hollis Blanchard <hollis@penguinppc.org>
49943
49944 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
49945 (note_path): Remove variable.
49946 (GRUB_IEEE1275_NOTE_NAME): New macro.
49947 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
49948 (grub_ieee1275_note_hdr): New structure.
49949 (grub_ieee1275_note_desc): Likewise.
49950 (grub_ieee1275_note): Likewise.
49951 (load_note): Remove `dir' argument. All callers updated. Remove
49952 `note_img' and `path'. Do not load a file from `note_path'.
49953 Initialize a struct grub_ieee1275_note and write that to `out'.
49954 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
49955
4ca7004c 499562005-01-05 Marco Gerards <metgerards@student.han.nl>
49957
49958 * util/misc.c (grub_util_read_image): Revert last change. It
49959 called `grub_util_read_at', which seeks from the beginning of the
49960 file.
49961
0b412211 499622005-01-04 Hollis Blanchard <hollis@penguinppc.org>
49963
49964 * TODO: Add note about endianness in grub-mkimage.
49965 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
49966 section.
49967 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
49968 (grub_mkimage_SOURCES): New target.
49969 * include/grub/kernel.h (grub_start_addr): Remove variable.
49970 (grub_end_addr): Likewise.
49971 (grub_total_module_size): Likewise.
49972 (grub_kernel_image_size): Likewise.
49973 (GRUB_MODULE_MAGIC): New constant.
49974 (grub_module_info): New structure.
49975 (grub_arch_modules_addr): New prototype.
49976 (grub_get_end_addr): Remove prototype.
49977 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
49978 * include/grub/powerpc/ieee1275/kernel.h: New file.
49979 * include/grub/util/misc.h (grub_util_get_fp_size): New
49980 prototype.
49981 (grub_util_read_at): Likewise.
49982 (grub_util_write_image_at): Likewise.
49983 * kern/main.c (grub_get_end_addr): Remove function.
49984 (grub_load_modules): Call grub_arch_modules_addr instead of using
49985 grub_end_addr. Look for a grub_module_info struct in memory. Use
49986 the grub_module_info fields instead of calling grub_get_end_addr
49987 as loop conditions. Move grub_add_unused_region code here.
49988 (grub_add_unused_region): Remove function.
49989 * kern/i386/pc/init.c: Include grub/cache.h.
49990 (grub_machine_init): Remove call to grub_get_end_addr. Remove
49991 one call to add_mem_region.
49992 (grub_arch_modules_addr): New function.
49993 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
49994 (grub_total_module_size): Likewise.
49995 Include grub/machine/kernel.h.
49996 (grub_arch_modules_addr): New function.
49997 * util/grub-emu.c (grub_end_addr): Remove variable.
49998 (grub_total_module_size): Likewise.
49999 (grub_arch_modules_addr): New function.
50000 * util/misc.c: Include unistd.h.
50001 (grub_util_get_fp_size): New function.
50002 (grub_util_read_at): Likewise.
50003 (grub_util_write_image_at): Likewise.
50004 (grub_util_read_image): Call grub_util_read_at.
50005 (grub_util_write_image): Call grub_util_write_image_at.
50006 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
50007 additional memory in kernel_img for a struct grub_module_info.
50008 Fill in that grub_module_info.
50009 * util/powerpc/ieee1275/grub-mkimage.c: New file.
50010
458786f8 500112005-01-03 Hollis Blanchard <hollis@penguinppc.org>
50012
50013 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
50014 New function.
50015 * include/grub/powerpc/ieee1275/ieee1275.h
50016 (grub_ieee1275_milliseconds): New prototype.
50017 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
50018 Change to 1000.
50019 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
50020 grub_ieee1275_milliseconds.
50021
ac507d1b 500222005-01-03 Hollis Blanchard <hollis@penguinppc.org>
50023
50024 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
50025 variable.
50026 (find_options): New function.
50027 (cmain): Call find_options.
50028 * include/grub/powerpc/ieee1275/ieee1275.h
50029 (grub_ieee1275_realmode): New extern variable.
50030 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
50031 grub_map if grub_ieee1275_realmode is false.
50032
6b8fd1c4 500332004-12-29 Marco Gerards <metgerards@student.han.nl>
50034
50035 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
50036 lines are inserted and make it work like readline. Reported by
50037 Vincent Pelletier <subdino2004@yahoo.fr>.
50038
8514a1e0 500392004-12-28 Marco Gerards <metgerards@student.han.nl>
50040
50041 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
50042
50043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
50044 `kern/powerpc/cache.S'.
50045
924b6140 500462004-12-27 Marco Gerards <metgerards@student.han.nl>
50047
50048 * genmk.rb: Handle the `Program' class in the main loop. Written
50049 by Johan Rydberg <jrydberg@gnu.org>.
50050 (Program): New class.
50051 (programs): New variable.
50052 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
50053 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
50054 instead of "grub/kernel.h". Include <grub/machine/init.h>.
50055 (help_arch): Function removed.
50056 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
50057 `powerpc/libgcc.h' and `loader.h'.
50058 (pkgdata_PROGRAMS): New variable.
50059 (sbin_UTILITIES): Variable removed.
50060 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
50061 (grubof_SOURCES): Variable re-defined so it only includes the
50062 core functionality.
50063 (grubof_CFLAGS): Remove `-DGRUBOF'.
50064 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
50065 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
50066 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
50067 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
50068 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
50069 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
50070 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
50071 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
50072 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
50073 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
50074 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50075 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
50076 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
50077 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
50078 (pc_mod_CFLAGS): New variables.
50079 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
50080 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
50081 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
50082 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
50083 Moved from here...
50084 * include/grub/i386/pc/init.h (grub_os_area_addr)
50085 (rub_os_area_size): ... to here.
50086 * include/grub/powerpc/ieee1275/ieee1275.h
50087 (grub_ieee1275_entry_fn): Export symbol.
50088 * include/grub/powerpc/ieee1275/init.h: New file.
50089 * include/grub/powerpc/libgcc.h: Likewise.
50090 * include/grub/cache.h: Likewise.
50091 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
50092 <hollis@penguinppc.org>.
50093 * kern/dl.c: Include <grub/cache.h>.
50094 (grub_dl_flush_cache): New function.
50095 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
50096 for this module.
50097 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
50098 (grub_console_init): Removed prototypes.
50099 (grub_machine_init): Don't initialize the modules anymore.
50100 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
50101 static.
50102 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
50103 Macro undef removed.
50104 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
50105 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
50106 relocation `R_PPC_REL32'. Return an error when the relocation is
50107 unknown.
50108 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
50109 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
50110 * util/misc.c (grub_arch_sync_caches): Likewise.
50111
e4b47e0c 501122004-12-19 Marco Gerards <metgerards@student.han.nl>
50113
50114 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
50115 `symlist.c', add `grubof_symlist.c'.
50116 (symlist.c): Variable removed.
50117 (grubof_HEADERS): Variable added.
50118 (grubof_symlist.c): New target.
50119 (kernel_syms.lst): Use `grubof_HEADERS' instead of
50120 `kernel_img_HEADERS'.
50121 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
50122 * kern/powerpc/dl.c: New file.
50123 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
50124 Function removed.
50125 (grub_arch_dl_relocate_symbols): Likewise.
50126 (grub_register_exported_symbols): Likewise.
50127
4ceb3636 501282004-12-13 Marco Gerards <metgerards@student.han.nl>
50129
50130 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
50131 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
50132 to fail instead. Reported by Vincent Pelletier
50133 <subdino2004@yahoo.fr>.
50134
50135 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
50136 it is not allocated. Reported by Vincent Pelletier
50137 <subdino2004@yahoo.fr>.
50138
50139 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
50140 output so the output looks better.
f19dbdb7 50141
3f1578fe 501422004-12-04 Marco Gerards <metgerards@student.han.nl>
50143
50144 Modulize the partition map support and add support for the amiga
50145 partition map.
f19dbdb7 50146
3f1578fe 50147 * commands/ls.c: Include <grub/partition.h> instead of
50148 <grub/machine/partition.h>.
50149 * kern/disk.c: Likewise.
50150 * kern/rescue.c: Likewise.
50151 * loader/i386/pc/chainloader.c: Likewise.
50152 * normal/cmdline.c: Likewise.
50153 * kern/powerpc/ieee1275/init.c: Likewise.
50154 (grub_machine_init): Call `grub_pc_partition_map_init',
50155 `grub_amiga_partition_map_init' and
50156 `grub_apple_partition_map_init'.
50157 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
50158 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
50159 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
50160 `partition.h' and `pc_partition.h'.
50161 (grub_setup_SOURCES): Remove
50162 `disk/i386/pc/partition.c'. Add `kern/partition.c',
50163 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
50164 (grub_emu_SOURCES): Likewise.
50165 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
50166 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
50167 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
50168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
50169 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
50170 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
50171 (grubof_SOURCES): Likewise.
50172 * disk/i386/pc/partition.c: File removed.
50173 * disk/powerpc/ieee1275/partition.c: Likewise.
50174 * include/grub/powerpc/ieee1275/partition.h: Likewise.
50175 * include/grub/i386/pc/partition.h: Likewise.
50176 * kern/partition.c: New file.
50177 * partmap/amiga.c: Likewise.
50178 * partmap/apple.c: Likewise.
50179 * partmap/pc.c: Likewise.
50180 * include/grub/partition.h: Likewise..
50181 * include/grub/pc_partition.h: Likewise.
50182 * util/grub-emu.c: Include <grub/partition.h> instead of
50183 <grub/machine/partition.h>.
50184 (main): Call `grub_pc_partition_map_init',
50185 `grub_amiga_partition_map_init' and
50186 `grub_apple_partition_map_init' and deinitialize afterwards.
50187 * util/i386/pc/biosdisk.c: Include `#include
50188 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
50189 `<grub/machine/partition.h>'.
50190 * util/i386/pc/grub-setup.c: Likewise.
50191 * util/i386/pc/biosdisk.c: Likewise.
50192 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
50193 partition information in case of a PC partition.
50194 * util/i386/pc/grub-setup.c: Include `#include
50195 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
50196 `<grub/machine/partition.h>'.
50197 (setup): Only access the PC specific partition information in case
50198 of a PC partition.
50199
0ef4ced9 502002004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 50201
0ef4ced9 50202 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
50203 (grub_longjmp): Likewise.
50204 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
50205 20.
50206 * normal/powerpc/setjmp.S: New file.
50207 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50208 `normal/powerpc/setjmp.S'.
50209 (grubof_CFLAGS): Add `-DGRUBOF'.
50210 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
50211 [GRUB_UTIL && !GRUBOF].
f19dbdb7 50212
19950e29 502132004-11-16 Marco Gerards <metgerards@student.han.nl>
50214
50215 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
50216 property named `name'. Correctly handle the error returned by
50217 `grub_ieee1275_finddevice' if a device can not be opened.
50218
a2fea427 502192004-11-02 Hollis Blanchard <hollis@penguinppc.org>
50220
50221 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
50222 `actual' for negativity.
50223 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
50224 kern/fshelp.c.
50225
41ea0ea3 502262004-11-01 Marco Gerards <metgerards@student.han.nl>
50227
50228 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
50229 (PAGE_OFFSET): New macro.
50230 (CRTC_ADDR_PORT): Likewise.
50231 (CRTC_DATA_PORT): Likewise.
50232 (START_ADDR_HIGH_REGISTER): Likewise.
50233 (START_ADDR_LOW_REGISTER): Likewise.
50234 (GRAPHICS_ADDR_PORT): Likewise.
50235 (GRAPHICS_DATA_PORT): Likewise.
50236 (READ_MAP_REGISTER): Likewise.
50237 (INPUT_STATUS1_REGISTER): Likewise.
50238 (INPUT_STATUS1_VERTR_BIT): Likewise.
50239 (page): New variable.
50240 (wait_vretrace): New function.
50241 (set_read_map): Likewise.
50242 (set_start_address): Likewise.
50243 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
50244 the right page.
50245 (check_vga_mem): Take the page into account.
50246 (write_char): Likewise.
50247 (write_cursor): Likewise.
50248 (scroll_up): Likewise. Copy the page to the page that is not
50249 shown and switch between both pages.
50250 (grub_vga_putchar): Fix off by one error.
50251 (grub_vga_cls): Wait for the vertical retrace. Take the page into
50252 account.
50253
ad0bd20b 502542004-11-01 Marco Gerards <metgerards@student.han.nl>
50255
50256 Add support for iso9660 (including rockridge).
f19dbdb7 50257
ad0bd20b 50258 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
50259 (iso9660_mod_SOURCES): New variable.
50260 (iso9660_mod_CFLAGS): Likewise.
50261 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
50262 * include/grub/fs.h (grub_iso9660_init): New prototype.
50263 * util/grub-emu.c (main): Call `grub_iso9660_init'.
50264 * fs/iso9660.c: New file.
50265
50266 * include/grub/misc.h (grub_strncat): New prototype.
50267 * kern/misc.c (grub_strncat): New function.
f19dbdb7 50268
ad0bd20b 50269 * fs/hfs.c (grub_hfs_mount): Translate the error
50270 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
50271 * fs/jfs.c (grub_jfs_mount): Likewise.
50272 * fs/ufs.c (grub_ufs_mount): Likewise.
50273
a5477a59 502742004-10-28 Hollis Blanchard <hollis@penguinppc.org>
50275
50276 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
50277 which initialized BAT registers.
50278 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
50279 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
50280 Move from here...
50281 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
50282 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
50283 ... to here.
50284 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
50285 (grub_mapclaim): Likewise.
50286 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
50287 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
50288 hand.
50289
9304c1f8 502902004-10-19 Hollis Blanchard <hollis@penguinppc.org>
50291
50292 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
50293 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
50294 -ffreestanding and -msoft-float.
50295
86f4ae25 502962004-10-15 Hollis Blanchard <hollis@penguinppc.org>
50297
50298 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
50299 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
50300 set in grub_ieee1275_flags.
50301
38912228 503022004-10-14 Hollis Blanchard <hollis@penguinppc.org>
50303
50304 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
50305 prototype.
50306 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
50307 grub_console_init first.
50308 Change the memory range used for grub_ieee1275_claim and
50309 grub_mm_init_region.
50310 Print an error message if the claim fails.
50311 Include <grub/misc.h>.
50312
d1923dc8 503132004-10-13 Hollis Blanchard <hollis@penguinppc.org>
50314
50315 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
50316 Call grub_children_iterate for device nodes of type `scsi',
50317 `ide', or `ata'.
50318 (grub_ofdisk_open): Remove manual device alias resolution.
50319 Fix memory leak when device cannot be opened.
f19dbdb7 50320 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 50321 (grub_children_iterate): New prototype.
50322 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
50323 New function.
50324 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50325 Return -1 if args.size was -1.
50326
4512e4f3 503272004-10-11 Hollis Blanchard <hollis@penguinppc.org>
50328
50329 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
50330 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
50331 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
50332 Open Firmware's memory for it; claim memory from _start to _end.
50333 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
50334 (_end): New extern.
50335 (_start): Zero BSS from __bss_start to _end.
50336 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50337 New extern.
50338 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
50339
4d61feb0 503402004-10-11 Hollis Blanchard <hollis@penguinppc.org>
50341
ad0bd20b 50342 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
50343 -1 if args.base was -1.
4d61feb0 50344
026fa2f9 503452004-10-08 Hollis Blanchard <hollis@penguinppc.org>
50346
50347 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
50348 escape sequence instead of a literal ^L. Also call
50349 grub_ofconsole_gotoxy.
50350
9f2220ef 503512004-10-03 Hollis Blanchard <hollis@penguinppc.org>
50352
50353 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
50354 void * arguments to grub_addr_t. All callers updated. Also make
50355 the `result' argument optional.
50356 (grub_ieee1275_release): change void * arguments to grub_addr_t.
50357 All callers updated.
50358
8a572cd7 503592004-09-22 Hollis Blanchard <hollis@penguinppc.org>
50360
50361 * commands/ls.c (grub_ls_list_files): Use the string following the
50362 initial ')', if present, as the filesystem path.
50363 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
50364
50365 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
50366
18aa81f2 503672004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
50368
50369 Make the source code of the menu interface more readable.
f19dbdb7 50370
18aa81f2 50371 * normal/menu.c: Include grub/mm.h.
50372 (TERM_WIDTH): New macro.
50373 (TERM_HEIGHT): Likewise.
50374 (TERM_INFO_HEIGHT): Likewise.
50375 (TERM_MARGIN): Likewise.
50376 (TERM_SCROLL_WIDTH): Likewise.
50377 (TERM_TOP_BORDER_Y): Likewise.
50378 (TERM_LEFT_BORDER_X): Likewise.
50379 (TERM_BORDER_WIDTH): Likewise.
50380 (TERM_MESSAGE_HEIGHT): Likewise.
50381 (TERM_BORDER_HEIGHT): Likewise.
50382 (TERM_NUM_ENTRIES): Likewise.
50383 (TERM_FIRST_ENTRY_Y): Likewise.
50384 (TERM_ENTRY_WIDTH): Likewise.
50385 (TERM_CURSOR_X): Likewise.
50386 (draw_border): Use macros instead of magic numbers.
50387 (print_entry): Likewise.
50388 (print_entries): Likewise.
50389 (run_menu): Likewise. Also, handle the key 'e'.
50390 (run_menu_entry): Ignore empty command lines.
50391 (print_message): Added a new argument EDIT. If EDIT is true,
50392 print a different message.
50393 (init_page): Likewise.
50394 (edit_menu_entry): New function. Not implemented yet.
50395
b47efe30 503962004-09-17 Marco Gerards <metgerards@student.han.nl>
50397
50398 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
50399 can be loaded from normal mode.
f19dbdb7 50400
b47efe30 50401 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
50402 `multiboot.mod'.
50403 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
50404 (multiboot_mod_CFLAGS): New variables.
50405 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 50406 * loader/i386/pc/multiboot_normal.c: Likewise.
50407
b47efe30 50408 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
50409 attribute `unused'.
f19dbdb7 50410
b47efe30 50411 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
50412 `fdiro' to read the mode information from instead of `diro'.
50413
50414 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
50415 looking up a symlink.
50416
50417 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
50418 macro.
50419 * normal/command.c (grub_command_execute): Don't parse the
50420 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
50421 flags of the command.
50422
50423 * normal/menu.c (grub_menu_run): Fix typo.
50424
da75ac71 504252004-09-14 Hollis Blanchard <hollis@penguinppc.org>
50426
50427 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
50428
50429 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
50430 `y + 1' instead of `y - 1'.
50431
50432 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 50433
062b24c2 504342004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
50435
50436 From Hollis Blanchard <hollis@penguinppc.org>:
50437 * kern/misc.c (memmove): New alias for grub_memmove.
50438 (memcmp): New alias for grub_memcmp.
50439 (memset): New alias for grub_memset.
f19dbdb7 50440 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 50441 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 50442 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 50443 (grub_ieee1275_get_property): Likewise.
f19dbdb7 50444
8ddad845 504452004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
50446
50447 Added normal mode command `chainloader' as module chain.mod, which
50448 depends on normal.mod and _chain.mod.
f19dbdb7 50449
8ddad845 50450 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
50451 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
50452 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
50453 Deleted prototype.
50454 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
50455 but arguments parsing moved to ...
50456 (grub_chainloader_cmd): ... here. New function.
50457 * include/grub/i386/pc/chainloader.h: New file.
50458 * loader/i386/pc/chainloader_normal.c: Likewise.
50459
2c1f4ce3 504602004-09-11 Marco Gerards <metgerards@student.han.nl>
50461
50462 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
50463 (grub_mkimage_LDFLAGS): Likewise.
50464 (grub_emu_SOURCES): Likewise.
50465 (kernel_img_HEADERS): Added fshelp.h.
50466 * fs/ext2.c: Include <grub/fshelp.h>.
50467 (FILETYPE_REG): New macro.
50468 (FILETYPE_INO_REG): Likewise.
50469 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
50470 Changed all users.
50471 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
50472 all users.
50473 (grub_fshelp_node): New struct.
50474 (grub_ext2_data): Added member `diropen'. Changed member `inode'
50475 to a pointer.
50476 (grub_ext2_get_file_block): Removed function.
50477 (grub_ext2_read_block): New function.
50478 (grub_ext2_read_file): Replaced parameter `data' by `node'.
50479 This function was written.
50480 (grub_ext2_mount): Read the root inode. Create a diropen struct.
50481 (grub_ext2_find_file): Removed function.
50482 (grub_ext2_read_symlink): New function.
50483 (grub_ext2_iterate_dir): Likewise.
50484 (grub_ext2_open): Rewritten.
50485 (grub_ext2_dir): Rewritten.
50486 * include/grub/fshelp.h: New file.
50487 * fs/fshelp.c: Likewise.
50488
3c52136a 504892004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
50490
50491 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
50492 (print_message): Add a missing newline.
50493 (run_menu): Added timeout support.
50494 (run_menu_entry): New local function.
50495 (grub_menu_run): Added support for booting.
50496
50497 * kern/loader.c (grub_loader_is_loaded): New function.
50498
50499 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
50500 (grub_get_rtc): Exported.
50501
50502 * include/grub/i386/pc/time.h: Include grub/symbol.h.
50503 (grub_get_rtc): Exported.
50504
50505 * include/grub/normal.h (struct grub_command_list): Remove
50506 constant from the member `command'.
50507
50508 * include/grub/loader.h (grub_loader_is_loaded): Declared.
50509
50510 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
50511
50512 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
50513
aa033560 505142004-08-28 Marco Gerards <metgerards@student.han.nl>
50515
50516 Add support for the JFS filesystem.
50517
50518 * fs/jfs.c: New file.
50519 * include/grub/fs.h (grub_jfs_init): New prototype.
50520 (grub_jfs_fini): New prototype.
50521 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
50522 (grub_emu_SOURCES): Likewise.
50523 (pkgdata_MODULES): Add jfs.mod.
50524 (jfs_mod_SOURCES): New variable.
50525 (jfs_mod_CFLAGS): Likewise.
50526 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
50527 (grubof_SOURCES): Likewise.
50528 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
50529
50530 * fs/fat.c (grub_fat_find_dir): Convert the filename little
50531 endian to the host endian.
50532 (grub_fat_utf16_to_utf8): Move function from there...
50533 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 50534 the endianness of the source string anymore.
aa033560 50535 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
50536
94bc45af 505372004-08-24 Marco Gerards <metgerards@student.han.nl>
50538
50539 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
50540 (grub_boot_fini) [GRUB_UTIL]: Likewise.
50541 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
50542 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 50543
94bc45af 50544 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
50545 (grub_hfs_iterate_dir): Make the function static. Add prototypes
50546 for `node_found' and `it_dir'.
50547 (grub_hfs_dir): Add prototype for `dir_hook'.
50548
50549 * fs/minix.c (grub_minix_get_file_block): Add prototype for
50550 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
50551 and `indir32' to silence a gcc warning.
50552
50553 * include/grub/fs.h (grub_hfs_init): New prototype.
50554 (grub_hfs_fini): Likewise.
f19dbdb7 50555
50556
97543f08 505572004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50558
50559 Each disk device has its own id now. This is useful to make use
50560 of multiple disk devices.
f19dbdb7 50561
97543f08 50562 * include/grub/disk.h (grub_disk_dev_id): New enum.
50563 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
50564 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
50565
50566 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
50567 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50568
50569 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
50570 GRUB_DISK_DEVICE_OFDISK_ID as an id.
50571
50572 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
50573 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50574
50575 * include/grub/disk.h (struct grub_disk_dev): Added a new member
50576 "id" which is used by the cache manager.
50577
50578 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
50579 of just "GRUB".
50580
64372eb4 505812004-08-18 Marco Gerards <metgerards@student.han.nl>
50582
50583 * fs/hfs.c: New file.
50584 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
50585 (grub_emu_SOURCES): Likewise.
50586 (pkgdata_MODULES): Add hfs.mod.
50587 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
50588 (grubof_SOURCES): Likewise.
50589 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
50590
50591 * include/grub/misc.h (grub_strncasecmp): Add prototype.
50592 * kern/misc.c (grub_strncasecmp): Add function.
50593
cc61b58f 505942004-08-14 Marco Gerards <metgerards@student.han.nl>
50595
50596 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
50597 with parentheses.
50598
50599 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
50600 (grub_ext2_dir): In case the directory entry type is unknown, read
50601 it from the inode.
50602
0ef123f6 506032004-08-02 Peter Bruin <pjbruin@dds.nl>
50604
50605 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
50606 grub_load_linux instead of grub_rescue_cmd_linux as second
50607 argument of grub_rescue_register_command.
50608
50609 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
50610
a447c5df 506112004-07-27 Marco Gerards <metgerards@student.han.nl>
50612
50613 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
50614 function.
50615 * commands/boot.c: Remove the check for `GRUB_UTIL'.
50616 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50617 `loader/powerpc/ieee1275/linux.c',
50618 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
50619 * include/grub/powerpc/ieee1275/ieee1275.h
50620 (grub_ieee1275_release): New prototype.
50621 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
50622 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
50623 normal, boot, linux and linux_normal.
50624 * loader/powerpc/ieee1275/linux.c: New file.
50625 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
50626
5a9e3546 506272004-07-12 Marco Gerards <metgerards@student.han.nl>
50628
50629 * normal/arg.c (grub_arg_parse): Correct error handling after
50630 reallocating the argumentlist (check if `argl' is not null instead
50631 of checking if `args' is not null).
50632 * kern/mm.c (grub_realloc): Return the same pointer when using the
50633 same region, instead of returning the header address.
50634
e15199cb 506352004-07-11 Marco Gerards <metgerards@student.han.nl>
50636
50637 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
50638 one block instead of two when looking for the initial partition.
50639 (grub_partition_probe): Initialize the local variable `p' with 0.
50640 Use base 10 for the grub_strtoul call.
50641 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
50642 need for one local variable.
50643 (grub_strtoul): Don't add the new value to `num', instead of that
50644 just assign it.
50645
020616c2 506462004-07-11 Marco Gerards <metgerards@student.han.nl>
50647
50648 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
50649 (pxeboot_img_SOURCES): New variable.
50650 (pxeboot_img_ASFLAGS): Likewise.
50651 (pxeboot_img_LDFLAGS): Likewise.
50652 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
50653 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
50654 <lode_leroy@hotmail.com>.
50655
6c51eb64 506562004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50657
50658 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
50659 there was no input.
50660
cfb12aff 506612004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50662
50663 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
50664 the history buffer logic.
50665
6eabba74 506662004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50667
50668 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
50669 (FILETYPE_INO_SYMLINK): New macros.
50670 (grub_ext2_find_file): Check if the node is a directory using the
50671 inode stat information instead of using the filetype in the
50672 dirent. Exclude the first character of an absolute symlink.
50673 (grub_ext2_dir): Mask out the filetype part of the mode member of
50674 the inode.
50675
66e19ef8 506762004-05-24 Marco Gerards <metgerards@student.han.nl>
50677
50678 Add support for UFS version 1 and 2. Add support for the minix
50679 filesystem version 1 and 2, both the variants with 14 and 30 long
50680 filenames.
f19dbdb7 50681
66e19ef8 50682 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
50683 fs/minix.c.
50684 (grub_emu_SOURCES): Likewise.
50685 (pkgdata_MODULES): Add ufs.mod and minix.mod.
50686 (ufs_mod_SOURCES): New variable.
50687 (ufs_mod_CFLAGS): Likewise.
50688 (minix_mod_SOURCES): Likewise.
50689 (minix_mod_CFLAGS): Likewise.
50690 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
50691 fs/minix.c.
50692 (grubof_SOURCES): Likewise.
50693 * fs/ufs.c: New file.
50694 * fs/minix.c: New file.
50695 * include/grub/fs.h (grub_ufs_init): New prototype.
50696 (grub_ufs_fini): Likewise.
50697 (grub_minix_init): Likewise.
50698 (grub_minix_fini): Likewise.
50699 * util/grub-emu.c (main): Initialize and deinitialize UFS and
50700 minix fs.
50701
cc2e748a 507022004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
50703
50704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
50705 commands/ls.c, commands/terminal.c, commands/boot.c,
50706 commands/cmp.c and commands/cat.c.
50707 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
50708
50709 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
50710 "env.h"
50711
4b13b216 507122004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50713
50714 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
50715 and grub_, respectively. Because the conversion is trivial and
50716 mechanical, I omit the details here. Please refer to the CVS
50717 if you need more information.
50718
6a142551 507192004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50720
50721 * include/pupa: Renamed to ...
50722 * include/grub: ... this.
50723 * util/i386/pc/pupa-mkimage.c: Renamed to ...
50724 * util/i386/pc/grub-mkimage.c: ... this.
50725 * util/i386/pc/pupa-setup.c: Renamed to ...
50726 * util/i386/pc/grub-setup.c: ... this.
50727 * util/pupa-emu.c: Renamed to ...
50728 * util/grub-emu.c: ... this.
50729
e56cdf21 507302004-03-29 Marco Gerards <metgerards@student.han.nl>
50731
50732 Add support for the newworld apple macintosh (PPC). This has been
50733 tested on the powerbook 2000 only. It only adds support for
50734 generic ieee1275 functions, console and disk support. This should
50735 be easy to port to other architectures with support for Open
50736 Firmware.
f19dbdb7 50737
e56cdf21 50738 * configure.ac: Accept the powerpc as host_cpu. In the case of
50739 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
50740 specific tests are only executed while building for the i386.
50741 Inverse test for crosscompile.
50742 * genmk.rb (Utility): Allow assembler files.
50743 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
50744 * conf/powerpc-ieee1275.rmk: New file.
50745 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
50746 * disk/powerpc/ieee1275/partition.c: Likewise.
50747 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
50748 * include/pupa/powerpc/ieee1275/console.h: Likewise.
50749 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
50750 * include/pupa/powerpc/ieee1275/time.h: Likewise.
50751 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
50752 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
50753 * include/pupa/powerpc/ieee1275/loader.h
50754 * include/pupa/powerpc/setjmp.h: Likewise.
50755 * include/pupa/powerpc/types.h: Likewise.
50756 * kern/powerpc/ieee1275/init.c: Likewise.
50757 * kern/powerpc/ieee1275/openfw.c: Likewise.
50758 * term/powerpc/ieee1275/ofconsole.c: Likewise.
50759
50760 These files were written by Johan Rydberg
50761 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 50762
e56cdf21 50763 * boot/powerpc/ieee1275/cmain.c: New file.
50764 * boot/powerpc/ieee1275/crt0.S: Likewise.
50765 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
50766 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
50767
8c8cc205 507682004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
50769
50770 * Makefile.in: Update copyright.
50771 * genmodsrc.sh: Likewise.
50772 * gensymlist.sh: Likewise.
50773 * term/i386/pc/vga.c: Indent correctly.
50774
50775 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
50776 bugreporting address.
50777 * util/i386/pc/pupa-setup.c (usage): Likewise,
50778 (main): Call pupa_ext2_init and pupa_ext2_fini.
50779
f19dbdb7 50780 * fs/fat.c (log2): Renamed to ...
8c8cc205 50781 (fat_log2): ... this.
50782 All callers changed.
50783 * kern/misc.c (memcpy): Alias to pupa_memmove.
50784 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
50785 lvalue cast.
50786 * util/console.c (pupa_ncurses_fini): Return 0.
50787
50788 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
50789 Move fail label here.
50790 [__GNU__]: Don't warn when using stat.
50791 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
50792 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
50793 long int. Use strtol instead of strtoul.
f19dbdb7 50794
db1771cf 507952004-03-14 Marco Gerards <metgerards@student.han.nl>
50796
50797 * commands/boot.c: New file.
50798 * commands/cat.c: Likewise.
50799 * commands/cmp.c: Likewise.
50800 * commands/ls.c: Likewise.
50801 * commands/terminal.c: Likewise.
50802 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
50803 (pupa_register_command): Changed interface to match the new
50804 argument parser.
50805 (pupa_command_execute): Changed (almost rewritten) so it uses
50806 pupa_split_command. Added support for setting variables using the
50807 syntax `foo=bar'.
50808 (rescue_command): Changed to work with the new argument parser.
50809 (terminal_command): Moved from here to commands/terminal.c.
50810 (set_command): New function.
50811 (unset_command): New function.
50812 (insmod_command): New function.
50813 (rmmod_command): New function.
50814 (lsmod_command): New function.
50815 (pupa_command_init): Don't initialize the command terminal
50816 anymore. Initialize the commands set, unset, insmod, rmmod and
50817 lsmod.
50818 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
50819 (kernel_img_HEADERS): Add arg.h and env.h.
50820 (pupa_mkimage_LDFLAGS): Add kern/env.c.
50821 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
50822 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
50823 normal/arg.c.
50824 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
50825 terminal.mod.
50826 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
50827 (boot_mod_SOURCES): New variable.
50828 (terminal_mod_SOURCES): Likewise.
50829 (ls_mod_SOURCES): Likewise.
50830 (cmp_mod_SOURCES): Likewise.
50831 (cat_mod_SOURCES): Likewise.
50832
50833 * normal/arg.c: New file.
50834 * kern/env.c: Likewise.
50835 * include/pupa/arg.h: Likewise.
50836 * include/pupa/env.h: Likewise.
50837 * font/manager.c (font_command): Changed to match argument parsing
50838 interface changes.
50839 (PUPA_MOD_INIT): Likewise.
50840 * hello/hello.c (pupa_cmd_hello): Likewise.
50841 (PUPA_MOD_INIT): Likewise.
50842 * include/pupa/disk.h: Include <pupa/device.h>.
50843 (pupa_print_partinfo): New prototype.
50844 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
50845 (pupa_dl_get_prefix): Likewise.
50846 * include/pupa/misc.h: Include <pupa/err.h>.
50847 (pupa_isgraph): New prototype.
50848 (pupa_isdigit): Likewise.
50849 (pupa_split_cmdline): Likewise.
50850 * include/pupa/normal.h: Include <pupa/arg.h>.
50851 (pupa_command): Changed the prototype of the member `func' to
50852 match the argument parsing interface. Added member `options'.
50853 (pupa_register_command): Updated to match function.
50854 (pupa_arg_parse): New prototype.
50855 (pupa_hello_init) [PUPA_UTIL]: New prototype.
50856 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
50857 (pupa_ls_init) [PUPA_UTIL]: Likewise.
50858 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
50859 (pupa_cat_init) [PUPA_UTIL]: Likewise.
50860 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
50861 (pupa_boot_init) [PUPA_UTIL]: Likewise.
50862 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
50863 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
50864 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
50865 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
50866 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
50867 * kern/disk.c: Include <pupa/file.h>.
50868 (pupa_print_partinfo): New function.
50869 * kern/dl.c: Include <pupa/env.h>.
50870 (pupa_dl_dir): Variable removed.
50871 (pupa_dl_load): Use the environment variable `prefix' instead of
50872 the variable pupa_dl_dir.
50873 (pupa_dl_set_prefix): Function removed.
50874 (pupa_dl_get_prefix): Likewise.
50875 * kern/i386/pc/init.c: Include <pupa/env.h>.
50876 (pupa_machine_init): Use the environment variable `prefix' instead of
50877 using pupa_dl_set_prefix to set the prefix.
50878 * kern/main.c: Include <pupa/env.h>.
50879 (pupa_set_root_dev): Use the environment variable `prefix' instead of
50880 using pupa_dl_get_prefix to get the prefix.
50881 * kern/misc.c: Include <pupa/env.h>.
50882 (pupa_isdigit): New function.
50883 (pupa_isgraph): Likewise.
50884 (pupa_ftoa): Likewise.
50885 (pupa_vsprintf): Added support for printing values of the type
50886 `double'. Make it possible to format variable output when using
50887 formatting like `%1.2%f'.
50888 (pupa_split_cmdline): New function.
50889 * kern/rescue.c: Include <pupa/env.h>.
50890 (next_word): Removed function.
50891 (pupa_rescue_cmd_prefix): Likewise.
50892 (pupa_rescue_cmd_set): New function.
50893 (pupa_rescue_cmd_unset): New function.
50894 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
50895 split the command line instead of splitting it here. Added
50896 support for setting variables using the syntax `foo=bar'. Don't
50897 initialize the prefix command anymore. Initialized the set and
50898 unset commands.
50899 * normal/cmdline.c: Include <pupa/env.h>.
50900 (pupa_tab_complete): Added prototypes for print_simple_completion,
50901 print_partition_completion, add_completion, iterate_commands,
50902 iterate_dev, iterate_part and iterate_dir. Moved code to print
50903 partition information from here to kern/disk.c.
fe6b695a 50904 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 50905 * normal/main.c: Include <pupa/env.h>.
50906 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
50907 instead of using pupa_dl_get_prefix to get the prefix.
50908 * term/i386/pc/vga.c: Include <pupa/arg.h>.
50909 (check_vga_mem): Cast pointers to `void *' to silence a gcc
50910 warning.
50911 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
50912 (pupa_vga_setcolor): Declare unused variables with `__attribute__
50913 ((unused))' to silence a gcc warning.
50914 (pupa_vga_setcolor): Likewise.
50915 (debug_command): Changed to match argument parsing
50916 interface changes.
50917 * util/pupa-emu.c: Include <pupa/env.h>.
50918 (options): Added 0's for unused fields to silence a gcc warning.
50919 (argp): Likewise.
50920 (main): Use the environment variable `prefix' instead of using
50921 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
50922 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
50923 and terminal.
50924
50925 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
50926 * util/misc.c: Include <malloc.h>.
50927 (pupa_malloc): Rewritten so errors are correctly reported.
50928 (pupa_realloc): Likewise.
50929 (pupa_memalign): Likewise.
50930 (pupa_mm_init_region): Declare unused variables with
50931 `__attribute__ ((unused))' to silence a gcc warning.
50932 * normal/i386/setjmp.S: Remove tab at the end of the file to
50933 silence a gcc warning.
50934 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
50935 variables with `__attribute__ ((unused))' to silence a gcc
50936 warning.
50937 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
50938 local variable i unsigned to silence a gcc warning.
50939
50940 * kern/term.c: Include <pupa/misc.h>.
50941 (pupa_more_lines): New variable.
50942 (pupa_more): Likewise.
50943 (pupa_putcode): When the pager is active pause at the end of every
50944 screen.
50945 (pupa_set_more): New function.
50946 * include/pupa/term.h (pupa_set_more): New prototype.
50947
50948
3b1139cb 509492004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
50950
50951 Now this project is GRUB 2 rather than PUPA. The location of
50952 the CVS repository was moved to GRUB's.
f19dbdb7 50953
3b1139cb 50954 * configure.ac: Use bug-grub as the reporting address.
50955 Use GRUB instead of PUPA.
50956 Change the version number to 1.90.
50957
8367695c 509582004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
50959
50960 * genkernsyms.sh: Updated copyright information.
50961 * genmk.rb: Likewise.
50962 * genmodsrc.sh: Likewise.
50963 * gensymlist.sh: Likewise.
50964 * boot/i386/pc/boot.S: Likewise.
50965 * boot/i386/pc/diskboot.S: Likewise.
50966 * disk/i386/pc/biosdisk.c: Likewise.
50967 * disk/i386/pc/partition.c: Likewise.
50968 * font/manager.c: Likewise.
50969 * fs/ext2.c: Likewise.
50970 * fs/fat.c: Likewise.
50971 * include/pupa/boot.h: Likewise.
50972 * include/pupa/device.h: Likewise.
50973 * include/pupa/disk.h: Likewise.
50974 * include/pupa/dl.h: Likewise.
50975 * include/pupa/elf.h: Likewise.
50976 * include/pupa/err.h: Likewise.
50977 * include/pupa/file.h: Likewise.
50978 * include/pupa/font.h: Likewise.
50979 * include/pupa/fs.h: Likewise.
50980 * include/pupa/kernel.h: Likewise.
50981 * include/pupa/loader.h: Likewise.
50982 * include/pupa/misc.h: Likewise.
50983 * include/pupa/mm.h: Likewise.
50984 * include/pupa/net.h: Likewise.
50985 * include/pupa/normal.h: Likewise.
50986 * include/pupa/rescue.h: Likewise.
50987 * include/pupa/setjmp.h: Likewise.
50988 * include/pupa/symbol.h: Likewise.
50989 * include/pupa/term.h: Likewise.
50990 * include/pupa/types.h: Likewise.
50991 * include/pupa/i386/setjmp.h: Likewise.
50992 * include/pupa/i386/types.h: Likewise.
50993 * include/pupa/i386/pc/biosdisk.h: Likewise.
50994 * include/pupa/i386/pc/boot.h: Likewise.
50995 * include/pupa/i386/pc/console.h: Likewise.
50996 * include/pupa/i386/pc/init.h: Likewise.
50997 * include/pupa/i386/pc/kernel.h: Likewise.
50998 * include/pupa/i386/pc/linux.h: Likewise.
50999 * include/pupa/i386/pc/loader.h: Likewise.
51000 * include/pupa/i386/pc/memory.h: Likewise.
51001 * include/pupa/i386/pc/multiboot.h: Likewise.
51002 * include/pupa/i386/pc/partition.h: Likewise.
51003 * include/pupa/i386/pc/time.h: Likewise.
51004 * include/pupa/i386/pc/vga.h: Likewise.
51005 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
51006 * include/pupa/util/getroot.h: Likewise.
51007 * include/pupa/util/misc.h: Likewise.
51008 * include/pupa/util/resolve.h: Likewise.
51009 * kern/device.c: Likewise.
51010 * kern/disk.c: Likewise.
51011 * kern/dl.c: Likewise.
51012 * kern/err.c: Likewise.
51013 * kern/file.c: Likewise.
51014 * kern/fs.c: Likewise.
51015 * kern/loader.c: Likewise.
51016 * kern/main.c: Likewise.
51017 * kern/misc.c: Likewise.
51018 * kern/mm.c: Likewise.
51019 * kern/rescue.c: Likewise.
51020 * kern/term.c: Likewise.
51021 * kern/i386/dl.c: Likewise.
51022 * kern/i386/pc/init.c: Likewise.
51023 * kern/i386/pc/lzo1x.S: Likewise.
51024 * kern/i386/pc/startup.S: Likewise.
51025 * loader/i386/pc/chainloader.c: Likewise.
51026 * loader/i386/pc/linux.c: Likewise.
51027 * loader/i386/pc/multiboot.c: Likewise.
51028 * normal/cmdline.c: Likewise.
51029 * normal/command.c: Likewise.
51030 * normal/main.c: Likewise.
51031 * normal/menu.c: Likewise.
51032 * normal/i386/setjmp.S: Likewise.
51033 * term/i386/pc/console.c: Likewise.
51034 * term/i386/pc/vga.c: Likewise.
51035 * util/console.c: Likewise.
51036 * util/genmoddep.c: Likewise.
51037 * util/misc.c: Likewise.
51038 * util/pupa-emu.c: Likewise.
51039 * util/resolve.c: Likewise.
51040 * util/unifont2pff.rb: Likewise.
51041 * util/i386/pc/biosdisk.c: Likewise.
51042 * util/i386/pc/getroot.c: Likewise.
51043 * util/i386/pc/pupa-mkimage.c: Likewise.
51044 * util/i386/pc/pupa-setup.c: Likewise.
51045
e6eced71 510462004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
51047
51048 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
51049 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
51050 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
51051 reading and reset it after reading.
51052 (pupa_ext2_close): Return PUPA_ERR_NONE.
51053
51054 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
51055 Correct value.
51056 (struct linux_kernel_header): Add kernel_version and
51057 initrd_addr_max.
51058 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
51059 pupa_file_read succeeds.
51060 (pupa_rescue_cmd_initrd): Implement.
51061
5aded270 510622003-12-03 Marco Gerards <metgerards@student.han.nl>
51063
51064 * fs/ext2.c (pupa_ext2_label): New function.
51065 (pupa_ext2_fs): Added label.
51066 * fs/fat.c (pupa_fat_label): New function.
51067 (pupa_fat_fs): Added label.
51068 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
51069
51070 * kern/misc.c (pupa_strndup): New function.
51071 * include/pupa/misc.h (pupa_strndup): New prototype.
51072
51073 * include/pupa/normal.h: Include <pupa/err.h>.
51074 (pupa_set_history): New prototype.
51075 (pupa_iterate_commands): New prototype.
51076 * normal/cmdline.c: Include <pupa/machine/partition.h>,
51077 <pupa/disk.h>, <pupa/file.h>.
51078 (hist_size): New variable.
51079 (hist_lines): Likewise.
51080 (hist_end): Likewise.
51081 (hist_used): Likewise.
51082 (pupa_set_history): New function.
51083 (pupa_history_get): Likewise.
51084 (pupa_history_add): Likewise.
51085 (pupa_history_replace): Likewise.
51086 (pupa_tab_complete): Likewise.
51087 (pupa_cmdline_run): Added tab completion and history buffer. Tab
51088 completion shows partitionnames while completing partitions, this
51089 feature was suggested by Jeff Bailey.
51090 * normal/command.c (pupa_iterate_commands): New function.
51091 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
51092 (pupa_normal_init): Initialize history buffer.
51093 (PUPA_MOD_INIT): Likewise.
51094 (pupa_normal_fini): Free the history buffer.
51095 (PUPA_MOD_FINI): Likewise.
51096
51097 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
51098 key.
51099
51100 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
51101 * configure.ac [i386]: Check for regparam bug.
51102 (NESTED_FUNC_ATTR) [! i386]: Defined.
51103
1f7315a3 511042003-11-17 Marco Gerards <metgerards@student.han.nl>
51105
51106 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
51107 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
51108 (pupa_emu_SOURCES): New variable.
51109 (pupa_emu_LDFLAGS): Likewise.
51110 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
51111 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
51112 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
51113 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
51114 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
51115 (pupa_jmp_buf): New typedef.
51116 (pupa_setjmp) [PUPA_UTIL]: New macro.
51117 (pupa_longjmp) [PUPA_UTIL]: Likewise.
51118 * include/pupa/term.h (struct pupa_term): New member `refresh'.
51119 (pupa_refresh): New prototype.
51120 * include/pupa/util/getroot.h: New file.
51121 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
51122 it.
51123 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
51124 (pupa_rescue_cmd_cat): Likewise.
51125 (pupa_rescue_cmd_ls): Likewise.
51126 (pupa_rescue_cmd_testload): Likewise.
51127 (pupa_rescue_cmd_lsmod): Likewise.
51128 * normal/cmdline.c (pupa_cmdline_get): Likewise.
51129 * normal/menu.c (run_menu): Likewise.
51130 * kern/term.c (pupa_cls): Likewise.
51131 (pupa_refresh): New function.
51132 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
51133 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
51134 * util/console.c: New file.
f19dbdb7 51135
1f7315a3 51136 * util/i386/pc/getroot.c: New file.
51137 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
51138 (pupa_putchar): New function.
51139 (pupa_refresh): Likewise.
51140 (xgetcwd): Function moved to ...
51141 (strip_extra_slashes): Likewise.
51142 (get_prefix): Likewise.
f19dbdb7 51143 * util/i386/pc/getroot.c: ... here.
1f7315a3 51144 (find_root_device): Function moved and renamed to...
51145 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
51146 Changed all callers.
51147 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
51148 and renamed to...
51149 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
51150 Changed all callers.
51151 * util/misc.c (pupa_memalign): New function.
51152 (pupa_mm_init_region): Likewise.
51153 (pupa_register_exported_symbols): Likewise.
51154 (pupa_putchar): Function removed.
51155 * util/pupa-emu.c: New file.
51156
9a5c1ade 511572003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
51158
51159 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
51160 (_multiboot_mod_SOURCES): New variable.
51161 (_multiboot_mod_CFLAGS): Likewise.
51162 * loader/i386/pc/multiboot.c: New file.
51163 * include/pupa/i386/pc/multiboot.h: Likewise.
51164 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
51165 (pupa_multiboot_real_boot): New function.
51166 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
51167 (pupa_multiboot_real_boot): New prototype.
51168 (pupa_rescue_cmd_multiboot): Likewise
51169 (pupa_rescue_cmd_module): Likewise.
51170
51171 * kern/loader.c (pupa_loader_set): Continue when
51172 pupa_loader_unload_func() fails.
51173 (pupa_loader_unset): New function.
51174 * include/pupa/loader.h (pupa_loader_unset): New prototype.
51175
51176 * kern/misc.c (pupa_stpcpy): New function.
51177 * include/pupa/misc.h (pupa_stpcpy): New prototype.
51178
8e72a9c0 511792003-11-12 Marco Gerards <metgerards@student.han.nl>
51180
51181 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
51182 for available extensions.
51183
51184 * include/pupa/i386/pc/time.h: New file.
51185 * kern/disk.c: Include <pupa/machine/time.h>.
51186 (PUPA_CACHE_TIMEOUT): New macro.
51187 (pupa_last_time): New variable.
51188 (pupa_disk_open): Flush the cache when there was a timeout.
51189 (pupa_disk_close): Reset the timer.
51190 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
51191 pupa_currticks.
51192 * util/misc.c: Include <sys/times.h>
51193 (pupa_get_rtc): New function.
51194
c4adbd32 511952003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
51196
51197 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
51198 as blocks.
51199 (pupa_ext2_get_file_block): Use blocks member.
51200
51201 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
51202 first block. Return -1 instead of pupa_errno on error.
51203
bfd30f06 512042003-10-27 Marco Gerards <metgerards@student.han.nl>
51205
51206 * README: In the pupa-mkimage example use _chain instead of chain
51207 and ext2 instead of fat.
51208 * TODO: Replace ext2fs with jfs as an example. Add an item for
51209 adding journal playback for ext2fs.
51210 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
51211 (pkgdata_MODULES): Added ext2.mod.
51212 (ext2_mod_SOURCES): New variable.
51213 (ext2_mod_CFLAGS): Likewise.
51214 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
51215 * include/pupa/misc.h (pupa_strncpy): New prototype.
51216 (pupa_strcat): Likewise.
51217 (pupa_strncmp): Likewise.
51218 * kern/misc.c (pupa_strcat): Enable function.
51219 (pupa_strncpy): New function.
51220 (pupa_strncmp): Likewise.
51221 * fs/ext2.c: New file.
f19dbdb7 51222
bfd30f06 51223 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
51224 when the read failed before retrying.
51225 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
51226 (_FILE_OFFSET_BITS): Likewise.
51227 * configure.ac: Added AC_SYS_LARGEFILE.
51228
98d15063 512292003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
51230
51231 * genmk.rb (PModule#rule): Make sure to get only symbol names
51232 from the output of nm.
59cad637 51233 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 51234
18d9c7cd 512352003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
51236
51237 I forgot to check in these changes for a long time. This adds
51238 incomplete support for VGA console, and this is still very
51239 buggy. Also, a lot of consideration is required for I18N,
51240 UNICODE, and VGA font issues. Therefore, assume that this is
51241 such that "better than nothing".
f19dbdb7 51242
18d9c7cd 51243 * font/manager.c: New file.
51244 * include/pupa/font.h: Likewise.
51245 * include/pupa/i386/pc/vga.h: Likewise.
51246 * term/i386/pc/vga.c: Likewise.
51247 * util/unifont2pff.rb: Likewise.
51248
51249 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
51250 (pkgdata_MODULES): Added vga.mod and font.mod.
51251 (vga_mod_SOURCES): New variables.
51252 (vga_mod_CFLAGS): Likewise.
51253 (font_mod_SOURCES): Likewise.
51254 (font_mod_CFLAGS): Likewise.
51255
51256 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
51257
51258 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 51259 (struct pupa_term): Added init and fini.
18d9c7cd 51260 Changed the argument of putchar to pupa_uint32_t.
51261
51262 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
51263 (pupa_console_real_putchar): New prototype.
51264 (pupa_console_putchar): Removed.
51265 (pupa_console_checkkey): Exported.
51266 (pupa_console_getkey): Likewise.
51267
51268 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
51269 characters.
51270
51271 * kern/term.c (pupa_term_set_current): Rewritten.
51272 (pupa_putchar): Likewise.
51273 (pupa_putcode): New function.
51274
51275 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
51276 (pupa_console_real_putchar): ... this.
51277 (pupa_vga_set_mode): New function.
51278 (pupa_vga_get_font): Likewise.
51279
51280 * normal/command.c: Include pupa/term.h.
51281 (terminal_command): New function.
51282 (pupa_command_init): Register the command "terminal".
51283
51284 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
51285 (DISP_UP): Likewise.
51286 (DISP_RIGHT): Likewise.
51287 (DISP_DOWN): Likewise.
51288 (DISP_HLINE): Likewise.
51289 (DISP_VLINE): Likewise.
51290 (DISP_UL): Likewise.
51291 (DISP_UR): Likewise.
51292 (DISP_LL): Likewise.
51293 (DISP_LR): Likewise.
51294
51295 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 51296
977329f5 512972003-02-08 NIIBE Yutaka <gniibe@m17n.org>
51298
51299 * util/resolve.c (pupa_util_resolve_dependencies): BUG
51300 FIX. Reverse the path_list.
51301
51302 * include/pupa/normal.h: Export pupa_register_command and
51303 pupa_unregister_command.
51304
51305 * hello/hello.c (pupa_cmd_hello): New module.
51306 * conf/i386-pc.rmk: Added hello.mod.
51307
1f5ab428 513082003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
51309
51310 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 51311
1f5ab428 51312 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
51313 (compress_kernel): New variable.
51314 (generate_image): Heavily modified to support compressing a
51315 large part of the core image.
51316
51317 * util/misc.c (pupa_util_read_image): Fix a file descriptor
51318 leak.
51319 (pupa_util_load_image): New function.
51320
51321 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
51322 (pupa_compressed_size): New variable.
51323 (codestart): Enable Gate A20 here.
51324 Decompress the compressed part of the core image.
51325 Rearrange the code to put functions and variables which are
51326 required for initialization in the non-compressed part.
51327 Include lzo1x.S.
51328
51329 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
51330 here.
51331
51332 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
51333
f19dbdb7 51334 * include/pupa/i386/pc/kernel.h
1f5ab428 51335 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
51336 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
51337 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
51338 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
51339 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
51340
51341 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
51342
51343 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
51344 (Utility#rule): Likewise.
51345
51346 * configure.ac: Check if LZO is available.
51347
ce5bf700 513482003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
51349
51350 * include/pupa/normal.h: New file.
51351 * include/pupa/setjmp.h: Likewise.
51352 * include/pupa/i386/setjmp.h: Likewise.
51353 * normal/cmdline.c: Likewise.
51354 * normal/command.c: Likewise.
51355 * normal/main.c: Likewise.
51356 * normal/menu.c: Likewise.
51357 * normal/i386/setjmp.S: Likewise.
f19dbdb7 51358
ce5bf700 51359 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
51360 (pupa_rescue_cmd_initrd): Likewise.
51361
51362 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
51363 Likewise.
51364
51365 * kern/i386/pc/startup.S (translation_table): New variable.
51366 (translate_keycode): New function.
51367 (pupa_console_getkey): Call translate_keycode.
51368
51369 * kern/rescue.c (attempt_normal_mode): New function.
51370 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
51371 it failed, print a message.
51372
51373 * kern/mm.c (pupa_real_malloc): Print more information when a
51374 free magic is broken.
51375 (pupa_free): If the first free header is not free actually, set
51376 it to P.
51377
51378 * kern/main.c (pupa_load_normal_mode): Just load the module
51379 "normal".
51380 (pupa_main): Don't print the message
51381 "Entering into rescue mode..." here.
51382
51383 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
51384 Declared.
51385 (pupa_rescue_cmd_initrd): Likewise.
51386 (pupa_rescue_cmd_initrd): Likewise.
51387
51388 * include/pupa/symbol.h (FUNCTION): Specify the type.
51389 (VARIABLE): Likewise.
51390
51391 * include/pupa/err.h (pupa_err_t): Added
51392 PUPA_ERR_UNKNOWN_COMMAND.
51393
51394 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
51395 (pupa_dl_get_prefix): Likewise.
51396
51397 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
51398 Added _chain.mod and _linux.mod instead of chain.mod and
51399 linux.mod.
51400 (chain_mod_SOURCES): Renamed to ...
51401 (_chain_mod_SOURCES): ... this.
51402 (chain_mod_CFLAGS): Renamed to ...
51403 (_chain_mod_CFLAGS): ... this.
51404 (linux_mod_SOURCES): Renamed to ...
51405 (_linux_mod_SOURCES): ... this.
51406 (linux_mod_CFLAGS): Renamed to ...
51407 (_linux_mod_CFLAGS): ... this.
51408 (normal_mod_SOURCES): New variable.
51409 (normal_mod_CFLAGS): Likewise.
51410 (normal_mod_ASFLAGS): Likewise.
51411
514122003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
51413
51414 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
51415 possible.
51416
fe6b695a 51417 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 51418 recursively.
51419 (pupa_dl_unref): Unrefer depending modules recursively.
51420 Don't call pupa_dl_unload implicitly, because PUPA can crash if
51421 a module is unloaded before one depending on that module is
51422 unloaded.
51423 (pupa_dl_unload): Unload depending modules explicitly,
51424 if possible.
51425
c04da074 514262003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
51427
51428 * include/pupa/i386/pc/linux.h: New file.
51429 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 51430
c04da074 51431 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
51432 Removed.
51433 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
51434 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
51435 of PUPA_CHAINLOADER_BOOT_SECTOR.
51436
51437 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
51438 (pupa_linux_prot_size): New variable.
51439 (pupa_linux_tmp_addr): Likewise.
51440 (pupa_linux_real_addr): Likewise.
51441 (pupa_linux_boot_zimage): New function.
51442 (pupa_linux_boot_bzimage): Likewise.
51443
51444 * kern/i386/pc/init.c (struct mem_region): New structure.
51445 (MAX_REGIONS): New macro.
51446 (mem_regions): New variable.
51447 (num_regions): Likewise.
51448 (pupa_os_area_addr): Likewise.
51449 (pupa_os_area_size): Likewise.
51450 (pupa_lower_mem): Likewise.
51451 (pupa_upper_mem): Likewise.
51452 (add_mem_region): New function.
51453 (compact_mem_regions): Likewise.
51454 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
51455 the size of the conventional memory and that of so-called upper
51456 memory (before the first memory hole).
51457 Instead of adding each found region to free memory, use
51458 add_mem_region and add them after removing overlaps.
51459 Also, add only 1/4 of the upper memory to free memory. The rest
51460 is used for loading OS images. Maybe this is ad hoc, but this
51461 makes it much easier to relocate OS images when booting.
51462
51463 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
51464 (pupa_enter_rescue_mode): Don't register initrd and module.
51465
51466 * kern/mm.c: Include pupa/dl.h.
51467
51468 * kern/main.c: Include pupa/file.h and pupa/device.h.
51469
51470 * kern/loader.c (pupa_loader_load_module_func): Removed.
51471 (pupa_loader_load_module): Likewise.
51472
51473 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
51474 ``.o''.
51475
51476 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
51477 (pupa_linux_tmp_addr): Likewise.
51478 (pupa_linux_real_addr): Likewise.
51479 (pupa_linux_boot_zimage): Likewise.
51480 (pupa_linux_boot_bzimage): Likewise.
51481
51482 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
51483 (pupa_upper_mem): Likewise.
51484 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
51485 module is too dangerous.
51486
51487 * include/pupa/loader.h (pupa_os_area_addr): Declared.
51488 (pupa_os_area_size): Likewise.
51489 (pupa_loader_set): Remove the first argument. Loader doesn't
51490 manage modules or initrd any longer.
51491 (pupa_loader_load_module): Removed.
51492
51493 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
51494 (linux_mod_SOURCES): New variable.
51495 (linux_mod_CFLAGS): Likewise.
51496
a13f9237 514972003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
51498
51499 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
51500 the length of a blocklist correctly.
51501
51502 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
51503 Use ioctl only if the OS file is a block device.
51504 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
51505 not very useful for normal files.
51506
51507 * kern/main.c (pupa_set_root_dev): New function.
51508 (pupa_load_normal_mode): Likewise.
51509 (pupa_main): Call those above.
51510
51511 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
51512 pupa_uint16_t.
51513
51514 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
51515
a5ffe966 515162003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
51517
51518 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
51519 (setup): Configure the installed partition information and the
51520 dl prefix.
51521
51522 * loader/i386/pc/chainloader.c (my_mod): New variable.
51523 (pupa_chainloader_unload): New function.
51524 (pupa_rescue_cmd_chainloader): Refer itself.
51525 (PUPA_MOD_INIT): Save its own module in MY_MOD.
51526
51527 * kern/i386/pc/startup.S (install_partition): Removed.
51528 (version_string): Likewise.
51529 (config_file): Likewise.
51530 (pupa_install_dos_part): New variable.
51531 (pupa_install_bsd_part): Likewise.
51532 (pupa_prefix): Likewise.
51533 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
51534
51535 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
51536 and pupa/misc.h.
51537 (make_install_device): New function.
51538 (pupa_machine_init): Set the dl prefix.
51539
51540 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
51541 (buf): Renamed to ...
51542 (linebuf): ... this.
51543 (pupa_rescue_cmd_prefix): New function.
51544 (pupa_rescue_cmd_insmod): Likewise.
51545 (pupa_rescue_cmd_rmmod): Likewise.
51546 (pupa_rescue_cmd_lsmod): Likewise.
51547 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
51548 rmmod and lsmod.
51549
51550 * kern/mm.c (pupa_memalign): If failed even after invalidating
51551 disk caches, unload unneeded modules and retry.
51552
51553 * kern/misc.c (pupa_memmove): New function.
51554 (pupa_memcpy): Removed.
51555 (pupa_strcpy): New function.
51556 (pupa_itoa): Made static.
51557
51558 * kern/dl.c (pupa_dl_iterate): New function.
51559 (pupa_dl_ref): Likewise.
51560 (pupa_dl_unref): Likewise.
51561 (pupa_dl_unload): Return if succeeded or not.
51562 (pupa_dl_unload_unneeded): New function.
51563 (pupa_dl_unload_all): Likewise.
51564 (pupa_dl_init): Renamed to ...
51565 (pupa_dl_set_prefix): ... this.
51566 (pupa_dl_get_prefix): New function.
51567
51568 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
51569 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
51570 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
51571 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
51572 (pupa_install_dos_part): Declared.
51573 (pupa_install_bsd_part): Likewise.
51574 (pupa_prefix): Likewise.
51575 (pupa_boot_drive): Likewise.
51576
51577 * include/pupa/types.h: Fix a typo.
51578
51579 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
51580 pupa_memmove.
51581 (pupa_memmove): Declared.
51582 (pupa_strcpy): Likewise.
51583
51584 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
51585 pupa_mod_init takes one argument, its own module.
51586 (pupa_dl_unload_unneeded): Declared.
51587 (pupa_dl_unload_all): Likewise.
51588 (pupa_dl_ref): Likewise.
51589 (pupa_dl_unref): Likewise.
51590 (pupa_dl_iterate): Likewise.
51591 (pupa_dl_init): Renamed to ...
51592 (pupa_dl_set_prefix): ... this.
51593 (pupa_dl_get_prefix): Declared.
51594
51595 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 51596 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 51597 unloaded.
51598 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
51599 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
51600
51601 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
51602 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
51603
012d7999 516042003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51605
51606 * util/i386/pc/pupa-setup.c (setup): Define the internal
51607 function find_first_partition_start at the top level, because GCC
51608 3.0.x cannot compile internal functions in deeper scopes
51609 correctly.
51610 (find_root_device): Use lstat instead of stat.
51611 Don't follow symbolic links.
51612 Fix the path-constructing code.
51613
51614 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
51615 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
51616 by a BLKGETSIZE ioctl first, because block devices don't fill
51617 the member st_mode of the structure stat on Linux.
51618 [__linux__] (linux_find_partition): Use a temporary buffer
51619 REAL_DEV for the working space. Copy it to DEV before returning.
51620 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
51621 buffer cache consistent.
51622 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
51623 strncmp. The previous value was merely wrong.
51624 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
51625
51626 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
51627 FAT size is 12. The previous value was merely wrong.
51628
51629 * kern/main.c (pupa_main): Don't split the starting message from
51630 newlines.
51631
51632 * kern/term.c (pupa_putchar): Put CR after LF instead of before
51633 LF, because BIOS goes crazy about character attributes in this
51634 case.
51635
1cc73a62 516362003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51637
51638 * include/i386/pc/util/biosdisk.h: New file.
51639 * util/i386/pc/biosdisk.c: Likewise.
51640 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 51641
1cc73a62 51642 * Makefile.in (INCLUDE_DISTFILES): Added
51643 include/pupa/i386/pc/util/biosdisk.h.
51644 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
51645 directory util/i386/pc.
51646 (install-local): Added a rule for sbin_UTILITIES.
51647 (uninstall): Likewise.
51648
51649 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
51650
51651 * util/misc.c (xrealloc): New function.
51652 (pupa_malloc): Likewise.
51653 (pupa_free): Likewise.
51654 (pupa_realloc): Likewise.
51655 (pupa_stop): Likewise.
51656 (pupa_putchar): Likewise.
51657
51658 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
51659
51660 * include/pupa/util/misc.h (xrealloc): Declared.
51661
51662 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
51663 macro.
51664 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
51665 (PUPA_BOOT_MACHINE_BPB_END): ... this.
51666
51667 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
51668 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51669
51670 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
51671 way should be implemented.
51672 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51673
51674 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
51675 the size of NAME for safety.
51676 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
51677 0x88.
51678
51679 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
51680 (pupa_setup_SOURCES): Likewise.
51681
51682 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
51683
08b70fe8 516842002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51685
51686 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
51687 bunch of pushl's from pusha, because this destroys the return
51688 value.
51689
62ddcc8f 516902002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51691
51692 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
51693 This means that any missing prototypes could be fatal. Also, you
51694 must take care when writing assembly code. See the comments at
51695 the beginning of startup.S, for more details.
f19dbdb7 51696
62ddcc8f 51697 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
51698 compilation mechanism.
51699 (pupa_chainloader_real_boot): Likewise.
51700 (pupa_biosdisk_rw_int13_extensions): Likewise.
51701 (pupa_biosdisk_rw_standard): Likewise.
51702 (pupa_biosdisk_check_int13_extensions): Likewise.
51703 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
51704 (pupa_biosdisk_get_diskinfo_standard): Likewise.
51705 (pupa_get_memsize): Likewise.
51706 (pupa_get_mmap_entry): Likewise.
51707 (pupa_console_putchar): Likewise.
51708 (pupa_console_setcursor): Likewise.
51709 (pupa_getrtsecs): Use pushl instead of push.
51710
51711 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
51712 memory instead of the stack for a mmap entry, because some
51713 BIOSes may ignore the maximum size and overflow.
51714
51715 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
51716
51717 * genmk.rb (PModule#rule): Compile automatically generated
51718 sources with module-specific CFLAGS as well as other sources.
51719
9962ed99 517202002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51721
51722 * configure.ac: Check ld.
51723 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
51724 respectively, before checking endianness and sizes.
51725
51726 * Makefile.in (LD): New variable.
f19dbdb7 51727
abdfc3c5 517282002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51729
51730 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
51731
6a161fa9 517322002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51733
51734 * Changelog: New file.
51735