]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/net/net.c (grub_net_route_unregister): Remove unused
[grub2.git] / ChangeLog
CommitLineData
7f084087
VS
12013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
4 function.
5 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
6 * grub-core/disk/geli.c (ascii2hex): Likewise.
7
d5524ca8
VS
82013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
9
10 * configure.ac: Run linker tests without -Werror.
11 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
12 Change all occurences of -static-libgcc resp -lgcc to
13 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
14
390cd7ca
VS
152013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
18
60375a88
VS
192013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20
21 Allow compiling with clang (not really supported though).
22
23 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
24 unconditionally.
25 * configure.ac: Add -no-integrated-as when using clangfor asm files.
26 Add -mrtd -mregparm=3 on i386 when not using clang.
27 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
28
dd07e0c4
VS
292013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
32 bindings.
33 * grub-core/lib/reed_solomon.c: Likewise.
34 * include/grub/i386/gdb.h: Likewise.
35 * include/grub/i386/pc/int.h: Likewise.
36 * include/grub/i386/pc/pxe.h: Likewise.
37 * include/grub/ieee1275/ieee1275.h: Likewise.
38
9d3ae8ec
VS
392013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
40
41 Import libgcrypt 1.5.3.
42
c12936c5
VS
432013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * configure.ac: Don't add -Wcast-align on x86.
46
cdc17f60
VS
472013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * configure.ac: Add -freg-struct-return on all platforms that
50 support it.
51
b35ec299
VS
522013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
53
54 * acinclude.m4: Use -Werror on parameter tests.
55 * configure.ac: Likewise.
56
05f3a0d7
VS
572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
60
c966a489
VS
612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * configure.ac: Check that -malign-loops works rather than assuming that
64 either -falign-loops or -malign-loops work.
65
bb0c57ec
VS
662013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * configure.ac: Remove -fnested-functions. We don't need it anymore.
69
24f4e57c
VS
702013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * configure.ac: Prevent cflags leaking to subsequent tests by always
73 resetting cflags to target_cflags in target tests.
74
ac319fbc
VS
752013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
76
77 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
78 function.
79
4bfe934c
VS
802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
83
40a5bfde
VS
842013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
87
a67c755e
VS
882013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
89
90 * grub-core/normal/cmdline.c (grub_cmdline_get):
91 Remove nested functions.
92
87a04a2d
VS
932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * tests/test_sha512sum.in: Make it work on emu.
96
c03995d2
VS
972013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
98
99 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
100 functions.
101 (grub_bidi_line_logical_to_visual): Likewise.
102
ec0ebb3f
VS
1032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
104
105 Remove vestiges of -Wunsafe-loop-optimisations.
106
107 * conf/Makefile.common (CFLAGS_GNULIB): Remove
108 -Wno-unsafe-loop-optimisations.
109 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
110 pragma.
111 * grub-core/io/gzio.c: Likewise.
112 * grub-core/script/parser.y: Likewise.
113 * grub-core/script/yylex.l: Likewise.
114 * util/grub-mkfont.c: Likewise.
115
6ab537e3
VS
1162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * util/grub-mkfont.c (process_cursive): Remove nested function.
119
e6c368d4
VS
1202013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
123 (grub_boot_time): Likewise.
124
4f1cfd22
VS
1252013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * include/grub/symbol.h (FUNCTION): Use @function rather than
128 "function".
129 (VARIABLE): Likewise.
130
6d5a4cee
VS
1312013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
134
f06c2172
VS
1352013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
136
137 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
138 (parse_dhcp_vendor): Likewise.
139
7cb24eb5
VS
1402013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
141
142 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
143
f30c692c
VS
1442013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * grub-core/gettext/gettext.c (main_context), (secondary_context):
147 Define after defining type and not before.
148
8b66bb5d
VS
1492013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
152 type.
153 (grub_gcm_decrypt): Likewise.
154 (algo_decrypt): Likewise.
155 (grub_zfs_decrypt_real): Transform error type.
156
5d17fd0f
VS
1572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
160
ac35a0f7
VS
1612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
164 (grub_usbms_cbi_reset): Likewise.
165 (grub_usbms_bo_reset): Likewise.
166 (grub_usbms_reset): Likewise.
167 (grub_usbms_attach): Likewise.
168 (grub_usbms_transfer_cbi): Likewise.
169
3ee08697
VS
1702013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
173 "checksum = checksum;".
174
70bb6c85
VS
1752013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
176
177 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
178 entry_type.
179
c7f34744
VS
1802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
183 BIOS disk check.
184
3f63b4d8
VS
1852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
188 type.
189 (grub_ehci_fini_hw): Likewise.
190 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
191
dac6ce73
VS
1922013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
193
194 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
195 return grub_usb_err_t for cosistency. All users updated.
196
5701750c
VS
1972013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
200 assigning to itself.
201
9e236169
GLD
2022013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
2032013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
204
205 Issue separate DNS queries for ipv4 and ipv6
206
207 Adding multiple questions on a single DNS query is not supportted by
208 most DNS servers. This patch issues two separate DNS queries
209 sequentially for ipv4 and then for ipv6.
210
211 Fixes: https://savannah.gnu.org/bugs/?39710
212
213 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
214 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
215 * (grub_net_dns_lookup): Now using separated dns packages.
216 * (grub_cmd_nslookup): Add error condition.
217 * (grub_cmd_list_dns): Print DNS option.
218 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
219 --prefer-ipv4, and --prefer-ipv6.
220 * include/grub/net.h (grub_dns_option_t): New enum.
221 * (grub_net_network_level_address): option added.
222
339eacce
VT
2232013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
224
225 * grub-core/video/fb/video_fb.c: Merge two blit functions
226 into one.
227
810f991b
VS
2282013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * grub-core/term/terminfo.c: Add sequences for home and end.
231
386571a2
VS
2322013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
233
234 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
235 graphics console.
236
3fe63754
VS
2372013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
240 add mode 0x12.
241
76681e71
VS
2422013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
243
244 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
245 e-mail by Per Öberg.
246
46522fb7
VS
2472013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
250 name.
251
e7d09ac4
AB
2522013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
253
254 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
255 emu platforms.
256 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
257
67508925
VS
2582013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
259
260 * docs/grub.texi: Document usage of menuentry id.
261
0c62124e
VS
2622013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
265
9b5d4eed
PL
2662013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
267
268 * grub-core/commands/i386/nthibr.c: New command.
269
79054c1d
VS
2702013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
273
44d47bbe
VS
2742013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
277 coordinate.
278
323de05b
VS
2792013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
280
281 Support GRUB_DISABLE_SUBMENU config.
282
283 Inspired by patch from Prarit Bhargava.
284
5a01722e
VS
2852013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
286
287 * docs/grub.texi: Mention RSA support.
288
1106c3f0
VS
2892013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * grub-core/commands/verify.c: Add RSA support.
292
a1dcc2cb
VS
2932013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
296 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
297 device is known to be ATAPI.
298
ee7fb780
MF
2992013-11-03 Mike Frysinger <vapier>
300
301 * configure.ac: Don't add target-prefix.
302
5ade4a42
VS
3032013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
306 variables.
307
6cd66043
VS
3082013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
311 if language is English.
312
090d7c81
VS
3132013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
316
dd614590
VS
3172013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
318
319 * configure.ac: Don't add -m32/-m64 on emu.
320
a8686589 3212013-11-02 neil
322
323 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
324 broken linux headers.
325
fb9f12a0
VS
3262013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
329
e25f8e1f
VS
3302013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
331
332 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
333 Reed-Solomon recovery if more than half of redundancy info is 0.
334
4685200f
VS
3352013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
336
337 * util/grub-mount.c: Handle symlinks to directories.
338
1397f0b5
VS
3392013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
342 find_file recursively for symlink.
343
8b3e6eb6
VS
3442013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * tests/util/grub-shell.in: Copy themes.
347
a0c9d5c6
VS
3482013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
351
5cf9459c
VS
3522013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * configure.ac: Use 0x8000 for address instead of 8000.
355
e7b66a28
VS
3562013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
359 signature.
360
203f53fb
VS
3612013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
364 variable.
365
02663ee9
VS
3662013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
369
f169f65e
VS
3702013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
373 file_progress_read_hook.
374 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
375
2855a0fc
VS
3762013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
379 and double.
380
bf0f3a8c
VS
3812013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
384
cb72aa18
VS
3852013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
386
387 Rewrite blocklist functions in order to get progress when
388 reading large extents and decrease amount of blocklist hook calls.
389
896f9135
VS
3902013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
393 of SI suffixes.
394
89295a06
VS
3952013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
396
397 Support --base-clock for serial command to handle weird cards with
398 non-standard base clock.
399
eb03ede0
VS
4002013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
401
402 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
403 strncpy.
404 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
405 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
406 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
407 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
408 + strcpy rather than strncpy.
409
8fbe5c7d
VS
4102013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
413 (check_pool_label): Likewise. Fixes overflow.
414 (nvlist_find_value): Fix comparison.
415
e54b8f53
VS
4162013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * include/grub/misc.h (grub_strcat): Removed. All users changed to
419 more appropriate functions.
420
fa9b3dca
VS
4212013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
422
423 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
424 realloc.
425
9a021c55
VS
4262013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * util/grub-mkrescue.in: Do not use UUID search on EFI.
429
80e8b13a
VS
4302013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
431
432 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
433 on core size.
434
b61599ac
VS
4352013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
438
a602dc54
VS
4392013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
442 (initialize_tables): reset tl and td to NULL after freeing.
443
93c12075
VS
4442013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
447
1ca4b75e
VS
4482013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
451 of supported tags.
452
329550c4
VS
4532013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
456
00bfa988
VS
4572013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * grub-core/loader/multiboot.c: Add support for multiboot kernels
460 quirks.
461
81afc5cc
VS
4622013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
465 a page in protected space.
466
cb3c4a47
VS
4672013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
470 allocate space for zero-sized modules.
471
954f7bf5
VS
4722013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
475
526d3d25
FL
4762013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
477
478 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
479
74124c34
VS
4802013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
483 safeguards. Fixes a crash with i386/pc/console.c.
484
5177391e
VS
4852013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
488 and grub_hostfs_init.
489
64db14b0
VS
4902013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
493 windows method on other platforms without good stat as well.
494
effe2036
VS
4952013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
498
82591fa6 4992013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 500
82591fa6
VS
501 Make / in btrfs refer to real root, not the default volume.
502 Modify mkrelpath to work even if device is mounted with subvolid option.
503
5042013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
505
506 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
507 extra_dist.
508 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
509 extra_dist.
510
30fd7198
VS
5112013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
514 fails.
515
8d179dae
BC
5162013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
517
518 * docs/autoiso.cfg: New file.
519
3bc9c8cf
VS
5202013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
523 COND_GRUB_PE2ELF conditions.
524
8b46b0ea
VS
5252013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
528 "vnd", "rd" and "fd" disks.
529
442b86de
VS
5302013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
531
532 Move grub_disk_write out of kernel into disk.mod.
533
04dea7e6
VS
5342013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
537 handling.
538
5392013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
540
541 * grub-core/kern/misc.c (grub_abort): Make static
542
04dea7e6 5432013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
544
545 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
546 transform invalid unicode codepoints.
547
04dea7e6 5482013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
549
550 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
551 \0 checking.
552
03dcac7f
VS
5532013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
556
c81acb7f
VS
5572013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
558
559 Consolidate cpuid code.
560
c1bee646
VS
5612013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
562
563 Move cpuid code to cpuid.h and TSC code to tsc.c.
564
f37bf9c7
GS
5652013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
566
567 * util/grub.d/00_header.in: Don't use LANG if it's not set.
568
4021132b
GS
5692013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
570
571 * util/grub-mkconfig.in: Replace $0 with $self.
572 * util/grub-reboot.in: Likewise.
573 * util/grub-set-default.in: Likewise.
574
3ace8d75
BC
5752013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
576
577 * docs/osdetect.cfg: New file.
578
1e6ad6a6
BC
5792013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
580
581 * tests/util/grub-shell.in: Add new --debug option.
582
188929eb
BC
5832013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
584
585 * tests/test_unset.in: New test.
586
7994a09a
BC
5872013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
588
589 * tests/test_sha512sum.in: New test.
590
2a8a7585
VS
5912013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
592
593 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
594 * include/grub/misc.h: Remove strncat.
595 * grub-core/lib/posix_wrap/string.h: Likewise.
596
cf8d6bbd
VS
5972013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
598
599 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
600 Try to handle more than 0xFFFF packets.
601 Reported by: Bernhard Übelacker <bernhardu>.
602 He also spotted few overflows in first version of this patch.
603
6d1fc99a
VS
6042013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
605
606 * tests/date_unit_test.c: New test.
607
10bafa1c
VS
6082013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
609
610 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
611 of first three years after start of validity of unixtime.
612
b1c6d037
VS
6132013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
614
615 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
616 division as the one making more sense.
617 (update_screen): Likewise.
618 (complete): Likewise.
619
5f4028d4
VS
6202013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
623
a2856736
VS
6242013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
625
626 Make char and string width grub_size_t rather than grub_ssize_t.
627
0a7e52b2
VS
6282013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
629
630 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
631 unsigned.
632 (grub_history_replace): Likewise.
633
42829573
VS
6342013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
637 appropriate.
638
3523b8d8
VS
6392013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
642 appropriate.
643
d43c6489
VS
6442013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
647 Use unsigned divisions rather than signed variants.
648
f690f8b0
VS
6492013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * grub-core/video/readers/png.c (grub_png_convert_image): Use
652 unsigned arithmetics.
653 Add missing break.
654
74ff2c05
VS
6552013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
658
fb56391e
VS
6592013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
662 rather than signed one.
663 (recovery): Likewise.
664
40f29060
VS
6652013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
668
c64577a5
VS
6692013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
670
671 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
672 than signed.
673
c16535a8
JM
6742013-10-25 Jon McCune <jonmccune@google.com>
675
676 * docs/grub.texi: Cleanup security documentation around signatures.
677
6673d8e7
VS
6782013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
681
a105d375
VS
6822013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
685 than int.
686
af81ed88
VS
6872013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
690 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
691 functions when compiling for kernel.
692
ea899a57
VS
6932013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
696 unsigned long long when using %llu.
697
c6dc6fa1
VS
6982013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
701 terminal after updating progress.
702
ad2dc003
VS
7032013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
706 argument. We don't disable Gate A20 in this code.
707
b46684ae
VS
7082013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
709
710 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
711 Conceptually based on change in branch "vbe-on-coreboot".
712
f70d5c07
RM
7132013-10-24 Robert Millan <rmh@gnu.org>
714
715 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
716 numeric constants with their symbolic equivalent.
717 Taken from branch "vbe-on-coreboot".
718
bca274b4
VS
7192013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
720
721 * docs/grub.texi: Fix ordering and use pxref rather than xref.
722
238f0489
VS
7232013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
724
725 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
726 divmod64 for offset division.
727
863c590b
PFS
7282013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
729
730 Rename .bzrignore to .gitignore. Add "*.o" rule.
731
732 * .bzrignore: Renamed to...
733 * .gitignore: ...this.
734
84a0e969
PFS
7352013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
736
737 Add new progress module that displays the load progress of files.
738
739 * grub-core/lib/progress.c: New file.
740 * grub-core/Makefile.core.def (progress): New module.
741 * grub-core/kern/file.c (grub_file_open): File name added.
742 * (grub_file_read): Progress hook added.
743 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
744 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
745 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
746 * include/grub/file.h (struct grub_file): Add progress module members.
747 * include/grub/term.h (struct grub_term_output): Likewise.
748 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
749 Terminal velocity added.
750 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
751 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
752 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
753 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
754 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
755 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
756 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
757 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
758 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
759 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
760 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
761 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
762
0d711431
VS
7632013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
764
765 Verify signatures of signatures unless --skip-sig is specified.
766
f8401f76
VS
7672013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
770 \0 checking.
771
772 Saves 70 bytes on compressed image.
773
ac1feb61
VS
7742013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
777 check.
778
779 Saves 10 bytes on compressed image.
780
00f72e89
VS
7812013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * grub-core/kern/misc.c (grub_isprint): Move to ...
784 * include/grub/misc.h (grub_isprint): ... here. Make inline.
785
786 Saves 20 bytes on compressed image due to remving exporting.
787
067e6ae7
VS
7882013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
789
790 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
791
792 Saves 5 bytes on compressed image.
793
64a6c791
VS
7942013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
797 function get_utf8.
798
799 Saves 379 bytes on compressed image.
800
979d9f52
VS
8012013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
804
1437da54
VS
8052013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
808
809 Saves 40 bytes on compressed image.
810
d9ee2269
VS
8112013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
814 mask rather than 64-bit type.
815
816 Saves 20 bytes on compressed image.
817
63efa602
VS
8182013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
821 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
822
47601ffe
VS
823 Saves 273 bytes on compressed image.
824
2cc679ad
VS
8252013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
828 variable length arrays.
829
830 Saves 50 bytes on compressed image.
831
2e4659b8
VS
8322013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
835
2a40badf
VS
8362013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
837
838 * grub-core/fs/ufs.c: Remove variable length arrays.
839
1ba6b9b9
VS
8402013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
843
f3e39341
VS
8442013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * grub-core/fs/zfs.c: Remove variable length arrays.
847 Reduces zfs.mod by 160 bytes (208 compressed).
848
71523935
VS
8492013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
852
28153eb8
VS
8532013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * grub-core/net/arp.c: Remove variable length arrays.
856 * grub-core/net/bootp.c: Likewise.
857 * grub-core/net/dns.c: Likewise.
858 * grub-core/net/icmp6.c: Likewise.
859 * grub-core/net/net.c: Likewise.
860
88ce4cd7
VS
8612013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * grub-core/fs/ntfs.c: Remove variable length arrays.
864 Increases ntfs.mod by 64 bytes (but decreases by 3 when
865 compressed).
866
66123940
VS
8672013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * grub-core/fs/hfs.c: Remove variable length arrays.
870 Reduces hfs.mod by 8 bytes (52 compressed).
871
0927e5bd
VS
8722013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 875 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
876 compressed).
877
9c12ac97
VS
8782013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 881 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
882 compressed).
883
97ec2d71
VS
8842013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 887 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
888 compressed).
889
156e4ea0
VS
8902013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
891
892 * grub-core/fs/xfs.c: Remove variable length arrays.
893 Reduces xfs.mod by 40 bytes (43 compressed).
894
3b502c29
VS
8952013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * grub-core/fs/fshelp.c: Remove variable length arrays.
898 Reduces fshelp.mod by 116 bytes (23 compressed).
899
c7037f1d
VS
9002013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * grub-core/normal/completion.c: Remove variable length arrays.
903 * grub-core/normal/menu_entry.c: Likewise.
904
905 Reduces normal.mod by 496 bytes.
906
a07e6ad0
VS
9072013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
910 by 356 bytes (158 compressed).
911
2359bf88
VS
9122013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
915 by 364 bytes (169 compressed).
916
d28e1163
VS
9172013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
920 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
921 * include/grub/types.h (grub_unaligned_uint64_t): New type.
922
e89c2d48
VS
9232013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
924
925 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
926 bitmasks to small structures of size chosen to fit in registers.
927
7abdac8e
VS
9282013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * conf/Makefile.common: Use -freg-struct-return on i386. This
931 decreases code size and improves performance.
932
518864c0
VS
9332013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
936
bbd2b539
VS
9372013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
940 "(null)" string.
941 Simplify expressions to save around 256 bytes in kernel.img.
942 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
943
99519c15
VS
9442013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
947 Use GRUB_UTIL_FD_O_* rather than O_*.
948
20285765
VS
9492013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
950
951 Add haiku-specific functions.
952
887c0bb6
VS
9532013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
956
cd78a56f
VS
9572013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
958
959 Move stat () and device mode checking into OS-dependent files as
960 long as performance doesn't suffer.
961
a4012f07
VS
9622013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
963
964 Split make_system_path_relative_to_its_root into separate file
965 relpath.c from getroot.c as it's common between unix and haiku
966 but otherwise haiku doesn't use any functions from unix getroot.c.
967
31de274d
VS
9682013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
971 New function.
972 (grub_util_is_special_file): Likewise.
973
40346de6
VS
9742013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
975
976 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
977 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
978
d3923ab9
VS
9792013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
980
981 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
982 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
983
663f6eb1
VS
9842013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
987 (load_image): Likewise.
988
44d1c20a
VS
9892013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * util/grub-render-label.c: Move backend part to ...
992 * util/render-label.c: ... here.
993
d0a116ee
VS
9942013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
997 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
998
b47fcae6
VS
9992013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
1002
0f7c00c1
VS
10032013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
1006 CD-ROM in case when it's declared as having subpartitions.
1007
29013cba
VS
10082013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 Don't add -lm on haiku.
1011
1012 * configure.ac: Define BUILD_LIBM to -lm on most platforms
1013 and empty on haiku.
1014 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
1015 -lm.
1016
e8559d24
VS
10172013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * configure.ac: Use -melf_*_haiku as target on haiku.
1020
8104063c
VS
10212013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * Makefile.util.def: Add util/setup.c to extra_dist.
1024
fc3182c7
VS
10252013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
1028 unknown types through.
1029
f90a3cc0
VS
10302013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
1033 (grub_util_check_char_device): Likewise.
1034 * include/grub/emu/getroot.h: Likewise.
1035
1e3e7419
VS
10362013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
1039 memset rather than inline static function.
1040
92c88fc8
VS
10412013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
1044 not doing embedded decompressor.
1045
3cd910a2
VS
10462013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
1049 shadowing.
1050 * grub-core/kern/disk.c: Likewise.
1051 * grub-core/kern/misc.c: Likewise.
1052 * include/grub/parser.h: Likewise.
1053 * include/grub/script_sh.h: Likewise.
1054 * include/grub/zfs/zfs.h: Likewise.
1055
7b3aca00
VS
10562013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
1059
97dfe7e4
VS
10602013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
1063 defined before trying to use it.
1064
bf919aa9
VS
10652013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
1068 warning.
1069
f4ccf29d
VS
10702013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
1073 Use __unused__ rather than __used__ on gcc < 3.2.
1074
0d3a6f85
VS
10752013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
1078 gcc < 4.0.
1079 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
1080
757e3eb7
VS
10812013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
1084
fb320faf
VS
10852013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
1088 * include/grub/emu/misc.h: Likewise.
1089
ea73acd2
VS
10902013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
1093 cur_color.
1094
71237a6f
VT
10952013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
1096
1097 * grub-core/tests/checksums.h: Regenerated due to progress bar
1098 get_minimal_size changes.
1099
3d46c22f
BC
11002013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
1101
1102 Added `tr' command support.
1103
1104 * grub-core/commands/tr.c: New file.
1105 * grub-core/Makefile.core.def: Build rules for new module.
1106
1107 * tests/grub_cmd_tr.in: New test.
1108 * Makefile.util.def: Build rules for new test.
1109
47e0a61f
VT
11102013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1111
1112 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
1113
946fd073
VT
11142013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1115
1116 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
1117 * docs/gurb.texi: Likewise.
1118
9c13c576
VT
11192013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1120
1121 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
1122 Pixmap highlighted section with east and west slices was displayed
1123 incorrectly due to negative width of the central slice.
1124
ad543f12
VT
11252013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1126
1127 * docs/grub.texi: Graphical options information update.
1128 Removed outdated. Updated current. Inserted missed.
1129
6176a0cd
VS
11302013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * docs/grub.texi: Mention few new platform-specific commands.
1133
9688cae2
VS
11342013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
1137 currently used so this doesn't really have any effect.
1138 Reported by: Douglas Ray <dougray>
1139
f7b69a3f
VS
11402013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
1143 compilation but prevents gcc from displaying messages in non-Latin
1144 alphabets.
1145 * conf/Makefile.common: Likewise.
1146
ceca6ddf
HY
11472013-10-16 Hiroyuki YAMAMORI
1148
1149 Handle Japanese special keys.
1150 Reported by: Hiroyuki YAMAMORI.
1151 Codes supplied by: Hiroyuki YAMAMORI.
1152
ac48d334
VT
11532013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
1154
1155 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
1156
b2b71bff
VT
11572013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
1158
1159 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
1160 * docs/grub.texi: Likewise.
1161
669fc449
VS
11622013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
1165 value in case of incomplete read.
1166 (grub_util_fd_write): Likewise.
1167
59381678
VS
11682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
1171
bacfefbb
VS
11722013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * util/grub-editenv.c (create_envblk_file): More from here ...
1175 * util/editenv.c (grub_util_create_envblk_file): ... to here.
1176
f7c49570
VS
11772013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
1180 canonicalize file name before doing the rest.
1181
7b83ca44
VS
11822013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
1185 mingw32.
1186
df1e64c9
VS
11872013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 Define grub_util_is_directory/regular/special_file and
1190 use OS-dependent versions rather than to rely on stat().
1191
ec16e026
VS
11922013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * util/grub-mkimage.c: Move backend part to ...
1195 * util/mkimage.c: ... here.
1196
4b4eeb3c
VS
11972013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 Allow compilation with mingw64 albeit with warnings due to lack of
1200 %llx/%llu.
1201
1202 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
1203 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
1204 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
1205 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
1206 on mingw64.
1207 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
1208
f4e0adc0
VS
12092013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 Remove leftover references to some of the system headers.
1212
e0127364
VS
12132013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
1216 read.
1217
20d53541
VS
12182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
1221 of strerror.
1222
5a869940
VS
12232013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 Split out blocklist retrieving from setup.c to
1226 grub-core/osdep/blocklist.c and add windows implementation since
1227 generic version doesn't work on NTFS on Windows due to aggressive
1228 unflushable cache.
1229
c06c7520
VS
12302013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
1233 files.
1234
8f53bb3f
VS
12352013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
1238 Cut tailing newline. Remove arbitrary limitation. Always use
1239 grub_util_tchar_to_utf8.
1240
148f1007
VS
12412013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
1244 * tests/printf_unit_test.c (printf_test): Add %% tests.
1245 Reported by: Paulo Flabiano Smorigo.
1246
af3b06be
VS
12472013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
1250 implement fsync.
1251
27f9d02e
VS
12522013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * configure.ac: Check for nvlist_lookup_string in nvpair since we
1255 use nvlist_lookup_string and don't use nvlist_print.
1256
f6a81f0a
VS
12572013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 Add wrappers around rename, unlink, mkdir, opendir, readdir and
1260 closedir to handle filename charset translation.
1261
d7750b32
VS
12622013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 * include/grub/emu/hostdisk.h: Move file operations to
1265 * include/grub/emu/hostfile.h: ... here.
1266
2859196e
VS
12672013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
1270 unicode path.
1271
c018c968
VS
12722013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
1275
7e45abce
VS
12762013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
1279 and remove export.h.
1280
23934da2
VS
12812013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * grub-core/kern/emu/error.c: Removed.
1284 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
1285 explicitly as it's already in libgnu.a.
1286
c11ebcc8
VS
12872013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
1290 config-util.h include.
1291
70671037
VS
12922013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 Split emunet into platform-dependent and GRUB-binding parts. Keep
1295 platform-dependent part in kernel for easy access to OS functions.
1296
25ac643a
VS
12972013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
1300 open/read/write.
1301
69ca5876
VS
13022013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * grub-core/osdep/windows/emuconsole.c: New file.
1305
d9d68ef0
AB
13062013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1307
1308 * conf/Makefile.extra-dist: Add osdep/*/init.c
1309
58e211cc
VS
13102013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
1313
588744d0
VS
13142013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * util/grub-probe.c (probe): Separate different drives in hint-str
1317 by spaces and not newlines.
1318 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
1319
44016e52
AB
13202013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1321
1322 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
1323 Handle CD-ROMs.
1324
6de9ee86
VS
13252013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 Pass-through unknown E820 types. It required reorganisation of mmap
1328 module.
1329
f8f3f155
AB
13302013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1331
1332 * Makefile.util.def: Add osdep/init.c to grub-mount files.
1333
b73249d2
VS
13342013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
1337 fseeko.
1338
dac86b18 13392013-10-14 qwertial <qwertial>
1340
1341 * grub-core/gdb_grub.in: Fix overflow and wrong field.
1342
17614b84
JM
13432013-10-14 Jon McCune <jonmccune@google.com>
1344
1345 * docs/grub.texi: Document new signatures possibility.
1346
6de292cb
VS
13472013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
1350
84379b61
VS
13512013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
1354 missing prototype.
1355 (grub_util_tchar_to_utf8): Likewise.
1356
21d85db1
VS
13572013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
1360 * grub-core/kern/emu/main.c: Add missing include.
1361 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
1362 Don't call grub_util_init_nls.
1363 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
1364 Likewise.
1365
66a1b3ee
VS
13662013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1367
1368 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
1369 stat.
1370
e19bec17
VS
13712013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
1374
ee8c1b29
VS
13752013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1376
1377 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
1378
bb338aaf
VS
13792013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 Add a wrapper for fopen. On unix-like systems just pass-through. On
1382 windows use unicode version.
1383
ae5540d3
VS
13842013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 Move set_program_name and init_nls to host_init. On windows
1387 fix in this fuction console and argument charset as well.
1388
4cd3c4fe
AB
13892013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
1390
1391 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
1392 GRUB_ENABLE_CRYPTODISK.
1393
1394 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
1395 GRUB_ENABLE_CRYPTODISK.
1396 * util/grub-mkconfig_lib.in: Likewise.
1397
78170f3e
CCZ
13982013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
1399
1400 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
1401
3414b6c0
MC
14022013-10-12 Melki Christian <Christian.melki@saabgroup.com>
1403
1404 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
1405 error when enabling debug.
1406
6d0740e8
IB
14072013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
1408
1409 * configure.ac: Use -melf_*_obsd on openbsd.
1410
ff2d4dc4
VS
14112013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
1414
eac6ae82
VS
14152013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * include/grub/misc.h: Use gnu_printf rather than printf as format
1418 template since our functions are independent of libc.
1419
ba9baabe
VS
14202013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 * util/grub-setup.c (setup): Move copying of partition table as
1423 futher up as possible to avoid possible overwrite by floppy routines.
1424
14252013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
1426
1427 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
1428
145e2369
VT
14292013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
1430
1431 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
1432 * docs/grub.texi: Likewise.
1433
3530bc9d
VS
14342013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
1437 it's mostly unused. Move vestiges to the callers.
1438
fb9f59c3
VS
14392013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
1442 version of salt and hash. Use grub_snprintf rather than snprintf.
1443
9be1c255
VS
14442013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * docs/grub.texi: Fix problem with braces.
1447
ed8c0887
VS
14482013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * conf/Makefile.extra-dist: Fix extra-dist list.
1451 * grub-core/Makefile.core.def: Likewise.
1452
f72ab14e
VS
14532013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * docs/grub.texi: Document disk names used on Windows and AROS.
1456
2fe53a22
VS
14572013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
1460 with AROS devs.
1461 * grub-core/osdep/aros/hostdisk.c: Likewise.
1462
71c1d67a
VS
14632013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 Avoid including hostfile.h when not necessarry as it pulls
1466 in OS-specific headers which may redefine generic names
1467 like "far".
1468
ad297ec7
VT
14692013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
1470
1471 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
1472 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
1473 scrollbar_bottom_pad
1474 * docs/grub.texi: Likewise.
1475
6e9e5dc9
VT
14762013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
1477
1478 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
1479
761c718b
VS
14802013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
1483
37149a2f
VS
14842013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
1487 Removed.
1488 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
1489 Made static.
1490
3837a151
VS
14912013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
1494 leftover.
1495
caca1c70
VS
14962013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 Move OS-specific driver configuration to grub_util_fd_open. This
1499 moves OS-dependent parts from kern/emu/hostdisk.c to
1500 grub-core/osdep/*/hostdisk.c.
1501
f7676b70
VS
15022013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * util/grub-mkimage.c (generate_image): Use size_t instead of
1505 grub_size_t.
1506 * util/grub-mkimagexx.c (locate_sections): Likewise.
1507 (load_image): Likewise.
1508
22f98db2
VS
15092013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
1512 size_t.
1513 (grub_util_write_image): Likewise.
1514
b102ce69
VS
15152013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
1518 get random when no RNG is available.
1519 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
1520
acbbe5cb
VS
15212013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * include/grub/util/lvm.h: Removed.
1524
2112fb3f
VS
15252013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
1528 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
1529
79f78fbf
VS
15302013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/osdep/windows/sleep.c: Add missing config.h.
1533
c2e6f705
VS
15342013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
1537
aabe433a
VS
15382013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * grub-core/net/drivers/emu/emunet.c: Move to ..
1541 * grub-core/osdep/linux/emunet.c: ..here.
1542
9a2c903f
VS
15432013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * util/ieee1275/ofpath.c: Move to ...
1546 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
1547 * grub-core/osdep/basic/ofpath.c: ..here.
1548
4a445f58
VS
15492013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 Move password-querying (util-version) routines to grub-core/osdep.
1552
c1ca4244
VS
15532013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 Move sleep routines to grub-core/osdep.
1556
672fa55e
VS
15572013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 Move OS-dependent files to grub-core/osdep and document it.
1560
a5b0365a
VS
15612013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
1564 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
1565
29072e99
VS
15662013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
1569
f8772ea7
VS
15702013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 * util/misc.c: Remove leftover inclusion of malloc.h.
1573
a1a315e7
VS
15742013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * include/grub/setjmp.h: Remove leftover GRUBOF.
1577
cef86fef
VS
15782013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * util/raid.c: Fold into ...
1581 * util/getroot_linux.c: ... here. Make all functions static.
1582
c4cf25ee
VS
15832013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
1586 macros to GRUB ones.
1587
53a5f5c2
VT
15882013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1589
1590 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
1591 occasional bug. If there are too many boot entries or too low
1592 scrollbar height then we need to use another formula to calculate
1593 the position and size of the scrollbar thumb.
1594
de300af2
VS
15952013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1596
c4cf25ee 1597 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 1598
c5827364
VT
15992013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1600
1601 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
1602 * docs/grub.texi: Likewise.
1603
dd2ed8b0
VT
16042013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1605
1606 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
1607 viewport.
1608
7286c384
VT
16092013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1610
ffdfc1f3
VT
1611 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
1612 minimal width calculations.
7286c384 1613
ea547e14
VS
16142013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * docs/grub.texi: Update note on colors on emu console.
1617
b726be76
VS
16182013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
1621 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
1622 it's FS and not GRUB limitation.
1623
a5f6ade6
VS
16242013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
1627
3b0f3aa2
VS
16282013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
1631
1db38304
ST
16322013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1633
1634 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
1635 kernels by version order.
1636
fb295fc0
VS
16372013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
1640
47345010
VS
16412013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 Add AROS hostdisk and getroot routines.
1644
bf25f879
VS
16452013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 Make cryptodisk and diskfilter probe data retrievable programmatically
1648 and not just printable.
1649
24ca4512
VS
16502013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 Split random retrieving code into separate files.
1653
c7c177f0
VS
16542013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
1657 R_ARM_V4BX.
1658
d71b45ae
VS
16592013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1660
1661 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
1662 condition.
1663 * grub-core/tests/fake_input.c: Likewise.
1664 * grub-core/tests/cmdline_cat_test.c: Likewise.
1665
e44b9a83
VS
16662013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * grub-core/video/capture.c: Do not do finalization when .fini
1669 is called as there is explicit capture_end.
1670
4fa60739
VS
16712013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
1674 changing windows to avoid crash.
1675
17c8bc37
VS
16762013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
1679
9d4d7977
VS
16802013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * po/exclude.pot: Add several strings to exclude.
1683
0caa407c
VS
16842013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
1687
9ae393da
VS
16882013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * autogen.sh: Add ./util/grub-gen-widthspec.c and
1691 ./util/grub-gen-asciih.c to exclude list.
1692
498d5033
VS
16932013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
1696 and don't mark error strings for translation.
1697
7d93298f
VS
16982013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
1701 properly in case of missing block size.
1702
b2cae20c
VS
17032013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/lib/arm/setjmp.S: Add missing license section.
1706
3896d6b4
VS
17072013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * po/swiss.sed: Add replacement for key names and for term computer.
1710
ebc1da55
VT
17112013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
1712
1713 * grub-core/gfxmenu/theme_loader.c: New global options for the
1714 theme background image handling. desktop-image-scale-method,
1715 desktop-image-h-align, desktop-image-v-align.
1716 * grub-core/gfxmenu/view.c: Likewise.
1717 * include/gfxmenu_view.h: Likewise.
1718 * include/bitmap_scale.h: Proportional scale functions introduced.
1719 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
1720 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
1721 cases of unexpected input variables for scale functions.
1722 * docs/grub.texi: Updated documentation for new options.
1723
c5739143
VS
17242013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
1727
be74aeb3
VT
17282013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1729
1730 * grub-core/tests/checksums.h: Corrected due to changes in
1731 bilinear interpolation function.
1732
d999ac72
VT
17332013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1734
1735 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
1736 to eliminate artefacts in bilinear interpolation.
1737
2b131610
VS
17382013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * grub-core/video/readers/tga.c: Support paletted tga.
1741
de6e5ff8
VS
17422013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
1745 incorrect cbcr setting when in color mode.
1746
fa31ee9c
VS
17472013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * grub-core/video/readers/png.c: Support paletted images and clean up
1750 greyscale support.
1751
e84f8188
VS
17522013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
1755 usage of wrong table which resulted in mishandling of 4-byte
1756 sequences.
1757
17582013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
1759
1760 * grub-core/term/terminfo.c: Add Home and End key sequences.
1761
d72bff09
VS
17622013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * grub-core/video/readers/png.c (grub_png_decode_image_header):
1765 Fix formula for computing total number of bytes.
1766
29648c5d
VS
17672013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
1770 image processing, fix big-endian and support grayscale.
1771
4a876492
VS
17722013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
1775 Correctly will with maximum transparency when using index color.
1776
3ccf16df
VS
17772013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * grub-core/video/readers/png.c: Support grayscale
1780
17812013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
1782
1783 * grub-core/video/readers/jpeg.c: Support grayscale.
1784
3ccf16df 17852013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
1786
1787 * grub-core/commands/loadenv.c: Support skipping signature check
1788 and variable names filtering.
1789
30b7f58f
VS
17902013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
1793 * grub-core/kern/emu/hostfs.c: Likewise.
1794 * util/getroot_unix.c: Likewise.
1795
bab7b1eb
VS
17962013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
1799 Migrate all explicit defines to this new one.
1800
43b1c99d
VS
18012013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
1804 grub_util_fd_strerror when using grub_util_fd_*.
1805 (grub_util_fd_open_device): Likewise.
1806 (grub_util_biosdisk_read): Likewise.
1807 (grub_util_biosdisk_write): Likewise.
1808 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
1809 (grub_util_fd_strerror): Likewise.
1810 (grub_util_fd_sync): Likewise.
1811 (grub_util_fd_close): Likewise.
1812 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
1813 (grub_util_fd_close): Likewise.
1814 (grub_util_fd_strerror): Likewise.
1815 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
1816 function proto rather than macro.
1817 (grub_util_fd_sync): Likewise.
1818 (grub_util_fd_open): Likewise.
1819 (grub_util_fd_strerror): New proto.
1820
e8fd80bc
VS
18212013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
1824 platforms on which it doesn't work.
1825
bf645fda
VS
18262013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
1829 stat immediately to where it's used.
1830
5177ba14
VS
18312013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 * util/getroot.c (grub_util_check_block_device): Move to ...
1834 * util/getroot_unix.c (grub_util_check_block_device): ... here.
1835 * util/getroot.c (grub_util_check_char_device): Move to ...
1836 * util/getroot_unix.c (grub_util_check_char_device): ... here.
1837
9db826e1
VS
18382013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
1841 disk closing logic.
1842
49120085
AB
18432013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1844
1845 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
1846
b3328b68
AB
18472013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1848
1849 * docs/grub.texi (File name syntax): Document ZFS filenames
1850 (/volume@snapshot/...).
1851
3fff48ab
VS
18522013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
1855 Always return full path. Fixes a problem with mkrelpath.
1856
39cfdaa9
PFS
18572013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1858
1859 * util/grub-install.in: Add GPT PReP support.
1860 * util/grub-probe.c (probe): Support GPT partition type.
1861 (main): Support -t gpt_parttype.
1862
7c680e1f 18632013-09-23 Aleš Nesrsta <starous@volny.cz>
1864
1865 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
1866
890bdabe
MM
18672013-09-23 Massimo Maggi <me@massimo-maggi.eu>
1868
1869 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
1870
9c262ff9
TH
18712013-09-23 Tim Hardeck <thardeck>
1872
1873 * util/grub.d/10_hurd.in: Filter out character for the class.
1874 * util/grub.d/10_kfreebsd.in: Likewise.
1875 * util/grub.d/10_linux.in: Likewise.
1876 * util/grub.d/20_linux_xen.in: Likewise.
1877
d755342a
MC
18782013-09-23 Melki Christian <Christian.melki@saabgroup.com>
1879
1880 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
1881 "changed".
1882
68b77707
JT
18832013-09-23 Josh Triplett <josh@joshtriplett.org>
1884
1885 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
1886 boot partition.
1887
efa68bfa
VS
18882013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
1891 doesn't use posix_wrap. Keep literal -fno-builtin however.
1892
d9104204
VS
18932013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
1896
c248781a 18972013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
18982013-09-23 neil
1899
5830df88 1900 * configure.ac: Do not enable -Wmissing-noreturn as its
1901 usefulness is limited and creates problems on some OS notably with
1902 code generated by bison.
1903
19042013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
19052013-09-23 neil
1906
1907 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 1908 supported by all gcc and when it is, it's already enabled by -Wall.
1909
621bed69
VS
19102013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
1913 desactivated use of EDID at all.
1914
71764dc8 19152013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
19162013-09-23 neil
1917
1918 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
1919 video if no text is available.
1920
affce7d4 19212013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
19222013-09-23 neil
1923
1924 * configure.ac: Substitute TARGET_RANLIB.
1925
19262013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
19272013-09-23 neil
affce7d4
VS
1928
1929 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
1930
1931 Based on patches from AROS.
1932
0e8daad0 19332013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 19342013-09-23 neil
0e8daad0
VS
1935
1936 * grub-core/Makefile.am: Override STRIP and RANLIB.
1937 * configure.ac: compute TARGET_RANLIB.
1938 * INSTALL: Document TARGET_RANLIB
1939
1940 Based on patches from AROS.
1941
3f7d9c82
VS
19422013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
1945 that floppies are unpartitioned.
1946
bca8873a
VS
19472013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
1950 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
1951
19522013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
1955 less nice but more portable.
1956 * grub-core/lib/posix_wrap/wchar.h: Likewise.
1957
a47a78be
VS
19582013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
1961 for cheat_fd.
1962 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
1963 functions.
1964 (grub_cryptodisk_cheat_insert): Likewise.
1965 (grub_cryptodisk_close): Likewise.
1966
e85a5d5c
VS
19672013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
1970 Use windows path for DEFAULT_DIRECTORY.
1971
dad9fa6b
VS
19722013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
1975 difference was likely just gcc version, not anything mingw-related.
1976
7e518ca8
VS
19772013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 Use Winapi on both cygwin and mingw32 to share more code between both.
1980
d68d0157
AB
19812013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1982
1983 * util/grub-install.in: Add --grub-editenv option.
1984 * util/grub-install_header (grub_compress_file): Explicitly check for
1985 plain file to avoid cp error.
1986
775b284d
AB
19872013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1988
1989 * docs/grub.texi (Device syntax): Document new LVM UUID based device
1990 names; fix LVM driver name (lvm, not lv).
1991 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
1992 names.
1993
3ff4063d
VS
19942013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
1997 files rather than one file with loads of #if's.
1998 * util/getroot.c: Likewise.
1999
287faafe
VS
20002013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
2003
d1983764
VS
20042013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
2007 GNU/Hurd to the list of checked PRNG.
2008
15ce95c4
VS
20092013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2010
2011 * configure.ac: On FreeBSD use -melf_*_fbsd format.
2012
207862dd 20132013-09-21 Ales Nesrsta <starous@volny.cz>
2014
7c680e1f 2015 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 2016
63653cfd
VS
20172013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
2020 * grub-core/disk/lvm.c: Add LVM UUIDs.
2021 * util/getroot.c: Use LVM UUIDs whenever possible.
2022
f5d3e7ef
AB
20232013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
2024
2025 * docs/grub.texi (Networking commands): Add documentation for
2026 network related commands.
2027
53c6b7d6
VS
20282013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * util/getroot.c (grub_util_open_dm): Check major rather than the name
2031 to determine if device is handled by devmapper.
2032 (convert_system_partition_to_system_disk): Likewise.
2033 (get_dm_uuid): Don't check explicitly if device is mapped, it's
2034 already done in grub_util_open_dm.
2035
e70d6736
LL
20362013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
2037
2038 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
2039 Clean up stack manipulation (sync_caches_armv*)
2040
90379808
VS
20412013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * util/lvm.c: Remove since unused. Remove remaining references.
2044
386701a8
VS
20452013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 Handle the case of partitioned LVM properly.
2048
2049 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2050 Stop on meeting LVM, mpath or DMRAID.
2051 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
2052 (read_device_map): Likewise.
2053 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
2054 device is full disk rather than erroring out on LVM and similar cases.
2055
53070787
VS
20562013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
2059
1bc783bd
VS
20602013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
2063 4K before the end.
2064 Reported by: Leif Lindholm
2065
436ad5c3
PW
20662013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
20672013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
2070 codes.
2071
607319c9
CW
20722013-09-18 Colin Watson <cjwatson@ubuntu.com>
2073
2074 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
2075 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
2076
d404d154
DR
20772013-09-18 Douglas Ray <dougray@cpan.org>
2078
2079 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
2080 as secure.
2081
28851ef6
AN
20822013-09-18 Aleš Nesrsta <starous@volny.cz>
2083
2084 * docs/grub.texi: Fix broken link.
2085
897c3bc6
MC
20862013-09-18 Melki Christian <Christian.melki@saabgroup.com>
2087
2088 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
2089 to break endless loop.
2090
f1630459
VS
20912013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * util/grub-fstest.c: Fix several printf formats.
2094 * util/grub-mkimage.c: Likewise.
2095 * util/grub-mkimagexx.c: Likewise.
2096 * util/grub-script-check.c: Likewise.
2097
64463dfd
VS
20982013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
2101 error.
2102
48972495
VS
21032013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
2106
5dd5e64b
VS
21072013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
2110 removed in current versions cygwin_conv_*.
2111
1c1f31e5
VS
21122013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * configure.ac: Disable efiemu runtime on cygwin.
2115
c546a259
VS
21162013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
2119 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
2120
81690478
VS
21212013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
2124 error message.
2125
6b87c10a
VS
21262013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2127
2128 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
2129 windows variant.
2130 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
2131 data.
2132
8f0baaac
VS
21332013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
2136 when on x86 and not cygwin.
2137 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
2138 -Wl,-melf_x86_64.
2139
b224c266
VS
21402013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * configure.ac: Set CPP to build one when checkoing for freetype for
2143 build.
2144
506b336b
VS
21452013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
2148 [!GRUB_BUILD]: Remove has_argument.
2149
8c8c87b7
VS
21502013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
2153 Replace with a dummy.
2154
7dc5ca13
VS
21552013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * configure.ac: Don't change host_os from mingw to cygwin.
2158
c3302aa5
VS
21592013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * configure.ac: Change target_os from windows to cygwin.
2162
7b780018
VS
21632013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 Handle grub-pe2elf and grub-mkfont for cases when build != host.
2166
2167 * Makefile.am (build-grub-mkfont): Don't include gnulib.
2168 (build-grub-gen-asciih): Likewise.
2169 (build-grub-gen-widthspec): Likewise.
2170 * Makefile.util.def (grub-pe2elf): Remove.
2171 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
2172 * configure.ac: Separate tests for build.
2173 Move ./build-grub-pe2elf to grub-core.
2174 Fix typo.
2175 * grub-core/Makefile.am (build-grub-pe2elf): New target.
2176 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
2177 defined.
2178 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
2179 constants.
2180 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
2181 * util/grub-pe2elf.c: Simplify not to rely on getopt.
2182 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
2183
984cfd8a
VS
21842013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
2187 mingw32 as well based on grub_util_get_disk_size.
2188 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
2189 grub_util_get_fd_size.
2190 (sync): Removed.
2191 (fsync): Moved to ...
2192 * grub-core/kern/emu/misc.c (fsync): ... here.
2193
f82d79c9
VS
21942013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * include/grub/mm.h (grub_extend_alloc): Remove.
2197 * grub-core/loader/i386/pc/plan9.c: Use own version of
2198 grub_extend_alloc with appropriate types.
2199
fd7dd66d
VS
22002013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
2203
43ffba7c
VS
22042013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * util/getroot.c: Include sys/wait.h only when we need waitpid.
2207
3c7eac44
VS
22082013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 Fix dependencies on cygwin.
2211
2212 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
2213 dependencies when used and defined.
2214 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
2215
bdb5ba47
VS
22162013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
2219 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
2220
ed7fbf43
VS
22212013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
2224 implementation available to cause compile-time rather than runtime
2225 error.
2226
fc46e9fc
VS
22272013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * util/grub-fstest.c: Don't check for symlinks on windows.
2230
7f68269a
VS
22312013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * INSTALL: Mention unavailability of man pages when cross-compiling.
2234
8ed358e0
VS
22352013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
2238 and gcry_log_bug.
2239 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
2240
fc97214f
VS
22412013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * INSTALL: Document cross-compilation.
2244 * acinclude.m4: Determine whether nm support -P and --defined-only.
2245 * configure.ac: Add TARGET_ to all variables pertaining to target
2246 that don't have it yet.
2247 * gentpl.py: Likewise.
2248 * grub-core/Makefile.am: Likewise.
2249 * grub-core/genmod.sh.in: Likewise.
2250 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
2251 as well.
2252
ca1fb563
IB
22532013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
2254
2255 * configure.ac: Remove -Wempty-body. It's not essential and needs
2256 recent gcc.
2257
0031b229
IB
22582013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
2259
2260 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
2261 * util/getroot.c: Likewise.
2262
54ea2f44
VS
22632013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * grub-core/disk/ahci.c: Add needed explicit cast.
2266 * grub-core/lib/backtrace.c: Likewise.
2267 * grub-core/net/ip.c: Likewise.
2268 * grub-core/net/tcp.c: Likewise.
2269 * grub-core/net/udp.c: Likewise.
2270
3c601f8c
VS
22712013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
2274
1d679dda
VS
22752013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * util/import_gcry.py: Add final newline in visibility.h.
2278
00c28dd9
VS
22792013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * conf/Makefile.common: Fix typo.
2282
32af299a
VS
22832013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
2286
e733cf52
VS
22872013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 * Makefile.am (widthspec.h): Fix typo.
2290 * util/grub-gen-widthspec.c: Likewise.
2291
c6b066f2
VS
22922013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 Move ascii.h and widthspec.h generation to a separate build-time-only
2295 tool.
2296
ad1fe3f9 22972013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
2298
2299 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2300 Always fill bootdisk info and improve check for NetBSD disklabel.
2301
92a52dd4
VS
23022013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * conf/Makefile.extra-dist: Add util/bin2h.c.
2305 Reported by: floppym.
2306
b2e9d276
VS
23072013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
2310
7b966834
VS
23112013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * configure.ac: Disable unifont and starfield if no freetype was found.
2314
d5c1eef1
VS
23152013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
2318 on NetBSD and OpenBSD.
2319
66345b50 23202013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
2321
2322 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
2323
66345b50 23242013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
2325
2326 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
2327 reduced. Inheritant options are processed during the theme loading.
2328
66345b50 23292013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
2330
2331 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
2332
369508b3
AS
23332013-08-14 Avik Sil <aviksil@in.ibm.com>
2334
2335 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
2336
23372013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
2338
2339 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
2340 using qemu.
2341
6f27a3f6
PFS
23422013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2343
2344 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
2345 remove-potcdate.sed.
2346
c6ed362a
AB
23472013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2348
2349 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
2350 unused attribute from pull argument.
2351
5e7d9464
AB
23522013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2353
2354 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
2355 memory leak.
2356
dea55e2a
AB
23572013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2358
2359 * util/getroot.c (pull_lvm_by_command): add --separator option
2360 to vgs call to disable padding of output to 10 characters.
2361
f0b94ded
VS
23622013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
2365 here ...
2366 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
2367 here.
2368
b828fb5d
VS
23692013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
2372 length.
2373
7c9d0c39
VS
23742013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 Fix handling of build-time grub-bin2h and grub-mkfont when doing
2377 full Canadian cross. Tested with build=x86_64, host=arm,
2378 target=ppc-ieee1275.
2379
816719c8
VS
23802013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * configure.ac: Error if no $BUILD_CC could be found.
2383 Reported by: DevHC.
2384
2af2353b
VS
23852013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
2388 i386-multiboot.
2389
797abd0a
VS
23902013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
2393 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
2394
36e87d25
CW
23952013-08-13 Colin Watson <cjwatson@ubuntu.com>
2396
2397 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
2398 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
2399 falling back to the partition device, otherwise a later call to this
2400 function may fail spuriously.
2401 Reported by Axel Beckert. Fixes Debian bug #708614.
2402
273349fe
GS
24032013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
2404
2405 * autogen.sh: Replace find -not by the POSIX-compliant find !.
2406
418f86c6
GS
24072013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
2408
2409 Prevent shadowing of stdlib's devname(3) on BSD.
2410
2411 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
2412 and devlast to diskname and disklast, respectively.
2413
c137aea0
CW
24142013-08-11 Colin Watson <cjwatson@ubuntu.com>
2415
2416 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
2417
272dc8df 24182013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
2419
2420 * docs/grub.texi: Introduce terminal window position options:
2421 terminal-left: terminal window's left position
2422 terminal-top: terminal window's top position
2423 terminal-width: terminal window's width
2424 terminal-height: terminal window's height
2425 terminal-border: terminal window's border width
2426 * grub-core/gfxmenu/theme-loader.c: Likewise.
2427 * include/grub/gfxmenu_view.h: Likewise.
2428 * po/exlude.pot: Likewise.
2429 * grub-core/gfxmenu/view.c: Likewise.
2430 Also updated minimal window size.
2431 Also terminal_sanity_check function has been introduced.
272dc8df
VT
2432 * grub-core/tests/checksums.h: Update (terminal window height
2433 is adjusted now for low resolution screen)
b4743461 2434
748a4533
VS
24352013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
2438 position).
2439
fca5f944
VS
24402013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * po/exclude.pot: Add few recent exceptions.
2443
4f47d809
VS
24442013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * tests/grub_func_test.in: Add unicode.pf2.
2447
a62ae90c
VS
24482013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
2451 standard rather than noral color, in line with other terminals.
2452
4ed41392
VS
24532013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
2456 analysis.
2457
3719fbc5
VS
24582013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/loader/arm/linux.c: Change printf to dprintf.
2461
459b1d91
VS
24622013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
2465 inappropriate printf.
2466
f4e1ab9d
AB
24672013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
2468
2469 * .bzrignore: Remove grub-core/lib/dtc-grub,
2470 grub-core/Makefile.libfdt.def
2471 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
2472
fa471bfa
VS
24732013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * include/grub/video.h (grub_video_register): Keep double-linked as
2476 well as single-linked invariants.
2477 Reported by: qwertial.
2478
d65be02b
VS
24792013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * grub-core/commands/nativedisk.c (get_uuid): Handle
2482 GRUB_DISK_DEVICE_UBOOTDISK_ID.
2483
ba8bc620
VT
24842013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
2485
2486 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
2487 maximum of NW, N, NE heights instead of N's height and maximum of
2488 NW, W, SW widths instead of W's width. (So the box will be always
2489 correctly drawn)
2490
4f0ad029
GS
24912013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2492
2493 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
2494 Fix misuse of variable count.
2495
43d53b72
LL
24962013-07-18 Leif Lindholm <leif.lindholm@arm.com>
24972013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
24982013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 2499
43d53b72
LL
2500 New ports to arm-uboot and arm-efi.
2501 Mostly by Leif Lindholm with some additions from
2502 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 2503
88f8d146
VS
25042013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2505
2506 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
2507 and not before.
2508 Reported by: Leon Drugi.
2509
3f42504c
VS
25102013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
2513 Reported by: Paulo Flabiano Smorigo.
2514
d110499b
VT
25152013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
2516
2517 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
2518
a8674ad3
VT
25192013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
2520
2521 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
2522
286fe4b3
VS
25232013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2524
2525 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
2526
1bd57aa3
VS
25272013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
2530
7a87d69f
AB
25312013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
2532
2533 * grub-core/net/bootp.c: Export net_* variables.
2534 * grub-core/net/net.c: Likewise.
2535
b2182299
VS
25362013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
2539
795b3dc0
VS
25402013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
2543
68714c43
VS
25442013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
2547
af211bab
VS
25482013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
2551
0036f02d
MM
25522013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2553
2554 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
2555 <= 0.
2556
6d0ddff3
MM
25572013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2558
2559 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
2560 functions.
2561
038016f4
MM
25622013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2563
2564 * grub-core/fs/zfs/zfs_lz4.c: New file.
2565 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
2566
776bdce2
MM
25672013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2568
2569 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
2570
c71dbd40
MM
25712013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2572
2573 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
2574 (check_pool_label): Likewise.
2575 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
2576
25772013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
2578
2579 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
2580
8e67b50f
AB
25812013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2582
2583 * docs/grub.texi (Commands): Document postition parameters
2584 for menuentry command.
2585
f5ae3717
AB
25862013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2587
2588 * util/grub-mknetdir.in: Remove stray line from help output.
2589
9c28da2a
VS
25902013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 Remove early sm712 init as there is no reason for it (the "watchdog"
2593 effect was due to wrong GPIO map).
2594
139072b8
VS
25952013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/commands/pcidump.c: Remove static variables.
2598
c6a61bda
VS
25992013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 * grub-core/commands/sleep.c: Refresh screen before sleeping.
2602
51369614
VS
26032013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * configure.ac: Move delimiter after the infos.
2606
efa8640a
VS
26072013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
2610
6f80a7b2
VS
26112013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
2614 not filling whole 8x16 space.
2615
a2371e19
VS
26162013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
2619
64fce2d8
VS
26202013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * configure.ac: Indicate which liblzma is used if any.
2623
eb272d84
PW
26242013-06-21 Paul Wise <pabs3@bonedaddy.net>
26252013-06-21 Craig Sanders <savannah@taz.net.au>
2626
2627 * util/grub-reboot.in: Document submenu usage.
2628
a9e5abee
CW
26292013-06-25 Colin Watson <cjwatson@ubuntu.com>
2630
2631 * .bzrignore: Update with a number of new test-related files.
2632
e639c204
CW
26332013-06-25 Colin Watson <cjwatson@ubuntu.com>
2634
2635 * util/grub-script-check.c: Fail on scripts containing no
2636 commands, to guard against corrupted grub-mkconfig setups that
2637 produce no useful output.
2638 * tests/grub_script_no_commands.in: New test.
2639 * Makefile.util.def (grub_script_no_commands): Add.
2640 Reported by Hans Putter. Fixes Debian bug #713886.
2641
a4c89b17
AB
26422013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2643
2644 * grub-core/disk/diskfilter.c: Forgot to remove comment
2645 from previous commit.
2646
5b06b53c
AB
26472013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2648
2649 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2650 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
2651
702da5c9
AB
26522013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2653
2654 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
2655
aa62a5b7
AB
26562013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2657
2658 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
2659 rescan diskfilter devices until nothing new is found.
2660
4aa237c8
VS
26612013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 Fix casts when compiling coreboot-specific code for 64-bit EFI.
2664
93d8479b
VS
26652013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 Don't try to detect cbfs on *-emu.
2668
837222cc
VS
26692013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * grub-core/term/gfxterm.c: USe right background color when scrolling.
2672
99c971af
VS
26732013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 Add support for processed coreboot payload chainloading.
2676
e6930a45
VS
26772013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 Enable coreboot information commands even when not loaded as
2680 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
2681
5027af38
VS
26822013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 Support for cbfs. Also factor out the part which is common
2685 for all archives to a separate module. This splits tar from cpio
2686 as they are very different but keeps cpio, cpio_be, odc and newc
2687 together since they're very similar.
2688
a5b55c4b
DM
26892013-06-15 David Michael <fedora.dm0@gmail.com>
2690
2691 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
2692 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
2693
0301a8b3
VS
26942013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 * tests/grub_script_eval.in: Really add the eval test.
2697
3d84cb17
VS
26982013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 Move flavour-specific parts out of common cpio.c file and
2701 rename remaining to cpio_common.c
2702
593e430c
AB
27032013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2704
2705 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
2706 off new function grub_script_execute_new_scope. Change callers to use
2707 either of them as appropriate.
2708 * grub-core/commands/eval.c: New command eval.
2709 * docs/grub.texi (Commands): Document it.
2710
63c29849
AB
27112013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2712
2713 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
2714 to fetch values when listing.
2715
cc284112
AB
27162013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2717
2718 Fix make dist on non-pc.
2719
27202013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
2721
2722 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
2723 without a device name.
2724
69544d1e
VS
27252013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 Remove enable_executable_check as it's not needed anymore.
2728 Reported by: dougray.
2729
96dbe648
VS
27302013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
2733 ambigouos RAID before discovering RAIDs on top of it.
2734 Reported by: bodom.
2735
ccfc0bdb
VS
27362013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 Fix typo (failback vs fallback).
2739
f2587088
AB
27402013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
2741
2742 * util/grub.d/30_os-prober.in: Add support for probing EFI
2743 System Partition (as of os-prober 1.58).
2744
cec5cf0c
VS
27452013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * configure.ac: Add yet another path to unifont. For parabola.
2748
e40b4596
JT
27492013-05-30 Josh Triplett <josh@joshtriplett.org>
2750
2751 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
2752 handling to copy the killed characters to the kill buffer as
2753 UCS4 stored as grub_uint32_t rather than as 8-bit characters
2754 stored as char. Eliminates UCS4 truncation and corruption
2755 observed when killing characters with Ctrl-u and yanking them
2756 back with Ctrl-y.
2757
fc4c4fdd
VS
27582013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 Detach optional parts of gfxterm and integrate in with coreboot init.
2761
6570b205
VS
27622013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 Move blit and fill dispatcher to appropriate files to decrease export
2765 and relocation overhead.
2766
b8323067
VS
27672013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 * grub-core/font/font.c, include/grub/font.h: Inline simple font
2770 functions.
2771
3cc1878f
VS
27722013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * grub-core/Makefile.am: Fix compilation problem with some
2775 automake versions.
2776
4b80e43c
VS
27772013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
2780
57e0c20c
VS
27812013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
2784 automake versions.
2785
4fd42c53
VS
27862013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
2789 SSDT.
2790
1e908b34
RS
27912013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
2792
2793 * grub-core/partmap/dfly.c: New partition map.
2794
1359e474
VS
27952013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
2798 checking.
2799 Reported by: Francesco Lavra.
2800
17806392
AB
28012013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
2802
2803 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
2804 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
2805 false conditions.
2806 * conf/Makefile.common: define dist_grubconf_DATA
2807
cdce14fa
VS
28082013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 Progressively skip menu elements on small terminals rather
2811 than crashing.
2812
c8d6cc3c
VS
28132013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
2816 to avoid losing last column.
2817
a73b31ce
VS
28182013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2819
2820 * po/exclude.pot: Add missing string "%C".
2821
1202c764
VS
28222013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
2825 after the test.
2826
50268344
VS
28272013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 * util/grub-install.in: Gettextize "Not found" message.
2830
62b15edf
VS
28312013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 Fix distfiles list.
2834 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2835
28362013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
2837
2838 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
2839 present.
2840 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
2841
709ad61b
VS
28422013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
2845
d128901a
VS
28462013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
2849 attribute since structure is not necessarily aligned.
2850
34b22f5c
AB
28512013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
2852
2853 * docs/grub.texi (Device syntax): Clarify description of network
2854 drives.
2855
0f7e980b
VS
28562013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
2859 for vasprintf presence.
2860
30b03dc2
VS
28612013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 * util/grub-install.in: Handle efibootmgr presence check.
2864 Reported by: Leif Lindholm.
2865
0dc11c08
VS
28662013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
2869 new strings to translate.
2870
f8024c3f
VS
28712013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
2874 yet another string (pun intended) to translate.
2875
b4c1da62
VS
28762013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * po/POTFILES-shell.in: Autogenerate it.
2879
0ef7478b
VS
28802013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
2883
8200fa15
VS
28842013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
2887 misnomer.
2888
091945b2
AB
28892013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
2890
2891 * docs/grub.texi (Network): Add description of net_default_interface,
2892 net_default_ip and net_default_mac. Rewrite variables description
2893 to emphasize that they are per-interface.
2894
0e7b2e32
VS
28952013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 New test: cmdline and cat.
2898
16f7c8f6
VS
28992013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/commands/cat.c: Show UTF-8 characters.
2902
3e912fda
VS
29032013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * conf/Makefile.common: Poison float and double on non-emu.
2906
ee0220bc
VS
29072013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * configure.ac: Don't disable extended registers on emu.
2910
89e0240c
VS
29112013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 * configure.ac: Don't use extended registers on x86_64.
2914 Reported by: Peter Jones.
2915
e56d9637
VS
29162013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * grub-core/term/efi/console.c: Fix compile error.
2919
8098f655
VS
29202013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 Compressed HFS+ support.
2923
16940e07
VS
29242013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
2927 pixel".
2928
c5dbc13d
VS
29292013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 Menu color test.
2932
011f8ae8
VS
29332013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 * grub-core/tests/setjmp_test.c: New test.
2936
2aa072d7
VS
29372013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 New variables 'net_default_*' to determine MAC/IP of default interface.
2940
43fe02cb
VS
29412013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 * tests/gettext_strings_test.in: A test to check for strings not
2944 marked for translation.
2945
bed06142
VS
29462013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2947
2948 * autogen.sh: Exclude unused libgcrypt files from translation.
2949
fb2666b5
VS
29502013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 Simplify few strings.
2953
d22840ec
VS
29542013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 Mark few forgotten strings for translation.
2957
e34092fd
VS
29582013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
2961 rather than printf.
2962
47cf82b4
VS
29632013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
2966 rather than printf.
2967 * grub-core/video/readers/tga.c: Likewise.
2968
1eed0e6e
VS
29692013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * tests/priority_queue_unit_test.cc: New test.
2972
c5b7697b
VS
29732013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
2976 than printf.
2977
5945c2f8
AB
29782013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
2979
2980 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
2981 variable for one time boot menu entry.
2982
fa292343
B
29832013-05-05 Bean <bean123ch@gmail.com>
2984
2985 * grub-core/commands/testspeed.c: New command testspeed.
2986
310d4214
VS
29872013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 Factor-out human-size printing.
2990
85002bf3
VS
29912013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 Agglomerate more mallocs to speed-up gfxterm.
2994
22b06e96
VS
29952013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 Speed-up gfxterm by slightly agglomerating mallocs.
2998
b7c036bc
VS
29992013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 More video checks.
3002
92323d1f
VS
30032013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3004
3005 Speed-up gfxterm by saving intermediate results in index+alpha
3006 format.
3007
0fb356a3
VS
30082013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
3011 test.
3012
44dea3f9
VS
30132013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
3016 line of timeout as it may contain the rest of long line.
3017
14af86e4
VS
30182013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/normal/main.c: Fix freed memory dereference.
3021
03f7c8c3
VS
30222013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 Fix several memory leaks.
3025
c686014c
VS
30262013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
3029
0788a695
VS
30302013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
3033
daf01d61
VS
30342013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 Fix test -a and -o precedence.
3037 Reported by: adrian15.
3038
82ae74d7
VS
30392013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
3042
8cec7bd4
AB
30432013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
3044
3045 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
3046 and add it as source to functional_test module.
3047
aa73d688
VS
30482013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
3051
c104b6f9
VS
30522013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 New series of tests for gfxterm and gfxmenu.
3055
7391c4d5
VS
30562013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
3059 the theme path relative to $prefix/themes.
3060
cff50118
VS
30612013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
3064 Fix order bug.
3065 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
3066
7c332bdc
VS
30672013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
3070 descriptor.
3071
a4f9a5ff
VS
30722013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
3075 grub_gfxmenu_timeout_notifications.
3076 (grub_gfxmenu_view_destroy): Likewise.
3077
b5a2114d
VS
30782013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
3081
a8905e8a
VS
30822013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 Several fixes to ieee1275 and big-endian video.
3085
813c1622
VS
30862013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 Add missing exports on mips.
3089
3f3e7326
VS
30902013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
3093 if no unifont is found.
3094 Restore original keyboard.
3095
095accd1
VS
30962013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3099 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
3100
50361660
VS
31012013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 First automated video test (running videotest and comparing results)
3104
cd0f6eec
VS
31052013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
3108 instead of 2 to have full RGB/CMY test pattern.
3109
3f9634e5
VS
31102013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 Add few more tests.
3113
583e5b64
VS
31142013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 * include/grub/arc/arc.h: Account for missing "other" peripheral on
3117 ARCS. All users updated.
3118
aa7bcb99
VS
31192013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
3122
95ef1a54
VS
31232013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * grub-core/partmap/amiga.c: Fix size of checksummed block.
3126
46546fc5
VS
31272013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
3130 Reported by: qwertial.
3131
3476e0ef
VT
31322013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
3133
3134 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
3135 with syntax "XXX deg"/"XXX °".
3136
96f33fed
VS
31372013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 Make PCI init in i386-qemu port more robust.
3140
31412013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
3142
3143 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
3144 cached view is reused.
3145 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
3146 open boot menus.
3147
c53b4e67
VS
31482013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 Unify more code in grub-install_header.
3151
f7457fb2
VS
31522013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 Add few new tests.
3155
e2f27a8c
VS
31562013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 Enforce disabling of firmware disk drivers when native drivers kick in.
3159
ef9d8cd5
VS
31602013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 * grub-core/commands/nativedisk.c: Customize the list of modules on
3163 platform. Don't try to search for disks already using native drivers.
3164
f7bf6c31
VS
31652013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
3168 platforms.
3169
bdc4add8
VS
31702013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
3173 handling of variables containing backslash.
3174
e9e46c9a
VS
31752013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
3178 dereference.
3179 Reported by: qwertial.
3180
0e90dee8
VS
31812013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
3184
e0aacf24
VS
31852013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
3188 dereference.
3189 Reported by: qwertial.
3190
3c0003c3
VS
31912013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * docs/grub.texi: Add a comment about usefullness of nativedisk.
3194
adb7d667
VS
31952013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
3198
7cd0df84
VS
31992013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 New command `nativedisk'.
3202
02adbb93
VS
32032013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
3206 * grub-core/loader/i386/bsd.c: Likewise.
3207
9fb0fd4f
VS
32082013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
3211
bd69257a
VS
32122013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
3215 grub_get_unaligned16 rather than shifts.
3216
178c2764
VS
32172013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/kern/file.c: Use const char * rather than casting to
3220 non-const.
3221
eadfad24
VS
32222013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * grub-core/commands/probe.c: Add missing grub_device_close.
3225
9f73ebd4
VS
32262013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * INSTALL: Document linguas.sh.
3229
965fa829
VS
32302013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 Remove POTFILES.in and regenerate it in autogen.sh.
3233
d417ddc4
VS
32342013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 Move --directory/--override-directorry to grub-install_header and unify.
3237
f97ec546
VS
32382013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * grub-core/term/morse.c: Macroify dih and dah.
3241
b2d7470c
PFS
32422013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3243
3244 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
3245
141e2a78
VS
32462013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * grub-core/term/ns8250.c: Systematically probe ports by writing
3249 to SR before using them.
3250
1dd70ebd
PFS
32512013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3252
3253 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
3254 disks.
3255 (check_sas): Get sas_adress info.
3256
c796a107
VS
32572013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3258
3259 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
3260 ports.
3261
43168646
LD
32622013-04-27 Leon Drugi <eyak>
3263
3264 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
3265 BSS clearing.
3266
e7b8fd08
VS
32672013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 Core compression test.
3270
17f9fd29
VS
32712013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3272
3273 Implement grub_machine_get_bootlocation for ARC.
3274
dc2a6c8b
VS
32752013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 Improve AHCI detection and command issuing.
3278
f25a2ba6
VS
32792013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 Fix pseries test.
3282
a6393224
VS
32832013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 Make 'make check' work on emu.
3286
db99fbe8
VS
32872013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 Replace libcurses with our own vt100 handling for the ease of testing
3290 and decreasing prerequisites.
3291
b24ca7cd
VS
32922013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3293
3294 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
3295
63314aa4
VS
32962013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
3299 compile when not needed.
3300
c1b00fff
VS
33012013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 * tests/pseries_test.in: New test.
3304
f93e89ef
VS
33052013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 Add test to check that different boot mediums work.
3308
c4b456d3
VS
33092013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
3312 ofw limited ISO support.
3313
5fe67f39
VS
33142013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * configure.ac: Fix loongson conditional.
3317
7f63a64f
VS
33182013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 Enable mipsel-arc.
3321
b04b5990
VS
33222013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 Add serial on ARC platform.
3325
88d2f302
VS
33262013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
3329 commit.
3330
86eb23bc
VS
33312013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * tests/partmap_test.in: Add missing double semicolon.
3334
eec3bb75
VS
33352013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * util/grub-mkrescue.in: Fix loongson filename.
3338
e0810df3
VS
33392013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * util/grub-mkrescue.in: Move all files that don't have a location
3342 set in stone under /boot/grub. Use ISO hard links rather than copies
3343 to save some space.
3344
65a6b30b
VS
33452013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
3348 bogus SLOF values.
3349
6aff0107
VS
33502013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 Make check work on mips-arc.
3353
5e013e56
VS
33542013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 * util/grub-mkrescue.in: Alias sashARCS as sash.
3357
d1989e2e
VS
33582013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
3361 it's serial.
3362
1a25e72c
VS
33632013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * util/grub-install.in: Fix target fo qemu_mips.
3366 Fix extension on EFI.
3367
a59a9826
VS
33682013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
3371 in front of chosen entry to mark it even if highlighting is lost.
3372
1a40f80c
VS
33732013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
3376 gfxpayload=keep if cbfb is active.
3377
e343549c
VS
33782013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
3381
45fbd9a2
VS
33822013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 Add missing video ids to coreboot and ieee1275 video.
3385
ab1440bd
VS
33862013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 * util/grub-mkrescue.in: Add mips-arc support.
3389
cdeb8324
VS
33902013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
3393
8528c879
VS
33942013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 Move mips-arc link address. Previous link address was chosen
3397 in belief that RAM on SGI platforms grows down while in fact it
3398 grows up from an unusual base.
3399
17fca573
VS
34002013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
3403 Fix a type which prevented CD-ROM and floppy boot.
3404
d178788e
VS
34052013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 Support coreboot framebuffer.
3408
3409 * grub-core/video/i386/coreboot/cbfb.c: New file.
3410
fe4c3e7e
VS
34112013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
3414 detecting too small regions.
3415
ec2dd179
VS
34162013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
3419
872dac83
VS
34202013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
3423 Remove dprintf.
3424 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
3425
90ec4b7f
VS
34262013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
3429 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
3430 * grub-core/loader/powerpc/ieee1275/linux.c
3431 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
3432
f32555dd
VS
34332013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
3436 Look for /boot-rom as well as /rom/boot-rom.
3437
38649799
VS
34382013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
3441 handling when creating text_layer failed.
3442 * grub-core/video/video.c (grub_video_create_render_target):
3443 Set result to 0 on error.
3444 (grub_video_delete_render_target): Do not dereference NULL.
3445
aeace7f7
VS
34462013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
3449 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
3450 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
3451 (grub_linux_load64): Mask out 2 high bits.
3452
4eafa175
AB
34532013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
3454
3455 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
3456 more place.
3457
daaa64bd
VS
34582013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 Add support for pseries and other bootinfo machines to grub-mkrescue.
3461
3462 Tested by: Paulo Flabiano Smorigo.
3463
d0d2daa6
VS
34642013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * util/grub-mkrescue.in: Add GPT for EFI boot.
3467
b193e100
VS
34682013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
3471 It improves performance in qemu.
3472
a0f8f3ac
VS
34732013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * build-aux/snippet: Add missing gnulib files.
3476
284df0e2
AB
34772013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
3478
3479 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
3480
740201f3
AB
34812013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
3482
3483 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
3484
a7e03923
PJ
34852013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
34862013-04-15 Peter Jones <pjones@redhat.com>
3487
3488 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
3489 sectors.
3490 Based on patch by Peter Jones.
3491
25fc51a8
VS
34922013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 Fix DMRAID partition handling.
3495
88017d47
VS
34962013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * tests/grub_cmd_date.in: Skip on sparc64.
3499
fa7d914e
VS
35002013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
3503 firmware error messages.
3504
cbe57a48
VS
35052013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
3508 source and destination differ.
3509
21aecce0
VS
35102013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
3513 detection.
3514
25092d29
VS
35152013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
3518 match config-util.h to avoid warnings and increase compatibility.
3519
79451522 35202013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 35212013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
3522
3523 Add option to compress files on install/image creation.
3524
78b7d77b
VS
35252013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 * docs/grub-dev.texi: Rearrange menu to match the section order.
3528 Reported by: Bryan Hundven.
3529
cc2fa5ec
VS
35302013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
3533
b49fe879
VS
35342013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 Move GRUB out of system area when using xorriso 1.2.9 or later.
3537
5351da81
VS
35382013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 * tests/grub_cmd_date.in: Add missing exit 1.
3541
c9d586ea
VS
35422013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3543
3544 * tests/partmap_test.in: Skip on sparc64.
3545
3f729741
VS
35462013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 Support grub-shell on sparc64.
3549
8ca86b3a
VS
35502013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3551
3552 Support mkrescue on sparc64.
3553
aa1af9bb
VS
35542013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 Allow IEEE1275 ports on path even if it wasn't detected automatically.
3557 Needed on OpenBIOS due to incomplete device tree.
3558
ac4fea79
VS
35592013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3560
3561 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
3562 would be otherwise excluded.
3563
35642013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
3565
3566 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
3567 Inline name defines used only once.
3568
fe22b071
VS
35692013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 Fix memory leaks in ofnet.
3572 Reported by: Francesco Lavra.
3573
9d21381b
VS
35742013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 * docs/man/grub-glue-efi.h2m: Add missing file.
3577
07aec23c
VS
35782013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
3581
67ab8353
VS
35822013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 Better support Apple Intel Macs on CD.
3585
ba44ca6d
VS
35862013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 Replace stpcpy with grub_stpcpy in tools.
3589
bbdd6305
VS
35902013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 Handle Japanese special keys.
3593 Reported by: Hiroyuki YAMAMORI.
3594 Codes supplied by: Hiroyuki YAMAMORI.
3595
8573d302
VS
35962013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 * util/grub-mkimage.c: Document memdisk implying --prefix.
3599
d70dbab7
VS
36002013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
3603 much we can do about it anyway.
3604
51a4c3e3
AN
36052013-04-12 Aleš Nesrsta <starous@volny.cz>
3606
3607 Fix handling of split transfers.
3608
92c8f58d
VS
36092013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3610
3611 * grub-core/net/http.c: Fix bad free.
3612
b7d17a49
VS
36132013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
3616 than buffer size.
3617
a3d566d4
VS
36182013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 Disable partmap check on i386-ieee1275 due to openfirmware issues.
3621
a936af56
VS
36222013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * tests/util/grub-shell.in: Fix it on powerpc.
3625
51212234
VS
36262013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3627
3628 Turn off QEMU ACPI-way since new releases don't have shutdown port
3629 anymore.
3630
a21eec9e
VS
36312013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 * docs/grub.texi: Update coreboot status info.
3634
e3734b84
VS
36352013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3636
3637 * tests/grub_cmd_date.in: New test for datetime.
3638
f9d40055
VS
36392013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * tests/partmap_test.in: Fix missing qemudisk setting.
3642
dbc56d8f
VS
36432013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 Support i386-ieee1275 grub-mkrescue and make check on it.
3646
a79b8a15
VS
36472013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
3650 feature for it.
3651
48f39bb4
VS
36522013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
3655 GRUB_CMDLINE_XEN_DEFAULT.
3656 Reported by: Marc Warne (GigaTux) <gigatux>
3657
053cfcdd
VS
36582013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 Import new gnulib.
3661
93cd84df
VS
36622013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 Use ACPI shutdown intests as traditional port was removed.
3665
f4b1fa4f
AB
36662013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
3667
3668 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
3669 distinction.
3670
49818a59
VS
36712013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
3674 Fix few warining messages and leaks while on it.
3675
9277a306
AB
36762013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
3677
3678 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
3679 links under grub-core/lib/libgcrypt-grub/mpi.
3680
d5e2a158
VS
36812013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 Fix ia64-efi image generation on big-endian machines. Deduplicate
3684 some code while on it.
3685 Reported by: Leif Lindholm.
3686
18866643
AB
36872013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3688
3689 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
3690 as extra_dist.
3691
ca53deb8
AB
36922013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3693
3694 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
3695
d4c4b8e1
BH
36962013-04-08 Bryan Hundven <bryanhundven@gmail.com>
3697
3698 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
3699 texinfo-5.1.
3700
47043f95
VS
37012013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * grub-core/normal/term.c: Few more fixes for menu entry editor
3704 rendering.
3705 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3706
a3216068
VS
37072013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 * grub-core/normal/term.c: Few more fixes for menu entry editor
3710 rendering.
3711 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3712
21026747
AB
37132013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3714
3715 * conf/Makefile.extra-dist (EXTRA_DIST): Add
3716 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
3717
59624ca8
AB
37182013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3719
3720 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
3721 instead of hardcoding grub.mo.
3722
1f44478c
FN
37232013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
3724
3725 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
3726
eeada7b1
VS
37272013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
3730 grub-core/disk/geli.c.
3731
132867de
VS
37322013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 * util/grub-mkfont.c: Prefer enum to #define.
3735
de73de17
VS
37362013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
3739
1865baa7
VS
37402013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
3743
ce7d92a9
VS
37442013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
3747
52eab656
VS
37482013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
3751
98b23b95
VS
37522013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * include/grub/bsdlabel.h: Use enums.
3755
0467a5dd
VS
37562013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 Move GRUB_CHAR_BIT to types.h.
3759
16cc9f03
AB
37602013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3761
3762 * docs/grub.texi: Document more user commands.
3763
3152aecb
AB
37642013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3765
3766 * docs/grub.texi: Document menuentry --id option.
3767
c506fc30
FL
37682013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
3769
3770 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
3771
aa428238
VS
37722013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 Unify file copying setup across different install scripts. Add
3775 options for performing partial install.
3776
efe0cdda
PJ
37772013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
37782013-04-04 Peter Jones <pjones@redhat.com>
3779
3780 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
3781
f75835bd
VS
37822013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 Use TSC as a possible time source on i386-ieee1275.
3785
2cd5ce6c
VS
37862013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
3789 Init err.
3790
c9625630
VS
37912013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * util/grub-setup.c (setup): Handle some corner cases.
3794
be008941
VS
37952013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
3798
1a78d573
VS
37992013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3800
3801 * grub-core/commands/verify.c: Save verified file to avoid it being
3802 tampered with after verification was done.
3803
db8ff59f
VS
38042013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
3807 reported width by one to compensate for curesor algorithm problem.
3808
91bf46b1
VS
38092013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 Fix screen corruption in menu entry editor and simplify the code
3812 flow while on it.
3813
a7b1d693
AB
38142013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
3815
3816 * util/grub-mount.c (fuse_init): Return error if fuse_main
3817 failed.
3818
31df9ad8
FL
38192013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
3820
3821 * include/grub/elf.h: Add missing ARM relocation codes and fix
3822 existing ones.
3823
07f392eb
VT
38242013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3825
3826 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
3827
9efd73ec 38282013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
38292013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
3832 into account when calculating radius.
3833
38342013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
3835
3836 * grub-core/gfxmenu/view.c: Fix off-by-one error.
3837
4985ddaa
VT
38382013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3839
3840 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
3841
8c3635ff
RS
38422013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3843
3844 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
3845 missing closing bracket.
3846
74a35e69
RS
38472013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3848
3849 * INSTALL: Mention xorriso requirement.
3850
40f1c000
AB
38512013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
3852
3853 * grub-core/commands/verify.c: Fix hash algorithms values for
3854 the first three hashes - they start with 1, not with 0.
3855
e75fdee4
VS
38562013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
3859 Try terminating EFI services several times due to quirks in some
3860 implementations.
3861
33028f4c
CW
38622013-03-26 Colin Watson <cjwatson@ubuntu.com>
3863
3864 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
3865 skipping Event, Device, Processor, PowerRes, ThermalZone, and
3866 BankField extended opcodes.
3867 (get_sleep_type): Add minimal scope handling (just enough to
3868 handle setting the scope to the root path).
3869 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
3870 * include/grub/acpi.h: Add enumeration values for Event, Device,
3871 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
3872
33871a10
VT
38732013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
3874
3875 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
3876 memory leak.
3877
8990963a
VS
38782013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 * grub-core/disk/ahci.c: Give more time for AHCI request.
3881
daae8f9e
VS
38822013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
3885 command.
3886
6a7fb94b
VS
38872013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 Replace the region at 0 from coreboot tables to available in BSD
3890 memory map.
3891
ff99babd
VS
38922013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
3895 non-BIOS platforms.
3896
30d6b1b2
VS
38972013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
3900 platforms.
3901
6ccd0b31
VS
39022013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
3905 handling of multi-device filesystems.
3906
23c9cc04
VS
39072013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
3910 platforms.
3911
ce50dbd7
VS
39122013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 Add new 'proc' filesystem framework and put luks_script into it.
3915
d975e8d5
VS
39162013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
3919 and qemu.
3920
e73ba5e8
VS
39212013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
3924
92750e4c
VS
39252013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 Add ability to generate newc additions on runtime.
3928
0ec45a68
VS
39292013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3930
3931 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
3932 description.
3933
320abd43
VS
39342013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * po/POTFILES.in: Regenerate.
3937
d7a6506e
VS
39382013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * grub-core/commands/verify.c (hashes): Add several hashes
3941 from the spec.
3942
8fe05def
VS
39432013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 Slight improve in USB-related boot-time checkpoints.
3946
524e2766
VS
39472013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * grub-core/commands/boottime.c: Fix copyright header.
3950
cc19857a
VS
39512013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
3954 coreboot tables content. Support for cbmemc.
3955
ef8810e9
VS
39562013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 Fix a conflict between ports structures with 2 controllers of
3959 same kind.
3960
e9dabdfa
VS
39612013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 * include/grub/boottime.h: Add missing file.
3964
f6df57d2
VS
39652013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 Initialize USB ports in parallel to speed-up boot.
3968
d745dda7
VS
39692013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 Fix USB devices not being detected when requested
3972 due to delayed attach.
3973
e5a2dd7b
VS
39742013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3975
e744219b
VS
3976 Implement boot time analysis framework.
3977
39782013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
3981 descriptor to just receive it as argument rather than endpoint
3982 address.
3983
5dd6f587
VS
39842013-03-19 Aleš Nesrsta <starous@volny.cz>
3985
3986 Better estimate the maximum USB transfer size.
3987
2f1071d5
VS
39882013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 Resend a packet if we got the wrong buffer in status.
3991
46ecfc49
VS
39922013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
3995 multiplication rather than division.
3996
ea811130
VS
39972013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
4000 than divisions.
4001
d2789cf0
VS
40022013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
4005 operations to have intended shifts and not divisions.
4006
a9c94590
VS
40072013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
4010 intended shifts rather than division.
4011
84cfe81b
VS
40122013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
4015 computation for some years before epoch. Avode confusing division
4016 while on it.
4017
21344ef6
VS
40182013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * grub-core/video/i386/pc/vbe.c
4021 (grub_video_vbe_print_adapter_specific_info): Replace division by
4022 shifts.
4023
3f2b4d1a
VS
40242013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 Adjust types in gdb module to have intended unsigned shifts rather than
4027 signed divisions.
4028
3dac5878
VS
40292013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
4032 maximum size is 4G - 1 on hfs
4033
5341c0fb
VS
40342013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
4037
fc3ff2a2
VS
40382013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
4041 function.
4042
81455e8e
AB
40432013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
4044
4045 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
4046 causing gcc error with gcc 4.7.1.
4047
efd4f117
NZ
40482013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
4049
4050 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
4051 dereference null pointer. While the code is technically correct, gcc
4052 may eliminate a null check if pointer is already dereferenced.
4053
e11645f4
NZ
40542013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
4055
4056 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
4057 OOM check.
4058 * grub-core/normal/term.c (read_terminal_list): Likewise.
4059
77468368
VS
40602013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 Lift up core size limits on some platforms. Fix potential memory
4063 corruption with big core on small memory systems. Document remaining
4064 limits.
4065
f6b58fe5
VS
40662013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
4069 gotoxy to 0,0.
4070
19ce697d
VS
40712013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4072
4073 Remove all trampoline support. Add -Wtrampolines when
4074 present. Remove symbols used for trampolines to make
4075 link fail if trampolines are present.
4076
73b5d90f
VS
40772013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
4080 append out of its parent.
4081
cb758e96
VS
40822013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
4085 parent.
4086
3188131f
VS
40872013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
4090 all vars to a macro. All users updated.
4091
e42b2514
VS
40922013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 * grub-core/disk/ieee1275/nand.c: Fix compilation on
4095 i386-ieee1275.
4096
83e1a1a1
VS
40972013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
4100
1d5a880f
VS
41012013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
4104
6e4146c4
VS
41052013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 Move to more hookless approach in IEEE1275 devices handling.
4108
99fcda8a
VS
41092013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4110
4111 * grub-core/kern/term.c (grub_term_normal_color),
4112 (grub_term_highlight_color): Add back lost defaults.
4113
73bf57e2
VS
41142013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4115
4116 Make elfload not use hooks. Opt for flags and iterators instead.
4117
7f8c105f
VS
41182013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
4121 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
4122
396d4091
VS
41232013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 * grub-core/script/execute.c (gettext_append): Remove nested functions.
4126
41272013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
4130 hook pass-through parameter. All users updated and unnested.
4131
74a27421
VS
41322013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4133
4134 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
4135 out of its parent.
4136
b46d4213
VS
41372013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 * grub-core/fs/hfs.c: Remove nested functions.
4140
e114c3cc
VS
41412013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4142
4143 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
4144 the context through.
4145 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
4146
f9b7d780
VS
41472013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * util/grub-editenv.c (list_variables): Move print_var out of its
4150 parent.
4151
ca9c2608
VS
41522013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
4155 function.
4156
5d983f5f
VS
41572013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * grub-core/gentrigtables.c: Make tables const.
4160
3056d3e7
VS
41612013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 Remove nested functions from videoinfo iterators.
4164
e2303774
VS
41652013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
4168 for 64-bit platforms.
4169
f42e3a2f
VS
41702013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
4173 a FOR_CHILDREN macro.
4174
be174e5e
VS
41752013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
4178 platform from firmware path.
4179
0789b672
VS
41802013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 Enable linux16 on non-BIOS systems for i.a. memtest.
4183
4184 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
4185 correctly.
4186 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
4187
005a9c32
VS
41882013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
4191 Fix end of table condition.
4192
ff2b3cd9
VS
41932013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
4196 out of its parent.
4197
4fc40ff8
VS
41982013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 * grub-core/fs/jfs.c: Remove nested functions.
4201
be42d97a
VS
42022013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 * grub-core/fs/minix.c: Remove nested functions.
4205
99373ce4
VS
42062013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * grub-core/fs/iso9660.c: Remove nested functions.
4209
5aec2afe
VS
42102013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
4213 of parent function.
4214
6c69e691
VS
42152013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * util/grub-fstest.c: Remove nested functions.
4218
43c91882
VS
42192013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * grub-core/loader/machoXX.c: Remove nested functions.
4222
4eb8b756
CW
42232013-02-27 Colin Watson <cjwatson@ubuntu.com>
4224
4225 Remove nested functions from disk and file read hooks.
4226
4227 * include/grub/disk.h (grub_disk_read_hook_t): New type.
4228 (struct grub_disk): Add read_hook_data member.
4229 * include/grub/file.h (struct grub_file): Likewise.
4230 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
4231 argument.
4232
4233 Update all callers.
4234
df6da5a5
AB
42352012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
4236
4237 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
4238 Fix off by one error in enumerating extended partitions.
4239
21aecde5
AB
42402013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
4241
4242 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
4243 memory leak if device name is not found.
4244
f1a19118
AB
42452013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4246
4247 * grub-core/normal/menu_entry.c (update_screen): remove
4248 unused variable `off' which caused scroll down arrow to be always shown.
4249
958bfd20
AB
42502013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4251
4252 * grub-core/normal/menu_entry.c (insert_string): fix off by one
4253 access to unallocated memory.
4254
b7b78edb
AB
42552013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4256
4257 * Makefile.util.def: Add partmap/msdos.c to common library.
4258 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
4259 * grub-core/disk/ldm.c: Check for existence of
4260 GRUB_PC_PARTITION_TYPE_LDM.
4261
28d468d6
VS
42622013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
4265 sizes and display sector size.
4266
d55ffb02
VS
42672013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 Implement new command cmosdump.
4270
b5ea6ce0
VS
42712013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4272
4273 Support Openfirmware disks with non-512B sectors.
4274
4275 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
4276 size of the disk.
4277 * (grub_ofdisk_get_block_size): New function.
4278 * (grub_ofdisk_prepare): Use the correct block size.
4279 * (grub_ofdisk_read): Likewise.
4280 * (grub_ofdisk_write): Likewise.
4281 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
4282 New proto.
4283
cc0e476f
VS
42842013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
4287
c5dbdc33
VS
42882013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
4291 on first error.
4292
3f078c0f
VS
42932013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
4296 freeing it.
4297
66a93674
VS
42982013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 Implement USBDebug (full USB stack variant).
4301
c9f0c134
VS
43022013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
4305 unless they have unexpected values.
4306
cfe1288b
VS
43072013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
4310 grub_print_error.
4311
e42b9969
VS
43122013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
4315 zero-out of port structure.
4316
cf94fd62
VS
43172013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
4320 of extended attributes.
4321
f81ef4b5
AB
43222013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
4323
4324 * util/grub-install.in: change misleading comment about
4325 device.map creation
4326
af18fdb4
VS
43272013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
4330 when menu highlight color isn't set.
4331
08bcec50
M
43322013-01-27 C. Masloch <pushbx@38.de>
4333
4334 Improve FreeDOS direct loading support compatibility.
4335
4336 * include/grub/i386/relocator.h (grub_relocator16_state):
4337 New member ebp.
4338 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
4339 variable.
4340 (grub_relocator16_boot): Handle %ebp.
4341 * grub-core/lib/i386/relocator16.S: Likewise.
4342 * grub-core/loader/i386/pc/freedos.c:
4343 Load BPB to pass kernel which partition to load from.
4344 Check that kernel file is not too large.
4345 Set register dl to BIOS unit number as well.
4346
7782b8a6
CW
43472013-01-22 Colin Watson <cjwatson@ubuntu.com>
4348
4349 * util/grub-reboot.in (usage): Document the need for
4350 GRUB_DEFAULT=saved.
4351 * util/grub-set-default.in (usage): Likewise.
4352 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
4353
e661c180
VS
43542013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
4357 than defining WORDS_BIGENDIAN manually.
4358
1c22ca9a
VS
43592013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
4362 invariants.
4363
d44892fe
CW
43642013-01-21 Colin Watson <cjwatson@ubuntu.com>
4365
4366 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
4367 nested.
4368 (blit_comb: add_device_width): Likewise.
4369
5fdbaed1
CW
43702013-01-21 Colin Watson <cjwatson@ubuntu.com>
4371
4372 Remove nested functions from USB iterators.
4373
4374 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
4375 (grub_usb_controller_iterate_hook_t): Likewise.
4376 (grub_usb_iterate): Add hook_data argument.
4377 (grub_usb_controller_iterate): Likewise.
4378 (struct grub_usb_controller_dev.iterate): Likewise.
4379
4380 Update all implementations and callers.
4381
4250985a
VS
43822013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
4385 margin when not needed.
4386
7d8848f3
VS
43872013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4388
bc136973 4389 Make color variables global instead of it being per-terminal.
7d8848f3
VS
4390
43912013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4392
bc136973
VS
4393 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
4394 asterisk.
7d8848f3 4395
ed12a003
CW
43962013-01-21 Colin Watson <cjwatson@ubuntu.com>
4397
4398 Fix powerpc and sparc64 build failures caused by un-nesting memory
4399 map iterators.
4400
6a0db449
CW
44012013-01-21 Colin Watson <cjwatson@ubuntu.com>
4402
4403 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
4404 parameter declarations.
4405
ccd86b21
VS
44062013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4407
4408 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
4409
822b726b
VS
44102013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 Improve spkmomdem reliability by adding a separator between bytes.
4413
115c2cc1
CW
44142013-01-21 Colin Watson <cjwatson@ubuntu.com>
4415
4416 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
4417 an Acer registration utility with several sightings in the wild.
4418 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
4419
fc524edf
CW
44202013-01-21 Colin Watson <cjwatson@ubuntu.com>
4421
4422 Remove nested functions from filesystem directory iterators.
4423
4424 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
4425 (struct grub_fs.dir): Add hook_data argument.
4426
4427 Update all implementations and callers.
4428
53d3e4e3
CW
44292013-01-21 Colin Watson <cjwatson@ubuntu.com>
4430
4431 * docs/grub.texi (Multi-boot manual config): Fix typo for
4432 "recommended".
4433
c821711f
LL
44342013-01-20 Leif Lindholm <leif.lindholm@arm.com>
4435
4436 * util/grub-mkimage.c (main): Postpone freeing arguments.output
4437 until after its use in generate_image.
4438
6a0debbd
CW
44392013-01-20 Colin Watson <cjwatson@ubuntu.com>
4440
4441 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
4442 initrd size to addr_min, since the initrd will be allocated after
4443 this address.
4444
f41e08db
AB
44452013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
4446
4447 * conf/Makefile.common: Fix autogen rules to pass definition
4448 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
4449
77529e0f
LL
44502013-01-20 Leif Lindholm <leif.lindholm@arm.com>
4451
4452 * include/grub/elf.h: Update ARM definitions based on binutils.
4453
b879aa7b
VS
44542013-01-20 Aleš Nesrsta <starous@volny.cz>
4455
4456 Split long USB transfers into short ones.
4457
8eb8284d
AB
44582013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
4459
4460 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
4461 is interrupted by ESC.
4462
08dad2dc
VS
44632013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * util/grub-script-check.c (main): Uniform the error message.
4466
6c724b85
CW
44672013-01-20 Colin Watson <cjwatson@ubuntu.com>
4468
4469 Remove nested functions from ELF iterators.
4470
25239370
CW
44712013-01-20 Colin Watson <cjwatson@ubuntu.com>
4472
4473 Remove nested functions from device iterators.
4474
4475 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
4476 (grub_arc_iterate_devs): Add hook_data argument.
4477 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
4478 (struct grub_ata_dev.iterate): Add hook_data argument.
4479 * include/grub/device.h (grub_device_iterate_hook_t): New type.
4480 (grub_device_iterate): Add hook_data argument.
4481 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
4482 (struct grub_disk_dev.iterate): Add hook_data argument.
4483 (grub_disk_dev_iterate): Likewise.
4484 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
4485 Likewise.
4486 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
4487 Likewise.
4488 * include/grub/partition.h (grub_partition_iterate_hook_t): New
4489 type.
4490 (struct grub_partition_map.iterate): Add hook_data argument.
4491 (grub_partition_iterate): Likewise.
4492 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
4493 (struct grub_scsi_dev.iterate): Add hook_data argument.
4494
4495 Update all callers.
4496
6c0314d6
CW
44972013-01-20 Colin Watson <cjwatson@ubuntu.com>
4498
4499 Fix typos for "developer" and "development".
4500
600dc5f1
VS
45012013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 Add license header to spkmodem-recv.c.
4504
17334a6b
VS
45052013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 Rewrite spkmodem to use PIT for timing. Double the speed.
4508
7d462559
VS
45092013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4510
4511 Add new command pcidump.
4512
b78d6c32
VS
45132013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 New terminal outputs using serial: morse and spkmodem.
4516
34f71cb8
VS
45172013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 Improve bidi handling in entry editor.
4520
4542e71b
VS
45212013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4524 argument to prevent name collision.
4525
09fd6d82
CW
45262013-01-15 Colin Watson <cjwatson@ubuntu.com>
4527
4528 Remove nested functions from script reading and parsing.
4529
4530 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
4531 getline_data argument, passed to getline.
4532 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
4533 getline_data argument, passed to grub_parser_split_cmdline.
4534 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
4535 lexerstate->getline_data to lexerstate->getline.
4536 (grub_script_lexer_init): Add getline_data argument, saved in
4537 lexerstate->getline_data.
4538 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
4539 argument, passed to grub_script_parse.
4540 * grub-core/script/script.c (grub_script_parse): Add getline_data
4541 argument, passed to grub_script_lexer_init.
4542 * include/grub/parser.h (grub_parser_split_cmdline): Update
4543 prototype. Update all callers to pass appropriate getline data.
4544 (struct grub_parser.parse_line): Likewise.
4545 (grub_rescue_parse_line): Likewise.
4546 * include/grub/reader.h (grub_reader_getline_t): Add void *
4547 argument.
4548 * include/grub/script_sh.h (struct grub_lexer_param): Add
4549 getline_data member.
4550 (grub_script_parse): Update prototype. Update all callers to pass
4551 appropriate getline data.
4552 (grub_script_lexer_init): Likewise.
4553 (grub_normal_parse_line): Likewise.
4554
4555 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
4556 data argument.
4557 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
4558 static instead of nested. Rename to ...
4559 (grub_parser_execute_getline): ... this.
4560 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
4561 data argument.
4562 * grub-core/normal/main.c (read_config_file: getline): Make static
4563 instead of nested. Rename to ...
4564 (read_config_file_getline): ... this.
4565 (grub_normal_read_line): Add unused data argument.
4566 * grub-core/script/execute.c (grub_script_execute_sourcecode:
4567 getline): Make static instead of nested. Rename to ...
4568 (grub_script_execute_sourcecode_getline): ... this.
4569 * util/grub-script-check.c (main: get_config_line): Make static
4570 instead of nested.
4571
d0d4b8a0
CW
45722013-01-15 Colin Watson <cjwatson@ubuntu.com>
4573
4574 Remove nested functions from memory map iterators.
4575
4576 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
4577 argument, passed to hook.
4578 * grub-core/kern/i386/coreboot/mmap.c
4579 (grub_linuxbios_table_iterate): Likewise.
4580 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
4581 instead of nested.
4582 (grub_machine_mmap_iterate): Add hook_data argument.
4583 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
4584 Add hook_data argument, passed to hook.
4585 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
4586 Likewise.
4587 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4588 Likewise.
4589 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
4590 Likewise.
4591 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
4592 Likewise.
4593 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
4594 Likewise.
4595 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
4596 Likewise.
4597 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
4598 (grub_machine_mmap_iterate): Likewise.
4599 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
4600 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
4601 prototype.
4602 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
4603 Remove NESTED_FUNC_ATTR from here and from all users.
4604 (grub_mmap_iterate): Update prototype.
4605 (grub_efi_mmap_iterate): Update prototype. Update all callers to
4606 pass appropriate hook data.
4607 (grub_machine_mmap_iterate): Likewise.
4608
4609 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
4610 static instead of nested.
4611 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
4612 Rename to ...
4613 (lsmmap_hook): ... this.
4614 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
4615 Likewise.
4616 (grub_efiemu_mmap_fill: fill_hook): Likewise.
4617 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
4618 heap_init): Likewise.
4619 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
4620 Rename to ...
4621 (mmap_iterate_hook): ... this.
4622 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
4623 Likewise.
4624 * grub-core/lib/ieee1275/relocator.c
4625 (grub_relocator_firmware_get_max_events: count): Likewise.
4626 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
4627 to ...
4628 (grub_relocator_firmware_fill_events_iter): ... this.
4629 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
4630 hook): Likewise. Rename to ...
4631 (grub_relocator_alloc_chunk_align_iter): ... this.
4632 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
4633 Rename to ...
4634 (generate_e820_mmap_iter): ... this.
4635 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
4636 Rename to ...
4637 (count_hook): ... this.
4638 (grub_linux_boot: hook): Likewise. Rename to ...
4639 (grub_linux_boot_mmap_find): ... this.
4640 (grub_linux_boot: hook_fill): Likewise. Rename to ...
4641 (grub_linux_boot_mmap_fill): ... this.
4642 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
4643 hook): Likewise. Rename to ...
4644 (grub_fill_multiboot_mmap_iter): ... this.
4645 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
4646 hook): Likewise. Rename to ...
4647 (count_hook): ... this.
4648 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
4649 hook): Likewise. Rename to ...
4650 (grub_fill_multiboot_mmap_iter): ... this.
4651 * grub-core/loader/powerpc/ieee1275/linux.c
4652 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
4653 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
4654 Likewise. Rename to ...
4655 (alloc_phys_choose): ... this.
4656 (determine_phys_base: get_physbase): Likewise.
4657 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
4658 find_hook): Likewise.
4659 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
4660 (malloc_hook: count_hook): Likewise.
4661 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
4662 Likewise. Rename to ...
4663 (lower_hook): ... this.
4664 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4665 (upper_hook): ... this.
4666 (grub_mmap_get_post64: hook): Likewise. Rename to ...
4667 (post64_hook): ... this.
4668 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
4669 Likewise. Rename to ...
4670 (lower_hook): ... this.
4671 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4672 (upper_hook): ... this.
4673 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
4674 (grub_mmap_iterate: fill_hook): Likewise.
4675 (fill_mask): Pass addr and mask within a single struct.
4676 (grub_cmd_badram: hook): Make static instead of nested. Rename
4677 to ...
4678 (badram_iter): ... this.
4679 (grub_cmd_cutmem: hook): Likewise. Rename to ...
4680 (cutmem_iter): ... this.
4681
22099030
VS
46822013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
4685 delimit path in strings using quotes.
4686 * util/getroot.c (grub_guess_root_devices): Likewise.
4687 (grub_make_system_path_relative_to_its_root): Likewise.
4688 * util/grub-probe.c (probe): Likewise.
4689 * util/ieee1275/ofpath.c (find_obppath): Likewise.
4690 (xrealpath): Likewise.
4691
4a9950ec
VS
46922013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 Fix compilation with older compilers.
4695
4696 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
4697 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
4698 declarations.
4699 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
4700 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
4701 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
4702 identifier with b.
4703 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
4704 * include/grub/crypto.h: Add type defines.
4705 * util/import_gcrypth.sed: Remove duplicate type defines.
4706
adcc6020
VS
47072013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 New command list_trusted.
4710
4711 * grub-core/commands/verify.c (grub_cmd_list): New function.
4712
a4528937
CW
47132013-01-13 Colin Watson <cjwatson@ubuntu.com>
4714
4715 * util/grub-mkimage.c (generate_image): Fix "size of public key"
4716 info message.
4717
ca3a7446
CW
47182013-01-13 Colin Watson <cjwatson@ubuntu.com>
4719
4720 Remove nested functions from PCI iterators.
4721
4722 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
4723 passed to hook. Update all callers to pass appropriate hook data.
4724 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
4725 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
4726 Remove NESTED_FUNC_ATTR from here and from all users.
4727 (grub_pci_iterate): Update prototype.
4728 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
4729 instead of nested. Rename to ...
4730 (grub_cs5536_find_iter): ... this.
4731 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
4732 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
4733 Likewise.
4734 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
4735 Likewise.
4736 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
4737 Likewise.
4738 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
4739 Likewise.
4740 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
4741 * grub-core/video/radeon_fuloong2e.c
4742 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
4743 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
4744 find_card): Likewise.
4745 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
4746 Likewise.
4747
f8e98fee
VS
47482013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 * grub-core/commands/verify.c: Mark messages for translating.
4751
055b36b6
VS
47522013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4753
4754 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
4755 fatal.
4756
f7ff879b
VS
47572013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
4760 fatal.
4761
47622013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
4763
4764 * autogen.sh: Do not try to delete nonexistant files.
4765 * util/import_gcrypth.sed: Add some missing header removals.
4766
01323d49
CW
47672013-01-12 Colin Watson <cjwatson@ubuntu.com>
4768
4769 Clean up dangling references to grub-setup.
4770 Fixes Ubuntu bug #1082045.
4771
4772 * docs/grub.texi (Images): Refer generally to grub-install rather
4773 than directly to grub-setup.
4774 (Installing GRUB using grub-install): Remove direct reference to
4775 grub-setup.
4776 (Device map) Likewise.
4777 (Invoking grub-install): Likewise.
4778 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
4779 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
4780 * util/grub-install.in (usage): Likewise.
4781
4782 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
4783 Apply to grub-bios-setup and grub-sparc64-setup rather than to
4784 grub-setup.
4785 * configure.ac: Remove grub_setup output variable.
4786
4787 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
4788 to grub-bios-setup.
4789 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
4790 grub-setup to grub-sparc64-setup.
4791
5e3b8dcb
VS
47922013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 Import gcrypt public-key cryptography and implement signature checking.
4795
535714bd
VS
47962013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * grub-core/fs/ntfs.c: Ue more appropriate types.
4799 * grub-core/fs/ntfscomp.c: Likewise.
4800 * include/grub/ntfs.h: Likewise.
4801
3e4f3566
VS
48022013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 Support Apple FAT binaries on non-Apple platforms.
4805
4806 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
4807 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
4808 Likewise.
4809 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
4810 Apple FAT binaries.
4811
4dedb13f
VS
48122013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
4815 sector devices.
4816
f8861eaf
CW
48172013-01-07 Colin Watson <cjwatson@ubuntu.com>
4818
4819 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
4820 explicitly zeroing elements.
4821 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
4822 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
4823 of elements in a structure already allocated using grub_zalloc.
4824 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
4825
86065b0a
CW
48262013-01-07 Colin Watson <cjwatson@ubuntu.com>
4827
4828 * docs/grub.texi (grub_cpu): New subsection.
4829 (grub_platform): Likewise.
4830
c6f1e92f
VS
48312013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
4834
f797ec85
VS
48352013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4836
4837 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
4838 divisions.
4839
033d0b4b
VS
48402013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
4843 * grub-core/fs/ntfscomp.c: Likewise.
4844 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
4845 (grub_ntfs_comp): Likewise.
4846
21d1b9a0
VS
48472013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
4850 Rename to ...
4851 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
4852 of groups_per_block. All users updated.
4853
10ca8645
VS
48542013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
4857 grub_error properly.
4858 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
4859 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
4860
a4c3ed4c
VS
48612013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4862
4863 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
4864 always in /boot/zfs.
4865 Reported by: Yuta Satoh.
4866
0b716507
YS
48672013-01-03 Yuta Satoh <nigoro>
4868
4869 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
4870 ${grub_probe}
4871
00c05e22
VS
48722013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * configure.ac: Extend -Wno-trampolines to host.
4875
dadddb76
VS
48762013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
4879 entry->len = 0.
4880
54ce53ca
CW
48812013-01-03 Colin Watson <cjwatson@ubuntu.com>
4882
4883 * docs/grub.texi (Invoking grub-mkrelpath): New section.
4884 (Invoking grub-script-check): Likewise.
4885
8912efca
CW
48862013-01-03 Colin Watson <cjwatson@ubuntu.com>
4887
4888 * docs/grub.texi (Invoking grub-mount): New section.
4889 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
4890
c3fc8394
CW
48912013-01-02 Colin Watson <cjwatson@ubuntu.com>
4892
4893 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
4894 test failures, so that a failing unit test correctly causes 'make
4895 check' to fail.
4896
45d26abb
CW
48972013-01-02 Colin Watson <cjwatson@ubuntu.com>
4898
4899 Fix failing printf test.
4900
4901 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
4902 '$' in the correct order when collecting type information.
4903
971dd2c6
CW
49042013-01-02 Colin Watson <cjwatson@ubuntu.com>
4905
4906 * docs/grub.texi (configfile): Explain environment variable
4907 handling.
4908 (source): New section.
4909 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
4910
5c67ea6c
CW
49112012-12-31 Colin Watson <cjwatson@ubuntu.com>
4912
4913 Remove several trivially-unnecessary uses of nested functions.
4914
4915 * grub-core/commands/i386/pc/sendkey.c
4916 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
4917 instead of nested.
4918 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
4919 Rename to ...
4920 (legacy_file_getline): ... this.
4921 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
4922 Likewise.
4923 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
4924 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
4925 to ...
4926 (probe_dummy_iter): ... this.
4927 * grub-core/kern/i386/coreboot/mmap.c
4928 (grub_linuxbios_table_iterate: check_signature): Likewise.
4929 * grub-core/kern/parser.c (grub_parser_split_cmdline:
4930 check_varstate): Likewise. Mark inline.
4931 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
4932 an additional parameter.
4933 (find_long: fnd_long): Likewise. Pass two additional parameters.
4934 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
4935 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
4936 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
4937 Likewise. Rename to ...
4938 (grub_cmos_find_port_iter): ... this.
4939 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
4940 Rename to ...
4941 (find_rtc_iter): ... this.
4942
4943 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
4944 function directly into the function body, since it is only called
4945 once.
4946
33a68ac6
CW
49472012-12-30 Colin Watson <cjwatson@ubuntu.com>
4948
4949 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
4950 __attribute__ ((unused)).
4951 * grub-core/video/bochs.c (find_card): Likewise.
4952 * grub-core/video/cirrus.c (find_card): Likewise.
4953 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
4954 * grub-core/video/sis315pro.c (find_card): Likewise.
4955 * grub-core/video/sm712.c (find_card): Likewise.
4956
608b647a
CW
49572012-12-28 Colin Watson <cjwatson@ubuntu.com>
4958
4959 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
4960 Fixes Savannah bug #37821.
4961
fd49ceb3
CW
49622012-12-28 Colin Watson <cjwatson@ubuntu.com>
4963
4964 Apply program name transformations at build-time rather than at
4965 run-time. Fixes Debian bug #696465.
4966
4967 * acinclude.m4 (grub_TRANSFORM): New macro.
4968 * configure.ac: Create output variables with transformed names for
4969 most programs.
4970 * util/bash-completion.d/grub-completion.bash.in: Use
4971 pre-transformed variables for program names.
4972 * util/grub-install.in: Likewise.
4973 * util/grub-kbdcomp.in: Likewise.
4974 * util/grub-mkconfig.in: Likewise.
4975 * util/grub-mkconfig_lib.in: Likewise.
4976 * util/grub-mknetdir.in: Likewise.
4977 * util/grub-mkrescue.in: Likewise.
4978 * util/grub-mkstandalone.in: Likewise.
4979 * util/grub-reboot.in: Likewise.
4980 * util/grub-set-default.in: Likewise.
4981 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4982 * tests/util/grub-shell-tester.in: Remove unused assignment.
4983 * tests/util/grub-shell.in: Likewise.
4984 * util/grub.d/00_header.in: Likewise.
4985
7024b3c0
CW
49862012-12-28 Colin Watson <cjwatson@ubuntu.com>
4987
4988 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
4989
4990 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
4991 HAVE_RAW_DECL_GETS.
4992 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
4993
e3501b13
VS
49942012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
4997 Reported by: Eriks Latosheks <foresterlv>.
4998
b40c88a9
VS
49992012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * docs/grub.texi (Network): Update instructions on generating netboot
5002 image.
5003
ce96d01c
VS
50042012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
5007 around device name if necessarry.
5008
0f596201
PFS
50092012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5010
5011 * util/grub-install.in: Follow the symbolic link parameter added
5012 to the file command.
5013
600d5bdb
AB
50142012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
5015
5016 * util/grub-install.in: Remove stale TODO.
5017
64ebd2f4
PFS
50182012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5019
5020 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
5021 dynamic allocation for the bootpath buffer.
5022
74b2fe3e
DTB
50232012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
5024
5025 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
5026 window too small.
5027
969b804f
VS
50282012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
5031 argument rather than font name. All users updated.
5032 (grub_gfxterm_set_window): Likewise.
5033
b9f5ebd6
VT
50342012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
5035
5036 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
5037 from working.
5038
258f43b7
VS
50392012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * util/getroot.c (convert_system_partition_to_system_disk): Support
5042 nbd disks.
5043
cc1ce5f9
VS
50442012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
5047 infinite loop on corrupted FS.
5048
e77a16ca
VS
50492012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 Fix big-endian mtime.
5052
5053 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
5054 together sec and usec.
5055 (grub_ufs_dir): Use correct byteswapping for UFS time.
5056
d9c48c7b
VS
50572012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 Support big-endian UFS1.
5060
5061 * Makefile.util.def (libgrubmods): Add ufs_be.c
5062 * grub-core/Makefile.core.def (ufs1_be): New module.
5063 * grub-core/fs/ufs_be.c: New file.
5064 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
5065 the file.
5066
2f9f40ba
LL
50672012-11-28 Leif Lindholm <leif.lindholm@arm.com>
5068
5069 * include/grub/types.h: Fix functionality unaffecting typo in
5070 GRUB_TARGET_WORDSIZE conditional macro.
5071
48ff0889
PFS
50722012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5073
5074 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
5075
03711240
GS
50762012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
5077
5078 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
5079 that /netbsd appears first (when it exists).
5080
a31b11bd
CJ
50812012-10-12 Christoph Junghans <ottxor@gentoo.org>
5082
5083 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
5084 Fixes Savannah bug #37558.
5085
e8a5d5d4
CW
50862012-10-12 Colin Watson <cjwatson@ubuntu.com>
5087
5088 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
5089 description of extract_entries_configfile.
5090
50912012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
5092
5093 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
5094 preferred_address.
5095 (grub_cmd_linux): Likewise.
5096 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
5097 preferred_lifetime. Update all users.
5098
288c757d
CW
50992012-09-26 Colin Watson <cjwatson@ubuntu.com>
5100
5101 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
5102 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
5103
0d35da3f
CW
51042012-09-26 Colin Watson <cjwatson@ubuntu.com>
5105
5106 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
5107 errors from grub-probe to /dev/null, not stdout.
5108
b78c3127
VS
51092012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
5112 sector 1.
5113
473959f0
CW
51142012-09-24 Colin Watson <cjwatson@ubuntu.com>
5115
5116 * util/grub-install.in: Make the error message if $source_dir
5117 doesn't exist more useful.
5118
794c8c33
CW
51192012-09-22 Colin Watson <cjwatson@ubuntu.com>
5120
5121 Fix grub-emu build on FreeBSD.
5122
5123 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
5124 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
5125 headers on Linux.
5126 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
5127 implementation is currently Linux-specific.
5128 * util/getroot.c (exec_pipe): Define only on Linux or when either
5129 libzfs or libnvpair is unavailable.
5130 (find_root_devices_from_poolname): Remove unused path variable.
5131
86d08fdb
CW
51322012-09-19 Colin Watson <cjwatson@ubuntu.com>
5133
5134 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
5135 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
5136 should fit before end == 63.
5137
735abf54
CW
51382012-09-19 Colin Watson <cjwatson@ubuntu.com>
5139
5140 * util/grub-setup.c (write_rootdev): Remove unused core_img
5141 parameter. Update all callers.
5142 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
5143 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
5144 GRUB_SETUP_BIOS.
5145
140acd3c
VS
51462012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5147
5148 * util/grub-mkconfig_lib.in (grub_tab): New variable.
5149 (grub_add_tab): New function.
5150 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
5151 * util/grub.d/10_illumos.in: Likewise.
5152 * util/grub.d/10_kfreebsd.in: Likewise.
5153 * util/grub.d/10_linux.in: Likewise.
5154 * util/grub.d/10_netbsd.in: Likewise.
5155 * util/grub.d/10_windows.in: Likewise.
5156 * util/grub.d/10_xnu.in: Likewise.
5157 * util/grub.d/20_linux_xen.in: Likewise.
5158 * util/grub.d/30_os-prober.in: Likewise.
5159
7ddffdad
VS
51602012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5163 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
5164 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
5165 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
5166 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
5167 ieee1275-nocursor.
5168 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
5169 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
5170
4e092454
VS
51712012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
5174 le-conversion.
5175 Reported by: BURETTE, Bernard.
5176
735abf54 51772012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
5178
5179 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
5180 from comment.
5181
dfd39dbd
CW
51822012-09-14 Colin Watson <cjwatson@ubuntu.com>
5183
5184 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
5185 IEEE1275 machines. Fixes powerpc-emu compilation.
5186 * include/grub/terminfo.h: Likewise.
5187
3bfa763c
VS
51882012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
5191 a const pointer.
5192 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
5193 const pointer.
5194 (efiemu_set_variable): Make vendor_guid a const pointer.
5195
250e475b
VS
51962012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 Don't require grub-mkconfig_lib to generate manpages for programs.
5199
5200 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
5201 dependencies, don't add grub-mkconfig_lib.
5202 (program): Pass empty adddeps.
5203 (script): Pass grub-mkconfig_lib as adddeps.
5204
592fd0e4
VS
52052012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
5208 * util/getroot.c (grub_find_device): Likewise.
5209 (get_mdadm_uuid): Likewise.
5210 (grub_util_is_imsm): Likewise.
5211 (grub_util_pull_device): Likewise.
5212 * util/grub-probe.c (probe): Likewise.
5213
801a3027
BG
52142012-09-10 Benoit Gschwind <gschwind>
5215
5216 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
5217 (devs): Add devpath_8.
5218
c5052c81
PJ
52192012-09-08 Peter Jones <pjones@redhat.com>
5220
5221 * grub-core/Makefile.core.def (efifwsetup): New module.
5222 * grub-core/commands/efi/efifwsetup.c: New file.
5223 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
5224 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
5225 New define.
5226 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
5227
8e832f71
JS
52282012-09-05 Jiri Slaby <jslaby@suse.cz>
5229
5230 * configure.ac: Add SuSe path.
5231
f0f55752
CW
52322012-09-05 Colin Watson <cjwatson@ubuntu.com>
5233
5234 * NEWS: Fix typo.
5235
ecadc4c2
CW
52362012-09-05 Colin Watson <cjwatson@ubuntu.com>
5237
5238 * util/import_gcry.py: Sort cipher_files, to make build system
5239 generation more deterministic.
5240
64498f25
VS
52412012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
5244 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
5245 (grub_set_datetime): Likewise.
5246
9cc836a2
VS
52472012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5248
5249 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
5250 warnings.
5251
bcfcea01
VS
52522012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5253
5254 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
5255
a4099485
VS
52562012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
5259
265c162a
CW
52602012-09-04 Colin Watson <cjwatson@ubuntu.com>
5261
5262 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
5263 required for checkouts from bzr, but it may be useful for users or
5264 distributors wishing to update translations against a tarball
5265 distribution, and it can be helpful for the tarball to be a superset
5266 of what's in bzr.
5267
3d171e95
CW
52682012-09-04 Colin Watson <cjwatson@ubuntu.com>
5269
5270 * Makefile.am (EXTRA_DIST): Add
5271 grub-core/tests/boot/linux.init-mips.S,
5272 grub-core/tests/boot/linux.init-ppc.S, and
5273 grub-core/tests/boot/linux-ppc.cfg.
5274
f2c2503e
CW
52752012-09-04 Colin Watson <cjwatson@ubuntu.com>
5276
5277 * grub-core/mmap/mips/loongson: Remove empty directory.
5278
52792012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
5280
5281 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
5282 gone.
5283
ab2163d5
CW
52842012-09-04 Colin Watson <cjwatson@ubuntu.com>
5285
5286 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
5287 grub-sparc64-setup.
5288
ce938140
GS
52892012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5290
5291 * configure.ac: Strengthen the test for working -nostdinc -isystem.
5292
529f58a5
GS
52932012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
5294
5295 * po/POTFILES.in: Regenerated.
5296
16cf79e9
GS
52972012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
5298
5299 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
5300 (NetBSD): New subsection.
5301
39b27f1e 53022012-07-22 Ales Nesrsta <starous@volny.cz>
5303
5304 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
5305 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
5306
a885261b
VS
53072012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
5310 * util/grub.d/10_hurd.in: Add missing quoting.
5311 * util/grub.d/10_illumos.in: Likewise.
5312 * util/grub.d/10_kfreebsd.in: Likewise.
5313 * util/grub.d/10_linux.in: Likewise.
5314 * util/grub.d/20_linux_xen.in: Likewise.
5315
7bd29c01
VS
53162012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 New command `lsefi'.
5319
5320 * grub-core/Makefile.core.def (lsefi): New module.
5321 * grub-core/commands/efi/lsefi.c: New file.
5322 * include/grub/efi/api.h: Add more GUIDs.
5323
ac625d8f
VS
53242012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
5327 (grub_bsd_elf32_hook): Likewise.
5328 (grub_bsd_elf64_size_hook): Likewise.
5329 (grub_bsd_elf64_hook): Likewise.
5330 (grub_bsd_load_elf): Likewise.
5331
e73bb801
VS
53322012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
5335 if hash function is unavailable.
5336 (dec_stream_header): Likewise.
5337
e81db8b5
VS
53382012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
5341 filter state.
5342
d187a1c3
VS
53432012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5344
5345 Fix coreboot compilation.
5346
5347 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
5348 (grub_vga_text_init_real): ... this.
5349 (grub_vga_text_fini): Rename to ...
5350 (grub_vga_text_fini_real): ... this.
5351
91a05f64
VS
53522012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
5355
6af96df7
VS
53562012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * grub-core/lib/legacy_parse.c: Support clear and testload.
5359
4d569e12
VS
53602012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
5363
073b57bb
VS
53642012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * grub-core/fs/ext2.c: Experimental support for 64-bit.
5367
a706f4cc
VS
53682012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 * grub-core/net/tftp.c (ack): Fix endianness problem.
5371 (tftp_receive): Likewise.
5372 Reported by: Michael Davidsaver.
5373
e7850aa9
VS
53742012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 * gentpl.py: Make mans depend on grub-mkconfig_lib.
5377
53782012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
5381 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
5382 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
5383
35692881
VS
53842012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
5387 efi_mmap_size.
5388 Reported by: Stuart Hayes.
5389
c35fc5bd
VS
53902012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
5393
5394 * grub-core/Makefile.core.def (mda_text): New module.
5395 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
5396 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
5397 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
5398 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
5399 here.
5400 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
5401 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
5402 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
5403 here.
5404 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
5405 to ..
5406 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
5407 ... here
5408 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
5409 here.
5410 * grub-core/term/i386/vga_common.c: Removed.
5411 * include/grub/i386/vga_common.h: Likewise.
5412 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
5413 (grub_vga_cr_bw_read): Likewise.
5414 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
5415 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
5416 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
5417 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
5418 grub_vga_cr_read/grub_vga_cr_write.
5419 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
5420
5f91f701
VS
54212012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 * configure.ac: Bump version to 2.00.
5424 * grub-core/normal/main.c (features): Add feature_200_final.
5425
0c4f85f6
VS
54262012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
54272012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
5428
5429 * NEWS: Fix unclarity and language mistakes.
5430
f923ad22
VS
54312012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
5434 additional size to 3 pages.
5435 Reported by: Stuart Hayes.
5436
d22029ba
VS
54372012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5438
5439 * NEWS: Add 2.00 entry.
5440
58eee08f
VS
54412012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
5444 put explicit "/" for empty path.
5445 (wildcard_expand): Improve dprintf.
5446
c59bdff7
VS
54472012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
5450 it's equal to currnode. This can happen with "" symlink.
5451
5e6a440a
YB
54522012-06-27 Yves Blusseau <blusseau@zetam.org>
5453
5454 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
5455 echo shell command by printf command.
5456
73a68bcb
VS
54572012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
5460 the value returned by firmware is the maximal position, not diumension.
5461 (grub_terminfo_output_state): Use a more sane fallback.
5462
392a603b
VS
54632012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
5466
42d0867f
VS
54672012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
5470 frequency to 150 MHz.
5471
489509f4
VS
54722012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5473
5474 Apple fixes.
5475
5476 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
5477 __APPLE_
5478 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
5479 definition.
5480 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
5481
9f3fc883
VS
54822012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 Handle slash in HFS label.
5485
5486 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
5487 (grub_hfs_dir): Tanslate slash.
5488 (grub_hfs_label): Don't translate slash.
5489
54853fd7
VS
54902012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
5493 network protocol listing since it introduces problematic dependency on
5494 net module.
5495
4dc02ddf
VS
54962012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
5499
c50c867d
VS
55002012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 Init video early on yeeloong to avoid being rebooted by watchdog.
5503
5504 * grub-core/Makefile.am (gensm712): New target.
5505 (sm712_start.S): Likewise.
5506 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
5507 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
5508 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
5509 description.
5510 * include/grub/vga.h: Move registry definitions to...
5511 * include/grub/vgaregs.h: ... here.
5512
5f92c8a1
VS
55132012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
5516 signedness.
5517
e9e6f111
VS
55182012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
5521 platforms with firmware disk drivers in the core.
5522
754ad9eb
VS
55232012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
5526 informative verbose message.
5527 (read_lv): Handle 64-bit segment size.
5528
315654c2
VS
55292012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
5532
fb022c79
VS
55332012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
5536 character but still remove trainling spaces.
5537 (grub_fat_label): Ignore archive flag.
5538
8645f72c
VS
55392012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
5542 cast between linux_kernel_header and linux_kernel_params.
5543
36498496
VS
55442012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5545
5546 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
5547 type for size.
5548 (grub_raid6_recover_func_t): Likewise.
5549 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
5550 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
5551
0b5ea6b8
VS
55522012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
5555
650cfcfe
GS
55562012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
5557
5558 Fix overflow.
5559
5560 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
5561 [__NetBSD__]: Add explicit cast before bitshift.
5562
8a4d6a44
VS
55632012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * configure.ac: Bump to 2.00~rc1.
5566
2fb97ed3
VS
55672012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
5570 half of $a0.
5571
1fa097dc
VS
55722012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
55732012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
5574
5575 * docs/grub.texi: Fix search syntax.
5576 (Multi-boot manual config): Put msdos rather than GPT example.
5577 Grammar corrections.
5578
c890ba78
VS
55792012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
5582
0f92dca7
VS
55832012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5584
5585 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
5586
3988c4a0
VS
55872012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
5590 message on double free. Put the value of magic in case of mismatch.
5591
9e86d4c5
VS
55922012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5593
5594 Speed-up video on yeeloong.
5595
5596 * grub-core/video/sm712.c (framebuffer): Remove render_target and
5597 add cached_ptr.
5598 (grub_video_sm712_video_fini): Unmap cached_ptr.
5599 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
5600 (grub_video_sm712_set_active_render_target): Removed.
5601 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5602 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
5603 sync caches.
5604
ed24c312
VS
56052012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 Avoid flushing the same line multiple times on loongson.
5608
5609 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
5610 Step in 32 bytes and not 1 byte.
5611 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
5612 Likewise.
5613
d1718e7d
VS
56142012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5615
5616 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
5617 subvolumes.
5618
982f1909
VS
56192012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 Implement flow control for http.
5622
5623 * grub-core/net/http.c (parse_line): Handle response 206.
5624 (http_receive): Stall if too many packets are in the queue.
5625 (http_establish): Fix range header.
5626 (http_seek): Fix double free.
5627 (http_close): Likewise.
5628 (http_packets_pulled): New function.
5629 (grub_http_protocol): Set http_seek
5630 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
5631 (ack_real): Set window depending on i_stall.
5632 (grub_net_send_tcp_packet): Likewise.
5633 (grub_net_tcp_stall): New function.
5634 (grub_net_tcp_unstall): Likewise.
5635 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
5636 (grub_net_tcp_unstall): Likewise.
5637
bd407d6e
VS
56382012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * grub-core/net/tftp.c: Decrease stall to 50 packets.
5641
c7564b8e
VS
56422012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
5645
a3706162
VS
56462012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * tests/util/grub-shell.in: Fix a typo.
5649
b27069e0
VS
56502012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 Implement flow control for tftp.
5653
5654 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
5655 packets but stop only if stop condition is satisfied.
5656 (grub_net_fs_read_real): Call packets_pulled after real read. Use
5657 `stall' instead of `eof' as stop condition.
5658 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
5659 (http_err): Likewise.
5660 * grub-core/net/tftp.c (ack): Replace the first argument with data
5661 instead of socket.
5662 (tftp_receive): Stall if too many packets are in wait queue.
5663 (tftp_packets_pulled): New function.
5664 (grub_tftp_protocol): Set packets_pulled.
5665 * include/grub/net.h (grub_net_packets): New field count.
5666 (grub_net_put_packet): Increment count.
5667 (grub_net_remove_packet): Likewise.
5668 (grub_net_app_protocol): New field `packets_pulled'.
5669 (grub_net): New field `stall'.
5670
6b9cfac6
VS
56712012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5672
5673 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
5674 sync part to handle them.
5675
f35abd81
VS
56762012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
5679 * grub-core/net/drivers/ieee1275/ofnet.c
5680 (grub_ieee1275_net_config_real): Likewise.
5681
0e7ec820
VS
56822012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
5685 the direct route for server/gateway.
5686
9d611a31
VS
56872012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5688
5689 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
5690 IP address to server name since we may not hame the DNS.
5691
418f45ab
VS
56922012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
5695 freeing random buffer on failure.
5696 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
5697
44a0efc1
VS
56982012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
5701
531e2241
VS
57022012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
5705 reserved bytes.
5706 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
5707 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
5708 Handle malloc error correctly.
5709
cde393c9
VS
57102012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
5713 blocks.
5714
538478d0
VS
57152012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
5718 increment.
5719
9b55efe0
VS
57202012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
5723 none is explicitly specified.
5724
9eb832c3
VS
57252012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
5728 while reallocating.
5729
d6b7c7c9
VS
57302012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 Respect netmask from bootp/dhcp.
5733
5734 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
5735 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
5736 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
5737 into ...
5738 (grub_net_add_ipv4_local): ... this.
5739 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
5740 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
5741 (grub_net_add_ipv4_local): New proto.
5742
67caf9eb
VS
57432012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
5746 determining EFI memory map size.
5747
43657558
VS
57482012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5749
5750 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
5751
eb6d0dd3
VS
57522012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
5755 when looking for partition separator.
5756
31230544
VS
57572012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5758
5759 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5760 Escape commas.
5761
918a2517
VS
57622012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 Restructure FAT driver to avoid hook in label reading as it hits a
5765 GCC bug.
5766
5767 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
5768 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
5769 (grub_fat_iterate_dir): Split into ...
5770 (grub_fat_iterate_init): ... this, ...
5771 (grub_fat_iterate_fini): ... this, ...
5772 (grub_fat_iterate_dir_next): ... and this. All users updated.
5773
9f1d654e
VS
57742012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5777 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
5778 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5779 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
5780 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
5781 New fields last_key and last_key_time.
5782 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
5783 extended key-esc into extended key-extended key.
5784
52f0f643
VS
57852012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 Avoid unnecessary memcpy of whole video buffer.
5788
5789 * grub-core/video/fb/video_fb.c (dirty): New struct.
5790 (framebuffer): Add members current_dirty and previous_dirty.
5791 (dirty): New function.
5792 (grub_video_fb_fill_rect): Update dirty.
5793 (common_blitter): Likewise.
5794 (grub_video_fb_scroll): Likewise.
5795 (doublebuf_blit_update_screen): Copy only dirty part.
5796 (doublebuf_pageflipping_update_screen): Likewise.
5797 (grub_video_fb_doublebuf_blit_init): Init dirty.
5798 (doublebuf_pageflipping_init): Likewise.
5799 (grub_video_fb_setup): Likewise.
5800
e169a180
VS
58012012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
5804 poll rate.
5805
48556879
VS
58062012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 Fix wildcard regexp dot and other special characters handling.
5809 Reported by: Robert Mabee.
5810
5811 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
5812 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
5813 (split_path): Trigger expansion on '?'.
5814 (unescape): New function.
5815 (wildcard_expand): Unescape parts copied without globbing.
5816 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
5817 (grub_script_arglist_to_argv): Don't unescape expansions.
5818
0494408e
VS
58192012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5820
5821 * include/grub/net.h (grub_net_card): New member txbufsize.
5822 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
5823 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5824 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
5825 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
5826 txbufsize.
5827 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
5828 compatible property to check for macs. Set
5829 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5830 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
5831 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
5832 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
5833 (send_card_buffer): Use txbuf.
5834 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
5835 nested function out of the parent while on it.
5836
cc35fe8f
VS
58372012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
5840 presence check.
5841 (grub_ieee1275_net_config_real): Fix config pointer.
5842
970a0a09
VS
58432012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
5846 filename parsing to non-block devices.
5847
3e19bf87
VS
58482012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * grub-core/kern/device.c (grub_device_open): Remove dead code.
5851
c62d1a0c
VS
58522012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
5855 All users updated.
5856
ef76bec3
VS
58572012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
5860 UUID search command even if hints probing failed.
5861
58622012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
5863
5864 * po/POTFILES.in: Regenerated.
5865
70aaf305
VS
58662012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 Speed-up video on fuloong.
5869
5870 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
5871 New function.
5872 (grub_pci_device_unmap_range): Handle non-cached address.
5873 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
5874 add direct_ptr.
5875 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
5876 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
5877 (grub_video_sis315pro_set_active_render_target): Removed.
5878 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
5879 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5880 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
5881 sync caches.
5882 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
5883 New proto.
5884
10400f0b
VS
58852012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * docs/grub.texi (Multi-boot manual config): New section.
5888
ba67e2c6
VS
58892012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 Avoid slow read-back from VRAM.
5892
5893 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
5894 Move from here ...
5895 * grub-core/video/fb/video_fb.c
5896 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
5897 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
5898 (front_target): Remove front_target. Add pages.
5899 (grub_video_fb_init): Skip setting front_pages.
5900 (grub_video_fb_fini): Likewise.
5901 (doublebuf_blit_update_screen): Use pages.
5902 (grub_video_fb_doublebuf_blit_init): Likewise.
5903 (doublebuf_pageflipping_init): Allocate offscreen buffer.
5904 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
5905 (grub_video_fb_setup): Prefer doublebuffing.
5906
377c98cb
VS
59072012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
5910 gzio.
5911
eac49cff
VS
59122012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 Add loongson tests.
5915
5916 * tests/util/grub-shell.in: Handle loongson.
5917 * tests/partmap_test.in: Add loongson to the list of platform using ATA
5918 drivers.
5919 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
5920 Reboot instead of shutdown if REBOOT is defined.
5921
0321415e
VS
59222012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
5925 sized ports since unlike on real hardware qemu supports only 32-bit
5926 regs.
5927
3f2bdd8f
VS
59282012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * Makefile.util.def (grub-mkrescue): Enable on loongson.
5931 * util/grub-mkrescue.in: Handle loongson.
5932
29a049c9
VS
59332012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
5936 Set is_part appropriately.
5937 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
5938 names. Canonicalize partition without full disk.
5939
4abde346
VS
59402012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5941
5942 Revert usb-quiesce since it's wrong.
5943
5944 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
5945 (grub_ofdisk_init): Don't do quiesce.
5946
61f1d93b
VS
59472012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5948
5949 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
5950 PowerMac workaround to Xserves as well.
5951 Information supplied by: Benjamin Herrenschmidt.
5952
a09eb541
VS
59532012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5954
5955 Don't assume that beginning address is also the entry point on ppc.
5956
5957 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
5958 (grub_linux_boot): Use linux_entry.
5959 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
5960 (grub_linux_load64): Likewise.
5961
505b3c9b
VS
59622012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
5965
cbe0b4ef
VS
59662012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
5969 needlessly lose the console.
5970
3006e981
VS
59712012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
5974 space.
5975
4e5a96b0
VS
59762012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5977
7da036bb
VS
5978 Remove non-functional EFI grub_get_rtc. Put a better fatal message
5979 than current grub_get_rtc() not implemented when booted with
5980 coreboot without TSC.
5981
5982 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
5983 Add machine/time.h to kernel headers on loongson.
5984 * grub-core/Makefile.core.def (kernel): Remove
5985 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
5986 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
5987 (grub_get_rtc): Likewise.
5988 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
5989 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
5990 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
5991 * grub-core/kern/i386/tsc.c (grub_tsc_init)
5992 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
5993 rather than installing known non-working time source.
5994 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
5995 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
5996 * include/grub/time.h: Don't include machine/time.h.
5997 * include/grub/efi/time.h: Removed.
5998 * include/grub/i386/efi/time.h: Likewise.
5999 * include/grub/i386/ieee1275/time.h: Likewise.
6000 * include/grub/powerpc/ieee1275/time.h: Likewise.
6001 * include/grub/sparc64/ieee1275/time.h: Likewise.
6002 * include/grub/x86_64/efi/time.h: Likewise.
6003
60042012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6005
6006 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
6007
6008 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
6009 value.
6010 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
6011 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
6012 with dotless variants when any combining above is present.
6013
5561c22d
VS
60142012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
6017 text and not binary.
6018
96f7e60e
VS
60192012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 Stop polling as soon as we have the packet we were waiting for.
6022
6023 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
6024 All users updated.
6025 * grub-core/net/arp.c (have_pending): New var.
6026 (pending_req): Likewise.
6027 (grub_net_arp_send_request): Fill pending_req and use have_pending as
6028 stop indicator.
6029 (grub_net_arp_receive): Set have_pending.
6030 * grub-core/net/dns.c (recv_data): New field stop.
6031 (recv_hook): Set stop.
6032 (grub_net_dns_lookup): Init stop and use as stop condition.
6033 * grub-core/net/http.c (http_establish): Use headers_recv as stop
6034 condition.
6035 * grub-core/net/net.c (grub_net_poll_cards): New argument
6036 stop_condition. Stop when it goes true.
6037 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
6038 indicator.
6039 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
6040
3e747239
VS
60412012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 Keep TX and RX buffers on EFI rather than always allocate new ones.
6044
6045 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
6046 card. All users updated.
6047 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
6048 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
6049 (get_card_packet): Likewise.
6050 (grub_efinet_findcards): Init new fields.
6051
f695e99a
VS
60522012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6053
6054 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
6055 compilation error on sparc64.
6056
9e5e66d1
VS
60572012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6058
6059 Use ITC on IA64 rather than broken routine based on daytime.
6060
6061 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
6062 ia64.
6063 (grub_get_rtc) [__ia64__]: Likewise.
6064 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
6065 (get_itc): New function.
6066 (grub_rtc_get_time_ms): Likewise.
6067 (grub_machine_init): Calibrate ITC.
6068 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
6069 Keep only on non-ia64. Don't export since it's broken and used only
6070 if TSC is unavailable.
6071
a1767404
VS
60722012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
6075 even if it's used.
6076 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
6077 Skip if parent is unused.
6078
34b2bced
VS
60792012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
6082
5e619f40
VS
60832012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6084
6085 Fix wildcard escaping.
6086
6087 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
6088 * grub-core/script/execute.c (wildcard_escape): .. to here.
6089 Don't escape dot.
6090 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
6091 * grub-core/script/execute.c (wildcard_unescape): .. to here.
6092 Don't escape dot.
6093 * grub-core/script/execute.c (gettext_append): Always escape.
6094 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
6095 * grub-core/script/yylex.l: Don't cut away the escaping.
6096 * tests/grub_script_echo1.in: Add tests with wildcard.
6097
c8ca5855
VS
60982012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6099
6100 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
6101 (ftdi_hw_configure): Likewise.
6102 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
6103 define.
6104 (real_config): Handle 1.5 stop bits.
6105 (pl2303_hw_configure): Likewise.
6106
7183452c
VS
61072012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6108
6109 * Makefile.am: Add ppc linux bootcheck.
6110 * grub-core/tests/boot/linux-ppc.cfg: New file.
6111 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
6112
f57c84cd
VS
61132012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6114
6115 * tests/grub_script_expansion.in: Skip network protocols.
6116
ecfc6207
VS
61172012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
6120
8d03d284
VS
61212012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
6124 --rom-directory.
6125 Add -graft-points.
6126
61c42af0
VS
61272012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 ESCC serial driver for conducting sautomated tests in qemu.
6130 Not tested on real hardware.
6131
6132 * include/grub/serial.h (grub_serial_port): New field escc_desc.
6133 * grub-core/term/ieee1275/escc.c: New file.
6134 * grub-core/Makefile.core.def (escc): New module.
6135
08fd1291
VS
61362012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
6139 invalid on error.
6140 (serial_hw_fetch): Don't read invalid handle.
6141 (serial_hw_put): Don't write into invalid handle.
6142
08dafeea
VS
61432012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6144
6145 Add a 1.5 stop bits value.
6146
6147 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
6148 * include/grub/serial.h (grub_serial_stop_bits_t): Add
6149 GRUB_SERIAL_STOP_BITS_1_5.
6150
9068fdcf
VS
61512012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
6154 value rather than let it uninited.
6155
f4d5820f
VS
61562012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6157
6158 * grub-core/commands/wildcard.c (+check_file): New function.
6159 (wildcard_expand): Don't expand to non-existing files, expand with
6160 suffix and not attempt to expand if not needed.
6161
3d2de9a7
VS
61622012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
6165 out of partitions containing other partitions.
6166
c5c81ff9
VS
61672012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
6170 on some qemu versions with GRUB.
6171
6172 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
6173 define.
6174 (grub_openbsd_bootarg_pcibios): New struct.
6175 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
6176 Add PCIINFO.
6177
08a14e0b
VS
61782012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6179
6180 * tests/util/grub-shell.in: Trim firmware output on EFI.
6181
cede3ca3
VS
61822012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6183
6184 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
6185 and coreboot since it's already in kernel.
6186
558d3a60
VS
61872012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
6190 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6191 to here. New return value start. All users updated.
6192 Recursively scan linear mappings.
6193 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
6194 proto.
6195 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6196 Use grub_util_get_dm_node_linear_info.
6197 * util/getroot.c (convert_system_partition_to_system_disk): Use
6198 grub_util_info rather than grub_dprintf.
6199 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
6200
60fde14d
VS
62012012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
6204
6205 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
6206 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
6207
24bd8838
VS
62082012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6209
6210 * include/grub/types.h (grub_set_unaligned64): New function.
6211 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
6212 (setup): Likewise.
6213
7bc06a49
VS
62142012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
6217 (grub_ofdisk_fini): Quiesce USB devices.
6218
49cea015
VS
62192012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
6222 caches.
6223
8dcbe03b
VS
62242012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
6227
5b258735
VS
62282012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6229
6230 * grub-core/disk/pata.c (grub_pata_pio_read)
6231 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
6232 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
6233
37ba07eb
VS
62342012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 Extend automated tests to qemu-mips.
6237
6238 * Makefile.am: reorganise tests and enable qemu-mips.
6239 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
6240 * grub-core/tests/boot/linux.init-mips.S: New file.
6241 * tests/partmap_test.in: Handle ata0 disks.
6242 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
6243 non-pc i386.
6244
070038f8
VS
62452012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6246
6247 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
6248 ia64.
6249 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
6250 quotes while on it.
6251
004be2cd
VS
62522012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6253
6254 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
6255 (grub_halt): Likewise.
6256 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
6257
b1622487
VS
62582012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * grub-core/term/serial.c (grub_serial_register)
6261 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
6262 the behaviour in line with x86 platforms.
6263
b7b4ab33
VS
62642012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
6267 (grub_ata_strncpy): Likewise.
6268 (grub_ata_identify): Add missing byteswaps.
6269
5e3535ae
VS
62702012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
6273 byte-swap.
6274 (screen_read_char): Likewise.
6275 (grub_vga_text_cls): Likewise.
6276
c21b17e6
VS
62772012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
6280 filenames.
6281 (make_file_path): Likewise.
6282
bf293dec
VS
62832012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
6286 machines.
6287 Tested by: Paulo Flabiano Smorigo.
6288 Crucial information about API supplied by: Coleen <Last name unknown>.
6289 Reviewed by: Coleen <Last name unknown>.
6290
81f6ef0e
VS
62912012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 * util/grub-mkimage.c: Disable -Wcast-align.
6294
7284143a
VS
62952012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
6298 as they are fatal.
6299
b99f3e00
VS
63002012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
6303
944f752d
VS
63042012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6305
6306 * util/grub-probe.c (escape_of_path): Fix double free.
6307
6cce6f38
VS
63082012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6309
6310 * grub-core/commands/videoinfo.c (hook): Show pitch.
6311
1e1eb50e
VS
63122012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 * util/grub.d/20_linux_xen.in: Skip xen-syms.
6315
1c715b5a
VS
63162012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
6319 (probe): Add ieee1275 to OFW devices.
6320
007ae52d
VS
63212012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6322
6323 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
6324
4557a36d
VS
63252012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 Handle IBM OFW path.
6328
6329 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
6330 available.
6331 (of_path_of_scsi): Handle vdevice.
6332
efbeefe9
VS
63332012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
6334
6335 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
6336 Allocate in multiples of 16 to avoid adding a few bytes free region the
6337 windows bugs upon.
6338
15a940bb
VS
63392012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
6342 Allocate in multiples of 16 to avoid adding a few bytes free region the
6343 windows bugs upon.
6344 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
6345
6e5efd60
VS
63462012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
6349 resolutions.
6350 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
6351 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
6352
0d3d137e
IS
63532012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
6354
6355 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
6356
45dbe300
VS
63572012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
6360 resulted in \\ at the end of the line.
6361
6d8db947
VS
63622012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6363
6364 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
6365 (grub_parser_cmdline_state): Likewise.
6366 (grub_parser_split_cmdline): Likewise.
6367
de89d338
VS
63682012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6369
6370 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
6371 /dev/root and /dev/dm-*.
6372
00d41dee
VS
63732012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
6376 fix partially stale display.
6377
f95d1f11
VS
63782012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6379
6380 * grub-core/normal/menu_entry.c (backward_char): Use right line for
6381 substraction.
6382
6297e197
VS
63832012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
6386 Fix MBR remapping workaround.
6387 (grub_util_biosdisk_read) [__linux__]: Likewise.
6388
8a7ecad3
VS
63892012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * util/grub-install.in: Check for ieee1275 and not ieee1276.
6392
2b34f944
VS
63932012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * configure.ac: Bump to beta6.
6396
684aef11
CW
63972012-05-31 Christer Weinigel <christer@weinigel.se>
6398
6399 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
6400
05b0bb91
VS
64012012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6402
6403 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
6404 (grub_cmd_linux): Likewise.
6405
bda36bfa
CW
64062012-05-31 Christer Weinigel <christer@weinigel.se>
6407
6408 Fix EHCI low-speed.
6409
6410 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
6411 (GRUB_EHCI_MULT_TWO): Likewise.
6412 (GRUB_EHCI_MULT_THREE): Likewise.
6413 (GRUB_EHCI_CMASK_MASK): New enum value.
6414 (GRUB_EHCI_SMASK_MASK): Likewise.
6415 (GRUB_EHCI_CMASK_OFF): Likewise.
6416 (GRUB_EHCI_SMASK_OFF): Likewise.
6417 (grub_ehci_pci_iter): Enable periodic schedule.
6418 (grub_ehci_parse_notrun): Likewise.
6419 (grub_ehci_restore_hw): Likewise.
6420 (grub_ehci_setup_qh): Set flags for low speed transfers.
6421 (grub_ehci_find_qh): Use periodic list for low speed.
6422 (grub_ehci_setup_transfer): Check periodic queue as well.
6423 (grub_ehci_check_transfer): Likewise.
6424 (grub_ehci_cancel_transfer): Cancel periodic transfer.
6425
e12bcb1c
PFS
64262012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6427
6428 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
6429 parameter is used.
6430
bcc75fb3
PJ
64312012-05-31 Peter Jones <pjones@redhat.com>
6432
6433 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
6434 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
6435 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
6436
f19cb95e
VS
64372012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6438
6439 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
6440 uninited variable. Allocate at least setup_sects.
6441
a4e5ca80
VS
64422012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 Fix handling of EFI with big memory maps.
6445
6446 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
6447 (real_mode_mem): Likewise.
6448 (real_mode_target): Likewise.
6449 (real_mode_pages): Likewise.
6450 (prot_mode_pages): Likewise.
6451 (linux_params): New var.
6452 (linux_cmdline): Likewise.
6453 (free_pages): Don't set real mode variables.
6454 (allocate_pages): Don't allocate real mode memory.
6455 (grub_e820_add_region): Remove the limit.
6456 (grub_linux_boot): Allocate and copy real mode memory.
6457 (grub_linux_unload): Free linux_cmdline.
6458 (grub_cmd_linux): Use temporary storage for parameters.
6459 (grub_cmd_initrd): Likewise.
6460 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
6461 (linux_kernel_params): Make it 1K big.
6462
ddb73558
VS
64632012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * Makefile.util.def: Remove -Wno-format.
6466 * grub-core/Makefile.core.def: Likewise.
6467
1c4afb60
VS
64682012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 * tests/cmp_unit_test.c: Add missing failure message.
6471 * tests/example_unit_test.c: Likewise.
6472 * tests/printf_unit_test.c: Likewise.
6473
941e3a6d
VS
64742012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
6477 relaxation of protective MBR requirements.
6478
b105df76
VS
64792012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 * configure.ac: Add condition for COND_HOST_XNU.
6482 * Makefile.util.def (10_xnu): New script.
6483 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
6484
84e1569e
VS
64852012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
6488 objconv bug.
6489
130c0f77
VS
64902012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
6493 Binary on other platforms stays identical.
6494
6fd0b143
VS
64952012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
6498 Apple.
6499
0af1751d
VS
65002012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
6503
176d5f7d
VS
65042012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
6507 rather than defining size_t ourselves to avoid conflict.
6508
7de5e20a
VS
65092012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
6512 initialisation to avoid __bzero reference.
6513
f7143efe
VS
65142012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
6517 version.
6518 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
6519 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
6520 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
6521 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
6522 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
6523
e6ad0555
VS
65242012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
6527 * grub-core/kern/misc.c: Likewise.
6528 * grub-core/loader/i386/xnu.c: Likewise.
6529 * include/grub/i386/tsc.h: Likewise.
6530 * include/grub/symbol.h: Likewise.
6531
4a5a3c4a
VS
65322012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
6535 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
6536 on older compiler.
6537
037f6d90
VS
65382012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6539
6540 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
6541 Implement Apple flavour.
6542 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
6543
f7194551
VS
65442012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
6547 (memmove) [__APPLE__]: Likewise.
6548 (memcpy) [__APPLE__]: Likewise.
6549 (memset) [__APPLE__]: Likewise.
6550 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
6551 (memmove) [__APPLE__]: Likewise.
6552 (memcpy) [__APPLE__]: Likewise.
6553 (memset) [__APPLE__]: Likewise.
6554
85a730ca
VS
65552012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
6558 dependency discard.
6559
40e80b94
VS
65602012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * grub-core/normal/main.c (read_config_file): Provide config_file and
6563 config_directory.
6564 * util/grub.d/41_custom.in: Use config_directoy when available.
6565
9da59c32
VS
65662012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6567
6568 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
6569 (grub_bfs_dir): Likewise.
6570
2787ae53
PJ
65712012-05-27 Peter Jones <pjones@redhat.com>
6572
6573 The old code gives arguments to a printf function which can't work
6574 correctly, and the compiler complains.
6575
6576 * grub-core/tests/example_functional_test.c (example_test): Add
6577 missing text.
6578 * grub-core/tests/lib/test.c (add_failure): Rewrite.
6579 * include/grub/test.h (grub_test_assert_helper): New declaration.
6580 (grub_test_assert): Use grub_test_assert_helper.
6581
526ef13d
VS
65822012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6583
6584 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
6585 (exfctest): ... this to avoid overlong filenames.
6586 All users updated.
6587
20dd511c
VS
65882012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 Handle "." and ".." on squashfs.
6591
6592 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
6593 Make inode numbers into stack.
6594 (grub_squash_read_symlink): Use stack.
6595 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
6596 (make_root_node): Fill stack.
6597 (grub_squash_open): Use stack.
6598
1d80c62a
VS
65992012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
6602 freeing.
6603
d336f652
VS
66042012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
6607 stderr on test calls.
6608
8b43f587
VS
66092012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
6612
80a3dc3f
VS
66132012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
6616
47e297d4
VS
66172012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
6620 "..".
6621
df042ccb
VS
66222012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
6625 (grub_hfsplus_iterate_dir): Add "." and "..".
6626
fc977f48
VS
66272012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * grub-core/fs/cpio.c (canonicalize): Handle "..".
6630 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
6631
f3250e5f
VS
66322012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
6635 (find_path): Handle "." and "..".
6636
fd8ed4c5
VS
66372012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
6640 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
6641 (grub_affs_iterate_dir): Handle hardlinks.
6642
4ce776d2
MG
66432012-05-26 Matthew Garrett <mjg@redhat.com>
6644
6645 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
6646 (grub_efi_console_fini): Likewise.
6647 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
6648 (grub_video_gop_fill_mode_info): Rename to ...
6649 (grub_video_gop_fill_real_mode_info): ... this.
6650 (grub_video_gop_fill_mode_info): New function.
6651 (grub_video_gop_setup): Setup double framebuffer.
6652 (grub_video_gop_get_info_and_fini): Use original framebuffer.
6653 Free offscreen.
6654 (grub_video_gop_swap_buffers): Copy framebuffer.
6655 (grub_video_gop_fini): Free offscreen buffer.
6656 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
6657 New enum.
6658 (grub_efi_gop_blt_pixel): New struct.
6659
683031ba
VS
66602012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6661
6662 * gentpl.py: Remove error disabling for objconv.
6663
c2deb798
VS
66642012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 * configure.ac: Remove -Wunitialized as it's not available on older
6667 compilers.
6668
66692012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
6670
6671 Fix extent overflow comparator.
6672
6673 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
6674 (grub_hfsplus_read_block): Set type.
6675 (grub_hfsplus_cmp_extkey): Compare type.
6676
d6b1fd36
VS
66772012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
6678
6679 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
6680
0a9aa0f6
VS
66812012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6682
6683 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
6684 than 0.
6685
8360e159
VS
66862012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6687
6688 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
6689 (dejavu_bold_14.pf2): New target.
6690
501b9e4b
VS
66912012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 * configure.ac: Fix djvu font detection.
6694
7026b0e2
VS
66952012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
6698 ext* instead of ext2.
6699
c2a51ade
VS
67002012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
6703 name with \0.
6704
8f803a5d
JU
67052012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
6706
6707 * docs/grub-dev.texi: Remove dot from .png.
6708
13c6353f
VS
67092012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6710
6711 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
6712 protective entry in any slot.
6713 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
6714 if protective entry is found in any slot.
6715
6716 Protective entry in non-first slot make no sense but is a widespread
6717 brain damage.
6718
4cf6be1b
VS
67192012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
6722
937d1c44
VS
67232012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
6726 with old reiserfs.
6727 (grub_reiserfs_open): Don't free root.
6728
021d90ec
VS
67292012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
6732 after freeing for safety.
6733
967b2b64
VS
67342012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
6737 Reported by: Jordan Uggla.
6738
34274d02
JU
67392012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
6740
967b2b64
VS
6741 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
6742 actual implementation. Specifically, clarify that the grub menu will
6743 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
6744 passed.
34274d02 6745
dcaaae9d
BH
67462012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
6747
6748 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
6749 of r0.
6750
7086ad52
VS
67512012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 Remove unjustified hard dependency of normal.mod on gfxterm.
6754
6755 * include/grub/term.h (grub_term_output): New member fullscreen.
6756 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
6757 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
6758 (grub_gfxterm): Set .fullscreen.
6759 * grub-core/normal/menu.c (menu_init): Use fullscreen.
6760 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
6761
37ed2c9b
VS
67622012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
6765 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 6766 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 6767
a4469c88
VS
67682012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
6771
4e461486
VS
67722012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6773
6774 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6775 a bad FS.
6776
aa78f5c4
VS
67772012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
6780 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
6781
197626b5
VS
67822012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
6785 (grub_jfs_mount): Fill caseins.
6786 (grub_jfs_find_file): Respect caseins.
6787
8ad3f28c
VS
67882012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
6791 through UTF-16.
6792
0c6c324e
VS
67932012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
6796 New argument origpath. All users updated.
6797
c6666ba6
VS
67982012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
6801 (read_attr): Ensure that we read start of possibly compressed block.
6802
e28e5fe5
VS
68032012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6804
6805 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
6806 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
6807 All users updated.
6808
5fc23ab2
VS
68092012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
6812 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
6813 (dejavu.pf2): Replace with ...
6814 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
6815 this.
6816
79dbc21c
VS
68172012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * util/grub.d/20_linux_xen.in: Add missing line.
6820
d2fcfb0c
VS
68212012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
6824 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
6825 (grub_utf16_to_utf8): Likewise.
6826
5560e9d6
VS
68272012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
6830 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
6831 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6832 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
6833 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6834 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
6835
68362012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
6837
6838 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6839 a bad FS.
6840
5560e9d6 68412012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
6842
6843 * grub-core/fs/udf.c (read_string): Bail out on size=0.
6844 (grub_udf_read_symlink): Handle read_string failure.
6845
5eae3175
VS
68462012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6847
6848 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
6849 comment.
6850
c1ad82db
VS
68512012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 Fix handling of UDF symlinks.
6854
6855 * grub-core/fs/udf.c (read_string): New argument outbuf.
6856 All users updated.
6857 (grub_ufs_read_symlink): Rename to ...
6858 (grub_udf_read_symlink): ... this. All users updated.
6859 Handle symlinks with more than one component.
6860
33eca6e0
VS
68612012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
6864 symlinks. Replace leading colon with a slash.
6865
57f4a70b
VS
68662012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
6869 filename.
6870
38c8ee20
VS
68712012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
6874 match in inner node.
6875
2e57f28f
VS
68762012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6877
6878 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
6879 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
6880 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
6881 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
6882 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
6883 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
6884 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
6885 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
6886 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
6887
fe8c2f11
VS
68882012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6889
6890 Use grub-probe and not cmp to check that disk is empty.
6891
6892 * util/grub-install.in: Use grub-probe for zero-check.
6893 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
6894 (probe): Handle PRINT_ZERO_CHECK.
6895 (argp_parser): Handle -t zero_check.
6896
68972012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
6898
6899 Flush block cache on adding disk to device map.
6900
6901 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
6902 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
6903 adding.
6904 (read_device_map): Likewise.
6905 (open_device): Flush on opening.
6906
690434e8
VS
69072012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
6910 (handle_symlink): Fix off-by-one error.
6911 Canonicalize the target.
6912 (grub_cpio_dir): Canonicalize the name.
6913 Fix memory leak.
6914 Set directory.
6915 (grub_cpio_open): Canonicalize the name.
6916
742d2be6
VS
69172012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
6920 handling.
6921
3244fe96
VS
69222012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6923
6924 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
6925 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
6926
8aeb1837
VS
69272012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6928
6929 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
6930 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 6931 All users updated.
8aeb1837 6932
9133fd05
VS
69332012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
6936 counterpart.
6937
6d521c5b
VS
69382012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 Fix UFS1 big file support.
6941
6942 * grub-core/fs/ufs.c (INODE): Removed.
6943 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
6944 64-bit.
6945 (INODE_MODE): Simplify.
6946 (grub_ufs_inode): Use uint64_t for size and not int64_t.
6947 (grub_ufs_lookup_symlink): Don't use INODE.
6948
21b82e17
VS
69492012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6950
6951 Fix minixfs with non-power-of-two blocks since it's supported by minix.
6952
6953 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
6954 (grub_minix_data): Replace log_block_size with block_size.
6955 (grub_minix_read_file): Use block_size but avoid 64-bit division.
6956 (grub_minix_mount): Fill block_size.
6957
69582012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
6959
6960 * configure.ac: Bump to beta5.
6961
f417ed04
VS
69622012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 Fix wrapped HFS+ handling.
6965
6966 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
6967 blocks_start. All users updated.
6968 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
6969 wrapping offset.
6970 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
6971
607d282b
VS
69722012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 Fix long symlinks on reiserfs.
6975
6976 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
6977 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
6978 (grub_reiserfs_iterate_dir): Save size for non-directories.
6979 (grub_reiserfs_open): Don't reread stat block as we already know the
6980 size.
6981 (grub_reiserfs_read): Split into...
6982 (grub_reiserfs_read_real): ... and ...
6983 (grub_reiserfs_read): ...this.
6984
ae16024d
VS
69852012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 Fix non-indexed JFS.
6988
6989 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
6990 (grub_jfs_data): New field namecomponentlen.
6991 (grub_jfs_mount): Fill namecomponentlen.
6992 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
6993
eea1e26e
VS
69942012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
6997 * tests/grub_script_echo1.in: Add tests.
6998
df760f77
VS
69992012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7000
7001 * util/grub-install.in: Ignore empty devicetree directory.
7002
5efb817d
B
70032012-05-08 Bean <bean123ch@gmail.com>
7004
7005 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
7006 All users updated.
7007 (free_rsm): Free header as well.
7008 (free_old_fragments): Fix memory leak.
7009 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
7010 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
7011 (destroy_pq): Likewise.
7012 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
7013
668ea6d2
VS
70142012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7015
7016 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
7017 resulting hash as a precaution.
7018
1739b1fe
VS
70192012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7020
7021 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
7022 '_' in variable names.
7023 * grub-core/net/net.c (grub_net_network_level_interface_register):
7024 Likewise.
7025
6ae485aa
VS
70262012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 Fix AFFS with non-512B blocks.
7029
7030 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
7031 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
7032 (grub_affs_data): Replace blocksize with log_blocksize.
7033 (grub_affs_read_block): Fix non-512B blocks.
7034 (grub_affs_read_symlink): Likewise.
7035 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
7036 (grub_affs_read): Fix non-512B blocks.
7037 (grub_affs_label): Likewise.
7038 (grub_affs_mtime): Likewise.
7039 (grub_affs_mount): Fix block detection routine.
7040
d20fab84
VS
70412012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 Add filesystem mtime to AFFS.
7044
7045 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
7046 (aftime2ctime): New function.
7047 (grub_affs_dir): Use aftime2ctime.
7048 (grub_affs_label): Fix return value.
7049 (grub_affs_mtime): New function.
7050 (grub_affs_fs): Add mtime.
7051
e87b10f5
VS
70522012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7053
7054 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
7055 UTF-8.
7056
7dceec9b
VS
70572012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7058
7059 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
7060 UTF-8.
7061
2f48221f
VS
70622012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7063
7064 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
7065
dacd85cf
VS
70662012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7067
7068 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
7069 flags.
7070 (FLAGS_CASE_SENSITIVE): New enum value.
7071 (cache_entry): New struct.
7072 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
7073 cache_size and cache.
7074 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
7075 Add log_blocksize and fshelp_flags.
7076 (grub_sfs_read_extent): Handle non-512 blocks.
7077 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
7078 (grub_sfs_read_file): Handle non-512 blocks.
7079 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
7080 fshelp_flags.
7081 (grub_sfs_read_symlink): Handle non-512 blocks.
7082 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
7083 (grub_sfs_dir): Free cache.
7084 (grub_sfs_close): Likewise.
7085
24e9a854
VS
70862012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7087
7088 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
7089 filesystems.
7090
62ace64d
VS
70912012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
7094
83b2e89c
VS
70952012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
7098
75ccaea3
VS
70992012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
7102 (grub_sfs_read_extent): Likewise.
7103 (grub_sfs_read_block): Likewise.
7104 (grub_sfs_mount): Likewise.
7105 (grub_sfs_iterate_dir): Likewise.
7106 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
7107 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
7108
1b8463f2
VS
71092012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 Fix errors on compressed NTFS with 512B clusters.
7112
7113 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
7114 types.
7115 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
7116 not 0.
7117 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
7118 Relax check for inline extents.
7119 (ntfscomp): Return correct -1 on error and not 0.
7120
4f8e368f
VS
71212012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7122
7123 * util/grub-install.in: Fix handling of prefix containing spaces.
7124
6f5d5ee8
VS
71252012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
7128 (grub_squash_read_data): Fix offset byte-swapping.
7129
ce41ab7a
VS
71302012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7131
7132 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
7133 per common usage and preffered in several parts of code.
7134 (grub_memcmp): Likewise.
7135 (grub_strncmp): Likewise.
7136 * include/grub/misc.h (grub_strcasecmp): Likewise.
7137 (grub_strncasecmp): Likewise.
7138 * Makefile.util.def (cmp_test): New test.
7139 (grub_script_strcmp): Likewise.
7140 * tests/cmp_unit_test.c: New file.
7141 * tests/grub_script_strcmp.in: Likewise.
7142 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
7143
49717bf4
VS
71442012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7145
7146 * include/grub/pci.h: Move enums into no-asm part.
7147
0a308f64
VS
71482012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
7151
1796965f
ST
71522012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
7153
7154 * util/getroot.c (find_hurd_root_device): Try to make error message
7155 and comments to translators clearer.
7156
4e9b2819
VS
71572012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
7160
076aeb50
VS
71612012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
7164 btrfs.
7165
19424d94
VS
71662012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 * docs/grub.cfg: Update.
7169
ebb73076
VS
71702012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 * docs/grub.texi (PXE): Remove not present variables.
7173
9a1b669c
VS
71742012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 * grub-core/net/net.c (defserver_set_env): New function.
7177 (defserver_get_env): Likewise.
7178 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
7179
d38bf7d3
VS
71802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
7183 entries.
7184
71852012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
7186
7187 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
7188 * grub-core/kern/emu/hostdisk.c: Likewise.
7189
e5e4ca48
ST
71902012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
7191
7192 Handle hurd userspace partitions.
7193
7194 * util/getroot.c (find_hurd_root_device): New function.
7195 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
7196
56bb5dd5
VS
71972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7198
7199 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
7200 names.
7201 Reported by: Bastian Blank.
7202
9e8bc27a
VS
72032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
7206 crossing page boundary.
7207
aa01499d
VS
72082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 Fix B-tree search in BFS, especially in presence of non-ASCII
7211 characters.
7212
7213 * grub-core/fs/bfs.c (bfs_strcmp): New function.
7214 (find_in_b_tree): Use standard bsearch + btree algorithm.
7215
57006035
VS
72162012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
7219 and so on.
7220
9d34bb85
MG
72212012-05-03 Matthew Garrett <mjg@redhat.com>
72222012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 Suspend broadcom cards in order to stop their DMA.
7225
7226 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
7227 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
7228 (pci): Don't build on x86 EFI.
7229 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
7230 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
7231 New function.
7232 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
7233 stop_broadcom if running on EFI.
7234 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
7235 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
7236 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
7237 (grub_pci_find_capability): New proto.
7238
01aab997
VS
72392012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 * docs/grub.texi: Remove dot from the extension as it apparently
7242 doesn't work with some makeinfo versions.
7243
fbd8dca6
VS
72442012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7245
7246 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
7247 with GRUB expectance.
7248
dab797f4
VS
72492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
7252
1516bfb4
VS
72532012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7254
7255 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
7256 zero after directory block since last entry may be not 0-terminated if
7257 it ends on block boundary. Use continue instead of if spanning whole
7258 loop.
7259
a3a0eace
VS
72602012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7261
7262 Support 4K sectors UDF inline files.
7263
7264 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
7265 (grub_udf_extended_file_entry): Likewise.
7266 (grub_fshelp_node): Name the anonymous union. Put block at the end.
7267 All users updated.
7268 (get_fshelp_size): New function.
7269 (grub_udf_read_icb): Read whole block.
7270 (grub_udf_iterate_dir): Likewise.
7271 (grub_udf_dir): Likewise.
7272 (grub_udf_open): Likewise.
7273
c82f16c1
VS
72742012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
7277
59fd2aac
VS
72782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
7281 inline symlinks in addition to workaround.
7282
3b4afb4d
VS
72832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
7286
f45c794a
VS
72872012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7288
7289 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
7290
f25cecbd
VS
72912012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7292
7293 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
7294
bb9a34e8
VS
72952012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7296
7297 Fix reiserfs big seek times.
7298
7299 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
7300 exact. All users updated.
7301 (grub_reiserfs_read): Use nearest btree search for seeking.
7302 Fix return value on error.
7303
dc478aea
VS
73042012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
7307 entries.
7308 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
7309 * docs/grub.texi: Update menuentry description.
7310
8db10f47
VS
73112012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
7314 crash when embedding onto filesystem.
7315
bcb288ed
VS
73162012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
7319 name.
7320
a626fdd7
VS
73212012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
7324
b2f68477
VS
73252012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7326
7327 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
7328 commit.
7329
ba15b2af
B
73302012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
73312012-05-01 Bean <bean123ch@gmail.com>
7332
7333 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
7334
a188012e
VS
73352012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
7338 Special behaviour for len = 0 to read whole file isn't used anywhere and
7339 can cause buffer ovewrflows in several places.
7340
f0a53ed2
VS
73412012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
7344
5ed554f0
VS
73452012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 Handle RAIDZ on non-512B sectors.
7348
7349 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
7350 max_children_ashift.
7351 (fill_vdev_info_real): Fill max_children_ashift.
7352 (read_device): Use max_children_ashift.
7353
ddc58357
VS
73542012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
7357
e3282399
VS
73582012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
7361 disk names.
7362 * docs/grub.texi: Update device.map parts.
7363
ee618bd4
VS
73642012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7365
7366 Don't scan into non-diskfilter devices having diskfilter names.
7367
7368 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
7369 (scan_disk): New argument accept_diskfilter. Fix recursion depth
7370 handling.
7371 (scan_disk_hook): New function.
7372
bdf88864
B
73732012-04-29 Bean <bean123ch@gmail.com>
7374
7375 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
7376 allocation.
7377
32745f51
MK
73782012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
7379
7380 * configure.ac: Detect starfield theme font path
7381 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
7382
bc95c8c0
VS
73832012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
7386 geometry on serial consoles.
7387
147fbcab
VS
73882012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7389
7390 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
7391 because of network consoles.
7392
0f42c889
VS
73932012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
7396 handling.
7397
4a3594c9
VS
73982012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
7401 falls on Q syndrom.
7402
5cb53879
VS
74032012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
7406 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
7407
b282dfe5
VS
74082012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
7411 Allocate at lest 8192 for temporary buffer as required for lzo.
7412
daa59f47
VS
74132012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
7416 to cluster_bits, since it's already added in.
7417 (grub_fat_read_data): Likewise.
7418
986748ce
VS
74192012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7420
7421 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
7422 as long as cluster size is multiple of 512 bytes.
7423
a20f6ad0
VS
74242012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
7425
7426 * util/grub-mkrescue.in: Fix locale directory.
7427
385f9abb
VS
74282012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 * grub-core/kern/emu/hostdisk.c (map): Make static.
7431
1c557d30
B
74322012-04-23 Bean <bean123ch@gmail.com>
7433
7434 * util/grub-fstest.c (fstest): Add missing break.
7435
524b5d3a
ST
74362012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
7437
7438 Fix hurd build.
7439
7440 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
7441 not define nr variable.
fe4824e9 7442 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
7443 find_root_devices_from_poolname, find_root_devices_from_libzfs,
7444 grub_find_device): Do not define.
524b5d3a 7445
9a06490c
VS
74462012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 Fix kfreebsd compile and behaviour.
7449
7450 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
7451 format-security.
7452 * util/getroot.c: Fix wait.h include.
7453 (grub_guess_root_devices): Error if grub_find_device fails.
7454 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
7455 (grub_util_get_dev_abstraction): Likewise.
7456 (grub_util_pull_device): Likewise.
7457 (grub_util_get_grub_dev): Likewise.
7458 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
7459
48143d96
VS
74602012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 Fix and unify wholedisk detection.
7463
7464 * util/getroot.c (convert_system_partition_to_system_disk): New argument
7465 is_part. All users updated.
7466 (device_is_wholedisk): Removed.
7467 (grub_util_biosdisk_get_grub_dev): Use is_part.
7468
ebbd24f3
VS
74692012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
7472 mode.
7473
56f7aa1e
VS
74742012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 * configure.ac: Bump to beta4.
7477
9c815e01
VS
74782012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
7481 --fs-uuid --set UUID syntax.
7482
59e2651a
VS
74832012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
7486 disunification.
7487
54e03cfc
VS
74882012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
7491
81092a75
MK
74922012-04-18 Mads Kiilerich <mads@kiilerich.com>
7493
7494 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
7495
f8315e14
MG
74962012-04-18 Mike Gilbert <floppym@gentoo.org>
7497
7498 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
7499
1501ac21
B
75002012-04-18 Bean <bean123ch@gmail.com>
7501
7502 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
7503 place.
7504
cb7f944e
VS
75052012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7506
7507 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
7508 users updated.
7509 (grub_util_biosdisk_read): Handle Linux partitions not exactly
7510 corresponding to GRUB partitions.
7511 (grub_util_biosdisk_write): Likewise.
7512
b72d44a1
VS
75132012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7514
7515 Scan mdraid before LVM.
7516
7517 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
7518 (grub_diskfilter_register_front): ... this.
7519 (grub_diskfilter_register_back): New function.
7520 All users of grub_diskfilter_register updated.
7521
33d918b8
VS
75222012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * util/grub-install.in: Fix an automatic target detection bug.
7525
c6ca973d
VS
75262012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7527
7528 * util/grub-install.in: New option --efi-directory.
7529
b41be562
VS
75302012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
7533 boot services if we have no other choice.
7534
75352012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7536
7537 * util/grub-mknetdir.in: Rename --override-directory to --directory and
7538 document it.
7539 * tests/util/grub-shell.in: Update to --directory.
7540
e0595a73
VS
75412012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7542
7543 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
7544
4ed80652
VS
75452012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
7548 (grub_minix_read_file): Likewise.
7549 (grub_minix_read_inode): Likewise.
7550 (grub_minix_find_file): Likewise.
7551 (grub_minix_dir): Likewise.
7552
56008077
VS
75532012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 * util/grub-setup.c (setup): Fix partition handling and blocklist
7556 check.
7557
ee520775
VS
75582012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
7561 redundant buggy overlap check.
7562
16fc9293
VS
75632012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
7566 and grub-mknetdir.
7567
9bab65c4
VS
75682012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7569
7570 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
7571 kh.loadflags on pre-2.00 kernels.
7572
3c491b47
VS
75732012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7574
7575 Terminate UNDI and PXE before launching the payload to avoid problems
7576 with DMA.
7577
7578 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
7579 (grub_loader_flags): ... this. All users updated.
7580 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
7581 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
7582 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
7583 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
7584 function.
7585 (grub_pxe_restore): Likewise.
7586 (fini_hnd): New var.
7587 (GRUB_MOD_INIT): Register shutdown hook.
7588 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
7589 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
7590 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
7591 (grub_loader_set): Rename second argument to flags.
7592
851ffada
VS
75932012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7594
7595 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
7596 written bytes.
7597 (grub_get_num_of_utf8_bytes): New function.
7598 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
7599 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
7600 executing it.
7601 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
7602 (grub_ucs4_to_utf8): Change return type.
7603
491c57a8
VS
76042012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7605
7606 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
7607 warning.
851ffada
VS
7608 * grub-core/fs/bfs.c (hop_level): Likewise.
7609 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 7610
756773df
VS
76112012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7612
7613 * grub-core/lib/adler32.c: Recode due to license unclearness.
7614
fd556a96
VS
76152012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7616
7617 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
7618 (test_header): Likewise.
7619
9f9d3f69
VS
76202012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7621
7622 Fix --help formatting.
7623
7624 * util/grub-mkconfig_lib.in (print_option_help): New function.
7625 (grub_fmt): Likewise.
7626 * util/grub-install.in: Use print_option_help and grub_fmt.
7627 * util/grub-kbdcomp.in: Likewise.
7628 * util/grub-mkconfig.in: Likewise.
7629 * util/grub-mknetdir.in: Likewise.
7630 * util/grub-mkrescue.in: Likewise.
7631 * util/grub-mkstandalone.in: Likewise.
7632 * util/grub-reboot.in: Likewise.
7633 * util/grub-set-default.in: Likewise.
7634 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7635
561ec77e
VS
76362012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 * linguas.sh: Remove autogenerated *.po.
7639
7ec2b021
VS
76402012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 * po/README: Move language fetcing to ...
7643 * linguas.sh: ... here.
7644 * po/README: Point to linguas.sh.
7645
a88f3270
VS
76462012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * po/README: Exclude ko.po due to disclaimer problems.
7649
d61357ce
VS
76502012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
7653 len = 0.
7654 (grub_gettext_translate_real): Handle 0th string.
7655 (grub_gettext_translate): Ensure that "" isn't translated.
7656
505e41dc
VS
76572012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
7660 TRANSLATORS comment.
7661 (grub_diskfilter_print_partmap): Propagate changing of error into
7662 warning.
7663
e44092db
VS
76642012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
7667 to uint64_t to prevent overflow.
7668 (grub_diskfilter_lv): Increase start_extent and extent_count
7669 to uint64_t to prevent overflow.
7670
9b83956a
VS
76712012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7672
7673 * configure.ac: Increase version.
7674
da0d5b3f
VS
76752012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
7678
7679 * po/Rules-translit: New file.
7680 * po/arabic.sed: Likewise.
7681 * po/cyrillic.sed: Likewise.
7682 * po/greek.sed: Likewise.
7683 * po/hebrew.sed: Likewise.
7684 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
7685 * po/Makefile.in.in: Add extra_dist4.
7686
ac66b453
VS
76872012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 Handle big-endian minixfs (fixes minixfs tests on bigendian).
7690
7691 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
7692 modify names. Introduce MODE_BIGENDIAN.
7693 * grub-core/fs/minix_be.c: New file.
7694 * grub-core/fs/minix2_be.c: Likewise
7695 * grub-core/fs/minix3_be.c: Likewise.
7696 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
7697 minix3_be.
7698 * grub-core/Makefile.core.def (minix_be): New module.
7699 (minix2_be): Likewise.
7700 (minix3_be): Likewise.
7701
77022012-04-01 Felix <email@hamburg.de>
7703
7704 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
7705 (devs): Add MBP 2011.
7706
0a2d5a82
VS
77072012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
7710
d1625889
VS
77112012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 * grub-core/normal/cmdline.c (print_completion): New field
7714 prompt_len.
7715 (grub_cmdline_get): Handle width properly.
7716
6d36a236
VS
77172012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * grub-core/commands/lsacpi.c (options): Add missing terminator.
7720
9576977e
VS
77212012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 7724 after 29th of February.
9576977e 7725
d73ff15d
VS
77262012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7727
7728 Fix exfat endianness handling.
7729
7730 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
7731 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
7732 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
7733 Byte-swap utf16 when necessary.
7734 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
7735
bbb39a45
AB
77362012-03-31 Anton Blanchard <anton@samba.org>
77372012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 Fix btrfs endianness handling.
7740
7741 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
7742 (lower_bound): Make root uint64_t. Use root in le.
7743 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
7744 (find_path): Fix template key init.
7745 (grub_btrfs_dir): Fix mtime byteswap.
7746 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
7747
354e0af7
VS
77482012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
7751 recursion_depth. Break infinite resursions. All users updated.
7752
4e75f21c
VS
77532012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
7756 after free.
7757 Reported by: Peter Jones.
7758
25581802
AB
77592012-03-31 Anton Blanchard <anton@samba.org>
7760
7761 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
7762 8 bit values.
7763
08fbf92e
VS
77642012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7765
7766 * util/grub-install.in: Fix nvram call for PreP.
7767
5d1182a6
VS
77682012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7769
7770 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
7771 the error when some elements are missing into a warning.
7772
3f8cdd90
VS
77732012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
7776
51006716
CW
77772012-03-28 Colin Watson <cjwatson@ubuntu.com>
7778
7779 * docs/grub.texi (Invoking grub-probe): New section.
7780 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
7781
e1bd676b
VS
77822012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 Fix tab and wide character handling in editor and menu.
7785
7786 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
7787 agglomerate control characters with combining marks.
7788 (bidi_line_wrap): Allow break on tab.
7789 (grub_unicode_get_comb_start): New function.
7790 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
7791 and tab correctly.
7792 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
7793 with a space.
7794 * grub-core/normal/term.c (print_ucs4_terminal): New argument
7795 fixed_tab_size. All users updated.
7796 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
7797 (grub_term_getcharwidth): Handle \t.
7798 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
7799 and copy.
7800
22e6a774
VS
78012012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7802
7803 Handle big-endian mdraid.
7804
7805 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
7806 * grub-core/Makefile.core.def (mdraid09_be): New module.
7807 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
7808 rather than grub_le_to_cpu* and grub_cpu_to_le*.
7809 * grub-core/disk/mdraid_linux_be.c: New file.
7810
3c0eae66
VS
78112012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
7814
b6cf74c9
VS
78152012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7818 missing quotes which caused confusion among translators.
7819
83c93b9c
VS
78202012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * util/grub-mkconfig_lib.in: Fix typo.
7823
ac6fd218
VS
78242012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
7827 spaces.
7828 * tests/grub_script_leading_whitespace.in: New file.
7829 * Makefile.util.def (grub_script_leading_whitespace): New test.
7830
ba287dd8
VS
78312012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
7834 to work.
7835
d2d58d0a
VS
78362012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
7839 starts with control character.
7840
0382d9bb
VS
78412012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
7844 overflow.
7845 (grub_gdb_outbuf): Likewise.
7846
d83ff9f9
VS
78472012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7848
7849 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
7850 zero terminator. Fixes a crash.
7851
2282da4a
VS
78522012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7853
7854 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
7855 beyond 4 GiB.
7856 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
7857 images independently of preffered adderss field.
7858
0ae4f0bd
VS
78592012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
7862 * grub-core/commands/regexp.c: Likewise.
7863 * grub-core/loader/i386/linux.c: Likewise.
7864 * grub-core/partmap/msdos.c: Likewise.
7865 * grub-core/script/execute.c: Likewise.
7866 * grub-core/term/gfxterm.c: Likewise.
7867
546fbe9b
VS
78682012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 Add variable parsing in $"..." and fix several mismatches with bash.
7871
7872 * Makefile.util.def (grub_script_gettext): New test.
7873 * grub-core/script/execute.c (parse_string): New function.
7874 (gettext_append): Likewise.
7875 (grub_script_arglist_to_argv): Use gettext_append.
7876 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
7877 * tests/grub_script_gettext.in: New file.
7878
9fdb2d7b
VS
78792012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 Fix handling of leading spaces in scripts.
7882
7883 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
7884 spaces.
7885 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
7886 other than skipping \r. All users updated.
7887 * tests/grub_script_echo1.in: Add space-related tests.
7888 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
7889
1a1ac4f6
VS
78902012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7891
7892 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
7893
b63d89b6
VS
78942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7895
7896 * configure.ac: Bump up the version to beta2.
7897
17f38c0f
VS
78982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 Fix gettext reload bugs (e.g. inability to disable gettext
7901 once enabled).
7902
7903 * grub-core/gettext/gettext.c: Encapsulate all static variables in
7904 main_context and secondary_context. All functions updated.
7905 (grub_gettext_translate): Rename to ...
7906 (grub_gettext_translate_real): ... this. Return NULL on failed
7907 translate.
7908 (grub_gettext_translate): Handle secondary context.
7909 (grub_gettext_delete_list): Close file and zero-out the context.
7910 (grub_mofile_open): Don't call grub_gettext_delete_list.
7911 Don't close file.
7912 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
7913 if locale="" to avoid pointless error message.
7914 (grub_gettext_env_write_lang): Update lang even if load fails.
7915 Handle secondary context.
7916 (grub_gettext_reread_prefix): New function.
7917 (read_main): Likewise.
7918 (read_secondary): Likewise.
7919 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
7920 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
7921 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
7922 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
7923
8e56f870
VS
79242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * configure.ac: Decrease warning level to avoid spurious warnings and
7927 to be able to compile with GCC 4.2.
7928 * Makefile.util.def: Remove -Wno-error=logical-op.
7929
82f6d455
WB
79302012-03-10 William Bittner <william.bittner@gmail.com>
7931
7932 * util/import_unicode.py: Add missing brackets around string for
7933 python 3 support.
7934
1ecd61a4
VS
79352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 Fix efi chainloader on network root.
7938
7939 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
7940 network devices.
7941 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
7942 New function.
7943
14361ee8
VS
79442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
7947 unused show_text member.
7948 * docs/grub.texi: Document "text" property.
7949
922aabf3
VS
79502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7951
7952 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
7953 in dprintf.
7954
ec316771
VS
79552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 Fix IMSM handling on Fedora.
7958
7959 * util/getroot.c (grub_util_is_imsm): New function.
7960 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
7961
0f021838
VS
79622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7963
7964 * Makefile.am: Strip gold section.
7965 * conf/Makefile.common: Likewise.
7966 * gentpl.py: Likewise.
7967 * grub-core/Makefile.core.def: Likewise.
7968 * grub-core/genmod.sh.in: Likewise.
7969
1039c8eb
VS
79702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7971
7972 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
7973 * util/grub.d/20_linux_xen.in: Likewise.
7974 Based on Debian patch.
7975
6dd412cd
VS
79762012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7977
7978 * util/grub.d/10_linux.in: Fix syntax error resulting in
7979 Richard Laager's patch.
7980 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
7981
3fd8bae5
VS
79822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7983
7984 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
7985 dependencies.
7986
7eea1671
RL
79872012-03-10 Richard Laager <rlaager@wiktel.com>
7988
7989 * util/grub.d/10_linux.in: Fix ZFS root passing.
7990
e8e0566b
VS
79912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7992
7993 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7994 * grub-core/commands/xnu_uuid.c: Likewise.
7995 * grub-core/loader/efi/appleloader.c: Likewise.
7996 * grub-core/script/execute.c: Likewise.
7997 * grub-core/script/main.c: Likewise.
7998 * util/grub-mkfont.c: Likewise.
7999
1acc5b1f
VS
80002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 * util/grub-mkfont.c (options): Use more appropriate "select" that
8003 "set" for face index.
8004
35d70620
VS
80052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8006
8007 * util/grub-editenv.c (options): Gettextize command summaries.
8008
c9eb96b5
VS
80092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8010
8011 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
8012 "out of memory" error messagge.
8013
1f493136
VS
80142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
8017 of diskfilter for diskfilter on diskfilter support.
8018
6d790129
VS
80192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
8022
005f46c9
VS
80232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * util/grub-install.in: Check for themes/starfield/theme.txt and not
8026 themes/starfield.
8027
c8f778a0
VS
80282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8029
8030 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
8031
de1e64eb
VS
80322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8033
8034 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
8035
c6d54211
VS
80362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
8039 of error message.
8040
dd390777
VS
80412012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
8044
5fd1c522
VS
80452012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
8048 message.
c6d54211 8049 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 8050
fae01f6c
VS
80512012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
8054 Gettextize.
8055 * util/grub-mount.c (options): Likewise.
8056
292fdaff
VS
80572012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8058
8059 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
8060 gettextize.
8061 * grub-core/commands/search_wrap.c (options): Likewise.
8062
ecdbae77
VS
80632012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
8066
52bfedfa
VS
80672012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
8070 size calculation.
8071 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
8072 none is known.
8073
55b20e58
VS
80742012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8075
8076 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
8077 "temporary" since it's used in identifier and is limited in space.
8078
fda9d101
VS
80792012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8080
8081 * po/POTFILES.in: Regenerate. Include *.h since they contain
8082 translatable strings as well.
8083
6a0295e2
VS
80842012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
8087 byte-swap on big-endian.
8088 Reported by: Lennart Sorensen
8089
807fb77c
VS
80902012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
8093 (allocate_pages): Improve dprintf.
8094 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
8095 code32_start. Fill code32_start and kernel_alignment in params.
8096 (grub_cmd_initrd): Use prot_init_space.
8097
61ac50ba
VS
80982012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
8101
abdd26dd
VS
81022012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8103
8104 * util/grub-install.in: Add missing dot at the end of sentence.
8105
6e69da9c
VS
81062012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
8109 * grub-core/commands/videotest.c: Likewise.
8110 * grub-core/loader/i386/linux.c: Likewise.
8111
4a929343
VS
81122012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
8115 sentence.
8116 Reported by: Milo Casagrande.
8117
bb51c6c6
VS
81182012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
8121 * grub-core/commands/gptsync.c: Likewise.
8122 * grub-core/commands/hashsum.c: Likewise.
8123 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8124 * grub-core/commands/legacycfg.c: Likewise.
8125 * grub-core/io/gzio.c: Likewise.
8126 * grub-core/net/net.c: Likewise.
8127 * grub-core/term/gfxterm.c: Likewise.
8128 * grub-core/term/terminfo.c: Likewise.
8129 * grub-core/tests/test_blockarg.c: Likewise.
8130 * grub-core/video/video.c: Likewise.
8131 * util/grub-install.in: Likewise.
8132 * util/grub-mkfont.c: Likewise.
8133
b2b149cb
VS
81342012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
8137
c7c080ad
VS
81382012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8139
8140 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 8141 Reported by: David Prévot.
c7c080ad 8142
f2e243c0
VS
81432012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
8146 description.
8147
09963c76
VS
81482012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * util/grub-script-check.c (main): Fix a syntax error message which was
8151 unclear.
8152
a50514a8
VS
81532012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
8156
4650daec
VS
81572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8158
8159 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
8160 messages.
8161
81622012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
8163
8164 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
8165 without argument.
8166 * util/grub-mount.c (options): Likewise.
8167
bbc5a342
VS
81682012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8169
8170 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
8171
ef292a87
VS
81722012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 * grub-core/net/http.c: Add TRANSLATORS comments.
8175 * grub-core/normal/cmdline.c: Likewise.
8176 * grub-core/normal/misc.c: Likewise.
8177 * grub-core/partmap/msdos.c: Likewise.
8178 * grub-core/parttool/msdospart.c: Likewise.
8179 * grub-core/script/execute.c: Likewise.
8180 * grub-core/script/main.c: Likewise.
8181 * grub-core/term/terminfo.c: Likewise.
8182 * grub-core/video/bitmap.c: Likewise.
8183 * util/grub-install.in: Likewise.
8184 * util/grub-mkimage.c: Likewise.
8185 * util/grub-mklayout.c: Likewise.
8186 * util/grub-setup.c: Likewise.
8187
0fc19bd0
VS
81882012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
8191 with similar messages in grub-fstest.
8192
d95862ef
VS
81932012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8194
8195 * util/grub-install.in: Unify "option requires an argument" message
8196 with similar messages in other files.
8197 * util/grub-mkconfig.in: Likewise.
8198
b7308f90
VS
81992012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 * util/grub-set-default.in: Replace printf with gettext_printf (the
8202 string in in question is already translated from grub-reboot)
8203
559dc587
VS
82042012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8205
8206 * configure.ac: Bump up the version to beta1.
8207
1a11761f
VS
82082012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
8211 case when min_align = 0.
8212
24539abd
VS
82132012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
8216 and fix a case when line_start overflows.
8217
32bd735b
VS
82182012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 * util/grub-reboot.in (usage): Mention id posibility.
8221 * util/grub-set-default.in (usage): Likewise.
8222
1a2fd1e6
VS
82232012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
8226 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
8227 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
8228 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
8229 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8230 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8231 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8232
90eeab76
VS
82332012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * grub-core/commands/menuentry.c (options): Remove
8236 GRUB_ARG_OPTION_REPEATABLE.
8237 Reported by: Andreas Vogel
8238
5ad1be82
AV
82392012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
8240
8241 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
8242
cb055286
HE
82432012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
8244
8245 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
8246 error.
8247
93b1cd79
VS
82482012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 Use sort -V by the idea of Georgi Georgiev.
8251
8252 * util/grub-mkconfig_lib.in (version_sort): New function.
8253 (version_test_numeric): Use version_sort.
8254
0cdc126c
VS
82552012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8256
8257 Use submenus in grub-mkconfig.
8258
8259 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
8260 * util/grub-mkconfig_lib.in (grub_quote): New function.
8261 (gettext_printf): Use gettext and not gettext_quoted to fix several
8262 messages.
8263 * util/grub.d/10_hurd.in: Use submenus.
8264 * util/grub.d/10_kfreebsd.in: Likewise.
8265 * util/grub.d/10_linux.in: Likewise.
8266 * util/grub.d/10_netbsd.in: Likewise.
8267 * util/grub.d/20_linux_xen.in: Likewise.
8268 * util/grub.d/30_os-prober.in: Likewise.
8269 * util/grub.d/10_illumos.in: Add missing quoting.
8270 * util/grub.d/10_windows.in: Likewise.
8271
d9bef9bc
VS
82722012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 Fix menu title instability bug.
8275
8276 * grub-core/commands/menuentry.c (options): New option --id.
8277 (grub_normal_add_menu_entry): New argument id. All users updated.
8278 (grub_cmd_menuentry): Handle --id.
8279 (grub_menu_init): Accept unknown arguments.
8280 * grub-core/normal/main.c (features): Add feature_menuentry_id and
8281 feature_menuentry_options.
8282 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
8283 saved_entry.
8284 (get_entry_number): Match with id as well.
8285 * include/grub/menu.h (grub_menu_entry): New member id.
8286 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
8287 * util/grub.d/00_header.in: Define menuentry_id_option.
8288 * util/grub.d/10_hurd.in: Define id.
8289 * util/grub.d/10_illumos.in: Likewise.
8290 * util/grub.d/10_kfreebsd.in: Likewise.
8291 * util/grub.d/10_linux.in: Likewise.
8292 * util/grub.d/10_netbsd.in: Likewise.
8293 * util/grub.d/10_windows.in: Likewise.
8294 * util/grub.d/20_linux_xen.in: Likewise.
8295 * util/grub.d/30_os-prober.in: Likewise.
8296
82972012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
8298
8299 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
8300 "scope" with "body".
8301
7c8d0ce7
VS
83022012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
8305 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
8306 prot_size and prot_file_size.
8307
49de079b
VS
83082012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
8311 All users updated. If easily=1 require raid-5/-6 to be full.
8312 (is_node_readable): Likewise.
8313 (scan_devices): Scan incomplete but readable LVs at the end.
8314 (grub_diskfilter_memberlist): Pull missing devices.
8315 (insert_array): Skip scanning until device is complete or scan is
8316 done otherwise.
8317 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
8318 check.
8319 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
8320 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
8321
aff05d45
MG
83222012-03-03 Matthew Garrett <mjg@redhat.com>
83232012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 Avoid EFI boot services when loading Linux.
8326
8327 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
8328 avoid_efi_bootservices. All users updated.
8329 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
8330 argument avoid_efi_bootservices. All users updated.
8331 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
8332 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
8333 align, min_align, relocatable, prefered_address. All users updated.
8334 Allocate avoiding boot services if kernel is relocatable.
8335 (grub_cmd_linux): Check if kernel is relocatable.
8336 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
8337 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
8338 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
8339 avoid_efi_boot_services.
8340 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
8341 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
8342 (linux_kernel_params): Likewise.
8343
3935dde2
MG
83442012-03-03 Matthew Garrett <mjg@redhat.com>
83452012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8346
8347 Use EDID on EFI.
8348
8349 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
8350 datasize_out.
8351 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
8352 modes. Set gop_handle.
8353 (grub_video_gop_get_edid): New function.
8354 (grub_gop_get_preferred_mode): Likewise.
8355 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
8356 (grub_video_efi_gop_adapter): Set .get_edid.
8357 * include/grub/efi/edid.h: New file.
8358 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
8359
32107ec0
VS
83602012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * util/grub-install.in: Load efivars unconditionally.
8363
e70a2c50
VS
83642012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8365
8366 * po/Rules-piglatin: Change suffix from .po-update-en to
8367 .po-update-en-piglatin.
8368
8f9cace1
VS
83692012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 Add a pig farm.
8372
8373 * po/piglatin.sed: New file.
8374 * po/en@piglatin.header: Likewise.
8375 * po/Rules-piglatin: Likewise.
8376 * po/README: Add en@piglatin to autogenerated languages.
8377
8f95d002
VS
83782012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
8381 "Command for ...".
8382 * grub-core/commands/hdparm.c (options): Use "Display" rather than
8383 "Check" since we don't check anything.
8384 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
8385 is 64-bit one.
8386 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
8387 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
8388 (grub_md_sha512_real): Likewise.
8389
805a8dcc
VS
83902012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8391
8392 * grub-core/commands/gptsync.c: Fix typographic quoting.
8393 * grub-core/commands/ieee1275/suspend.c: Likewise.
8394 * grub-core/commands/parttool.c: Likewise.
8395 * grub-core/commands/search_wrap.c: Likewise.
8396 * grub-core/commands/videoinfo.c: Likewise.
8397 * grub-core/gfxmenu/gui_label.c: Likewise.
8398 * grub-core/hello/hello.c: Likewise.
8399 * grub-core/kern/emu/main.c: Likewise.
8400 * grub-core/net/net.c: Likewise.
8401 * grub-core/normal/menu.c: Likewise.
8402 * grub-core/normal/menu_text.c: Likewise.
8403 * grub-core/normal/misc.c: Likewise.
8404 * util/grub-editenv.c: Likewise.
8405 * util/grub-install.in: Likewise.
8406 * util/grub-kbdcomp.in: Likewise.
8407 * util/grub-mkconfig.in: Likewise.
8408 * util/grub-mknetdir.in: Likewise.
8409 * util/grub-mkrescue.in: Likewise.
8410 * util/grub-mkstandalone.in: Likewise.
8411 * util/grub-reboot.in: Likewise.
8412 * util/grub-set-default.in: Likewise.
8413 * util/grub-setup.c: Likewise.
8414 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8415
40211ab8
VS
84162012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8417
8418 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
8419 * grub-core/commands/keystatus.c: Likewise.
8420 * grub-core/commands/loadenv.c: Likewise.
8421 * grub-core/commands/probe.c: Likewise.
8422 * grub-core/commands/regexp.c: Likewise.
8423 * grub-core/commands/true.c: Likewise.
8424 * grub-core/commands/videoinfo.c: Likewise.
8425 * grub-core/disk/cryptodisk.c: Likewise.
8426 * grub-core/disk/ldm.c: Likewise.
8427 * grub-core/disk/loopback.c: Likewise.
8428 * grub-core/disk/luks.c: Likewise.
8429 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8430 * grub-core/kern/disk.c: Likewise.
8431 * grub-core/kern/emu/hostdisk.c: Likewise.
8432
0c7d99c7
VS
84332012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
8436 * util/grub-install.in: Add missing quote in the comment.
8437
e7d2559b
VS
84382012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
8441 * grub-core/commands/lsmmap.c: Likewise.
8442 * grub-core/commands/minicmd.c: Likewise.
8443 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8444 * grub-core/commands/regexp.c: Likewise.
8445 * grub-core/gdb/gdb.c: Likewise.
8446 * grub-core/term/gfxterm.c: Likewise.
8447 * util/grub-mkconfig.in: Likewise.
8448 * util/grub-mkfont.c: Likewise.
8449 * util/grub-mklayout.c: Likewise.
8450 * util/grub-mknetdir.in: Likewise.
8451 * util/grub-mkrescue.in: Likewise.
8452 * util/grub.d/30_os-prober.in: Likewise.
8453
49ce9e50
VS
84542012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
8457 with "Direct color" and "Packed" with "Packed pixel".
8458 (grub_cmd_videoinfo): Simplify legend.
8459
e4b791fa
VS
84602012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8463 absolutely unclear error message.
8464
fd1265cb
VS
84652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * util/grub-mkstandalone.in: Remove confusing leftover print.
8468
8822a8a0
VS
84692012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8470
8471 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
8472 comments.
8473 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
8474 (GRUB_MOD_INIT): Likewise.
8475 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
8476 VGA mode.
8477 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
8478 comments.
8479 * util/grub-install.in (usage): Likewise.
8480 Spell ID in whole letters.
8481 Add missing ending dot.
8482 Quote variables.
8483 * util/grub-reboot.in: Fix capitalisation.
8484 * util/grub-set-default.in: Likewise.
8485
937fd0cc
VS
84862012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
8489 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
8490 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
8491 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
8492 Disable -Werror for -Wdeprecated-declarations.
8493 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
8494 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
8495 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
8496 (grub_util_get_grub_dev): Make luks handling dependent on
8497 HAVE_DEVICE_MAPPER and not __linux__.
8498 (get_win32_path): Fix format security.
8499 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
8500 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
8501 Don't try grub_find_zpool_from_dir.
8502 (grub_make_system_path_relative_to_its_root) [!__linux__]:
8503 #ifdef-out paresdir.
8504
1bab1ae3
VS
85052012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 * util/grub-pe2elf.c (usage): Add missing noreturn.
8508 (write_section_data): Rename name to shname to avoid shadowing.
8509 (write_symbol_table): Rename name to symname to avoid shadowing.
8510 Fix write_reloc_section call.
8511
ef023e42
VS
85122012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
8515 to ensure that it's after the last byte of .text.
8516
48afcb75
VS
85172012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 * util/ieee1275/ofpath.c (my_isdigit): New function.
8520 (trailing_digits): Use my_isdigit.
8521 (strip_trailing_digits): Likewise.
8522
88d51eff
VS
85232012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
8526 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
8527
17edc2ba
VS
85282012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8529
8530 * grub-core/kern/i386/pc/startup.S: Define __start.
8531
ad5518d7
VS
85322012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
8535 strip already transforms he format.
8536
9e95e1bf
VS
85372012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
8540
9cc3ee5c
VS
85412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * util/grub-install.in: Add missing gettext init.
8544 * util/grub-kbdcomp.in: Likewise.
8545 * util/grub-mkconfig.in: Likewise.
8546 * util/grub-mknetdir.in: Likewise.
8547 * util/grub-mkrescue.in: Likewise.
8548 * util/grub-mkstandalone.in: Likewise.
8549 * util/grub-reboot.in: Likewise.
8550 * util/grub-set-default.in: Likewise.
8551 * util/grub.d/00_header.in: Likewise.
8552 * util/grub.d/10_hurd.in: Likewise.
8553 * util/grub.d/10_windows.in: Likewise.
8554 * util/grub.d/30_os-prober.in: Likewise.
8555 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8556
49e08a06
VS
85572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 * po/Rules-swiss: Fix header comment.
8560
3809cb41
AV
85612012-02-29 Andreas Vogel <anvoit>
8562
8563 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
8564 resulted in leak of arguments.
8565
fa6ec573
VS
85662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8567
8568 * grub-core/boot/i386/pc/startup_raw.S: Use separate
8569 reed_solomon_size const definition instead of computing it since
8570 Apple assembler doesn't support the later.
8571
22899b9c
VS
85722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8573
8574 * gentpl.py (kernel): Rewrite Apple part.
8575
a132afc3
VS
85762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 * include/grub/kernel.h (FOR_MODULES): Check module magic.
8579
9d742bd4
VS
85802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 * util/grub-mkimagexx.c (locate_sections): Support non-standard
8583 ELF section gap.
8584 (load_image): Likewise.
8585
f04a9a21
VS
85862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8587
8588 * configure.ac: Fix a typo in previous commit.
8589
46cf439c
VS
85902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 Don't add -Wl,-N on Apple platform.
8593
8594 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
8595 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
8596
c4c48c54
VS
85972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8598
8599 * grub-core/Makefile.core.def (lzma_decompress): Use
8600 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
8601
31a12124
VS
86022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8603
8604 * grub-core/genmod.sh.in: Rewrite the Apple part.
8605
4f3aa1af
VS
86062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8607
8608 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
8609 comparison.
8610
7bd8b0c7
VS
86112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8612
8613 * acinclude.m4 (grub_CHECK_PIC): New test.
8614 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
8615
97304d7c
VS
86162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8617
8618 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
8619 to avoid the warning.
8620
fb883812
VS
86212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
8624 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
8625 after. All users updated.
8626
a121c964
VS
86272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8628
8629 Use the common size routine in hostfs so we can read disks as well.
8630
8631 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
8632 (grub_util_get_fd_size): ... this. Return size in bytes.
8633 All users updated.
8634 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
8635 grub_util_get_fd_size.
8636
c66d6410
VS
86372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8638
8639 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
8640 Add blocksize retrieval.
8641
dfc8aeb0
VS
86422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8643
8644 * configure.ac: Restore CFLAGS after efiemu check.
8645
403e25a5
VS
86462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8647
8648 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
8649 Apple bug.
8650
382775d1
VS
86512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
8654
6fd4e6e4
VS
86552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
8658 (grub_cmd_halt): Likewise.
8659
bea359d6
VS
86602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8661
8662 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
8663 for local arithmetics.
8664 Break %sp init into 2 instructions.
8665 Add 0 byte at the end.
8666
32eb6ee1
VS
86672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * grub-core/disk/diskfilter.c (read_segment): Initialise err
8670 before loops.
8671
e8377389
VS
86722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8673
8674 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
8675 for context.
8676
8cb17de7
VS
86772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * grub-core/disk/ldm.c (make_vg): Init part.name.
8680 (grub_ldm_detect): Silence spurious warning.
8681 (grub_util_is_ldm): Likewise.
8682
595717e6
VS
86832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8684
8685 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
8686 sane value to avoid a spurious warning.
8687
c4b7e588
VS
86882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8689
8690 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
8691 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
8692
59824957
VS
86932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8694
8695 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
8696 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
8697
70115b99
VS
86982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
8701 hardcoding the relevant info.
8702
56733740
VS
87032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
8706 missing const qualifiers.
8707 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
8708
43481481
VS
87092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 * util/getroot.c [__APPLE__]: Add missing includes.
8712 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
8713
3cb38f01
VS
87142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 * util/grub-mkimage.c (generate_image): Silence spurious warning.
8717
d9dbf11e
VS
87182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
8721 avoid conflicts.
8722
0c42a45d
VS
87232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
8726
46c34eb0
VS
87272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
8730 and grub_file_close call.
8731
99ce1597
VS
87322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 Add LZSS Mach-O support (needed for new xnu kernelcache).
8735
8736 * grub-core/Makefile.core.def (xnu): Add file lzss.c
8737 * grub-core/loader/lzss.c: New file.
8738 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
8739 on Mach-O open failure.
8740 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
8741 Don't free cmdsXX in uncompressedXX is set.
8742 (grub_macho_file): Init new fields.
8743 New argument is_64bit. All users updated.
8744 Handle compressed. Error out if no suitable architecture is found.
8745 Don't close file.
8746 (grub_macho_open): New argument is_64bit. All users updated.
8747 * grub-core/loader/macho32.c: Add defines for new fields.
8748 * grub-core/loader/macho64.c: Likewise.
8749 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
8750 (grub_macho_parse): Handle compressed.
8751 Defer actual processing if compressed.
8752 (grub_macho_cmds_iterate): Decompress if compressed. New argument
8753 "filename". All users updated.
8754 (grub_macho_size): New argument "filename". All users updated.
8755 (grub_macho_get_entry_point): Likewise.
8756 (grub_macho_load): Handle compressed.
8757 * include/grub/macho.h (grub_macho_lzss_header): New struct.
8758 (GRUB_MACHO_LZSS_OFFSET): New define.
8759 (grub_decompress_lzss): New proto.
8760 * include/grub/machoload.h (grub_macho_file): New fields to handle
8761 compressed.
8762 (grub_macho_contains_macho64): Remove proto.
8763 (grub_macho_contains_macho32): Likewise.
8764 * util/grub.d/30_os-prober.in: Use kernel cache if available.
8765
ebd17d6f
VS
87662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8767
8768 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
8769
2702b4e4
VS
87702012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 Fix make dist.
8773
8774 * Makefile.am (starfield_theme_files): New var.
8775 (starfield_DATA): Use starfield_theme_files.
8776 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
8777 Add bootcheck-related files.
8778 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
8779 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
8780 and font_char_metrics.txt.
8781 * grub-core/Makefile.core.def (kernel): Update extra_dist.
8782 (setjmp): Add lib/ia64/longjmp.S.
8783 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
8784 * po/POTFILES.in: Regenerate.
8785 * po/Rules-swiss: use DISTFILES.common.extra2 and not
8786 DISTFILES.common.extra1.
8787 * util/devicemap.c: Removed.
8788 * grub-core/lib/i386/relocator_backward.S: Likewise.
8789 * util/import_gcry.py: Remove unused files. Add extra_dist for
8790 ChangeLog.
8791
cf1adfdf
VS
87922012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 * grub-core/gettext/gettext.c (grub_mofile_open): Call
8795 grub_gettext_delete_list before changing grub_gettext_max to avoid
8796 running out of array bounds.
8797
87982012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
8799
8800 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
8801 grub_vga_text_init/grub_vga_text_fini.
8802
cf1adfdf 88032012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
8804
8805 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
8806
541d92e9
VS
88072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * configure.ac: Bump to 2.00~beta0.
8810
7931dddf
VS
88112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8812
8813 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
8814 missing initialisation.
8815
f1b16fa3
VS
88162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8817
8818 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
8819
83ddae23
VS
88202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8821
8822 Support v2 xnu boot arguments.
8823
8824 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
8825 New argument fsbfreq_out.
8826 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
8827 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
8828 be used.
8829 * grub-core/loader/machoXX.c (grub_macho_load): New argument
8830 darwin_version.
8831 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
8832 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
8833 (grub_xnu_boot_params): Rename to ...
8834 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
8835 (grub_xnu_boot_params_v2): New struct.
8836
dc693fe6
VS
88372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8838
8839 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
8840 zeroing of CRC field before computing CRC.
8841
5a6e39c2
VS
88422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8843
8844 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
8845 Change order of allocations to decrease fragmentation.
8846
6c21f5d7
VS
88472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
8850
cfe456dc
CW
88512012-02-27 Colin Watson <cjwatson@ubuntu.com>
8852
8853 Use write-combining MTRR to speed up video with buggy BIOSes.
8854
8855 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
8856 (cpuid): New define.
8857 (rdmsr): Likewise.
8858 (wrmsr): Likewise.
8859 (mtrr_base): Likewise.
8860 (mtrr_mask): Likewise.
8861 (grub_vbe_enable_mtrr_entry): New function.
8862 (grub_vbe_enable_mtrr): Likewise.
8863 (grub_vbe_disable_mtrr): Likewise.
8864 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
8865 control off to BIOS.
8866 (grub_video_vbe_init): Fill mtrr.
8867 (grub_video_vbe_fini): Disable mtrr.
8868 (grub_video_vbe_get_info_and_fini): Likewise.
8869 (grub_video_vbe_setup): Enable mtrr.
8870
e3c78337
CW
88712012-02-27 Colin Watson <cjwatson@ubuntu.com>
8872
8873 * include/grub/partition.h (grub_partition_map): Change prototype of
8874 embed to take a maximum value for nsectors.
8875 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
8876 * include/grub/fs.h (grub_fs): Likewise.
8877 * grub-core/partmap/msdos.c (embed_signatures): New array.
8878 (pc_partition_map_embed): Check for and avoid sectors matching any
8879 of the signatures in embed_signatures, up to max_nsectors.
8880 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
8881 returned sector map to max_nsectors.
8882 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
8883 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
8884 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
8885 * util/grub-setup.c (setup): Allow for the embedding area being
8886 split into multiple blocklists. Tell dest_partmap->embed the
8887 maximum number of sectors we care about.
8888
88892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
8892 Specify blocklist_install and reserver_first_sector for all fs.
8893 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
8894 blocklists.
8895
984b973f
VS
88962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 * util/grub-install.in: Clarify strings.
8899 Fix source dir check.
8900
f122e0d6
RL
89012012-02-27 Richard Laager <rlaager@wiktel.com>
8902
8903 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
8904 "zfs" and "fuse.zfs" as synonyms.
8905
071114bb
VS
89062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 * configure.ac: Put platform and target_cpu substitutions back since
8909 they are used for directories.
8910
817e6abc
RL
89112012-02-27 Richard Laager <rlaager@wiktel.com>
89122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 * util/grub.d/10_linux.in: Add ZFS-related arguments.
8915 * util/grub.d/20_linux_xen.in: Likewise.
8916
897b7419
RL
89172012-02-27 Richard Laager <rlaager@wiktel.com>
8918
8919 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
8920 with full paths.
8921
a414bd15
RL
89222012-02-27 Richard Laager <rlaager@wiktel.com>
8923
8924 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
8925 unescape.
8926
30ac48c4
VS
89272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 Don't use insecure popen in getroot.
8930
8931 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
8932 (exec_pipe): ... here.
8933 (find_root_devices_from_poolname): Use exec_pipe.
8934
53f13848
VS
89352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 Remove platform and target_cpu replacement.
8938
8939 * configure.ac: Remove platform and target_cpu substitutions.
8940 * tests/util/grub-shell.in: Use modinfo.
8941 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
8942 explicitly.
8943
90cb2803
VS
89442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8945
8946 Autodetect platform in grub-install but allow override.
8947
8948 * util/grub-install.in: Autodetect platform. Support --target and
8949 --directory. Read platform from modinfo.sh.
8950
b9136427
VS
89512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 Support btrfs multi-volume probe.
8954
8955 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
8956 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
8957 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
8958 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
8959 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
8960 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
8961 grub_find_root_devices_from_btrfs if on btrfs.
8962
c36e5cd1
VS
89632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8964
8965 Remove any awareness of *.c util files about target.
8966
8967 * Makefile.util.def (grub-setup): Split to ...
8968 (grub-bios-setup): ... and this.
8969 (grub-sparc64-setup): ... and this.
8970 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
8971 * docs/man/grub-setup.h2m: Split into ...
8972 * docs/man/grub-sparc64-setup.h2m: ... this.
8973 * docs/man/grub-bios-setup.h2m: ... and this.
8974 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
8975 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
8976 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
8977 (grub_target_addr_t): Remove.
8978 (grub_target_size_t): Remove.
8979 (grub_target_ssize_t): Remove.
8980 * util/grub-install.in: Use new grub-*-setup.
8981 * util/grub-mkimagexx.c (Elf_Word): New define.
8982 (Elf_Half): Likewise.
8983 (Elf_Section): Likewise.
8984 (ELF_ST_TYPE): Likewise.
8985 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
8986 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
8987
584b2f8a
VS
89882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8989
8990 Replace grub_target_addr with more appropriate types.
8991
8992 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
8993 grub_target_addr with grub_addr.
8994 * grub-core/commands/iorw.c (grub_cmd_read): Replace
8995 grub_target_addr with grub_port.
8996 (grub_cmd_write): Likewise.
8997 * grub-core/commands/memrw.c (grub_cmd_read): Replace
8998 grub_target_addr with grub_addr.
8999 (grub_cmd_write): Likewise.
9000 * grub-core/video/efi_uga.c (find_line_len): Likewise.
9001
5a0dc6fb
VS
90022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
9005 const qualifier for vendor_guid.
9006
786aff6e
VS
90072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
9010 const qualifier.
9011 (efiemu_memequal): Likewise.
9012 (find_variable): Likewise.
9013
49017b17
VS
90142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9015
9016 Fix missing console prototype on qemu-mips.
9017
9018 * include/grub/mips/qemu_mips/console.h: New file.
9019
c5988629
MG
90202012-02-27 Matthew Garrett <mjg@redhat.com>
90212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
9024 * include/grub/efi/efi.h: Likewise.
9025 * include/grub/efi/api.h: Add guid for EFI-specified variables.
9026 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
9027 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
9028 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
9029 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
9030 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
9031
e33f8d69
MG
90322012-02-27 Matthew Garrett <mjg@redhat.com>
9033
9034 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
9035
fb312cd9
VS
90362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
9039 error.
9040
7134247c
VS
90412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * configure.ac: Remove inappropriate use of program_transform_name
9044 on grubdir and bootdir but allow explicit specification of those
9045 variables.
9046
6a313124
VS
90472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 * util/grub-mknetdir.in (grub_prefix): Removed.
9050 (subdir): Use @bootdirname@ and @grubdirname@.
9051
2311c5ca
VS
90522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
9055
7d5d60f7
VS
90562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9057
9058 * po/POTFILES.in: Regenerated.
9059
8151bc82
VS
90602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 Remove improper use of program_transform_name on pkglibrootdir.
9063
9064 * configure.ac (pkglibrootdir): Removed.
9065 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
9066 * util/grub-mkimage.c: Likewise.
9067
b4a6a533
VS
90682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9069
9070 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
9071 warning.
9072
668f304f
VS
90732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * util/grub-install.in: Use file identifier if no UUID is available
9076 or user explicitly prompted for it.
9077
665f2341
NP
90782012-02-27 Navdeep Parhar <nparhar@gmail.com>
9079
9080 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
9081 (freebsd_get_zfs): New function.
9082 (grub_freebsd_boot): Pass zfs UUID.
9083 (grub_cmd_freebsd): Set zfs UUID.
9084
8151bc82 90852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
9086
9087 * conf/Makefile.common (platformdir): Base on pkglibdir and not
9088 pkglibrootdir.
9089
e4c498a1
MG
90902012-02-27 Mike Gilbert <floppym@gentoo.org>
9091
9092 Add configure flag to control libzfs integration.
9093
9094 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
9095
1e9a9a3f
VS
90962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9097
9098 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
9099 device.
9100 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
9101 small devices.
9102
036985b8
VS
91032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 Remove grub_{modname}_init and grub_{modname}_fini. They should never
9106 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
9107 be used on non-modules.
9108
9109 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
9110 Rename to grub_boot_init.
9111 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
9112 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
9113 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
9114 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
9115 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
9116 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
9117 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
9118 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
9119 includes.
9120 (grub_machine_init): Remove empty inits.
9121 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
9122 includes.
9123 (grub_machine_init): Remove empty inits.
9124 * grub-core/term/arc/console.c: Remove explicit proto.
9125 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
9126 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
9127 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9128 grub_at_keyboard_fini.
9129 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
9130 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
9131 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9132 grub_gfxterm_fini.
9133 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
9134 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
9135 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9136 grub_vgatext_fini.
9137 * grub-core/term/ieee1275/console.c: Remove explicit proto.
9138 * grub-core/term/serial.c (GRUB_MOD_INIT)
9139 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
9140 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9141 grub_serial_fini.
9142 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
9143 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
9144 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9145 grub_terminfo_fini.
9146 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
9147 (GRUB_MOD_FINI): Likewise.
9148 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
9149 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
9150 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9151 grub_video_radeon_fuloong2e_fini.
9152 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
9153 [LOONGSON]: Rename to grub_video_sis315pro_init.
9154 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9155 grub_video_sis315pro_fini.
9156 * grub-core/video/sm712.c (GRUB_MOD_INIT)
9157 [LOONGSON]: Rename to grub_video_sm712_init.
9158 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9159 grub_video_sm712_fini.
9160 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
9161 (grub_at_keyboard_fini): Likewise.
9162 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
9163 Don't declare grub_{modname}_init.
9164 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
9165 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
9166 New proto.
9167 (grub_keylayouts_fini) [!EMU]: Likewise.
9168 * include/grub/serial.h (grub_serial_init) [!EMU]:
9169 New proto.
9170 (grub_serial_fini) [!EMU]: Likewise.
9171 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
9172 New proto.
9173 (grub_terminfo_fini) [!EMU]: Likewise.
9174 * include/grub/video.h (grub_font_init) [!EMU]:
9175 New proto.
9176 (grub_font_fini) [!EMU]: Likewise.
9177 (grub_gfxterm_init) [!EMU]: Likewise.
9178 (grub_gfxterm_fini) [!EMU]: Likewise.
9179 (grub_video_sm712_init) [!EMU]: Likewise.
9180 (grub_video_sm712_fini) [!EMU]: Likewise.
9181 (grub_video_sis315pro_init) [!EMU]: Likewise.
9182 (grub_video_sis315pro_fini) [!EMU]: Likewise.
9183 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
9184 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
9185
d5534665
VS
91862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 Make nand a prefix for nand devices.
9189
9190 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
9191
10133b5f
VS
91922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
9195 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
9196
8e307a62
VS
91972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * include/grub/env.h (grub_env_find): Remove prototype.
9200 * grub-core/kern/env.c (grub_env_find): Make static.
9201 (grub_env_set): Remove useless set.
9202
a4c65f34
VS
92032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9204
9205 * grub-core/kern/i386/realmode.S: Remove useless align.
9206
d87893d5
VS
92072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 * include/grub/dl.h (grub_dl_load_file): Don't export.
9210
50159add
VS
92112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9212
9213 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
9214 grub_dprintf.
9215
b2582b84
VS
92162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
9219 grub_errors.
9220 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
9221 not reloading whole superblock but only the part which is really needed.
9222 Remove useless grub_errors.
9223 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
9224 grub_errors.
9225
e2a83395
VS
92262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9227
9228 Don't export grub_get_rtc.
9229
9230 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
9231 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
9232
e7d2a906
VS
92332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
9236
6cf1363b
VS
92372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 9240 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 9241
eece3349
VS
92422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 Remove prio_list.
9245
9246 * include/grub/list.h (grub_prio_list): Removed.
9247 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
9248 GRUB_COMMAND_PRIO_MASK.
9249 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
9250 GRUB_COMMAND_FLAG_ACTIVE.
9251 (grub_prio_list_insert): Removed.
9252 (grub_prio_list_remove): Likewise.
9253 (GRUB_AS_PRIO_LIST): Likewise.
9254 (GRUB_AS_PRIO_LIST_P): Likewise.
9255 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
9256 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
9257 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
9258 * grub-core/kern/command.c (grub_register_command_prio): Inline
9259 the prio_list code.
9260 (grub_unregister_command): Likewise.
9261
94f064b4
VS
92622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9263
9264 Fix interrupt mixup from previous commit.
9265
9266 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
9267 (grub_realidt): New var.
9268 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
9269 Load idt.
9270 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
9271 New declaration.
9272 (grub_relocator16_boot): Set grub_relocator16_idt.
9273 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
9274 (LOCAL(realidt)): ... this.
9275 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
9276 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
9277 (grub_realidt): New variable.
9278
27317084
VS
92792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
9282 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
9283 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
9284 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
9285 Gettextize.
9286 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
9287 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
9288 * po/POTFILES.in: Regenerate.
9289
47b40053
VS
92902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
9293 errors.
9294
2b343101
VS
92952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
9298 \0.
9299 (add_length): Likewise.
9300
ff27c3dd
LK
93012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
93022012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
9303
9304 GDB serial and backtrace support.
9305
9306 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
9307 (prot_to_real): Likewise.
9308 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
9309 * grub-core/Makefile.core.def (backtrace): New module.
9310 (gdb): Likewise.
9311 * grub-core/gdb/cstub.c: New file.
9312 * grub-core/gdb/gdb.c: Likewise.
9313 * grub-core/gdb/i386/idt.c: Likewise.
9314 * grub-core/gdb/i386/machdep.S: Likewise.
9315 * grub-core/gdb/i386/signal.c: Likewise.
9316 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 9317 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
9318 * include/grub/backtrace.h: Likewise.
9319 * include/grub/gdb.h: Likewise.
9320 * include/grub/i386/gdb.h: Likewise.
9321
93222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
9323
9324 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
9325 New function.
9326 (add_length): Likewise.
9327 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
9328 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
9329 proto.
9330 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
9331 __argp_get_display_len.
9332
ff27c3dd 93332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
9334
9335 $"..." support in scripts.
9336
9337 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
9338 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
9339 * grub-core/script/yylex.l: Likewise.
9340 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
9341 value.
9342
ff27c3dd 93432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
9344
9345 * gentpl.py: Remove obsolete pkglib_DATA handling.
9346
ff27c3dd 93472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
9348
9349 Don't transform PACKAGE_TARNAME following a discussion on autoconf
9350 mailing list.
9351
9352 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
9353 * util/grub-kbdcomp.in: Likewise.
9354 * util/grub-mkconfig.in: Likewise.
9355 * util/grub-mkconfig_lib.in: Likewise.
9356 * util/grub-mknetdir.in: Likewise.
9357 * util/grub-mkrescue.in: Likewise.
9358 * util/grub-mkstandalone.in: Likewise.
9359 * util/grub-reboot.in: Likewise.
9360 * util/grub-set-default.in: Likewise.
9361 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9362
ff27c3dd 93632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
9364
9365 Remove GRUB_PREFIX.
9366
9367 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
9368 * util/grub.d/00_header.in: Compute prefix in the only place it's still
9369 used for backward compatibility.
9370
ff27c3dd 93712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
9372
9373 Add new all_video module.
9374
9375 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
9376 * grub-core/Makefile.core.def (all_video): New module.
9377 * grub-core/genmoddep.awk: Generate dependency of all_video from
9378 video.lst.
9379 * grub-core/lib/fake_module.c: New file.
9380 * grub-core/normal/main.c (features): Add feature_all_video_module.
9381 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
9382 don't do explicit search again.
47454da5 9383 insmod all_video in load_video if available.
22c7ce85 9384
ff27c3dd 93852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
9386
9387 Another round of string clarification and adding TRANSLATORS comments.
9388
ff27c3dd 93892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
9390
9391 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
9392
ff27c3dd 93932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
9394
9395 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
9396 to grub_ssize_t.
9397 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
9398 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
9399
ff27c3dd 94002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
9401
9402 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
9403 trailing newline implicitly. All users updated.
9404
ff27c3dd 94052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
9406
9407 Implement serial on IEEE1275 and EFI.
9408
9409 * docs/grub.texi (Platform-specific limitations): Fix the columen video
9410 on emu. Mention arc and emu as the only platforms without serial
9411 support.
9412 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
9413 ieee1275 platforms.
9414 * grub-core/term/efi/serial.c: New file.
9415 * grub-core/term/ieee1275/serial.c: Likewise.
9416 * grub-core/term/serial.c (grub_serial_find): Disable direct port
9417 specification if no ns8250 driver is available.
9418 (grub_cmd_serial): Likewise.
9419 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
9420 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
9421 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
9422 (grub_efi_parity_type_t): New type.
9423 (grub_efi_stop_bits_t): Likewise.
9424 (grub_efi_serial_io_interface): New struct.
9425 * include/grub/serial.h (grub_serial_port): Make 'broken' field
9426 available for all interfaces.
9427 Add EFI and IEEE1275 fields.
9428 (grub_ofserial_init): New proto.
9429 (grub_efiserial_init): Likeiwse.
9430 * util/grub.d/00_header.in: Don't check for the presence of serial
9431 module.
9432
ff27c3dd 94332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
9434
9435 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
9436 name as if it was an alias.
9437
114076ef
VS
94382012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9439
9440 * grub-core/commands/lsacpi.c (options): Fix typo.
9441
6a656b0e
VS
94422012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 Convert grub-emu to argp.
9445
9446 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
9447 emu.
9448 * util/argp_common.c: Rename to ...
9449 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
9450 Add missing includes.
9451 * grub-core/kern/emu/main.c: Convert to argp.
9452 * po/POTFILES.in: Regenerate.
9453 * util/grub-install.in (usage): Make first letter lowcase in messages
9454 for uniformity.
9455 * util/grub-setup.c (options): Likewise.
9456
1e3f8ae8
VS
94572012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9458
9459 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
9460 Put back accidently commented-out code.
9461
ed167a80
VS
94622012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
9465 loop check using Brent algorithm.
9466 (grub_hfsplus_btree_search): Likewise.
9467
6753c0ec
VS
94682012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9469
9470 * util/grub-install.in: Fix usage of wrong device for PreP install.
9471
4e27343f
VS
94722012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 * conf/Makefile.common (CFLAGS_GNULIB): Add
9475 -Wno-unsafe-loop-optimizations.
9476 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
9477 on tools.
9478 * grub-core/commands/legacycfg.c: Add pragma to skip
9479 -Wunsafe-loop-optimizations.
9480 (check_password_md5_real): Fix loop counter type.
9481 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
9482 reading.
9483 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
9484 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
9485 loop condition.
9486 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
9487 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
9488 * grub-core/net/net.c (grub_net_route_address): Add safety loop
9489 condition.
9490 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
9491 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
9492 avoid possible infinite loops.
9493 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
9494 and -Wunsafe-loop-optimizations.
9495 * grub-core/script/yylex.l: Likewise.
9496 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
9497 (print_glyphs): Avoid infinite loops.
9498 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
9499
697f18b0
GS
95002012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
9501
9502 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
9503 to avoid infinite loop.
9504 (disp_acpi_rsdt_table): Likewise.
9505
274416e8
VS
95062012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9507
9508 * grub-core/font/font.c (grub_font_load): Add support for default
9509 path for fonts ($prefix/fonts).
9510 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
9511 for checking if string is a path.
9512 * grub-core/normal/main.c (features): Add feature_default_font_path.
9513 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
9514 * util/grub.d/00_header.in: Use default directory if possible.
9515 * util/grub-install.in: Install unicode.pf2.
9516
b3e08622
VS
95172012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
9520 * po/Rules-swiss: New file.
9521 * po/swiss.sed: Likewise.
9522
fe42ce09
VS
95232012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 * grub-core/fs/btrfs.c (find_device): Fix typos.
9526 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
9527 * util/grub-mkrelpath.c (argp_parser): Likewise.
9528 Reported by: Yuri Chornoivan.
9529
72f1d065
DO
95302012-02-23 Dalet Omega <daletomega@gmail.com>
9531
9532 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
9533 for usual informative messages.
9534
c5884973
DO
95352012-02-23 Dalet Omega <daletomega@gmail.com>
9536
9537 Starfield theme.
9538
9539 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
9540 * conf/Makefile.common: Define starfielddir.
9541 * configure.ac: Configure starfield.
9542 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
9543 * themes/starfield/README: Likewise.
9544 * themes/starfield/blob_w.png: Likewise.
9545 * themes/starfield/boot_menu_c.png: Likewise.
9546 * themes/starfield/boot_menu_e.png: Likewise.
9547 * themes/starfield/boot_menu_n.png: Likewise.
9548 * themes/starfield/boot_menu_ne.png: Likewise.
9549 * themes/starfield/boot_menu_nw.png: Likewise.
9550 * themes/starfield/boot_menu_s.png: Likewise.
9551 * themes/starfield/boot_menu_se.png: Likewise.
9552 * themes/starfield/boot_menu_sw.png: Likewise.
9553 * themes/starfield/boot_menu_w.png: Likewise.
9554 * themes/starfield/slider_c.png: Likewise.
9555 * themes/starfield/slider_n.png: Likewise.
9556 * themes/starfield/slider_s.png: Likewise.
9557 * themes/starfield/src/blob_nw.xcf: Likewise.
9558 * themes/starfield/src/bootmenu/: Likewise.
9559 * themes/starfield/src/bootmenu/center.xcf: Likewise.
9560 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
9561 * themes/starfield/src/bootmenu/side.xcf: Likewise.
9562 * themes/starfield/src/slider_c.xcf: Likewise.
9563 * themes/starfield/src/slider_n.xcf: Likewise.
9564 * themes/starfield/src/slider_s.xcf: Likewise.
9565 * themes/starfield/src/terminalbox/: Likewise.
9566 * themes/starfield/src/terminalbox/center.xcf: Likewise.
9567 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
9568 * themes/starfield/src/terminalbox/side.xcf: Likewise.
9569 * themes/starfield/starfield.png: Likewise.
9570 * themes/starfield/terminal_box_c.png: Likewise.
9571 * themes/starfield/terminal_box_e.png: Likewise.
9572 * themes/starfield/terminal_box_n.png: Likewise.
9573 * themes/starfield/terminal_box_ne.png: Likewise.
9574 * themes/starfield/terminal_box_nw.png: Likewise.
9575 * themes/starfield/terminal_box_s.png: Likewise.
9576 * themes/starfield/terminal_box_se.png: Likewise.
9577 * themes/starfield/terminal_box_sw.png: Likewise.
9578 * themes/starfield/terminal_box_w.png: Likewise.
9579 * themes/starfield/theme.txt: Likewise.
9580
17d73325
VS
95812012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
9582
9583 * util/grub.d/00_header.in: Add missing export theme.
9584
dbebaf92
VS
95852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9586
9587 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
9588 already included.
9589 Reported by: Eren D.
9590
3d68bffb
VS
95912012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 * conf/Makefile.common (grubdatadir): Removed.
9594 (Makefile.am): Move eveything grubdata to pkgdata.
9595
4b59234d
VS
95962012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9597
9598 * grub-core/commands/acpihalt.c (get_sleep_type):
9599 Remove unused variable.
9600
463dcadc
VS
96012012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
9604 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
9605 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
9606 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
9607 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
9608 i18n with gettext no-op.
9609 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
9610 GRUB_ACPI_OPCODE_STRING_CONST.
9611 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
9612 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
9613
e5b90c82
VS
96142012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 * po/POTFILES.in: Regenerate.
9617
2a704ca9
VS
96182012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
9621 -Wno-error=missing-noreturn.
9622
84f9d341
VS
96232012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
9626 condition to avoid possibly infinite loops.
9627 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
9628 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
9629
d46683f9
VS
96302012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9631
9632 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
9633 condition to avoid possibly infinite loops.
9634
c44866b2
VS
96352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9636
9637 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
9638 on show_error.
9639
96790539
VS
96402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
9643
1ba7e295
VS
96442012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
9647
21ffe8f1
VS
96482012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 * util/bin2h.c (usage): Add missing attribute noreturn.
9651
0ccb6b3c
VS
96522012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9653
9654 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
9655 if the size isn't divisible by 512.
9656
b00d7fb6
VS
96572012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 Make list_push and list_remove functions rather than inline functions
9660 to decrease size and avoid aliasing violations.
9661
9662 * include/grub/list.h (grub_list_push): Move to ...
9663 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
9664 * include/grub/list.h (grub_list_remove): Move to ...
9665 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
9666
9d369087
VS
96672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
9670 and -Wunused-result.
9671
af0250d9
VS
96722012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9673
9674 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
9675 Reported by: Seth Goldberg
9676
aad32b14
VS
96772012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
9680
ac96441c
ST
96812012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
9682
9683 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
9684 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
9685 command line.
9686 * docs/grub.texi (Simple configuration): Document
9687 GRUB_CMDLINE_GNUMACH.
9688
96892012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
9690
9691 * conf/Makefile.common (platform_SCRIPTS): New variable.
9692 (platform_PROGRAMS): Likewise.
9693 * gentpl.py: Mark *,module and *.image for install.
9694 * grub-core/gdb_grub.in: Add a notice of expected environment.
9695 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
9696 (gmodule.pl): Likewise.
9697
ac96441c 96982012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
9699
9700 Replace grub_checkkey with grub_getkey_noblock.
9701
9702 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
9703 (grub_getkey_noblock): ... this. All users updated.
9704
ac96441c 97052012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
9706
9707 * grub-core/kern/emu/console.c: Move to ...
9708 * grub-core/term/emu/console.c: ...here.
9709 (grub_ncurses_getkey): Fix return value if no key is detected.
9710
e51b5666
VS
97112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9712
9713 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
9714 (grub_unit_test_fini): Likewise.
9715 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
9716
97172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9718
9719 * include/grub/test.h (GRUB_UNIT_TEST)
9720
d9a62292
VS
97212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9722
9723 * grub-core/script/execute.c (grub_script_break): Clarify logic.
9724 Better error handling.
9725 (grub_script_return): Likewise.
9726 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9727
77c9182f
VS
97282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
9731 rimplicit redifinition.
9732
edb13cf9
VS
97332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9734
9735 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
9736 GRUB.
9737
a9e9dc7c
VS
97382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9739
9740 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
9741 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
9742 prompt here.
9743
b4ba8e02
VS
97442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9745
9746 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
9747 as GRUB_ERR_BUG. Don't malloc if no device is available.
9748
dded5540
VS
97492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
9752 Mark calling with invalid term as GRUB_ERR_BUG.
9753
0cf69874
VS
97542012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
9757 packets rather than raising an error.
9758
59bfe502
VS
97592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
9762 in if.
9763
db5fc596
VS
97642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9765
9766 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
9767 diagnostic to dprintf.
9768 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9769
e4b7f404
VS
97702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
9773 device name.
9774
e7b02f9e
VS
97752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
9778 (grub_ntfs_iterate_dir): Likewise.
9779
0331e102
VS
97802012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 Efiemu stylistic fixes and gettext.
9783
9784 * grub-core/efiemu/i386/loadcore32.c
9785 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
9786 * grub-core/efiemu/i386/loadcore64.c
9787 (grub_arch_efiemu_relocate_symbols64): Likewise.
9788 * grub-core/efiemu/i386/pc/cfgtables.c
9789 (grub_machine_efiemu_init_tables): Likewise.
9790 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
9791 (grub_efiemu_loadcore_initXX): Add a filename argument.
9792 All users updated.
9793 Improved error message.
9794 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
9795 Add a filename argument.
9796 All users updated.
9797 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
9798 Reclassify double relocation as GRUB_ERR_BUG.
9799
306fc074
VS
98002012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
9803 handling.
9804
794d8ef2
VS
98052012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
9808 on partition.
9809
98102012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
9811
9812 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
9813
794d8ef2 98142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
9815
9816 Improve string. Gettextize.
9817
78dde88e
VS
98182012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9819
9820 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
9821 utils.
9822 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
9823
4786a90f
VS
98242012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
9827 [GRUB_UTIL]: New function.
9828 (insert_array) [GRUB_UTIL]: Store partmaps.
9829 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
9830 partmaps.
9831 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
9832 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
9833 (probe_abstraction): Print diskfilter and not raid.
9834 Reported by: Lennart Sorensen
9835
0b6225bd
VS
98362012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9837
9838 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
9839 * util/grub-mkimagexx.c (MASK3): New define.
9840 (add_value_to_slot_20b): Use MASK3.
9841 (add_value_to_slot_21): Likewise.
9842 (relocate_addresses): Fix format specification.
9843 (load_image): Explicitly init symtab_section.
9844
b055f8f6
VS
98452012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9846
9847 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
9848 (grub_util_biosdisk_get_grub_dev): Fix format specification.
9849
b77c2fb7
VS
98502012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9851
9852 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
9853 on powerpc.
9854 Reported by: Lennart Sorensen
9855
e3ec28ab
VS
98562012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9857
9858 * gentpl.py: Add missing license header.
9859 * docs/grub.texi: Update copyright year.
9860
c8d9ead6
GS
98612012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9862
9863 Source grub-mkconfig_lib from the build directory at build time.
9864 Suggested by: Vladimir Serbinenko.
9865
9866 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
9867 * util/grub-install.in: Define pkgdatadir if not already set, and source
9868 grub-mkconfig_lib from there.
9869 * util/grub-kbdcomp.in: Likewise.
9870 * util/grub-mkconfig.in: Likewise.
9871 * util/grub-mknetdir.in: Likewise.
9872 * util/grub-mkrescue.in: Likewise.
9873 * util/grub-mkstandalone.in: Likewise.
9874 * util/grub-reboot.in: Likewise.
9875 * util/grub-set-default.in: Likewise.
9876 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9877
ebcecdf1
VS
98782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9879
9880 Increase warning level.
9881
9882 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
9883 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
9884 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
9885 (TARGET_CFLAGS): Likewise.
9886 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
9887 * grub-core/Makefile.core.def (decompressor_xz): Add
9888 -Wno-unreachable-code.
9889 (normal): Add -Wno-redundant-decls.
9890 (xzio): Add -Wno-unreachable-code.
9891 (lzopio): Add -Wno-redundant-decls -Wno-error.
9892 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
9893 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
9894 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
9895 * grub-core/kern/dl.c: Add exception to -Wcast-align.
9896 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
9897 * grub-core/kern/i386/coreboot/init.c: Add exception to
9898 -Wsuggest-attribute=noreturn.
9899 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
9900 * grub-core/kern/ia64/dl_helper.c: Likewise.
9901 * grub-core/kern/mips/dl.c: Likewise.
9902 * grub-core/kern/sparc64/dl.c: Likewise.
9903 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
9904 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
9905 (memcmp): Likewise.
9906 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
9907 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
9908 * grub-core/loader/mips/linux.c: Likewise.
9909 * grub-core/loader/multiboot_elfxx.c: Likewise.
9910 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
9911 * grub-core/video/sm712.c: Add exception to -Wcast-align.
9912 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
9913 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
9914 fixme.
9915 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9916 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
9917 Fix prototype.
9918
37bb97fe
VS
99192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
9922 address.
9923
29a3550b
VS
99242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9925
9926 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9927 Avoid improper use of strings.
9928 (grub_cmd_legacy_initrdnounzip): Likewise.
9929
dfdffd0d
VS
99302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 * include/grub/emu/misc.h (grub_util_warn): Add missing format
9933 attribute.
9934 (grub_util_info): Likewise.
9935 (grub_util_error): Likewise.
9936
102fae4a
VS
99372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
9940 * util/grub-fstest.c (fstest): Likewise.
9941
7e94d044
VS
99422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
9945 (grub_md_sha512_real): Likewise.
9946 (grub_util_get_geli_uuid): Likewise.
9947 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
9948 (grub_util_biosdisk_open): Fix format specification.
9949 Respect format security.
9950 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
9951 (xrealloc): Likewise.
9952 (xasprintf): Likewise.
9953
5ebd9769
VS
99542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9955
9956 * util/import_gcry.py: Include grub/crypto.h in init.c.
9957
495fc8c1
VS
99582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9959
9960 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
9961 (generate_image): Make prefix a const char *.
9962 Fix format specifications. Respect format security.
9963 Avoid void * arithmetics.
9964 Avoid shadowing.
9965 (argp_parser): Remove unused variable. Respect format security.
9966 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
9967 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
9968 (count_funcs): Remove unused variable.
9969 (relocate_addresses): Fix format specification.
9970 Disable x86-64 with elf32. Remove unused variables.
9971 (add_fixup_entry): Avoid shadowing.
9972 (make_reloc_section): Fix format specification.
9973 Use assert.
9974 (locate_sections): Fix format specifications.
9975 (load_image): Avoid shadowing.
9976
043c2ea3
VS
99772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
9980 Fix format specifications. Respect format security.
9981 Don't translate already translated grub_errmsg.
9982 (argp_parser): Remove unused variable
9983
3ec65a81
VS
99842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9985
9986 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
9987
a4d9fe4a
VS
99882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
9991 (main): Likewise. Use xmalloc. Respect format security.
9992
15b81d49
VS
99932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
9996 a const char *.
9997 (argp_parser): Remove unused variable.
9998
31731fc0
VS
99992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10000
10001 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
10002 (add_pixel): Make static.
10003 (add_font): Likewise.
10004 (write_string_section): Make name and str a const char *.
10005 (write_be16_section): Make name a const char *.
10006 (print_glyphs): Make static.
10007 (write_font_ascii_bitmap): Likewise.
10008 (write_font_width_spec): Likewise.
10009 (write_font_pf2): Likewise.
10010 (argp_parser): Remove unused variable.
10011 Respect format security.
10012 (main): Avoid shadowing. Respect format security.
10013
0809527b
VS
100142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 * util/grub-editenv.c (argp_parser): Make static.
10017 (create_envblk_file): Use xmalloc.
10018 (open_envblk_file): Likewise.
10019 Resepect format security.
10020 (set_variables): Respect format security.
10021
45b0c8b7
VS
100222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10023
10024 * util/getroot.c (grub_find_device): Respect format security.
10025 (get_mdadm_uuid): Remove unused variable.
10026 (grub_util_pull_device): Dont call gettext on already translated
10027 grub_errmsg.
10028 (find_system_device): Remove unused variable.
10029 (grub_util_get_grub_dev): Likewise.
10030 (grub_make_system_path_relative_to_its_root): Respect format security.
10031
1b024b4e
VS
100322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 * util/grub-fstest.c (execute_command): Make first argument
10035 a const char *.
10036 (read_file): Avoid shadowing.
10037 Reuse underlying error message if device open fails.
10038 (cmd_cmp): Respect format security.
10039 (root): Make const char *.
10040 (fstest): Remove args argument and use global copy.
10041 Respect format security.
10042 (argp_parser): Make static.
10043 (main): Make default_root const char *.
10044
5d1d4e28
VS
100452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 * util/grub-mount.c (root): Make const char *.
10048 (execute_command): Make first argument a const char *.
10049 (fuse_init): Respect format security.
10050 (argp_parser): Make static. Remove unused variable.
10051 (main): Make default_root a const char *.
10052 Respect format security.
10053
36eb7379
VS
100542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 * util/grub-probe.c (probe): Don't call gettext on already translated
10057 grub_errmsg.
10058 Remove unused variables.
10059 (argp_parser): Remove unused variable.
10060
76fb2ea9
VS
100612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 * util/grub-script-check.c (argp_parser): Remove unused variable.
10064 (main): Rename read to curread to avoid shadowing.
10065
56c98584
VS
100662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 * util/misc.c (grub_util_write_image_at): Fix format specification.
10069 (grub_util_write_image): Likewise.
10070 (grub_script_execute_argument_to_string): Removed (unused).
10071 (grub_script_execute_menuentry): Likewise.
10072 (grub_putchar): Likewise.
10073
164ebb48
VS
100742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10075
10076 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
10077 (FUNCTION) [GRUB_UTIL]: Likewise.
10078 (VARIABLE) [GRUB_UTIL]: Likewise.
10079
44318d61
VS
100802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
10083 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
10084
31a26002
VS
100852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10086
10087 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
10088 buffer.
10089
100902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10091
10092 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
10093 (LzmaEnc_SaveState): Removed (unused).
10094 (LzmaEnc_RestoreState): Likewise.
10095 (LzmaEnc_InitPriceTables): Made static.
10096 (LzmaEnc_Construct): Likewise.
10097 (LzmaEnc_FreeLits): Likewise.
10098 (LzmaEnc_Destruct): Likewise.
10099 (LzmaEnc_Init): Likewise.
10100 (LzmaEnc_InitPrices): Likewise.
10101 (LzmaEnc_Finish): Likewise.
10102 (LzmaEnc_PrepareForLzma2): Removed (unused).
10103 (LzmaEnc_MemPrepare): Likewise.
10104 (LzmaEnc_GetNumAvailableBytes): Likewise.
10105 (LzmaEnc_GetCurBuf): Likewise.
10106 (LzmaEnc_CodeOneMemBlock): Likewise.
10107
6fa67967
VS
101082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10109
10110 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
10111 (grub_util_ldm_embed): Likewise.
10112
9a7428e6
VS
101132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 * util/grub-editenv.c (print_var): Rename name to varname to
10116 avoid shadowing.
10117 (main): Rename index to curindex to avoid shadowing.
31a26002 10118 Make filename a const char *.
9a7428e6 10119
4f96abd1
VS
101202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10121
10122 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
10123 to arg_getline to avoid shadowing.
10124
44d10dad
VS
101252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
10128 disk_ to avoid shadowing.
10129
340ba63e
VS
101302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
10133 curindex to avoid shadowing.
10134 Make static.
10135 (MatchFinder_GetNumAvailableBytes): Make static.
10136
22965bce
VS
101372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10138
10139 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
10140 avoid shadowing.
10141
7b5784d4
VS
101422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10143
10144 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
10145 argument from encrypt to do_encrypt to avoid shadowing.
10146
6f48ca01
VS
101472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
10150 incorrect nesting of #if's.
10151
a4ea2dff
VS
101522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
10155 checks which are always false on some platforms.
10156 (grub_cmd_lsacpi): Likewise.
10157 * grub-core/kern/misc.c (grub_strtoul): Likewise.
10158 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
10159 Likewise.
10160
def9fc1b
VS
101612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
10164 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
10165
a67b2a04
VS
101662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10167
10168 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
10169 re_dfa_t to avoid breaking alignment invariants.
10170 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
10171 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
10172
44c6828d
VS
101732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10174
10175 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
10176 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
10177
bebe0dd0
VS
101782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
10181 Fix declaration.
10182
a9cdb3cf
VS
101832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
10186 conserve alignment invariants.
10187 (grub_ehci_ehcc_read16): Likewise.
10188 (grub_ehci_oper_read32): Likewise.
10189 (grub_ehci_oper_write32): Likewise.
10190 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10191 Conserve alignment invariants.
10192
ccc3b1b8
VS
101932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10194
10195 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
10196 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
10197 declarations.
10198
987fbd95
VS
101992012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10200
10201 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
10202 Remove unused variable.
10203
0df363f3
VS
102042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
10207 Remove set in if.
10208
b2c0c4a6
VS
102092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 * include/grub/net.h: Remove double declarations.
10212
690c531f
VS
102132012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10214
10215 Remove "payload" command in ia64 Linux loader since I couldn't
10216 find any evidence of it being used for anything.
10217 Replace "relocate" command with an environment variable
10218
10219 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
10220 fields.
10221 (ia64_boot_payload): Removed.
10222 (last_payload): Likewise.
10223 (RELOCATE_OFF): Likewise.
10224 (RELOCATE_ON): Likewise.
10225 (RELOCATE_FORCE): Likewise.
10226 (relocate): Likewise.
10227 (free_pages): Don't free payloads.
10228 (grub_load_elf64): Use common error messages.
10229 Use "linux_relocate" variable.
10230 Increase the space after boot_params.
10231 (grub_cmd_payload): Removed.
10232 (grub_cmd_relocate): Likewise.
10233 (grub_cmd_fpswa): Improve messages.
10234 (cmd_payload): Removed.
10235 (cmd_relocate): Likewise.
10236 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
10237 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
10238
01783768
VS
102392012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 Convert UHCI to DMA framework.
10242
10243 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
10244 (grub_uhci_pci_iter): Fill new members
10245 (grub_alloc_td): Use P2V and V2P functions.
10246 (grub_free_queue): Likewise.
10247 (grub_alloc_qh): Likewise.
10248 (grub_uhci_setup_transfer): Likewise.
10249 (grub_uhci_check_transfer): Likewise.
10250
43206939
VS
102512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10252
10253 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
10254 Remove assignment in if while on it.
10255
571e140e
VS
102562012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10257
10258 * util/grub-mkstandalone.in: Fix modules directory.
10259
a9d96eeb
VS
102602012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
10263 on i386-pc target.
10264 (argp_parser): Accept "auto" as compression specification.
10265
e4e37e8d
VS
102662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10267
10268 Fix `help' with unloaded modules.
10269
10270 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
10271 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
10272 (grub_dyncmd_dispatcher): Small stylistic fix.
10273 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
10274 explicit help is requested.
10275
e1ea3ade
VS
102762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
10279 Explicitly init restart while on it.
10280
27556881
VS
102812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
10284 uninited variable.
10285
d65f6b36
VS
102862012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10287
10288 * util/grub-mknetdir.in: Use . rather than source for POSIX
10289 compatibility.
10290
0a1e473c
VS
102912012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10292
10293 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
10294
ce6647c8
VS
102952012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
10298 variable.
10299
66747894
VS
103002012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10301
10302 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
10303 without quotes.
10304
71645f6e
VS
103052012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
10308
0e1c1f61
VS
103092012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10310
10311 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
10312 iteration of partitions.
10313
9c4b5c13
VS
103142012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10315
10316 Improve gettext support. Stylistic fixes and error handling fixes while
10317 on it.
10318
215c90cb
VS
103192012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
10322 part. Instead setup the correct stack in RM.
10323 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
10324 for stack.
10325 * include/grub/i386/relocator_private.h: New file.
10326
b5c1f9bf
VS
103272012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10328
10329 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
10330 argument.
10331 * util/grub-fstest.c (options): Add missing DEVICE part.
10332
b525fd83
VS
103332012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 Clarify and unify messages.
10336
10337 * grub-core/commands/hashsum.c (options): Unify messages.
10338 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
10339 literal-only message as translatable.
10340 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
10341 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
10342 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
10343 commands.
10344 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
10345 key, not the key used to unlock. Clarify what it's used for.
10346 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
10347 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
10348 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
10349 * util/grub-editenv.c (options): Unify "verbose" message.
10350 * util/grub-fstest.c (read_file): Unify error message.
10351 (fstest): Add quotes around commands.
10352 (options): Unify "verbose" message.
10353 * util/grub-install.in: Add quotes around variable name.
10354 * util/grub-kbdcomp.in: Unify error message.
10355 * util/grub-mkfont.c (main): Likewise.
10356 * util/grub-mkrescue.in: Likewise.
10357 * util/grub-mklayout.c (options): Unify "verbose" message.
10358 * util/grub-mkstandalone.in: Unify help and verbose messages.
10359 * util/grub-mount.c (options): Unify "verbose" message.
10360 * util/grub-probe.c (options): Likewise.
10361 * util/grub-script-check.c (options): Likewise.
10362 * util/grub-setup.c (setup): Unify no-terminator message.
10363 (options): Use DEVICE and not DEV.
10364 Unify "verbose" message.
10365 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
10366
0ae70393
VS
103672012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10368
10369 Improve and unify messages.
10370
10371 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
10372 name. All users updated.
10373 Print filename in error.
10374 (read_device_map): Print filename in error.
10375 * util/getroot.c (grub_guess_root_devices): Print filename in error.
10376 (grub_util_get_os_disk): Likewise.
10377 (grub_util_biosdisk_get_grub_dev): Likewise.
10378 (grub_util_check_block_device): Likewise.
10379 (grub_util_check_char_device): Likewise.
10380 (grub_make_system_path_relative_to_its_root): Likewise.
10381 * util/grub-editenv.c (create_envblk_file): Likewise.
10382 (open_envblk_file): Likewise.
10383 (write_envblk): Likewise.
10384 * util/grub-fstest.c (cmd_cp): Likewise.
10385 (cmd_cat): Likewise.
10386 (cmd_cmp): Likewise.
10387 * util/grub-menulst2cfg.c (main): Likewise.
10388 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
10389 (write_font_width_spec): Likewise.
10390 (write_font_pf2): Likewise.
10391 * util/grub-mkimage.c (generate_image): New argument outname.
10392 All users updated.
10393 Remove unreacheable message.
10394 (options): Unify messages.
10395 (help_filter): Likewise.
10396 * util/grub-mklayout.c (usage): Removed (unused).
10397 (main): Print filename in error.
10398 * util/grub-mkrescue.in: Fix wrong quoting.
10399 * util/grub-setup.c (setup): Print filename in error.
10400 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
10401 (check_sas): Likewise.
10402 * util/misc.c (grub_util_get_fp_size): Removed.
10403 (grub_util_get_image_size): Print filename in error.
10404 (grub_util_read_at): Removed.
10405 (grub_util_read_image): Print filename in error.
10406 (grub_util_load_image): Likewise.
10407 (grub_util_write_image_at): New argument filename. All users updated.
10408 Print filename in error.
10409 (grub_util_write_image): New argument filename. All users updated.
10410 Print filename in error.
10411 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
10412 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
10413
0a96117d
VS
104142012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10415
10416 * grub-core/Makefile.core.def (pxechain): New module.
10417 * grub-core/loader/i386/pc/pxechainloader.c: New file.
10418 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
10419 function.
10420 (grub_pc_net_config_real): Use grub_pxe_get_cached.
10421 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
10422
aca002f7
VS
104232012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
10426 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
10427 * include/grub/err.h (grub_error_saved): New struct.
10428 (grub_errmsg): Make array size explicit.
10429 * include/grub/misc.h (grub_error_save): New function.
10430 (grub_error_load): Likewise.
10431 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
10432 (grub_error_push): Update `errno' member name.
10433 (grub_error_pop): Likewise
10434 * grub-core/net/tftp.c (tftp_data): New member save_err.
10435 (tftp_receive): Save error.
10436 (tftp_open): Restore error.
10437
a51dab13
VS
104382012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
10441 to real mode down to execute A20-related code in protected mode as
10442 intended.
10443
eb6e6649
GS
104442012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
10445
10446 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
10447 NULL when the argument `level' has an unexpected value.
10448
92cd0f6e
VS
104492012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 Move platform-dependent files from $prefix to $prefix/$platform.
10452
10453 * config.h.in (GRUB_TARGET_CPU): New definition.
10454 (GRUB_PLATFORM): Likewise.
10455 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
10456 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
10457 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10458 * grub-core/kern/dl.c (grub_dl_load): Likewise.
10459 * grub-core/normal/autofs.c (read_fs_list): Likewise.
10460 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
10461 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
10462 * grub-core/normal/term.c (read_terminal_list): Likewise.
10463 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
10464 $prefix/locale.
10465 (grub_gettext_init_ext): Likewise.
10466 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
10467 grub_platform.
10468 * util/grub-install.in: Update directories.
10469 * util/grub-mknetdir.in: Likewise.
10470 * util/grub-mkrescue.in: Likewise.
10471
db606889
VS
104722012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10473
10474 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
10475 grub_error framework. All users updated.
10476
c39992a4
VS
104772012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10478
10479 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
10480 lists (by always binsearching), improve caching (cache strings
10481 used for binsearch, not only results), improve
10482 maintainability (by using more structured binary search) and correct
10483 error handling.
10484
1e5ec32f
VS
104852012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10486
10487 * grub-core/script/execute.c (grub_script_return): Fix warning.
10488
ac576cde
VS
104892012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10490
10491 * grub-core/script/execute.c (grub_script_return): Fix potential
10492 NULL-dereference.
10493 Reported by: Jim Meyering.
10494
498453f6
VS
104952012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10496
10497 * po/POTFILES.in: Regenerate.
10498 * util/grub-install.in: Gettextize the strings missed in first pass.
10499
8be63f2e
VS
105002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10501
10502 * Makefile.util.def (grub-mkdevicemap): Removed.
10503 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
10504 * include/grub/util/deviceiter.h: Removed.
10505 * util/deviceiter.c: Likewise.
10506 * util/getroot.c (grub_util_get_os_disk): New function.
10507 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
10508 replacement for EFI.
10509 * util/grub-mkdevicemap.c: Removed.
10510 * util/grub-probe.c (probe): Handle PRINT_DISK.
10511 (argp_parser): Handle -t disk.
10512
8e1e4e39
VS
105132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 * util/grub-mkfont.c: Migrate to argp.
10516 * util/grub-mklayout.c: Likewise.
10517 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10518 * util/grub-mkrelpath.c: Likewise.
10519 * util/grub-probe.c: Likewise.
10520 * util/grub-script-check.c: Likewise.
10521
4459819a
VS
105222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 * util/grub-reboot.in: Add missing datarootdir.
10525 Add missing newline.
10526 * util/grub-set-default.in: Add missing datarootdir.
10527 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
10528 * util/grub-mkrescue.in: Likewise.
10529
f65741c7
VS
105302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10531
10532 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
10533
c1a33466
VS
105342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10535
10536 * util/grub-kbdcomp.in: Add decent help and gettextize.
10537 * docs/man/grub-kbdcomp.h2m: New file.
10538
c76899a0
VS
105392012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10540
10541 Migrate grub-mkimage.c to argp.
10542
10543 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
10544 (grub-setup): Likewise.
10545 * util/grub-setup.c (print_version): Move to ...
10546 * util/argp_common.c (print_version): ... here.
10547 * util/grub-setup.c (argp_program_version_hook): Move to ...
10548 * util/argp_common.c (argp_program_version_hook): ... here.
10549 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
10550 safety.
10551 * util/grub-mkimage.c (main): Migrate to argp.
10552
57db0757
VS
105532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10554
10555 * util/grub-mkrescue.in: Use same message as
10556 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
10557 for better translations.
10558
18534ad9
VS
105592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10560
10561 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
10562 options with generic grub-mkrescue.in with the goal of future
10563 merge.
10564
c84ba308
VS
105652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10566
10567 * grub-core/kern/mm.c: Add missing include of i18n.h
10568 * grub-core/lib/relocator.c: Likewise.
10569
347998c2
VS
105702012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10571
10572 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
10573 error.
10574 (allocate_pages): Check return value.
10575 Replace fatal with error.
10576 (grub_linux_boot): Replace printf with dprintf.
10577 Check find_mmap_size return value.
10578 Replace fatal with error.
10579 Don't call grub_machine_fini.
10580 (grub_load_elf64): Replace printf with dprintf.
10581 (grub_cmd_linux): Likewise.
10582 (grub_cmd_initrd): Likewise.
10583 (grub_cmd_payload): Likewise.
10584
c779226e
VS
105852012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
10588 message.
10589 * grub-core/video/radeon_fuloong2e.c
10590 (grub_video_radeon_fuloong2e_setup): Likewise.
10591 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
10592 * grub-core/video/video.c (grub_video_set_mode): Don't override
10593 standard out of memory message.
10594
dc87d45a
GS
105952012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10596
10597 NetBSD disk wedge support.
10598
10599 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
10600 [__NetBSD__]: Handle NetBSD disk wedges.
10601 * util/getroot.c (convert_system_partition_to_system_disk)
10602 [__NetBSD__]: Likewise.
10603
055f856f
MW
106042012-02-03 Mark Wooding <mdw@distorted.org.uk>
10605
10606 * util/grub-mkconfig.in: Use umask rather than chmod to create
10607 grub.cfg.new to avoid insecure grub.cfg.
10608
4a9f8346
VS
106092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * grub-core/commands/ls.c: Gettextize.
10612 * grub-core/commands/setpci.c: Likewise.
10613 * grub-core/commands/videotest.c: Likewise.
10614 * grub-core/disk/geli.c: Likewise.
10615 * grub-core/kern/mm.c: Likewise.
10616 * grub-core/lib/relocator.c: Likewise.
10617 * grub-core/loader/efi/appleloader.c: Likewise.
10618 * grub-core/loader/i386/xnu.c: Likewise.
10619 * grub-core/loader/ia64/efi/linux.c: Likewise.
10620 * grub-core/loader/xnu.c: Likewise.
10621 * grub-core/net/dns.c: Likewise.
10622 * grub-core/net/net.c: Likewise.
10623 * grub-core/script/lexer.c: Likewise.
10624 * grub-core/script/parser.y: Likewise.
10625 * grub-core/script/yylex.l: Likewise.
10626 * util/getroot.c: Likewise.
10627 * util/grub-setup.c: Likewise.
10628
a646a366
VS
106292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10630
10631 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
10632 number.
10633
54e2be26
VS
106342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10635
10636 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
10637
f7c71e68
VS
106382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10639
10640 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
10641 macro.
10642 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
10643 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
10644
a32d5c71
VS
106452012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10646
10647 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
10648 * util/grub-install.in: Gettextize.
10649 * util/grub-mkconfig.in: Likewise.
10650 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
10651 if not available.
10652 (grub_warn): Gettextize.
10653 * util/grub-mknetdir.in: Gettextize.
10654 * util/grub-mkrescue.in: Likewise.
10655 * util/grub-mkstandalone.in: Likewise.
10656 * util/grub-reboot.in: Likewise.
10657 * util/grub-set-default.in: Likewise.
10658 * util/grub.d/00_header.in: Likewise.
10659 * util/grub.d/10_hurd.in: Likewise.
10660 * util/grub.d/10_kfreebsd.in: Likewise.
10661 * util/grub.d/10_linux.in: Likewise.
10662 * util/grub.d/10_netbsd.in: Likewise.
10663 * util/grub.d/10_windows.in: Likewise.
10664 * util/grub.d/20_linux_xen.in: Likewise.
10665 * util/grub.d/30_os-prober.in: Likewise.
10666 * po/POTFILES-shell.in: Regenerate.
10667
69edd81a
RL
106682012-02-03 Richard Laager <rlaager@wiktel.com>
10669
10670 * util/grub-mkimage.c (main): Fix format-security warning.
10671 * util/grub-mkrelpath.c (main): Likewise.
10672 * util/grub-probe.c (main): Likewise.
10673
65f08dbf
RL
106742012-02-03 Richard Laager <rlaager@wiktel.com>
10675
10676 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
10677 failure.
10678 Put back lost PRINT_DRIVE.
10679
e9084abe
RL
106802012-02-03 Richard Laager <rlaager@wiktel.com>
10681
10682 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
10683 (grub_guess_root_devices): Replace strlen with sizeof.
10684 Avoid crash.
10685 (find_root_devices_from_poolname): Remove unused variable.
10686 Handle raidzN.
10687
cf5f7ee7
VS
106882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 Support install on multi-device filesystems.
10691
10692 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
10693 (grub_guess_root_devices): ...this. Return char **. All users updated.
10694 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
10695 Removed.
10696 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
10697 (find_root_devices_from_poolname): ... here.
10698 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
10699 Support zfs-fuse.
10700 (grub_guess_root_device): Rename to ...
10701 (grub_guess_root_devices): ... this. Return char **. All users updated.
10702 * util/grub-install.in: Handle multi-device filesystems.
10703 * util/grub-probe.c (probe). Make device_names a char **. Add delim
10704 argument. All users updated.
10705 Handle multi-device filesystems.
10706 Use 'delim' as separator.
10707 Remove device check to allow filesystems on file.
10708 (main): Support -0 argument. Handle multi-device.
10709 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
10710 Fix a cross-device check while on it.
10711 (arguments): Remove root_dev.
10712 (argp_parser): Remove -r.
10713 (main): Remove root_dev.
10714
2f53a9ed
VS
107152012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10716
10717 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
10718
17e1d934
VS
107192012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10720
10721 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
10722 symbol.
10723 Reported by: NODA, Kai <nodakai>.
10724
d3e3fab5
VS
107252012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 Fix ehci on amd64.
10728
10729 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
10730 pointers.
10731 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
10732 (grub_ehci_setup_qh): Likewise.
10733 (grub_ehci_find_qh): Likewise.
10734 (grub_ehci_transaction): Likewise.
10735 (grub_ehci_setup_transfer): Likewise.
10736 (grub_ehci_check_transfer): Likewise.
10737 (grub_ehci_portstatus): Likewise.
10738 (grub_ehci_detect_dev): Likewise.
10739 (grub_ehci_transfer_controller_data): New field td_last_phys.
10740 (grub_ehci_setup_transfer): Fill td_last_phys.
10741 (grub_ehci_check_transfer): Use td_last_phys.
10742
3008675b
SG
107432012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
10744
10745 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
10746 if no submenu is present.
10747
fc9b5652
AN
107482012-02-01 Aleš Nesrsta <starous@volny.cz>
10749
10750 CBI support.
10751
10752 * include/grub/usb.h (grub_usbms_protocol_t): New values
10753 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
10754 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
10755 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
10756 (grub_usbms_dev): Add subclass, protocol and intrpt.
10757 Remove in_maxsz and out_maxsz.
10758 (grub_usbms_reset): Rename to ...
10759 (grub_usbms_bo_reset): .. this.
10760 (grub_usbms_cbi_cmd): New function.
10761 (grub_usbms_cbi_reset): Likewise.
10762 (grub_usbms_reset): Likewise.
10763 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
10764 (grub_usbms_transfer): Rename to ...
10765 (grub_usbms_transfer_bo): ... this.
10766 (grub_usbms_transfer_cbi): Likewise.
10767 (grub_usbms_transfer): Likewise.
10768
a2b81d53
AN
107692012-02-01 Aleš Nesrsta <starous@volny.cz>
107702012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
10773 the support for the CS5536 modification thereos and few bugfixes.
10774
10775 * grub-core/Makefile.core.def (ehci): New module.
10776 * grub-core/bus/usb/ehci.c: New file.
10777 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
10778 port and hubaddr. All users updated.
10779 Save port and hubaddr into dev structure.
10780 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
10781 define.
10782 * include/grub/pci.h (grub_dma_phys2virt): New function.
10783 (grub_dma_virt2phys): Likewise.
10784 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
10785
b1d51f02
VS
107862012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10787
10788 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
10789 check as some mkfs implementations omit it.
10790
fc694106
VS
107912012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10792
10793 * docs/grub.texi (Unicode): Mention identifier and space limitations.
10794
6c0920e3
VS
107952012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
10798 Add new member volname2.
10799 (grub_jfs_label): Use volname2 if available.
10800
d1a46f9a
VS
108012012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
10804 over last_mounted as seen in image generated by mkfs.nilfs2.
10805 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
10806
dec8ed14
VS
108072012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10808
10809 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
10810 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
10811 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
10812
7397c69b
VS
108132012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10814
10815 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
10816 over the sector.
10817
b3fe42ad
VS
108182012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10819
10820 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
10821 subvolume name (by removing a bogus and useless check).
10822
10476bb0
VS
108232012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
10826 sizeof while on it.
10827
9c08ad87
VS
108282012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
10831 (grub_scsi_read_capacity10): ... this.
10832 (grub_scsi_read_capacity16): New function.
10833 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
10834 0xffffffff.
10835 Fix off-by-one error.
10836 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
10837 64-bit unsigned.
10838 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
10839 (grub_scsi_read_capacity10): ... this.
10840 (grub_scsi_read_capacity_data): Rename to ...
10841 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
10842 (grub_scsi_read_capacity16): New struct.
10843 (grub_scsi_read_capacity16_data): Likewise.
10844 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
10845 grub_scsi_cmd_read_capacity10.
10846 New command grub_scsi_cmd_read_capacity16.
10847
bc8d0f45
VS
108482012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10849
10850 SCSI >2TiB support.
10851
10852 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
10853 (grub_scsi_write16): Likewise.
10854 (grub_scsi_read): Use read16 when necessary.
10855 (grub_scsi_write): Likewise.
10856 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
10857 (grub_scsi_write16): Likewise.
10858 (grub_scsi_cmd_t): Add READ16 and WRITE16.
10859
cc774926
VS
108602012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 SCSI write support (for usbms mainly).
10863
10864 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
10865 a const pointer.
10866 (grub_scsi_write): Implement.
10867 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
10868
67639fd7
VS
108692012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10870
10871 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
10872 variable.
10873
9079d3ed
VS
108742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 * grub-core/lib/posix_wrap/string.h (memchr): New function.
10877
c6a6f204
VS
108782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 * po/POTFILES.in: Regenerate.
10881
ecbf8cd1
VS
108822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
10885 with grub_printf to avoid unnecessary fatal failure.
10886
0b3b3b38
VS
108872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10888
10889 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
10890 (INT_MAX): Likewise.
10891 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
10892 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
10893 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
10894 (strcpy): Likewise.
10895 (strstr): Likewise.
10896 (strchr): Likewise.
10897 (strncpy): Likewise.
10898 (strcat): Likewise.
10899 (strncat): Likewise.
10900 (strcoll): Likewise.
10901 * include/grub/types.h (GRUB_SHRT_MAX): New define.
10902 (GRUB_INT_MAX): Likewise.
10903
db7337a3
VS
109042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
10907 unexpected error.
10908 (optimize_utf8): Likewise.
10909 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
10910
f37c87e1
VS
109112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10912
10913 * grub-core/boot/i386/pc/lnxboot.S: Use
10914 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
10915 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
10916 location.
10917 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
10918 definition.
10919 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
10920
63fe43f3
VS
109212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
10924 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
10925 now to avoid double free.
10926 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
10927 hostdisk.
10928 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
10929 * util/grub-probe.c (escape_of_path): Always return a new copy.
10930 (print_full_name): Escape path.
10931 (probe): Don't call grub_util_devname_to_ofpath on NULL.
10932 Fix hints on abstractions.
10933
ebe2c961
VS
109342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
10937 Don't add "root" line if no compatibility hont is available.
10938 Suggested by: Seth Goldberg.
10939
2b5336a2
VS
109402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10941
10942 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
10943 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
10944 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
10945 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
10946
74310bd8
VS
109472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
10950
c30582ba
VS
109512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10952
10953 * util/grub-pe2elf.c (ehdr): Make static.
10954 (shdr): Likewise.
10955 (num_sections): Likewise.
10956 (offset): Likewise.
10957
5f47782c
VS
109582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10959
10960 Eliminate ofpath limits and possible overflows.
10961
10962 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
10963 (OF_PATH_MAX): Removed.
10964 (MAX_DISK_CAT): New const.
10965 (find_obppath): Use allocated rather than preallocated buffer.
10966 Return result. Argument of_path removed. All users updated.
10967 Add missing fdstat.
10968 (xrealpath): New function.
10969 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
10970 Allocate rather than use preallocated buffer. All users updated.
10971 (__of_path_common): Use allocated rather than preallocatecd buffer.
10972 Return result. Argument of_path removed. All users updated.
10973 (vendor_is_ATA): Read only needed part form the file.
10974 (check_sas): Allocate depending on contents rather than fixed.
10975 (main) [STANDALONE]: Handle NULL result.
10976
f990cbf9
VS
109772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10978
10979 * grub-core/normal/completion.c (iterate_dev): Close the disk.
10980
9c6e84b8
VS
109812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10982
10983 Cryptodisk write support.
10984
10985 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
10986 (grub_cryptodisk_decrypt): Moved logic to ...
10987 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
10988 (grub_cryptodisk_write): Implement.
10989 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
10990 (grub_util_fd_write): ... this. Make global.
10991 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
10992
87cf9744
VS
109932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 * include/grub/list.h (grub_list_remove): Don't crash if element is
10996 removed twice.
10997
ca8c0baf
VS
109982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10999
11000 Rename ofconsole to console.
11001
11002 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
11003 as sysnonym to console.
11004 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
11005 * grub-core/term/ieee1275/console.c: ... this. All users updated.
11006 Rename grub_ofconsole_ to grub_console_. All users updated
11007 (grub_console_term_output): Rename "ofconsole" to "console".
11008 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
11009 as "console".
11010
64c8b8f6
VS
110112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11012
11013 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
11014 handling.
11015 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
11016 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
11017 GRUB_DISK_DEVICE_FILE_ID.
11018
f6c434d5
VS
110192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11020
11021 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
11022 and improve performance.
11023
5858b42d
VS
110242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11025
11026 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
11027 missing ieee1275/ prefix on whole disk.
11028
4ed3c26b
VS
110292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
11032 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
11033
df71143e
VS
110342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
11037
076e7c0f
VS
110382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11039
11040 Merge common RAID and LVM logic to an abstract diskfilter.
11041 Add LDM support using the same framework.
11042
11043 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
11044 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
11045 (libgrubmods): Remove grub-core/disk/raid.c and
11046 grub-core/partmap/gpt.c.
11047 * grub-core/Makefile.core.def (ldm): New module.
11048 (raid): Renamed to diskfilter. All users updated.
11049 * grub-core/disk/raid.c: Moved to ...
11050 * grub-core/disk/diskfilter.c: ... here.
11051 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
11052 (lv_num): New var.
11053 (find_array): Renamed to ...
11054 (find_lv): ... this. Support multi-LV. Skip nameless LVs
11055 (grub_is_array_readable): Renamed to ...
11056 (grub_is_lv_readable): ... this. Support multinode hierarchy.
11057 (insert_array): New argument id.
11058 (is_node_readable): New function.
11059 (scan_device): Rename to ...
11060 (scan_disk): .. this. Restrict to one disk.
11061 (scan_devices): New function.
11062 (grub_diskfilter_iterate): Support multi-LV.
11063 Skip invisible and nameless LVs.
11064 (grub_diskfilter_memberlist): Support multi-LV.
11065 (grub_diskfilter_read_node): New function.
11066 (grub_raid_read): Most of logic moved to ...
11067 (read_segment): ... here
11068 (read_lv): New function.
11069 (grub_diskfilter_get_vg_by_uuid): New function.
11070 (grub_diskfilter_make_raid): Likewise.
11071 * grub-core/disk/ldm.c: New file.
11072 * grub-core/disk/lvm.c (vg_list): Removed.
11073 (lv_count): Likewise.
11074 (scan_depth): Likewise.
11075 (is_lv_readable): Likewise.
11076 (grub_lvm_getvalue): Advance pointer past the number.
11077 (find_lv): Removed.
11078 (do_lvm_scan): Refactored into ...
11079 (grub_lvm_detect): ... this. Support raid.
11080 (grub_lvm_iterate): Removed.
11081 (grub_lvm_memberlist): Likewise.
11082 (grub_lvm_open): Likewise.
11083 (grub_lvm_close): Likewise.
11084 (read_lv): Likewise.
11085 (read_node): Likewise.
11086 (is_node_readable): Likewise.
11087 (is_lv_readable): Likewise.
11088 (grub_lvm_read): Likewise.
11089 (grub_lvm_write): Likewise.
11090 (grub_lvm_dev): Use diskfilter
11091 (GRUB_MOD_INIT): Likewise.
11092 (GRUB_MOD_FINI): Likewise.
11093 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
11094 new interface.
11095 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
11096 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11097 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
11098 grub_diskfilter_read_node.
11099 Fix a bug with xor.
11100 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
11101 grub_diskfilter_read_node.
11102 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
11103 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
11104 (grub_disk_dev_iterate): Move from here...
11105 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
11106 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
11107 Make global.
11108 (grub_hostdisk_find_partition_start): Likewise.
11109 (grub_hostdisk_os_dev_to_grub_drive): New function.
11110 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
11111 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
11112 * util/getroot.c (make_device_name): ... here.
11113 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
11114 Move to ...
11115 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
11116 * grub-core/kern/emu/hostdisk.c
11117 (convert_system_partition_to_system_disk): Move to ...
11118 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
11119 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
11120 * util/getroot.c (device_is_wholedisk): ... here.
11121 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
11122 * util/getroot.c (find_system_device): ... here.
11123 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
11124 Move to ...
11125 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
11126 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11127 Move to ...
11128 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
11129 Handle LDM.
11130 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
11131 Move to ...
11132 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
11133 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
11134 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
11135 DISKFILTER.
11136 * include/grub/raid.h: Renamed to ...
11137 * include/grub/diskfilter.h: ... this.
11138 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
11139 (GRUB_RAID_LAYOUT_*): Make into array.
11140 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
11141 (grub_diskfilter_vg): New struct.
11142 (grub_diskfilter_pv_id): Likewise.
11143 (grub_raid_member): Removed.
11144 (grub_raid_array): Likewise.
11145 (grub_diskfilter_pv): New struct.
11146 (grub_diskfilter_lv): Likewise.
11147 (grub_diskfilter_segment): Likewise.
11148 (grub_diskfilter_node): Likewise.
11149 (grub_diskfilter_get_vg_by_uuid): New proto.
11150 (grub_raid_register): Inline.
11151 (grub_diskfilter_unregister): Likewise.
11152 (grub_diskfilter_make_raid): New proto.
11153 (grub_diskfilter_vg_register): Likewise.
11154 (grub_diskfilter_read_node): Likewise.
11155 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
11156 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
11157 (grub_util_is_ldm): Likewise.
11158 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
11159 (grub_hostdisk_find_partition_start): Likewise.
11160 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
11161 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
11162 New definition.
11163 (grub_gpt_partition_map_iterate): New proto.
11164 * include/grub/lvm.h (grub_lvm_vg): Removed.
11165 (grub_lvm_pv): Likewise.
11166 (grub_lvm_lv): Likewise.
11167 (grub_lvm_segment): Likewise.
11168 (grub_lvm_node): Likewise.
11169 * util/getroot.c [...]
11170 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
11171 (probe_abstraction): Likewise.
11172 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
11173 (main): Remove dead logic.
11174
8a7f9b9c
VS
111752012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
11176
11177 Simplify root device discover and don't fail when trying to open
11178 incorrect devices.
11179
11180 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
11181 function.
11182 (get_diskname_from_path): Likewise.
11183 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
11184 of iterating.
11185
30545b85
VS
111862012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11187
11188 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
11189
28ea58cf
VS
111902012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11191
11192 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
11193 pastthe end.
11194
692dabca
VS
111952012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11196
11197 * util/grub-install.in: Add missing \.
11198 Reported by: gentoofan
11199
f6e4ea70
VS
112002012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
11201
11202 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
11203 (direct_read): Use correct compressed size.
11204 (grub_squash_read_data): Likewise.
11205
112062012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
11207
11208 * docs/grub.texi (Platform limitations): New section.
11209 (Platform-specific operations): Likewise.
11210 * docs/grub-dev.texi (Porting): Likewise.
11211
76261110
VS
112122012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 IEEE1275 disk write support.
11215
11216 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
11217 const void *.
11218 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
11219 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
11220 and seek loginc to ...
11221 (grub_ofdisk_prepare): ... here.
11222 (grub_ofdisk_write): Implement.
11223
fc36d603
VS
112242012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11225
11226 ARC disk write support.
11227
11228 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
11229 (reopen): New argument writable. All users updated.
11230 Handle required access mode.
11231 (grub_arcdisk_write): Implement.
11232 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
11233 (grub_arc_firmware_vector): Make buffer to write a const buffer.
11234
e06c2e7a
VS
112352012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11236
11237 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
11238 (read_sblock): Don't attempt to read superblocks outside the disk size.
11239
ff447958
VS
112402012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11241
11242 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
11243 first superblock to find the second one when possible.
11244
9e88df39
VS
112452012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 * util/grub-install.in: Fix an ARC bug.
11248 Print a warning if no platform-specific setup is available.
11249
bb26e4ff
VS
112502012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 Use static allocation rather than scratch pointer in reed_solomon.
11253 It decreases its size significantly and avoids a variable in .text.
11254
11255 * grub-core/lib/reed_solomon.c (scratch): Removed.
11256 (chosenstat): New const or static array.
11257 (sigma): Likewise.
11258 (errpot): Likewise.
11259 (errpos): Likewise.
11260 (sy): Likewise.
11261 (mstat): Likewise.
11262 (errvals): Likewise.
11263 (eqstat): Likewise.
11264 (pol_evaluate): Replace x with log_x argument. All users updated.
11265 (syndroms): Removed.
11266 (gauss_solve): Use statically allocated arrays.
11267 (rs_recover): Likewise.
11268 Calculate syndroms directly.
11269 (decode_block): Use statically allocated arrays.
11270 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
11271 (main) [TEST]: Allow -DTEST -DSTANDALONE.
11272
2e13ede5
VS
112732012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 Eliminate fixed limit on reed solomon decoder length.
11276
11277 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
11278 rather than hardcoding the address.
11279 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
11280 no_reed_solomon_length.
11281 Move gate_a20 to no-reed-solomon part.
11282 Don't force a particular size of no reed-solomon part.
11283 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11284 Removed.
11285 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
11286 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
11287
f8a9ab12
VS
112882012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11289
11290 * grub-core/commands/wildcard.c (match_files): Handle filenames
11291 without explicit device.
11292 (wildcard_expand): Don't add explicit device if not already present.
11293 * tests/grub_script_echo1.in: Add a new expansion test.
11294
87edb894
VS
112952012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 Replace single-linked with double-linked lists. It results in more
11298 compact and more efficient code.
11299
11300 * grub-core/kern/list.c (grub_list_push): Moved from here ...
11301 * include/grub/list.h (grub_list_push): ... to here. Set prev.
11302 (grub_list_remove): Moved from here ...
11303 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
11304 (grub_prio_list_insert): Set prev.
11305 * include/grub/list.h (grub_list): Add prev. All users updated.
11306
48b391e9
VS
113072012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11308
11309 Handle newer autotools. Add some missing quotes while on it.
11310
11311 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
11312 (pkglib_DATA): Move grub-mkconfig_lib from here ...
11313 (pkgdata_DATA): ... here.
11314 * Makefile.util.def (update-grub_lib): Removed.
11315 * conf/Makefile.common (pkglib_DATA): Removed.
11316 (pkglib_SCRIPTS): Likewise.
11317 (pkgdata_DATA): New variable.
11318 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
11319 needed.
11320 Add missing quotes.
11321 Remove unused variable while on it.
11322 * tests/util/grub-shell.in: Likewise.
11323 * util/grub-install.in: Likewise.
11324 * util/grub-mkconfig.in: Likewise.
11325 * util/grub-mknetdir.in: Likewise.
11326 * util/grub-mkrescue.in: Likewise.
11327 * util/grub-mkstandalone.in: Likewise.
11328 * util/grub.d/00_header.in: Likewise.
11329 * util/grub.d/10_hurd.in: Likewise.
11330 * util/grub.d/10_illumos.in: Likewise.
11331 * util/grub.d/10_kfreebsd.in: Likewise.
11332 * util/grub.d/10_linux.in: Likewise.
11333 * util/grub.d/10_netbsd.in: Likewise.
11334 * util/grub.d/10_windows.in: Likewise.
11335 * util/grub.d/20_linux_xen.in: Likewise.
11336 * util/grub.d/30_os-prober.in: Likewise.
11337 * util/update-grub_lib.in: Removed.
11338
113392012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
11340
11341 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
11342 a workaround for intel problem.
11343
66832792
PRP
113442012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
113452012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
113462012-01-23 pfsmorigo
11347
11348 * util/grub-install.in: Support dd'in into PreP partition.
11349 * util/grub-probe.c (probe): Support discovering partition type.
11350 (main): Support -t msdos_parttype.
11351
7816a17e
VS
113522012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
11353
11354 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
11355 infinite recursion using counter.
11356 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
11357 init to skip it if the magic check fails.
11358 (dec_stream_header): Init s->crc32.
11359
8f9d3a8c
ZB
113602012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
113612012-01-22 Zachary Bedell <pendorbound@gmail.com>
113622012-01-22 Richard Laager <rlaager@wiktel.com>
11363
11364 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
11365 All users updated.
11366 (find_bestub): Determine correct size.
11367 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
11368 (scan_disk): Align the size down.
11369 Call check pool before find_bestub to have ashift.
11370
b055dd32
VS
113712012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11372
11373 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
11374 dprintf in no-malloc zone.
11375
d779e9bd
ML
113762012-01-22 Mario Limonciello <mario_limonciello@dell.com>
11377
11378 * configure.ac: Add back in test for limits.h.
11379
b508af69
VS
113802012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11381
11382 Support 4K-sector NTFS.
11383
11384 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
11385 (grub_ntfs_data): Remove blocksize.
11386 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
11387 Remove data argument. All users updated.
11388
dad9c8b5
VS
113892012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11390
11391 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
11392 being in .text to avoid dprel references.
11393 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
11394 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
11395 (grub_arch_highmemsize): Likewise.
11396 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
11397 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
11398 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
11399
d43a777e
VS
114002012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11401
11402 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
11403
11404 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
11405 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
11406
34e4208f
VS
114072012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11408
11409 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
11410 GRUB_UTIL.
11411 (grub_set_datetime_cmos): Likewise.
11412
3ec0fc1c
VS
114132012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11414
11415 Make XZ compression parameters dependent on target and not host CPU.
11416
11417 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
11418 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
11419
22489834
VS
114202012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11421
11422 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
11423 set but not used variable.
11424
8502fbca
VS
114252012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11426
11427 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
11428 created when no uuid support is compiled into mkfs.reiser.
11429
76df2068
VS
114302012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11431
11432 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
11433 (utf8_to_macroman): Do the opposite.
11434 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
11435
64e3f8f6
VS
114362012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 * configure.ac: Refise build qemu_mips w/o unifont.
11439
9c271078
VS
114402012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 Eliminate grub_min/grub_max prone to overflow usage.
11443
11444 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
11445 (poll_nonroot_hub): Likewise.
11446 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
11447 (grub_affs_label): Likewise.
11448 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
11449 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
11450 (grub_hfs_label): Likewise.
11451 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
11452 * grub-core/fs/zfs/zfs.c (MIN): Remove.
11453 (zap_leaf_array_equal): Use grub_size. Remove MIN.
11454 (zap_leaf_array_get): Likewise.
11455 (dnode_get_path): Likewise.
11456 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
11457 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
11458 * grub-core/script/execute.c (grub_script_break): Likewise.
11459 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
11460 grub_max.
11461 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
11462 * include/grub/misc.h (grub_min): Removed.
11463 (grub_max): Likewise.
11464
80662dbc
VS
114652012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
11466
11467 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
11468 direct.inode = 0.
11469
e6da1467
VS
114702012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11471
11472 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
11473
b1ac4cb1
VS
114742012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
11477
b4bf7c3b
VS
114782012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
11481 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
11482
8ee1101a
VS
114832012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11484
11485 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
11486 rather than a hack for grub_strncasemap.
11487
114882012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11489
11490 Support multiple initrds
11491 Note: part of this was accidently committed in r3739.
11492
11493 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
11494 initrd.
11495 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11496 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11497 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11498 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11499 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11500
4d1e2bc9
VS
115012012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11502
11503 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
11504 disks with unknown size.
11505 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
11506
75b49ebe
VS
115072012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11508
11509 Remove defines pertaining to arbitrary limits not affecting GRUB
11510 anymore.
11511
11512 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
11513 (EXT2_MAX_SYMLINKCNT): Likewise.
11514 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
11515 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
11516 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
11517 (GRUB_PXE_MAX_BLKSIZE): Likewise.
11518 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
11519 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
11520 (DN_MAX_OBJECT_SHIFT): Likewise.
11521 (DN_MAX_OFFSET_SHIFT): Likewise.
11522 (DN_MAX_OBJECT): Likewise.
11523 (DNODES_PER_LEVEL_SHIFT): Likewise.
11524 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
11525 (SPA_MAXBLOCKSIZE): Likewise.
11526 (SPA_BLOCKSIZES): Likewise.
11527 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
11528 (MZAP_MAX_BLKSZ): Likewise.
11529
74a1dce7
VS
115302012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
11533 handle NULL appropriately.
11534 Remove MIN.
11535
30c7d3ce
VS
115362012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 Fix efiemu.
11539
11540 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
11541 cpu/types.h.
11542 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
11543 * configure.ac: Fix efiemu check.
11544
3c76ea0c
VS
115452012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
11548 grub_probe.
11549 Reported by: adamwill
11550
7e532280
SG
115512012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
11552
11553 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
11554
30492374
VS
115552012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11556
11557 Fix handling of wide characters in gfxterm.
11558
11559 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
11560 (clear_char): Likewise.
11561 (paint_char): Skip code == NULL chars.
11562 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
11563
e70cb72f
VS
115642012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11565
11566 * grub-core/normal/charset.c: Move comment to right place.
11567
5c827cf9
VS
115682012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11569
11570 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
11571 (GRUB_AFFS_FLAG_FFS): Put back where it was.
11572 (grub_affs_mount): Revert the correct version checking.
11573
53603892
VS
115742012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11575
11576 * docs/grub.texi (Unicode): Mention several other unsupported features.
11577
ff094b9b
VS
115782011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11579
11580 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
11581 case statements as compile-time one.
11582 (direct_read): Prevent spurious warnings.
11583 (grub_squash_read_data): Likewise.
11584
c029da8a
VS
115852011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11586
11587 Various squash4 fixes and LZO and XZ support.
11588
11589 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
11590 Add xzembed source files.
11591 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
11592 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
11593 (grub_squash_inode): New subtype long_dir.
11594 (SQUASH_TYPE_LONG_DIR): New inode type.
11595 (COMPRESSION): New enum.
11596 (XZBUFSIZ): New const.
11597 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
11598 (read_chunk): Use data->decompress.
11599 (zlib_decompress): New function.
11600 (lzo_decompress): Likewise.
11601 (xz_decompress): Likewise.
11602 (squash_mount): Set new data fields.
11603 (grub_squash_iterate_dir): Handle long dir.
11604 (squash_unmount): Free xzdec and xzbuf.
11605 (grub_squash_open): Check ino type.
11606 (direct_read): Stylistic fixes. Use data->decompress.
11607 (grub_squash_read_data): Likewise.
11608 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
11609 (get_byte): Likewise.
11610 (grub_zlib_disk_read): Removed.
11611 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
11612 (GRUB_POSIX_BOOL_DEFINED): New define.
11613 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
11614 * grub-core/lib/xzembed/xz.h: Addmissing includes.
11615 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
11616 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
11617
7a45a539
VS
116182011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 Don't override more informative errors.
11621
11622 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
11623 * grub-core/font/font.c (open_section): Likewise.
11624 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
11625 filename. Don't override errors.
11626 (grub_cmd_openbsd_ramdisk): Don't override errors.
11627 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
11628 (grub_cmd_initrd): Likewise.
11629 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11630 (grub_cmd_initrd): Likewise.
11631 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
11632 (grub_cmd_linux): Likewise.
11633 (grub_cmd_initrd): Likewise.
11634 (grub_cmd_payload): Likewise.
11635 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11636 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
11637 (grub_cmd_module): Likewise.
11638 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11639 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11640 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
11641 (grub_cmd_xnu_mkext): Likewise.
11642 (grub_cmd_xnu_ramdisk): Likewise.
11643 (grub_xnu_check_os_bundle_required): Likewise.
11644 (grub_xnu_load_kext_from_dir): Likewise.
11645 (grub_cmd_xnu_kextdir): Likewise.
11646 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
11647
b2d004db
VS
116482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
11651 as 1024 in block size field. Found on one of my test images.
11652 Small optimisation while on it.
11653
ec000eac
VS
116542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11655
11656 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
11657 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
11658 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
11659 performance fixes while on it.
11660 (grub_sfs_close): Fix memory leak while on it.
11661 (grub_sfs_label): Convert Latin1 to UTF-8.
11662
f50e1165
VS
116632011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11664
11665 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
11666 space to avoid overflows.
11667 (grub_hfs_label): Convert from macroman to UTF-8.
11668
2ae254de
VS
116692011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
11672
0108f491
VS
116732011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11674
11675 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
11676
f45f5f89
VS
116772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11678
11679 * unicode: Import Unicode 6.0 data.
11680
4d8c4765
VS
116812011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11682
63fa8ef9
VS
11683 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
11684 outside of range.
11685
116862011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11687
11688 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
11689
11690 * include/grub/charset.h (grub_getend): New function.
11691 * grub-core/script/function.c (grub_script_function_find): Use
11692 grub_getend.
11693 * grub-core/normal/completion.c (add_completion): Likewise.
11694
f3cb4a4e
VS
116952011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11696
11697 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
11698 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
11699 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
11700 (GRUB_UNICODE_TAG_END): Likewise.
11701 (GRUB_UNICODE_LAST_VALID): Likewise.
11702
5da8dbc5
VS
117032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11704
11705 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
11706 len and make it smaller. All users updated.
11707 * util/import_unicode.py: Put length and not end character.
11708 Check length.
11709
8569f13d
VS
117102011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 Make better Unicode-compliant and unify some UTF-8 code pathes.
11713
11714 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
11715 valid character.
11716 (grub_is_valid_utf8): Use grub_utf8_process.
11717 Check resulting code range.
11718 (grub_utf8_to_ucs4): Use grub_utf8_process.
11719 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
11720 valid character.
11721
cc4fddf5
VS
117222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11723
11724 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
11725
bbc47747
VS
117262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 * docs/grub.texi (Filesystems): Mention AFS.
11729
f63d6bf4
VS
117302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11731
11732 * docs/grub.texi (Filesystems): Clarify restrictions.
11733 (Regexp): Mention non-Unicode regexp behaviour.
11734 (Other): Mention non-Unicode matching behaviour.
11735
74bbf0db
VS
117362011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11737
f63d6bf4 11738 Make HFS implementation use MacRoman.
74bbf0db
VS
11739
11740 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
11741 (macroman): New const array.
11742 (macroman_to_utf8): New function.
11743 (utf8_to_macroman): Likewise.
11744 (grub_hfs_find_dir): Use utf8_to_macroman.
11745 (grub_hfs_dir): Use macroman_to_utf8.
11746 Set case_insensitive.
11747
4ea0316e
VS
117482011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11749
11750 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
11751
d3c13cbd
VS
117522011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 Integrate hints into autogeneration scripts.
11755
11756 * docs/grub.texi (Filesystems): Add a hostdisk example.
11757 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
11758 (grub-probe): Add ofpath.
11759 * gentpl.py: Remove group nosparc64.
11760 * grub-core/commands/search.c (cache_entry): New struct.
11761 (cache): New var.
11762 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
11763 * grub-core/commands/search_wrap.c (options): Add platform-specific
11764 hint options.
11765 (grub_cmd_search): Handle platform-specific hints.
11766 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
11767 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
11768 (grub_util_biosdisk_data): Likewise.
11769 (grub_util_biosdisk_open): Set device_map.
11770 (read_device_map): Handle "" as indication of no map.
11771 Set device_map.
11772 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
11773 (grub_util_biosdisk_get_compatibility_hint): New function.
11774 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
11775 * include/grub/emu/hostdisk.h
11776 (grub_util_biosdisk_get_compatibility_hint): New proto.
11777 * util/grub-install.in: Don't call grub-mkdevicemap.
11778 Add platform-specific hint to load.cfg.
11779 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
11780 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11781 hints. Set root preliminary to compatibility hint, not to OS name.
11782 * util/grub-probe.c (PRINT_*): Add hints.
11783 (print): Make static.
11784 (escape_of_path): New function.
11785 (guess_bios_drive): Likewise.
11786 (guess_efi_drive): Likewise.
11787 (guess_baremetal_drive): Likewise.
11788 (print_full_name): Likewise.
11789 (probe): Handle hints.
11790 (main): Likewise.
11791 * util/ieee1275/devicemap.c: Removed.
11792 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
11793 updated.
11794 (grub_util_devname_to_ofpath): Return NULL on failure.
11795
11796 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
11797 resource leak.
11798 * util/getroot.c (grub_util_pull_device): Fix memory leak.
11799
11800 * po/POTFILES.in: Regenerated.
11801
11802 Allow purely long options
11803
11804 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
11805 (SHORT_ARG_USAGE): Likewise.
11806 (grub_arg_show_help): Compare opt with help_options.
11807 (parse_option): Receive opt as argument. If makes big simplificatons.
11808 All users updated
11809
00ce2df3
VS
118102011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11811
11812 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
11813 Restructure to avoid warning.
11814
e77e325f
VS
118152011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11816
11817 * util/grub-install.in: Account for possible escaped comma in device
11818 name.
11819
165099ea
VS
118202011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11821
11822 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
11823 channel.
11824
ce4a999d
VS
118252011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11826
11827 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
11828 allocation and zero-setting.
11829 (grub_ieee1275_get_devname): Check that alias is complete.
11830
379586ad
VS
118312011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11832
11833 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
11834 unaligned segments.
11835
9197b0ad
VS
118362011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11837
11838 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
11839 prefix.
11840 (grub_ofdisk_open): Check and discard ieee1275 prefix.
11841 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
11842 Add ieee1275 prefix.
11843
edddb7f9
VS
118442011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11845
11846 * docs/grub.texi (Filesystems): Update.
11847
a1a8b1b9
VS
118482011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11849
11850 Support odc, newc and bigendian cpio formats.
11851
11852 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
11853 * grub-core/Makefile.core.def (newc): New module.
11854 (odc): Likewise.
11855 (cpio_be): Likewise.
11856 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
11857 (MAGIC): Likewise.
11858 (MAGIC2): Likewise.
11859 (head) [MODE_ODC]: Adapt for the format.
11860 (head) [MODE_NEWC]: Likewise.
11861 (head) [!MODE_*]: Write fields of interest as arrays.
11862 (MAGIC_USTAR): Removed.
11863 (read_number) [MODE_NEWC]: Change to hex.
11864 (read_number) [!MODE_*]: Parse binary arrays.
11865 (grub_cpio_find_file): Factor out the code for better structure and
11866 always use read_number.
11867 (grub_cpio_mount): Use MAGIC and MAGIC2.
11868 (grub_cpio_dir): Exit on first hook non-0 return.
11869 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
11870 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
11871 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
11872 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
11873 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
11874 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
11875 * grub-core/fs/newc.c: New file.
11876 * grub-core/fs/odc.c: Likewise.
11877 * grub-core/fs/cpio_be.c: Likewise.
11878
58eba9ee
VS
118792011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11880
11881 Fix handling of tar numbers occupying the whole field.
11882
11883 * grub-core/fs/cpio.c (read_number): New function.
11884 (grub_cpio_find_file): Use read_number instead of strtoull.
11885
a54a0e12
VS
118862011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11887
11888 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
11889 occupying the whole field size.
11890
a6120aca
LA
118912011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
11892
11893 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
11894
a93964ce
VS
118952011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
11898
3ea1ca46
SG
118992011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
11900
11901 * grub-core/Makefile.core.def (lzma_decompress): Add missing
11902 TARGET_IMG_LDFLAGS.
11903
b87f7ef2
VS
119042011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11905
11906 * util/getroot.c (ESCAPED_PATH_MAX): New define.
11907 (mountinfo_entry): Increase the field size to take escaping into
11908 account.
11909 (find_root_device_from_libzfs): Add one byte to size of strings for
11910 security.
11911
62092395
VS
119122011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11913
11914 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
11915 an assert.
11916 * util/grub-setup.c (setup): Likewise.
11917
1f0b1a77
VS
119182011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11919
11920 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
11921 _LzmaDecodeA.
11922
8eba9997
VS
119232011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11924
11925 * docs/grub.texi (Internationalisation): New section.
11926
dd0c91e9
VS
119272011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11928
11929 * docs/grub.texi (Loopback booting): New section.
11930
119312011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
11932
11933 * util/grub-mkstandalone.in: Fix minor typo errors.
11934
198e150a
VS
119352011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11936
11937 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
11938
11939 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
11940 net/icmp.c and net/icmp6.c.
11941 (http): New module.
11942 (priority_queue): Likewise.
11943 * grub-core/io/bufio.c: Rewritten.
11944 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
11945 TYPE_WITH_CONFIGFILE_OPTION.
11946 (legacy_commands): Add bootp and dhcp.
11947 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
11948 (grub_legacy_parse): Likewise.
11949 * grub-core/lib/priority_queue.c: New file.
11950 * grub-core/net/arp.c: Add missing license header.
11951 (arp_find_entry): Removed.
11952 (arp_find_entry): Likewise.
11953 (grub_net_arp_resolve): Rename to ...
11954 (grub_net_arp_send_request): ...this.
11955 (grub_net_arp_receive): New card argument.
11956 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
11957 Set router and DNS server.
11958 (grub_net_configure_by_dhcp_ack): Handle routing information.
11959 (grub_cmd_bootp): Set checksum.
11960 (grub_bootp_init): Remove net_dhcp.
11961 * grub-core/net/dns.c: New file.
11962 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
11963 completion.
11964 (get_card_packet): Handle allocation.
11965 (grub_efinet_findcards): Set mtu.
11966 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
11967 (get_card_packet): Handle allocation.
11968 (emucard): Set mtu.
11969 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
11970 (GRUB_MOD_INIT): Set mtu.
11971 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
11972 mtu.
11973 (get_card_packet): Handle allocation.
11974 (grub_ofnet_findcards): Set mtu.
11975 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
11976 assert.
11977 (grub_net_recv_ethernet_packet): Handle IPv6.
11978 * grub-core/net/http.c: New file.
11979 * grub-core/net/icmp.c: Likewise.
11980 * grub-core/net/icmp6.c: Likewise.
11981 * grub-core/net/ip.c (ip6addr): New type.
11982 (ip6hdr): Likewise.
11983 (reassemble): Likewise.
11984 (cmp): New function.
11985 (reassembles): New variable.
11986 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
11987 (id): New variable.
11988 (send_fragmented): New function.
11989 (grub_net_send_ip_packet): Rename to ...
11990 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
11991 Handle non-UDP.
11992 (grub_net_recv_ip_packets): Rename to ...
11993 (handle_dgram): ... this. Check checksum. Handle non-UDP.
11994 (free_rsm): New function.
11995 (free_old_fragments): Likewise.
11996 (grub_net_recv_ip4_packets): New function.
11997 (grub_net_send_ip6_packet): Likewise.
11998 (grub_net_send_ip_packet): Likewise.
11999 (grub_net_recv_ip6_packets): Likewise.
12000 (grub_net_recv_ip_packets): Likewise.
12001 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
12002 (LINK_LAYER_CACHE_SIZE): New const.
12003 (link_layer_find_entry): New function.
12004 (grub_net_link_layer_add_address): Likewise.
12005 (grub_net_link_layer_resolve_check): Likewise.
12006 (grub_net_link_layer_resolve): Likewise.
12007 (grub_net_ipv6_get_slaac): Likewise.
12008 (grub_net_ipv6_get_link_local): Likewise.
12009 (grub_cmd_ipv6_autoconf): Likewise.
12010 (parse_ip): Handle one number representation.
12011 (parse_ip6): New functoion.
12012 (match_net): Handle IPv6.
12013 (grub_net_resolve_address): Handle IPv6 and DNS.
12014 (grub_net_resolve_net_address): Handle IPv6.
12015 (route_cmp): New function.
12016 (grub_net_route_address): Find best route.
12017 (grub_net_addr_to_str): Handle IPv6.
12018 (grub_net_addr_cmp): New function.
12019 (grub_net_add_addr): Register local route.
12020 (print_net_address): Handle net address.
12021 (grub_net_poll_cards): Retransmit TCP.
12022 (grub_net_poll_cards_idle_real): Likewise.
12023 (have_ahead): New function.
12024 (grub_net_seek_real): Use underlying seek.
12025 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
12026 * grub-core/net/tcp.c: New file.
12027 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
12028 (cmp): New function.
12029 (ack): Likewise.
12030 (tftp_receive): Handle unordered input.
12031 (destroy_pq): New function.
12032 (tftp_close): Close pq.
12033 * grub-core/net/udp.c: Put missing license header.
12034 (grub_net_udp_socket): New function.
12035 (udp_socket_register): Likewise.
12036 (grub_net_udp_close): Likewise.
12037 (grub_net_recv_udp_packet): Check checksum.
12038 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
12039 * include/grub/misc.h (grub_memchr): New function.
12040 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
12041 (grub_net_card_driver): Return buf in recv.
12042 (grub_net_slaac_mac_list): New struct.
12043 (grub_network_level_protocol_id): Add ipv6.
12044 (grub_net_network_level_addr): Likewise.
12045 (grub_net_network_level_net_addr): Likewise.
12046 (grub_net_app_protocol): Add seek.
12047 (grub_net_socket): Removed.
12048 (grub_net_sockets): Likewise.
12049 (grub_net_socket_register): Likewise.
12050 (grub_net_socket_unregister): Likewise.
12051 (FOR_NET_SOCKETS): Likewise.
12052 (grub_net_add_addr): Add const.
12053 (GRUB_NET_BOOTP_*): New enum.
12054 (grub_net_addr_cmp): New proto.
12055 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
12056 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
12057 (grub_net_hwaddr_to_str): NEw proto.
12058 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
12059 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
12060 (grub_dns_init): New proto.
12061 (grub_dns_fini): Likewise.
12062 (grub_net_tcp_retransmit): Likewise.
12063 (grub_net_link_layer_add_address): Likewise.
12064 (grub_net_link_layer_resolve_check): Likewise.
12065 (grub_net_link_layer_resolve): Likewise.
12066 (grub_net_dns_lookup): Likewise.
12067 (grub_net_add_dns_server): Likewise.
12068 (grub_net_remove_dns_server): Likewise.
12069 (GRUB_NET_TRIES): New const.
12070 (GRUB_NET_INTERVAL): Likewise.
12071 * include/grub/net/arp.h: Mostly rewritten.
12072 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
12073 * include/grub/net/ip.h: Mostly rewritten.
12074 * include/grub/net/netbuff.h: Indent.
12075 * include/grub/net/tcp.h: New file.
12076 * include/grub/net/udp.h: Mostly rewritten.
12077 * include/grub/priority_queue.h: New file.
12078 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
12079 (grub_swap_bytes64_compile_time): Likewise.
12080 (grub_cpu_to_be16_compile_time): Likewise.
12081 (grub_cpu_to_be32_compile_time): Likewise.
12082 (grub_cpu_to_be64_compile_time): Likewise.
12083 (grub_be_to_cpu64_compile_time): Likewise.
12084
215c1800
VS
120852011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
12086
12087 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
12088 UINT_TO_PTR with cast.
12089
c17e546c
VS
120902011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12091
12092 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
12093 don't use them.
12094
ff6b18b6
VS
120952011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12096
12097 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
12098 already there.
12099
70ffcc93
VS
121002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12101
12102 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
12103 confusing ipxe.
12104
e5f4d260
VS
121052011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12106
12107 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
12108 Add missing const attribute.
12109 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
12110 Likewise.
12111 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
12112 Likewise.
12113
8e54b4b7
VS
121142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12115
12116 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
12117 misaligned access.
12118 (serpent_setkey): Likewise.
12119 (serpent_encrypt_internal): Likewise.
12120 (serpent_decrypt_internal): Likewise.
12121 (serpent_encrypt): Don't put an alignment-increasing cast.
12122 (serpent_decrypt): Likewise.
12123 (serpent_test): Likewise.
12124
813c0a2b
VS
121252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12126
12127 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
12128
f2b60fbd
VS
121292011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12130
12131 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
12132
12133 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
12134 grub_addr_t casts.
12135 (PTR_TO_UINT64): Likewise.
12136 (PTR_TO_UINT32): Likewise.
12137
5ef5c511
VS
121382011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12139
12140 * util/grub-mkimage.c (generate_image): Decrease the higher limit
12141 because of stack.
12142 * util/grub-setup.c (setup): Don't add redundancy past the higher load
12143 limit.
12144
c476e6df
VS
121452011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12146
12147 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
12148 text_width > available width a bit more gracefully.
12149
384ad7cc
VS
121502011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12151
12152 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
12153 current address calculation.
12154
96f8caf8
VS
121552011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12156
12157 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
12158 stack.
12159 (encode_block): Likewise.
12160
276b7a8b
VS
121612011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12162
12163 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
12164 certainety.
12165
e3fd394a
VS
121662011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12167
12168 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
12169 non-RS part to avoid RS messing with GDT.
12170 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12171 Increase to suit in realmode routines.
12172
121732011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12174
12175 * grub-core/kern/i386/realmode.S: Increase alignment.
12176 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
12177
ee9c2e7a
VS
121782011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12179
12180 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
12181 be deterministic.
12182 (syndroms): Compute 0 syndrom.
12183 (rs_recover): Use 0 syndrom.
12184
7a7f7cc9
VS
121852011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12186
12187 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
12188
a14b16d1
VS
121892011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12190
12191 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
12192 brackets.
12193
9f59e9fc
VS
121942011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12195
ca1b552c
VS
12196 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
12197 account.
12198 (get_top_pad): Likewise.
12199 (get_right_pad): Likewise.
12200 (get_bottom_pad): Likewise.
12201
122022011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12203
12204 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 12205
e739d698
VS
122062011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12207
12208 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
12209 attribute as the structure isn't guaranteed to be properly aligned.
12210 (grub_efi_pci_device_path): Likewise.
12211 (grub_efi_pccard_device_path): Likewise.
12212 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
12213 specify the size of `memory_type'.
12214 (grub_efi_vendor_device_path): Likewise.
12215 (grub_efi_controller_device_path): Likewise.
12216 (grub_efi_acpi_device_path): Likewise.
12217 (grub_efi_expanded_acpi_device_path): Likewise.
12218 (grub_efi_atapi_device_path): Likewise.
12219 (grub_efi_scsi_device_path): Likewise.
12220 (grub_efi_fibre_channel_device_path): Likewise.
12221 (grub_efi_1394_device_path): Likewise.
12222 (grub_efi_usb_device_path): Likewise.
12223 (grub_efi_usb_class_device_path): Likewise.
12224 (grub_efi_i2o_device_path): Likewise.
12225 (grub_efi_mac_address_device_path): Likewise.
12226 (grub_efi_ipv4_device_path): Likewise.
12227 (grub_efi_ipv6_device_path): Likewise.
12228 (grub_efi_infiniband_device_path): Likewise.
12229 (grub_efi_uart_device_path): Likewise.
12230 (grub_efi_vendor_messaging_device_path): Likewise.
12231 (grub_efi_hard_drive_device_path): Likewise.
12232 (grub_efi_cdrom_device_path): Likewise.
12233 (grub_efi_vendor_media_device_path): Likewise.
12234 (grub_efi_file_path_device_path): Likewise.
12235 (grub_efi_protocol_device_path): Likewise.
12236 (grub_efi_piwg_device_path): Likewise.
12237 (grub_efi_bios_device_path): Likewise.
12238
cb8f88ea
VS
122392011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12240
12241 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
12242 (grub_ucs4_to_utf8_alloc): Likewise.
12243 (grub_ucs4_to_utf8): Likewise.
12244 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
12245 (grub_ucs4_to_utf8_alloc): Likewise.
12246
309e5352
VS
122472011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 AFFS never uses unicode.
12250
12251 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
12252 (grub_latin1_to_utf8): New inline function.
12253 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
12254
e7987e1b
VS
122552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12256
12257 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
12258 overflow.
12259
efc2616e
VS
122602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12261
12262 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
12263 (grub_squash_dirent_header): Likewise.
12264 (read_chunk): Don't double swap.
12265 (grub_squash_iterate_dir): Fix swap sizes.
12266
3c349f5a
VS
122672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12268
12269 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
12270
b453412d
VS
122712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12272
12273 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
12274 (grub_hfs_iterate_dir): Likewise.
12275
12e9d4d1
VS
122762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12277
12278 Fix video on platforms where unaligned access is forbidden.
12279 Make several optimisations while on it.
12280
12281 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
12282 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12283 (grub_video_fbblit_replace_32bit_1bit): Likewise.
12284 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
12285 Disable.
12286 (grub_video_fbblit_replace_16bit_1bit):
12287 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12288 (grub_video_fbblit_replace_8bit_1bit): Likewise.
12289 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
12290 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
12291 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
12292 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
12293 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
12294 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
12295 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
12296 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
12297 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
12298 (grub_video_fbblit_replace_index_RGB888): Likewise.
12299 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
12300 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
12301 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
12302 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
12303 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
12304 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
12305 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
12306 Disable.
12307 (grub_video_fbblit_blend_XXX565_1bit):
12308 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12309 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
12310 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
12311 void *.
12312 * grub-core/video/fb/video_fb.c (common_blitter)
12313 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
12314 (grub_video_fb_create_render_target_from_pointer)
12315 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12316 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
12317 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
12318 definition.
12319 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
12320
ace96609
VS
123212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12322
12323 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
12324 HH22 and HM10 relocations.
12325
fd261d73
VS
123262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12327
12328 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
12329
e59b7857
VS
123302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12331
12332 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
12333 allocation succeeded.
12334
9b4baaa4
VS
123352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12336
12337 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
12338 argument a u8 pointer. All users updated.
12339 Handle unaligned buffers.
12340
dc713193
VS
123412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12342
12343 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
12344 add_part to workaround compiler bug.
12345
30dd48c2
VS
123462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
12349
0c6087a8
VS
123502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12351
12352 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
12353 Reserve alignment invariants.
12354 (grub_multiboot_load): Likewise.
12355 (retrieve_video_parameters): Likewise.
12356 (grub_multiboot_make_mbi): Likewise.
12357
c2e77777
VS
123582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
12361 incorrect pointer.
12362
b70b6d11
VS
123632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12364
12365 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
12366 (grub_pata_pio_write): Likewise.
12367
02a2bf83
VS
123682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 Add noreturn attributes and remove unreachable code.
12371
12372 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
12373 code.
12374 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
12375 code. Mark as noreturn.
12376 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
12377 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
12378 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
12379 unreachable code.
12380 * grub-core/kern/main.c (grub_main): Mark as noreturn.
12381 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
12382 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
12383 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
12384 * include/grub/kernel.h (grub_main): Mark as noreturn.
12385 * include/grub/reader.h (grub_rescue_run): Likewise.
12386
2019d09e
VS
123872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12388
12389 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
12390 redundant declaration.
12391
d1c501ee
VS
123922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12393
12394 * include/grub/net.h (grub_net_network_level_interfaces): Remove
12395 redundant declaration.
12396 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
12397
61664420
VS
123982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12399
12400 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
12401 to ensure alignment.
12402 (grub_hdparm_print_identify): Make argument uint16 * to ensure
12403 alignment. Ensure tmp alignment.
12404 (grub_cmd_hdparm): Ensure buf alignment.
12405 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
12406 to ensure alignment.
12407 (grub_ata_dumpinfo): Ensure text alignment.
12408 (grub_atapi_identify): Preserve alignment invariant.
12409 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
12410
0d51ee20
VS
124112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12412
12413 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
12414 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
12415 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
12416 * include/grub/misc.h (grub_reboot)
12417 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
12418 (grub_halt) [__mips__]: Likewise.
12419
753ef8c1
VS
124202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
12423 Remove redundant declaration.
12424 (grub_mmap_get_post64): Likewise.
12425 (grub_mmap_get_upper): Likewise.
12426 (grub_mmap_get_lower): Likewise.
12427
85c85365
VS
124282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
12431 uint32_t * to ensure alignment.
12432 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
12433
a23f2cc4
VS
124342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12435
93018f64
VS
12436 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
12437 uint16_t * to ensure alignment.
12438 (sun_pc_partition_map_iterate): Make `block' a union to ensure
12439 alignment.
12440
124412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12442
12443 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
12444 to ensure alignment.
12445 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
12446
58acccd6
VS
124472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12448
12449 * grub-core/fs/ntfs.c (u16at): Make into inline function.
12450 Handle unaligned pointers.
12451 (u32at): Likewise.
12452 (u64at): Likewise.
12453 (fixup): Use byte access instead of v16at.
12454 (find_attr): Fix imporper usage of v32at.
12455 (read_data): Likewise.
12456 (list_file): Handle byte-swapping and unaligned strings.
12457 (grub_ntfs_label): Likewise.
12458
9b05cad7
VS
124592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12460
12461 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
12462 as it's not necessarily aligned.
12463
b3950b84
VS
124642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12465
12466 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
12467 redundant declaration.
12468 (grub_serial_init): Likewise.
12469 (grub_terminfo_init): Likewise.
12470
fcd232b7
VS
124712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
12474 function.
12475 (ZAP_HASH_IDX): Likewise.
12476 (ZAP_LEAF_HASH_SHIFT): Likewise.
12477 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
12478 (LEAF_HASH): Likewise.
12479 (ZAP_LEAF_NUMCHUNKS): Likewise.
12480 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
12481 alignment invariants. Return pointer. All users updated.
12482 (ZAP_LEAF_ENTRY): Make into inline function.
12483 (NBBY): Removed.
12484 (xor): LIkewise.
12485 (xor_out): Use grub_crypto_xor.
12486 (dnode_get_path): Use grub_get_unaligned.
12487 (nvlist_find_value): Likewise.
12488 (grub_zfs_nvlist_lookup_uint64): Likewise.
12489 (grub_zfs_nvlist_lookup_string): Likewise.
12490 (get_nvlist_size): Likewise.
12491 (grub_zfs_open): Likewise.
12492 (fill_fs_info): Likewise.
12493 (grub_zfs_dir): Likewise.
12494 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
12495 alignment invariants.
12496 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
12497 necessarily aligned.
12498
f138623a
VS
124992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12500
12501 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
12502
564840dc
VS
125032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12504
12505 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
12506 arithmetic to conserve alignment invariants.
12507
9b40df20
VS
125082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12509
12510 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
12511 redundant declaration.
12512 (grub_efiemu_mm_obtain_request): Likewise.
12513 (grub_efiemu_prepare): Likewise.
12514
d1c930f9
VS
125152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12516
12517 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
12518 to match types.
12519
4c5f3056
VS
125202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12521
12522 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
12523 case of aunaligned recptr.
12524 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
12525 alignment.
12526 (grub_hfsplus_btree_search): Handle unaligned index.
12527
728cba91
VS
125282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12529
12530 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
12531 to get freetag and skip.
12532
eb561f31
VS
125332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12534
12535 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
12536 array.
12537 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
12538 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
12539
20993fbb
VS
125402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12541
12542 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
12543 name for checksum and fix allocation algorithm.
12544
1f313b94
VS
125452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 * include/grub/types.h (grub_properly_aligned_t): New type.
12548 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
12549 (grub_get_unaligned16): Add explicit casts.
12550 (grub_get_unaligned32): Likewise.
12551 (grub_get_unaligned64): Likewise.
12552 (grub_set_unaligned16): New function.
12553 (grub_set_unaligned32): Likewise.
12554
47ae27ec
VS
125552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12556
12557 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12558
78c2cd1c
VS
125592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12560
12561 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
12562 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
12563 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
12564
53072f9b
VS
125652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12566
12567 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
12568 conditionals.
12569
055dc239
VS
125702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12571
12572 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
12573 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
12574
496bd074
VS
125752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12576
12577 Unify and improve RAID and crypto xor.
12578
12579 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
12580 changed to grub_crypto_xor
12581 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
12582 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
12583 Use bigger types when possible.
12584
ef6e4335
VS
125852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12586
12587 * grub-core/disk/raid.c (scan_devices): Fix condition.
12588
5d048bf2
VS
125892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12590
12591 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
12592 Make name a const ptr.
12593
ee533335
VS
125942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12595
12596 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
12597 first argument a const pointer.
12598 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
12599 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
12600 proto.
12601 (grub_children_iterate): Likewise.
12602 (grub_machine_mmap_iterate): Remove redundant declaration.
12603
cc8f3668
VS
126042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12605
12606 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
12607 (grub_cmd_acpi) [!x86]: Disable EBDA.
12608
c5fc563a
VS
126092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12610
12611 Enable UTF8 in gnulib regexp.
12612
12613 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
12614 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
12615 (isupper): Use grub_isupper.
12616 (isascii): New inline function.
12617 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
12618 * grub-core/lib/posix_wrap/wctype.h: Likewise.
12619 * grub-core/normal/charset.c (grub_utf8_process): New function.
12620 (grub_utf8_to_utf16): Use grub_utf8_process.
12621 (grub_encode_utf8_character): New function.
12622 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
12623 * include/grub/charset.h (grub_utf8_process): New declaration.
12624 (grub_encode_utf8_character): Likewise.
12625 * include/grub/misc.h (grub_islower): New inline function.
12626 (grub_isupper): Likewise.
12627 (grub_strchrsub): Moved down to fix the definitions.
12628
0af2346f
VS
126292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12630
12631 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
12632 specification.
12633
74dbd244
VS
126342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12635
12636 * include/grub/loader.h (grub_loader_register_preboot_hook):
12637 Use struct preboot * and not void * for handle. All users updated.
12638 (grub_loader_unregister_preboot_hook): Likewise.
12639
1bc8f60d
VS
126402011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12641
12642 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
12643 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
12644 UTF-16-BE. All users updated.
12645 (grub_hfsplus_cmp_catkey): Fix unicode handling.
12646 (grub_hfsplus_iterate_dir): Likewise.
12647 (grub_hfsplus_label): Likewise.
12648
48d6e456
VS
126492011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12650
12651 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
12652
bf3a3857
VS
126532011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
12654
12655 Add missing const qualifiers.
12656
12657 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
12658 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
12659 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
12660 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
12661 (grub_lvm_check_flag): Likewise.
12662 * grub-core/efiemu/i386/coredetect.c
12663 (grub_efiemu_get_default_core_name): Likewise
12664 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12665 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
12666 * grub-core/fs/ntfs.c (fixup): Likewise.
12667 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
12668 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
12669 (fzap_lookup): Likewise.
12670 (zap_lookup): Likewise.
12671 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
12672 * grub-core/lib/legacy_parse.c (check_option): Likewise.
12673 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
12674 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
12675 (grub_freebsd_add_meta_module): Likewise.
12676 (grub_cmd_freebsd_module): Likewise.
12677 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
12678 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
12679 (grub_xnu_writetree_get_size): Likewise.
12680 (grub_xnu_writetree_toheap_real): Likewise.
12681 (grub_xnu_find_key): Likewise.
12682 (grub_xnu_create_key): Likewise.
12683 (grub_xnu_create_value): Likewise.
12684 (grub_xnu_register_memory): Likewise.
12685 (grub_xnu_check_os_bundle_required): Likewise.
12686 (grub_xnu_scan_dir_for_kexts): Likewise.
12687 (grub_xnu_load_kext_from_dir): Likewise.
12688 * grub-core/normal/color.c (color_list): Likewise.
12689 * grub-core/normal/completion.c (current_word): Likewise.
12690 * grub-core/normal/menu_entry.c (insert_string): Likewise.
12691 * grub-core/term/serial.c (grub_serial_find): Likewise.
12692 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
12693 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
12694 Likewise.
12695 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
12696 (grub_freebsd_add_meta_module): Likewise.
12697 * include/grub/lib/arg.h (grub_arg_option): Likewise.
12698 * include/grub/net.h (grub_net_card_driver): Likewise.
12699 (grub_net_card): Likewise.
12700 (grub_net_app_protocol): Likewise.
12701 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
12702 * include/grub/serial.h (grub_serial_find): Likewise.
12703 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
12704 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
12705 (grub_xnu_create_value): Likewise.
12706 (grub_xnu_find_key): Likewise.
12707 (grub_xnu_scan_dir_for_kexts): Likewise.
12708 (grub_xnu_load_kext_from_dir): Likewise.
12709
12710 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
12711 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
12712 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
12713 Moved from here ...
12714 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
12715
112b4837
CW
127162011-11-28 Colin Watson <cjwatson@ubuntu.com>
12717
12718 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
12719
49e891ac
VS
127202011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
12721
12722 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
12723 (read_device): Fix size calculation.
12724
fd258e5c
RM
127252011-11-25 Robert Millan <rmh@gnu.org>
12726
12727 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
12728 (find_root_device_from_libzfs): Add zpool output parser to be used
12729 as fallback when libzfs isn't available.
12730
78845dc2
SG
127312011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
12732
12733 * po/Makefile.in.in: Add missing escape-continuation.
12734
adac5211
VS
127352011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
12736
12737 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
12738
10b64f1c
VS
127392011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12740
12741 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
12742
bb416954
VS
127432011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12744
12745 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
12746
bdfe9eeb
VS
127472011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12748
12749 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
12750
581ffa8a
VS
127512011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12752
12753 * grub-core/lib/adler32.c: Add missing license specification.
12754 * grub-core/lib/crc64.c: Likewise.
12755 * grub-core/loader/i386/pc/plan9.c: Likewise.
12756 * grub-core/partmap/plan.c: Likewise.
12757
2536cf64
LK
127582011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
12759
12760 Add facility to debug GRUB with gdb under qemu.
12761
12762 * grub-core/gdb_grub.in: New file.
12763 * grub-core/gmodule.pl.in: Likewise.
12764 * grub-core/Makefile.core.def (gmodule.pl): New script.
12765 (gdb_grub): Likewise.
12766
bc108a4a
VS
127672011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12768
12769 * util/grub-mount.c (argp_parser): Accept relative pathes.
12770 * util/grub-fstest.c (argp_parser): Likewise.
12771
111c1778
VS
127722011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12773
12774 Plan9 support.
12775
12776 * Makefile.util.def (libgrubmods): Add
12777 grub-core/partmap/plan.c.
12778 * docs/grub.texi: Notice Plan9 support.
12779 * grub-core/Makefile.core.def (plan9): New module.
12780 (part_plan): Likewise.
12781 * grub-core/loader/i386/pc/plan9.c: New file.
12782 * grub-core/partmap/plan.c: Likewise.
12783 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
12784 define.
12785 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
12786 * include/grub/mm.h (grub_extend_alloc): New inline function.
12787
c30be3b6
VS
127882011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 Make Reed-Solomon faster by using power of generator representation of
12791 GF(256)*.
12792
12793 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
12794 (gf_double_t): Likewise.
12795 (gf_invert): Removed.
12796 (gf_powx): New array.
12797 (gf_powx_inv): Likewise.
12798 (scratch): Move higher.
12799 (gf_reduce): Removed.
12800 (gf_mul): Use powx.
12801 (gf_invert): Likewise.
12802 (init_inverts): Replaced with ...
12803 (init_powx): ...this. All users updated.
12804 (pol_evaluate): Replace multiplications with additions.
12805 (rs_encode): Likewise.
12806 (gauss_eliminate): Call gf_invert.
12807 (grub_reed_solomon_add_redundancy): Call init_powx.
12808 (grub_reed_solomon_recover): Call init_powx unconditionally.
12809
fa5aeffc
VS
128102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12811
12812 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
12813
a346b81c
VS
128142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12815
12816 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
12817 disk->partiton for safety.
12818
d89ee414
VS
128192011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12820
12821 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12822 Fix a memory leak.
12823 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
12824
91ee7b6d
VS
128252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
12828
91e5a33d
VS
128292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12830
12831 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
12832
9edd7be2
VS
128332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12834
12835 Fix spaces handling in proc/self/mountinfo.
12836
12837 * util/getroot.c (unescape): New function.
12838 (grub_find_root_device_from_mountinfo): Use unescape.
12839
ba102053
VS
128402011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12841
12842 Support ZFS embedding.
12843
12844 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
12845 (grub_zfs_fs): Register grub_zfs_embed.
12846
aa94b870
VS
128472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12848
12849 Fix MIPS compilation.
12850
12851 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
12852 * include/grub/offsets.h: Rename decompressor fields from
12853 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
12854 * util/grub-mkimage.c (image_targets): Use new names.
12855
5fbdac14
VS
128562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12857
12858 Defer multiboot device parsing until we're in compressed part.
12859
12860 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
12861 bsd_part. setdevice has fallen into disuse.
12862 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
12863 (bsd_part): Likewise.
12864 (boot_dev): New variable.
12865 (multiboot_trampoline): Don't parse multiboot device.
12866 Pass multiboot device in %edx.
12867 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
12868 grub_boot_device.
12869 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
12870 Likewise.
12871 * grub-core/kern/i386/pc/startup.S: Save edx.
12872 (grub_boot_drive): Removed.
12873 (grub_install_dos_part): Likewise.
12874 (grub_install_bsd_part): Likewise.
12875 (grub_boot_device): New variable.
12876 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
12877 (grub_install_bsd_part): Likewise.
12878 (grub_boot_drive): Likewise.
12879 (grub_boot_device): New variable.
12880 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
12881 Removed.
12882 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12883 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
12884 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
12885 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
12886 * util/grub-install.in: Remove redundant condition.
12887
691cbb58
VS
128882011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12889
12890 Fix bug introduced by previous commit.
12891
12892 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
12893
60240b8b
VS
128942011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12895
12896 Use decompressors framework on i386-pc. It increases core size
12897 by 46 bytes but improves compatibility and maintainability.
12898
12899 * grub-core/Makefile.core.def (lzma_decompress): New image.
12900 (kernel): Add i386_pc_ldflags.
12901 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
12902 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
12903 to real_to_prot, prot_to_real and device info.
12904 * include/grub/offsets.h: Renamed decompressor offsets.
12905 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
12906 (image_target_desc): Remove raw_size and rename decompressor fields.
12907 (compress_kernel): Handle lzma.
12908 (generate_image): Handle decompressors on i386-pc.
12909
e9d3421c
VS
129102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12911
12912 * configure.ac: Add -fno-asynchronous-unwind-tables.
12913
2b23074a
VS
129142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12915
12916 Move assembly code to C by using intwrap. It increases core size
12917 by 88 bytes but improves compatibility and maintainability.
12918
12919 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
12920 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
12921 ... here. Translated to C.
12922 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
12923 * grub-core/term/i386/pc/console.c (grub_console_getkey):
12924 ... here. Translated to C.
12925 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
12926 * grub-core/term/i386/pc/console.c (grub_console_getxy):
12927 ... here. Translated to C.
12928 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
12929 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
12930 ... here. Translated to C.
12931 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
12932 * grub-core/term/i386/pc/console.c (grub_console_cls):
12933 ... here. Translated to C.
12934 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
12935 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
12936 ... here. Translated to C.
12937 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
12938 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
12939 Translated to C.
12940 * grub-core/term/i386/pc/console.c (int10_9): New function.
12941 (grub_console_putchar): Likewise.
12942 * include/grub/i386/pc/console.h: Removed the not anymore shared
12943 functions.
12944
678f4b67
VS
129452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12946
12947 Move grub_chainloader_real_boot out of the kernel.
12948
12949 * grub-core/Makefile.am: Remove machine/loader.h.
12950 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12951 Removed.
12952 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
12953 variable.
12954 (grub_relocator16_keep_a20_enabled): Likewise.
12955 (grub_relocator16_boot): Fill new variables.
12956 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
12957 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
12958 relocator.
12959 (grub_chainloader_unload): Likewise.
12960 (grub_chainloader_cmd): Likewise.
12961 * include/grub/i386/pc/loader.h: Removed.
12962 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
12963 and esi. All initialisers updated.
12964
4626edf6
VS
129652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
129662011-11-12 Colin Watson <cjwatson@ubuntu.com>
12967
12968 * Makefile.util.def (grub-mount): New util.
12969 * .bzrignore: Add grub-mount.
12970 * configure.ac: Check for fuse and enable grub-mount if available.
12971 * docs/man/grub-mount.h2m: New file.
12972 * util/grub-mount.c: Likewise.
12973
10f0117b
VS
129742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12975
12976 * grub-core/commands/efi/fixvideo.c: Gettextize.
12977 * grub-core/commands/hashsum.c: Likewise.
12978 * grub-core/commands/i386/cmostest.c: Likewise.
12979 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12980 * grub-core/commands/i386/pc/lsapm.c: Likewise.
12981 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12982 * grub-core/commands/lsmmap.c: Likewise.
12983 * grub-core/commands/menuentry.c: Likewise.
12984 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
12985 * grub-core/commands/setpci.c: Likewise.
12986 * grub-core/loader/i386/bsd.c: Likewise.
12987 * grub-core/loader/i386/linux.c: Likewise.
12988 * util/getroot.c: Likewise.
12989 * util/grub-editenv.c: Likewise.
12990 * util/grub-fstest.c: Likewise.
12991 * util/grub-mkfont.c: Likewise.
12992 * util/grub-mkimage.c: Likewise.
12993 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12994 * util/grub-pe2elf.c: Likewise.
12995 * util/grub-probe.c: Likewise.
12996 * util/grub-setup.c: Likewise.
12997 * util/ieee1275/ofpath.c: Likewise.
12998 * util/misc.c: Likewise.
12999 * util/raid.c: Likewise.
13000
566f779b
RM
130012011-11-11 Robert Millan <rmh@gnu.org>
13002
13003 * util/getroot.c (grub_util_get_geom_abstraction): Remove
13004 __attribute__((unused)) from `os_dev', which *is* being used.
13005
b50787de
VS
130062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13007
13008 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
13009 forgotten define.
13010 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
13011 GRUB_IA64_DL_GOT_ALIGN.
13012 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
13013 GRUB_IA64_DL_TRAMP_ALIGN.
13014
119d11c8
VS
130152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13016
13017 Replace grub_fatal with normal errors in i386 linux loader.
13018
13019 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
13020 (allocate_pages): Check find_efi_mmap_size return value.
13021 (grub_e820_add_region): Return error.
13022 (grub_linux_boot): Check mmap return value.
13023
6e0632e2
VS
130242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 * grub-core/commands/acpihalt.c: Gettextized.
13027 * grub-core/commands/cacheinfo.c: Likewise.
13028 * grub-core/commands/cmp.c: Likewise.
13029 * grub-core/commands/efi/loadbios.c: Likewise.
13030 * grub-core/commands/gptsync.c: Likewise.
13031 * grub-core/commands/ieee1275/suspend.c: Likewise.
13032 * grub-core/commands/legacycfg.c: Likewise.
13033 * grub-core/commands/memrw.c: Likewise.
13034 * grub-core/commands/minicmd.c: Likewise.
13035 * grub-core/commands/parttool.c: Likewise.
13036 * grub-core/commands/time.c: Likewise.
13037 * grub-core/commands/videoinfo.c: Likewise.
13038 * grub-core/disk/geli.c: Likewise.
13039 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
13040 * grub-core/disk/luks.c: Likewise.
13041 * grub-core/disk/lvm.c: Likewise.
13042 * grub-core/font/font_cmd.c: Likewise.
13043 * grub-core/fs/zfs/zfscrypt.c: Likewise.
13044 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13045 * grub-core/gfxmenu/view.c: Likewise.
13046 * grub-core/kern/emu/hostdisk.c: Likewise.
13047 * grub-core/kern/emu/main.c: Likewise.
13048 * grub-core/kern/emu/misc.c: Likewise.
13049 * grub-core/kern/emu/mm.c: Likewise.
13050 * grub-core/kern/mips/arc/init.c: Likewise.
13051 * grub-core/kern/mips/loongson/init.c: Likewise.
13052 * grub-core/kern/partition.c: Likewise.
13053 * grub-core/lib/i386/halt.c: Likewise.
13054 * grub-core/lib/mips/arc/reboot.c: Likewise.
13055 * grub-core/lib/mips/loongson/reboot.c: Likewise.
13056 * grub-core/loader/i386/pc/chainloader.c: Likewise.
13057 * grub-core/loader/i386/xnu.c: Likewise.
13058 * grub-core/loader/multiboot.c: Likewise.
13059 * grub-core/net/bootp.c: Likewise.
13060 * grub-core/net/net.c: Likewise.
13061 * grub-core/normal/term.c: Likewise.
13062 * grub-core/partmap/bsdlabel.c: Likewise.
13063 * grub-core/parttool/msdospart.c: Likewise.
13064 * grub-core/term/gfxterm.c: Likewise.
13065 * grub-core/term/terminfo.c: Likewise.
13066 * grub-core/video/i386/pc/vbe.c: Likewise.
13067 * util/grub-menulst2cfg.c: Likewise.
13068 * util/grub-mkdevicemap.c: Likewise.
13069 * util/grub-mklayout.c: Likewise.
13070 * util/grub-mkrelpath.c: Likewise.
13071 * util/grub-script-check.c: Likewise.
13072 * util/ieee1275/grub-ofpathname.c: Likewise.
13073 * util/resolve.c: Likewise.
13074
073aa7a9
VS
130752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13076
13077 Support %1$d syntax.
13078
13079 * tests/printf_unit_test.c: New file.
13080 * Makefile.util.def (printf_test): New test.
13081 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
13082
c76b5417
VS
130832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
13086 fix.
13087
df067ad1
VS
130882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13089
13090 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
13091 dprintf.
13092 * grub-core/font/font.c (grub_font_load): Likewise.
13093
5b289bc5
VS
130942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 * util/grub-macho2img.c: Add comment concerning gettext.
13097 * grub-core/lib/legacy_parse.c: Likewise.
13098
c1860f87
VS
130992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13100
13101 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
13102 (grub_xvasprintf): Likewise.
13103
d35d0d37
VS
131042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 Add const keyword to grub_env_get and gettextize week days.
13107
13108 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
13109 (grub_read_hook_datetime): Return const char *.
13110 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
13111 updated.
13112 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13113 Mark for gettext.
13114 (grub_get_weekday_name): Return const char *. Call gettext.
13115 * grub-core/script/argv.c (grub_script_argv_append): Receive const
13116 char * and len as the argument. All users updated.
13117 (grub_script_argv_split_append): Receive const char *.
13118 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
13119 * include/grub/env.h (grub_env_get): Likewise.
13120 (grub_env_read_hook_t): Return const char *.
13121 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
13122 (grub_script_argv_split_append): Likewise.
13123
9aed8a71
VS
131242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13125
13126 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
13127
067fdf00
VS
131282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13129
13130 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
13131 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
13132
a8bd9d39
VS
131332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13134
13135 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
13136 Fix prototype.
13137
f7ce5baf
VS
131382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13139
13140 Fix mips compilation.
13141
13142 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
13143 normal decoder.
13144 (hashes): Use in embed decoder as well (for sizes).
13145 (dec_stream_header): Fix embed decompressor logic.
13146 (dec_stream_footer): Likewise.
13147
9bb182f3
VS
131482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13149
13150 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
13151 an error and not a fatal on unrecognised relocation types.
13152
63a9e6f6
VS
131532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13154
13155 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
13156 Issue error rather than printf on unknown arguments.
13157
4c458569
VS
131582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13159
13160 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
13161 Make buf a const.
13162
e2d22baf
VS
131632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
13166 Fix module name.
13167
53dc8590
VS
131682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13169
13170 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
13171 leftover debug printf.
13172
6c189294
VS
131732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13174
13175 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
13176
f7688369
VS
131772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13178
13179 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
13180 A stylistic fix.
13181
11a775a3
VS
131822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13183
13184 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
13185
33f784e8
SL
131862011-11-10 Shea Levy <slevy@tieronedesign.com>
13187
13188 Allow all modules to perform serial IO
13189
13190 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
13191 * include/grub/serial.h (grub_serial_port_configure): New inline
13192 function.
13193 (grub_serial_port_fetch): Likewise.
13194 (grub_serial_port_put): Likewise.
13195 (grub_serial_port_fini): Likewise.
13196 (grub_serial_find): New proto.
13197
f6276525
VS
131982011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13199
13200 Put symlink at the end of the node and fix a potential
13201 memory corruption.
13202
13203 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
13204 Make symlink into an array.
13205 (set_rockridge): Set have_symlink and alloc_dirents.
13206 (grub_iso9660_read_symlink): Use new layout.
13207 (grub_iso9660_iterate_dir): Fix memory corruption.
13208 Use new layout.
13209 (grub_iso9660_dir): Set have_symlink.
13210 (grub_iso9660_open): Likewise.
13211
c3591189
VS
132122011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13213
13214 Remove local keyword.
13215
13216 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
13217 (version_test_gt): Likewise.
13218 (version_find_latest): Likewise.
13219 (gettext_printf): Likewise.
13220 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
13221
cb544caa
VS
132222011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
13225
45bd824d
VS
132262011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13227
13228 Fix ZFS memory and resource leaks.
13229
13230 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
13231 All users updated.
13232 Free type on exit.
13233 (fill_vdev_info): New parameter inserted. All users updated.
13234 (check_pool_label): Likewise.
13235 (scan_disk): Likewise.
13236 (scan_devices): Close non-inserted disks.
13237 (fzap_iterate): Free l.
13238 (unmount_device): Free children descripto memory.
13239
ad9a2f44
VS
132402011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13241
13242 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
13243 argument (access out of bounds).
13244
6b68db81
VS
132452011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13246
13247 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
13248 >= 6 drives.
13249
28840fda
VS
132502011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13251
13252 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
13253 Fix declaration.
13254
8a5a3a5b
VS
132552011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13256
13257 Fix several memory leaks.
13258
13259 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
13260 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
13261 (grub_cpio_dir): Likewise.
13262 * grub-core/fs/fat.c (grub_fat_label): Likewise.
13263 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
13264 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
13265 (grub_romfs_label): Likewise.
13266 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
13267 (squash_unmount): New function.
13268 (grub_squash_dir): Fix memory leak.
13269 (grub_squash_open): Likewise.
13270 (grub_squash_read): Likewise.
13271 (grub_squash_mtime): Likewise.
13272 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
13273 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
13274 * util/grub-fstest.c (fstest): Likewise.
13275
57b01250
VS
132762011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13277
13278 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
13279 avoid accessing beyond the array.
13280
19e81ba7
VS
132812011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13282
13283 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
13284
52b656c0
VS
132852011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13286
13287 Several AFFS fixes.
13288
13289 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
13290 (GRUB_AFFS_FLAG_FFS): Removed.
13291 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
13292 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
13293 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
13294 (grub_fshelp_node): Make block 32-bit.
13295 Add block_cache and last_block_cache.
13296 (grub_affs_read_block): Fill and use block cache.
13297 (grub_affs_read_file): Removed.
13298 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
13299 boot block.
13300 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
13301 safety.
13302 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
13303 space.
13304 (grub_affs_close): Free block cache.
13305 (grub_affs_read): Use grub_fshelp_read_file directly.
13306
438a746a
VS
133072011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13308
13309 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
13310 with no error set.
13311
49a45021
VS
133122011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13313
13314 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
13315 used variable.
13316 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
13317 Likewise.
13318
3ae17eb8
VS
133192011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13320
13321 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
13322
13323 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
13324 byteswap when needed.
13325
27610c38
VS
133262011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 Fix FreeBSD compilation.
13329
13330 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
13331 to avoid circular dependency.
13332 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
13333 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
13334 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
13335
4a19b601
VS
133362011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 Fix ZFS crypto error types.
13339
13340 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
13341 (grub_gcm_decrypt): Likewise.
13342 (grub_zfs_load_key_real): Fix error code type. Handle possible error
13343 from PBKDF2.
13344
958ee221
VS
133452011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13346
13347 Illumos support.
13348
13349 * Makefile.util.def (10_illumos): New script.
13350 * configure.ac: Set COND_HOST_ILLUMOS.
13351 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
13352 Support Illumos calls.
13353 (find_partition_start) [__sun__]: Likewise.
13354 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
13355 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
13356 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
13357 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
13358 device.
13359 * util/grub-probe.c (probe) [__sun__]: Do character check.
13360 * util/grub.d/10_illumos.in: New file.
13361
cac14fb6
VS
133622011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 Support escaped commas in hostdisk.
13365
13366 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
13367 (find_grub_drive): Use unescape_cmp.
13368 (make_device_name): Escape commas.
13369
78e08dc3
VS
133702011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13371
13372 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
13373
9f421dd1
VS
133742011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13375
13376 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
13377 variable.
13378
ed64e9e2
VS
133792011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13380
13381 Support trampoline jumps on powerpc.
13382
13383 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
13384 __ia64__ path.
13385 (grub_dl_load_segments): Set mod->sz.
13386 (grub_dl_flush_cache): Flush whole space occupied by module, not just
13387 segments.
13388 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
13389 (jump): Likewise.
13390 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
13391 function.
13392 (trampoline): New struct.
13393 (trampoline_template): New const.
13394 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
13395 * include/grub/dl.h (grub_dl): Add sz element.
13396 [__powerpc__]: Follow __ia64__.
13397 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
13398 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
13399 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
13400 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
13401
3084ede4
VS
134022011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13403
13404 ZFS crypto support.
13405
13406 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
13407 * grub-core/Makefile.core.def (zfscrypt): New module.
13408 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
13409 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
13410 it. All users updated.
13411 (grub_zfs_decrypt): New var.
13412 (grub_zfs_load_key): Likewise.
13413 (zio_checksum_functions): Add SHA256+MAC.
13414 (zio_checksum_verify): Handle incomplete comparison due to MAC.
13415 (zio_read): Handle encrypted blocks.
13416 (zap_verify): Remove incorrect check.
13417 (fzap_iterate): Handle non-standard fzap.
13418 (zap_iterate): Likewise.
13419 (zap_iterate_u64): New function.
13420 (dnode_get_fullpath): Load keys.
13421 * grub-core/fs/zfs/zfscrypt.c: New file.
13422 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
13423 (grub_crypto_ecb_encrypt): Make input const.
13424 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
13425 (grub_crypto_ecb_encrypt): Make input const.
13426 (GRUB_CIPHER_AES): New macro.
13427 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
13428 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
13429 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
13430 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
13431 prefix. All users updated.
13432 (grub_zfs_add_key): New proto.
13433 (grub_zfs_decrypt): Likewise.
13434 (grub_zfs_load_key): Likewise.
13435 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
13436 * util/grub-fstest.c (options): Add -K option.
13437 (argp_parser): Likewise.
13438
b632b404
VS
134392011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13440
13441 Support zle compression on ZFS.
13442
13443 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
13444 (decomp_table): Add zle.
13445 * include/grub/zfs/zio.h (zio_compress): Add zle.
13446
c7ba4f69
VS
134472011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13448
13449 Support BtrFS embedding.
13450
13451 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
13452 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
13453 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
13454 * util/grub-setup.c (setup): Use fs embedding if available.
13455 Add additional sanity check.
13456
455377d9
VS
134572011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 * util/grub-install.in: Fix condition for config_opt.
13460
c2fd16ca
VS
134612011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 Support third redundancy strip on raidz3.
13464
13465 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
13466 Return error on singularity. All users updated.
13467 (read_device): Don't stop on 3rd failure on raidz3.
13468
8622923b
VS
134692011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13470
13471 Support case-insensitive ZFS subvolumes.
13472
13473 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
13474 All users updated.
13475 (zap_hash): Likewise.
13476 (name_cmp): New function.
13477 (zap_leaf_array_equal): New parameter case_insensitive.
13478 All users updated.
13479 (zap_leaf_lookup): Likewise.
13480 (fzap_lookup): Likewise.
13481 (zap_lookup): Likewise.
13482 (dnode_get_path): New parameter case_insensitive. Retrieve case
13483 sensitiviness of a volume. All users updated.
13484 (dnode_get_fullpath): New parameter case_insensitive.
13485 All users updated.
13486 (grub_zfs_dir): Set info.case_insensitiveness.
13487
95f2e860
VS
134882011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13489
13490 Support second redundancy strip on raidz(2,3).
13491
13492 * grub-core/fs/zfs/zfs.c (powx): New array.
13493 (powx_inv): Likewise.
13494 (poly): New const.
13495 (xor_out): New function.
13496 (gf_mul): Likewise.
13497 (recovery): Likewise.
13498 (read_device): Use second redundancy strip.
13499
11ee4389
VS
135002011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13501
13502 Use a power of generator representation of GF(256) multiplication group
13503 to save space time and complexity.
13504
13505 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
13506 (raid6_table2): Likewise.
13507 (powx): New array.
13508 (powx_inv): Likewise.
13509 (poly): New const.
13510 (grub_raid_block_mul): Replace with ...
13511 (grub_raid_block_mulx): ...this.
13512 (grub_raid6_init_table): Rewritten.
13513 (grub_raid6_recover): Use power of generator representation.
13514
09e2763f
VS
135152011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13516
13517 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
13518 for the right device.
13519
8bec9a28
VS
135202011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13521
13522 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
13523 expected by grub-mkimage and it's more clear since there is no implicit
13524 padding.
13525
dbd3a32e
VS
135262011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13527
13528 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
13529 disk.
13530 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
13531
182c872a
PMH
135322011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
13533
13534 * util/grub-mkrescue.in: Fix handling xorriso option.
13535
1e51cabd
VS
135362011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13537
13538 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
13539 NULL.
13540
9cc3581d 135412011-11-03 crocket <crockabiscuit@gmail.com>
13542
13543 * util/grub.d/10_linux.in: Add Slackware initrd naming.
13544
158dc1ea
VS
135452011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13546
13547 XZ CRC64 and SHA256 support.
13548
13549 * Makefile.util.def (libgrubmods): Add crc64.c.
13550 * grub-core/Makefile.core.def (crc64): New module.
13551 * grub-core/lib/crc64.c: New file.
13552 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
13553 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
13554 Fix the type.
13555 (MAX_HASH_SIZE): New define.
13556 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
13557 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
13558 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13559 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13560 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
13561 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
13562 Handle non-crc32 hashes.
13563 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
13564 (dec_stream_header): Handle non-crc32 hashes.
13565 (dec_stream_footer): Likewise.
13566 (dec_block_header): Likewise.
13567 (dec_main): Likewise.
13568 (xz_dec_init): Likewise.
13569 (xz_dec_reset): Likewise.
13570 (xz_dec_end): Likewise.
13571 * util/import_gcry.py: Add CRC64 line.
13572
9d9b3d2f
VS
135732011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
13576 as well.
13577
7d0ac931
VS
135782011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13579
13580 Make reiserfs label retrieval similar to other *_label functions.
13581
13582 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
13583 (REISERFS_MAX_LABEL_LENGTH): Removed.
13584 (REISERFS_LABEL_OFFSET): Likewise.
13585 (grub_reiserfs_label): Rewritten.
13586
135872011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13588
13589 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
13590 field.
13591
cf5ba824
VS
135922011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13593
13594 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
13595
17744004
VS
135962011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13597
13598 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
13599 drive failure on both raidz and raidz2.
13600
aca5aefc
VS
136012011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13602
13603 Fix RAIDZ(2) for >= 5 devices.
13604
13605 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
13606 asize argument. All users updated.
13607
ce8ca56e
VS
136082011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13609
13610 Fix RAIDZ(2).
13611
13612 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
13613 (fill_vdev_info_real): Set ashift.
13614 (read_device): Rewrite RAIDZ part based on reverse engineering.
13615
7c01e783
VS
136162011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13617
13618 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
13619 don't report potentially unavialiable fields in debug output.
13620 (find_path): Fix double-free and memory leak.
13621
ce109e84
VS
136222011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 Read label on UFS1.
13625
13626 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
13627 (grub_ufs_fs): Always set .label.
13628
87661123
VS
136292011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13630
13631 Use shifts in UFS.
13632
13633 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
13634 (grub_ufs_data): New field log2_blksz.
13635 (grub_ufs_read_file): Use shifts.
13636 (grub_ufs_mount): Check block size and logarithm it.
13637
46bc1dc2
VS
136382011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13639
13640 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
13641 long symlinks.
13642
19ee2987
VS
136432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13644
13645 Handle symlinks and long names on tar and cpio.
13646
13647 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
13648 (ATTR_FILE): Likewise.
13649 (ATTR_DIR): Likewise.
13650 (ATTR_LNK): Likewise.
13651 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
13652 (grub_cpio_find_file): Fill mode, handle linkname field as well as
13653 L and K entries.
13654 (grub_cpio_mount): Zero-fill data.
13655 (handle_symlink): New function.
46bc1dc2
VS
13656 (grub_cpio_dir): Handle symlinks.
13657 (grub_cpio_open): Likewise.
13658 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 13659
c83a08d8
VS
136602011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13661
13662 Fix iso9660 filename limitations and fix memory leaks.
13663
13664 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
13665 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
13666
45cdd3ea
VS
136672011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13668
13669 Fix JFS file name length limitations.
13670
13671 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
13672 (grub_jfs_diropen): Fix maximum filename length.
13673 (grub_jfs_getent): Fix filename length.
13674 (grub_jfs_lookup_symlink): Fix size checks.
13675
94ef05c2
VS
136762011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13677
13678 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
13679 string.
13680
785ab8c7
VS
136812011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13682
eb0b6b45
VS
13683 Leverage BFS implementation to read AFS.
13684
13685 * Makefile.util.def (libgrubmods): Add afs.c.
13686 * grub-core/Makefile.core.def (afs): New module
13687 * grub-core/fs/afs.c: New file.
13688 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
13689
136902011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13691
13692 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 13693
c4a1628f
VS
136942011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13695
13696 * grub-core/fs/bfs.c: Run indent.
13697
5825b379
VS
136982011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13699
13700 BFS implementation based on the specification.
13701
13702 * grub-core/fs/bfs.c: New file.
13703 * Makefile.util.def (libgrubmods): Add bfs.c.
13704 * grub-core/Makefile.core.def (bfs): New module.
13705
42b2a706
VS
137062011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13707
13708 * util/grub-fstest.c (cmd_cp): Clarify error message.
13709 (cmd_cmp): Likewise.
13710
61b99bfc
YB
137112011-10-30 Yves Blusseau <blusseau@zetam.org>
13712
13713 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
13714 and befs_be.
13715
faba3d16
VS
137162011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
13717
13718 Remove afs and befs because of copyright problem.
13719
13720 * grub-core/fs/afs.c: Removed.
13721 * grub-core/fs/afs_be.c: Removed.
13722 * grub-core/fs/befs.c: Removed.
13723 * grub-core/fs/befs_be.c: Removed.
13724 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
13725 * grub-core/Makefile.core.def (afs): Removed.
13726 (afs_be): Likewise.
13727 (befs): Likewise.
13728 (befs_be): Likewise.
13729
c39224b0
VS
137302011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13731
13732 Prefer rockridge over Joliet.
13733
13734 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
13735 to ...
13736 (set_rockridge): ... here.
13737 (grub_iso9660_mount): Check rockridge on the primary label when
13738 discovering. Ignore Joliet if Rockridge is present.
13739
e551115a
VS
137402011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 Use shifts in nilfs2.
13743
13744 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
13745 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
13746 (grub_nilfs2_palloc_entries_per_group): Replace with ...
13747 (grub_nilfs2_log_palloc_entries_per_group): ... this.
13748 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
13749 (grub_nilfs2_entries_per_block): Replaced with ...
13750 (grub_nilfs2_log_entries_per_block_log): ... this.
13751 (grub_nilfs2_blocks_per_group): Replaced with ...
13752 (grub_nilfs2_blocks_per_group_log): ... this.
13753 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
13754 (grub_nilfs2_blocks_per_desc_block_log): ... this.
13755 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
13756 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
13757 (grub_nilfs2_palloc_entry_offset): Replaced ...
13758 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
13759 (grub_nilfs2_dat_translate): Use shifts.
13760 (grub_nilfs2_read_inode): Likewise.
13761 (GRUB_MOD_INIT): Ensure that logs are correct.
13762
564dd58c
VS
137632011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13764
13765 Use shifts in minix filesystem.
13766
13767 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
13768 (GRUB_MINIX_ZONE2SECT): Likewise.
13769 (grub_minix_data): Replace block_size with log_block_size.
13770 (grub_minix_read_file): Use shifts.
13771 (grub_minix_mount): Check block size and take a logarithm.
13772
ed9ba06d
VS
137732011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13774
13775 Use shifts in squash4.
13776
13777 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
13778 (squash_mount): Check block size and take logarithm.
13779 (direct_read): Use shifts.
13780
ad03fe76
VS
137812011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13782
13783 Correct befs block counting logic.
13784
13785 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
13786 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
13787 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
13788 (grub_afs_read_inode): Use block_shift.
13789 (RANGE_SHIFT): New definition.
13790 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
13791 unexpected conditions, use shifts and appropriate types.
13792 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
13793
6563f63d
VS
137942011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13795
13796 * grub-core/disk/raid.c (scan_devices): Check partition.
13797 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
13798
5b1ae25f
VS
137992011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13800
13801 Support BFS (befs) UUID.
13802
13803 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
13804 (grub_afs_small_data_element_header): New struct.
13805 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
13806 (grub_afs_read_attribute) [MODE_BFS]: New function.
13807 (grub_afs_iterate_dir): Allocate for complete inode.
13808 (grub_afs_mount): Likewise.
13809 (grub_afs_uuid) [MODE_BFS]: New function.
13810 (grub_afs_fs) [MODE_BFS]: Add .uuid.
13811
f8d82408
VS
138122011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13813
13814 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
13815 (zfs_unmount): Fix memory leak.
13816
5773fb64
VS
138172011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 Support NTFS reparse points.
13820
13821 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
13822 (symlink_descriptor): New struct.
13823 (grub_ntfs_read_symlink): New function.
13824 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
13825 (grub_ntfs_open): Likewise.
13826
91c3fdde
VS
138272011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13828
13829 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
13830
3be82e10
VS
138312011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13832
13833 fstest xnu_uuid subcommand.
13834
13835 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
13836 grub-core/commands/xnu_uuid.c.
13837 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
13838 (fstest): Handle xnu_uuid.
13839 (options): Document xnu_uuid.
13840 (argp_parser): Parse xnu_uuid.
13841
8e32442e
VS
138422011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13843
13844 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
13845 -l argument. Add newline at the end if printing.
13846 (GRUB_MOD_INIT): Document -l.
13847
52a05075
VS
138482011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13849
13850 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
13851
1869edb5
VS
138522011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13853
13854 ZFS multi-device and version 33 support.
13855
13856 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
13857 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
13858 (grub_zfs_data): Add multidev-ice-related fields.
13859 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
13860 (dva_get_offset): Make dva const.
13861 (zfs_fetch_nvlist): New function.
13862 (fill_vdev_info_real): Likewise.
13863 (fill_vdev_info): Likewise.
13864 (check_pool_label): Likewise.
13865 (scan_disk): Likewise.
13866 (scan_devices): Likewise.
13867 (read_device): Likewise.
13868 (read_dva): Likewise.
13869 (zio_read_gang): Use read_dva.
13870 (zio_read_data): Likewise.
13871 (zap_leaf_lookup): Add missing endian conversion.
13872 (zap_verify): Add missing endian conversion. All users updated.
13873 (fzap_lookup): Likewise.
13874 (fzap_iterate): Likewise.
13875 (dnode_get_path): Handle SA bonus.
13876 (nvlist_find_value): Make input const. All users updated.
13877 (unmount_device): New function.
13878 (zfs_unmount): Use unmount_device.
13879 (zfs_mount): Use scan_disk.
13880 (zfs_mtime): New function.
13881 (grub_zfs_open): Handle system attributes.
13882 (fill_fs_info): Likewise.
13883 (grub_zfs_dir): Likewise.
13884 (grub_zfs_fs): Add mtime.
13885 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
13886 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
13887 (SA_MTIME_OFFSET): Likewise.
13888 (SA_SYMLINK_OFFSET): Likewise.
13889 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
13890 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
13891 (fstest): Support zfsinfo.
13892 (argp_parser): Likewise.
13893
186b4028
VS
138942011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13895
13896 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
13897 error.
13898
138992011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
13900
13901 ZFS fixes.
13902
13903 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
13904 sharing the same block. Iterate over correct number of indices.
13905 (dnode_get_path): Handle symlinks correctly.
13906
c0584900
VS
139072011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13908
13909 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
13910
67e2bd71
VS
139112011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13912
13913 Read label on HFS+.
13914
13915 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
13916 (grub_hfsplus_btree_search): Fix types.
13917 (grub_hfsplus_label): Implement.
13918
e9cc6b7b
VS
139192011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13920
13921 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
13922
19832ddb
VS
139232011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
13926
66b40850
VS
139272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13928
13929 Fix symlink handling on iso9660.
13930
13931 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
13932 All users updated.
13933 (grub_iso9660_susp_iterate): Accept zero-size iterate.
13934 (grub_iso9660_read_symlink): Moved most of code ...
13935 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
13936
db821363
VS
139372011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13940 Use union to avoid breaking strict-aliasing rules.
13941
e1211949
VS
139422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13943
13944 Support multi-extent iso files.
13945
13946 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
13947 Add node.
13948 (grub_fshelp_node): Revamp. All users updated.
13949 (FLAG_*): New enum.
13950 (read_node): New function.
13951 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
13952 All users updated.
13953 (grub_iso9660_mount): Don't attempt to read sua when there is none.
13954 (get_node_size): New function.
13955 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
13956 entries.
13957 Fix memory leak on . and ..
13958 (grub_iso9660_read): Use read_node.
13959 (grub_iso9660_close): Free node.
13960
d4888031
VS
139612011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13962
13963 Fix tar 4G limit and handle paths containing dot.
13964
13965 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
13966 (canonicalize): New function.
13967 (grub_cpio_find_file): Use canonicalize. Store offs in
13968 grub_disk_addr_t.
13969 (grub_cpio_dir): Use grub_disk_addr_t.
13970 (grub_cpio_open): Likewise.
13971
9f12e664
VS
139722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13973
13974 Fix handling of uncompressed blocks on squashfs and break 4G limit.
13975
13976 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
13977 unused flags.
13978 (grub_squash_inode): Add long_file and block_size.
13979 (grub_squash_cache_inode): New struct.
13980 (grub_squash_dirent): Make types into enum.
13981 (SQUASH_TYPE_LONG_REGULAR): New type.
13982 (grub_squash_frag_desc): Add field size.
13983 (SQUASH_BLOCK_FLAGS): New enum.
13984 (grub_squash_data): Use grub_squash_cache_inode.
13985 (grub_fshelp_node): Make ino_chunk 64-bit.
13986 (read_chunk): Minor argument change. All users updated.
13987 (squash_mount): Use correct le_to_cpu.
13988 (grub_squash_open): Handle LONG_REGULAR.
13989 (direct_read): New function.
13990 (grub_squash_read_data): Handle blocks correctly.
13991
9f326fba
VS
139922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13993
13994 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
13995
f4d9b64b
VS
139962011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13997
13998 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
13999
5bbd28b8
VS
140002011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14001
14002 Fix 2G limit on ZFS.
14003
14004 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
14005 types.
14006 (uberblock_verify): Likewise.
14007 (dmu_read): Likewise.
14008 (grub_zfs_read): Likewise. Remove invalid cast.
14009
68c72069
VS
140102011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14011
14012 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
14013 (grub_jfs_blkno): Fix incorrect shift.
14014 (grub_jfs_read_file): Use more appropriate types.
14015
6e536dc8
VS
140162011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14017
14018 Support triple indirect on minix2 and minix3.
14019
14020 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
14021 Declare triple_indir_zone.
14022 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
14023 indirect.
14024
e0864e7a
VS
140252011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14026
14027 Minix FS fixes.
14028
14029 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
14030 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
14031 Rename ctime to mtime. All users updated.
14032 (grub_minix_get_file_block): Fix types and double indirect computations.
14033
89481cab
VS
140342011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14035
14036 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
14037 if no label is found.
14038 (grub_fat_iterate_dir): Fix file size type.
14039 (grub_fat_iterate_dir): Likewise.
14040
f646e143
VS
140412011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14042
14043 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
14044 save some space.
14045 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
14046 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
14047
534d769e
VS
140482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
14051
e084ba18
VS
140522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14053
14054 * util/import_gcry.py: Accept space between # and include.
14055
3471ecdf
VS
140562011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14057
14058 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
14059
124df5f6
VS
140602011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14061
14062 Fine grainely disable warnings on lexer. Remove Wno-error on it.
14063
14064 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
14065 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
14066 yylex_strncpy.
14067 * grub-core/script/yylex.l: Add fine-grained #pragma.
14068
4defb8d5
VS
140692011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14070
14071 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
14072 New inline function.
14073 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
14074 Likewise.
14075 (memset) [GRUB_UTIL]: Likewise.
14076 (memcmp) [GRUB_UTIL]: Likewise.
14077
4e94ae65
VS
140782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14079
14080 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
14081 inline function rather than a define.
14082
18c575e5
VS
140832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14084
14085 * util/grub-setup.c: Add missing include.
14086
f8bc22a8
VS
140872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14088
14089 * util/ieee1275/grub-ofpathname.c: Add missing include.
14090
3ce69fc9
VS
140912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14092
14093 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
14094 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
14095 Likewise.
14096
d1e293bb
VS
140972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
14100 grub_memcmp usage.
14101
7a5c54a4
VS
141022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14103
14104 * util/grub-install.in: Add datarootdir as per automake manual
14105 suggestion.
14106 * util/grub-mknetdir.in: Likewise.
14107
141082011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
14109
14110 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
14111 suggestion.
14112 * util/grub.d/10_kfreebsd.in: Likewise.
14113 * util/grub.d/10_linux.in: Likewise.
14114 * util/grub.d/10_netbsd.in: Likewise.
14115 * util/grub.d/10_windows.in: Likewise.
14116 * util/grub.d/20_linux_xen.in: Likewise.
14117
766f7d08
VS
141182011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
14119
14120 Remove redundant grub_kernel_image_size.
14121
14122 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
14123 _edata and _start.
14124 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
14125 the small code. It moves it only by few bytes but simplifies the code.
14126 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
14127 _start.
14128 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
14129 (grub_kernel_image_size): Removed.
14130 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
14131 (grub_kernel_image_size): Removed.
14132 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
14133 compiled with Apple toolchain.
14134 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
14135 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
14136 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
14137 (grub_total_module_size): Likewise.
14138 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
14139 Removed.
14140 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
14141 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
14142 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14143 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
14144 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
14145 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
14146 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
14147 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
14148 Removed.
14149 (grub_total_module_size): Removed.
14150 * util/grub-mkimage.c (image_target_desc): Remove image_size.
14151 (image_targets): Likewise.
14152 Set .compressed_size to no field on sparc.
14153 (generate_image): Remove kernel_image_size handling.
14154
fcf1d672
SJ
141552011-10-19 Szymon Janc <szymon@janc.net.pl>
14156
14157 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
14158 NULL pointer dereference.
14159
de9c615e
VS
141602011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14161
14162 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
14163 done with a dedicated section.
14164
14165 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
14166 Ensure the correct position of boot_path.
14167 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
14168 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
14169 other fields.
14170 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
14171 * include/grub/boot.h: Removed. All references removed.
14172 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
14173 Removed.
14174 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
14175
e55599dc
VS
141762011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14177
14178 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
14179 name.
14180
36dd20ad
VS
141812011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14182
14183 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
14184
f8f72eb8
VS
141852011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14186
14187 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14188 Don't add the bogus brackets.
14189
a374751b
VS
141902011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14191
14192 ExFAT support.
14193
14194 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
14195 * grub-core/Makefile.core.def (exfat): New module.
14196 * grub-core/fs/exfat.c: New file.
14197 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
14198 (GRUB_FAT_ATTR_*): Make into an enum.
14199 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
14200 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
14201 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
14202 (GRUB_FAT_MAXFILE): Removed.
14203 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
14204 (grub_current_fat_bpb_t): New type.
14205 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
14206 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
14207 (grub_fat_dir_node_t): New type.
14208 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
14209 (fat_log2) [MODE_EXFAT]: Removed.
14210 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
14211 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
14212 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
14213 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
14214 (grub_fat_label) [MODE_EXFAT]: New function.
14215 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
14216 reserved_first_sector to 0.
14217
544c2487
VS
142182011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14219
14220 Move grub_reboot out of the kernel.
14221
14222 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
14223 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
14224 * grub-core/lib/efi/reboot.c: ... here.
14225 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
14226 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14227 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
14228 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
14229 * grub-core/lib/i386/reboot_trampoline.S: ... here.
14230 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
14231 * grub-core/lib/ieee1275/reboot.c: ... here.
14232 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
14233 * grub-core/lib/mips/arc/reboot.c: ... here.
14234 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
14235 * grub-core/lib/mips/loongson/reboot.c: ...here.
14236 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
14237 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
14238 * include/grub/emu/misc.h (grub_reboot): New function declaration.
14239 * include/grub/i386/reboot.h: New file.
14240 * include/grub/mips/loongson/ec.h: Fix includes.
14241 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
14242 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
14243 * grub-core/lib/i386/reboot.c: New file.
14244
a97501d2
VS
142452011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
14246
14247 Make grub_prefix into module to fix the arbitrary limit and save
14248 some space.
14249
14250 * grub-core/kern/emu/main.c (grub_prefix): Removed.
14251 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
14252 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
14253 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
14254 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
14255 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
14256 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
14257 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
14258 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14259 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
14260 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
14261 * include/grub/ia64/efi/kernel.h: Removed.
14262 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
14263 (grub_prefix): Removed.
14264 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
14265 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
14266 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
14267 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
14268 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
14269 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
14270 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
14271 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
14272 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
14273 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
14274 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
14275 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
14276 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14277 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14278 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
14279 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
14280 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
14281 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14282 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
14283 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
14284 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
14285 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
14286 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
14287 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
14288 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
14289 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
14290 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
14291 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
14292 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
14293 from module.
14294 * util/grub-mkimage.c (image_target_desc): Removed prefix and
14295 prefix_end.
14296 (image_targets): Likewise.
14297 (generate_image): Put prefix as a module.
14298
39705fad
VS
142992011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14300
14301 Replace grub_module_iterate with FOR_MODULES.
14302
14303 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
14304 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
14305 (grub_efi_modules_addr): ...this.
14306 * grub-core/kern/efi/init.c (grub_modbase): New variable.
14307 (grub_efi_init): Set grub_modbase.
14308 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
14309 (grub_modbase): New variable.
14310 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
14311 (grub_modbase): New variable.
14312 (grub_machine_init): Set grub_modbase.
14313 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
14314 (grub_modbase): New variable.
14315 (grub_machine_init): Set grub_modbase.
14316 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
14317 (grub_modbase): New variable.
14318 (grub_machine_init): Set grub_modbase.
14319 * grub-core/kern/main.c (grub_module_iterate): Remove.
14320 (grub_modules_get_end): Use grub_modbase.
14321 (grub_load_modules): Use FOR_MODULES.
14322 (grub_load_config): Likewise.
14323 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
14324 (grub_modbase): New variable.
14325 (grub_machine_init): Set grub_modbase.
14326 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
14327 (grub_modbase): New variable.
14328 (grub_machine_init): Set grub_modbase.
14329 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
14330 Removed.
14331 (grub_modbase): New variable.
14332 (grub_machine_init): Set grub_modbase.
14333 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
14334 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
14335 (grub_module_iterate): Likewise.
14336 (grub_modbase): New variable declaration.
14337 (FOR_MODULES): New macro.
14338
2afb7f6c
VS
143392011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14340
14341 * configure.ac: Check for __ctzdi2 and __ctzsi2.
14342 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
14343
366e34fa
VS
143442011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14345
14346 Fix few obvious type discrepancies.
14347
14348 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
14349 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
14350 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
14351 variable.
14352 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
14353 and connected types.
14354 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
14355 offset.
14356 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
14357 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
14358 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
14359 and connected types.
14360
177b960e
VS
143612011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14362
14363 Fix python 3.x incompatibilities.
14364
14365 * gentpl.py: Put brackets around print strings.
14366 * util/import_gcry.py: Open explicitly as utf-8.
14367 Use in instead of has_key.
14368
3b619ae1
VS
143692011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
14372 (GRUB_XFS_INO_AGBITS): Make into inline function.
14373 (GRUB_XFS_INO_INOINAG): Likewise.
14374 (GRUB_XFS_INO_AG): Likewise.
14375 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
14376 (GRUB_XFS_EXTENT_OFFSET): Likewise.
14377 (GRUB_XFS_EXTENT_BLOCK): Likewise.
14378 (GRUB_XFS_EXTENT_SIZE): Likewise.
14379 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
14380 (GRUB_XFS_NEXT_DIRENT): Likewise.
14381 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
14382 (grub_xfs_read_file): Fix offset type.
14383
8bcebcb8
RM
143842011-10-15 Robert Millan <rmh@gnu.org>
14385
14386 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
14387
0017e5ef
RM
143882011-10-15 Robert Millan <rmh@gnu.org>
14389
14390 Fix build problem on FreeBSD and GNU/kFreeBSD.
14391
14392 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
14393
d8919552
VS
143942011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14395
14396 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
14397
14398 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
14399 types.
14400 (grub_hfsplus_btree_recoffset): Likewise.
14401 (grub_hfsplus_btree_recptr): Likewise.
14402 (grub_hfsplus_find_block): Likewise.
14403 (grub_hfsplus_btree_search): Likewise.
14404 (grub_hfsplus_read_block): Likewise.
14405 (grub_hfsplus_read_file): Likewise.
14406 (grub_hfsplus_mount): Likewise.
14407 (grub_hfsplus_btree_iterate_node): Likewise.
14408 (grub_hfsplus_btree_search): Likewise.
14409 (grub_hfsplus_iterate_dir): Likewise.
14410 (grub_hfsplus_read): A small code simplification.
14411
c81296b6
VS
144122011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14413
14414 * grub-core/kern/emu/hostdisk.c
14415 (convert_system_partition_to_system_disk): Don't assume that children
14416 of mapper nodes are mapper nodes.
14417
0eb8ffb1
VS
144182011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14419
14420 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
14421 * include/grub/misc.h (grub_isxdigit): New function.
14422 * grub-core/video/colors.c (my_isxdigit): Removed. All users
14423 switched to grub_isxdigit.
14424 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
14425 number starting with a letter.
14426
a98f4a08
RM
144272011-10-09 Robert Millan <rmh@gnu.org>
14428
14429 LVM support for FreeBSD and GNU/kFreeBSD.
14430
14431 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
14432 GNU/kFreeBSD.
14433 (LVM_DEV_MAPPER_STRING): Move from here ...
14434 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
14435 * util/getroot.c: Include `<grub/util/lvm.h>'.
14436 (grub_util_get_dev_abstraction): Enable
14437 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
14438 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
14439 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
14440 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
14441 support it.
14442 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
14443 GNU/kFreeBSD.
14444 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
14445 when LVM abstraction is required for ${GRUB_DEVICE}.
14446
050e8e90
SJ
144472011-10-06 Szymon Janc <szymon@janc.net.pl>
14448
14449 Add support for LZO compression in GRUB:
14450 - import of minilzo library,
14451 - LZO decompression for btrfs,
14452 - lzop files decompression.
14453
14454 * grub-core/io/lzopio.c: New file.
14455 * grub-core/lib/adler32.c: Likewise.
14456 * grub-core/lib/minilzo/lzoconf.h: Likewise.
14457 * grub-core/lib/minilzo/lzodefs.h: Likewise.
14458 * grub-core/lib/minilzo/minilzo.c: Likewise.
14459 * grub-core/lib/minilzo/minilzo.h: Likewise.
14460 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
14461 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
14462 grub-core/lib/minilzo/minilzo.c to common.
14463 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
14464 cflags in cppflags.
14465 * grub-core/Makefile.core.def (btrfs): Likewise.
14466 * grub-core/Makefile.core.def (lzopio): New module.
14467 (adler32): Likewise.
14468 * grub-core/fs/btrfs.c: Include minilzo.h.
14469 (GRUB_BTRFS_COMPRESSION_LZO): New define.
14470 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
14471 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
14472 (grub_btrfs_lzo_decompress): New function.
14473 (grub_btrfs_extent_read): Add support for LZO compression type.
14474 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
14475 (GRUB_USHRT_MAX): Likewise.
14476 (GRUB_UINT_MAX): Likewise.
14477 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
14478 (UINT_MAX): Likewise.
14479 (CHAR_BIT): Likewise.
14480 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
14481 grub-core/lib/posix_wrap/limits.h
14482 (UCHAR_MAX): Likewise.
14483 * include/grub/file.h (grub_file_filter_id): New compression filter
14484 GRUB_FILE_FILTER_LZOPIO.
14485 * include/grub/file.h (grub_file_filter_id): Set
14486 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
14487 * include/grub/types.h (grub_get_unaligned16): New function.
14488 (grub_get_unaligned32): Likewise.
14489 (grub_get_unaligned64): Likewise.
14490 * util/import_gcry.py (cryptolist): Add adler32.
14491
0eb8ffb1
VS
144922011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
14493
14494 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
14495 in perspective decreases the complexity of build system and fixes
14496 compilation right now.
14497
ce79cc99 144982011-10-01 Ales Nesrsta <starous@volny.cz>
14499
14500 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
14501 (fixed problem related to using UHCI with coreboot).
14502
8667a314
BC
145032011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14504
14505 * gentpl.py: Use Autogen macros so that the output template file
14506 (Makefile.tpl) size is reduced.
14507
fc5efcc0
MK
145082011-09-29 Mads Kiilerich <mads@kiilerich.com>
14509
14510 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
14511 extra_dist.
14512
d1ab689d
ML
145132011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14514
14515 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
14516 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
14517
c05de032
ML
145182011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14519
14520 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
14521 _fullpath.
14522
cca7ccd8
ML
145232011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14524
14525 Remove extra declaration of sleep for mingw32.
14526
14527 * util/misc.c (sleep) [__MINGW32__]: Removed.
14528 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
14529
e0b0dc83
GS
145302011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
14531
14532 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
14533 type and packname.
14534 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
14535 Resurrected.
14536 (NETBSD_BTINFO_BOOTWEDGE): New definition.
14537 (grub_netbsd_btinfo_bootwedge): New struct.
14538 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
14539 New function.
14540 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
14541
91a1a164
TH
145422011-09-28 Thomas Haller <thomas.haller@fen-net.de>
14543
14544 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
14545 loader.
14546
2ded951e
AB
145472011-09-28 Andreas Born <futur.andy@googlemail.com>
14548
14549 Fix incorrect identifiers in bash-completion.
14550
14551 * util/bash-completion.d/grub-completion.bash.in
14552 (_grub_mkpasswd-pbkdf2): Rename to ...
14553 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
14554 (_grub_script-check): Rename to ...
14555 (_grub_script_check): ... this. All users updated.
14556
69915030
VS
145572011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
14558
14559 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14560 Return 0 if disk isn't biosdisk.
14561
20fd15f9
GS
145622011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14563
14564 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
14565 on NetBSD.
14566 * Makefile.util.def (grub-fstest): Likewise.
14567
1a7d7db9
GS
145682011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14569
14570 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
14571 Get sector size from disk label.
14572
2221ab6c
CW
145732011-09-05 Colin Watson <cjwatson@ubuntu.com>
14574
14575 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
14576 */README* as well as README*.
14577 Reported by: Axel Beckert.
14578
ca51c4a0
VS
145792011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14580
14581 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
14582 case of less than 256 MiB of RAM.
14583
ab80f326
VS
145842011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14585
14586 * grub-core/commands/wildcard.c (make_regex): Handle @.
14587
4155e697
VS
145882011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14589
14590 * util/grub-install.in: Move cryptodisk logic to appropriate place.
14591
ab178c08
SJ
145922011-08-21 Szymon Janc <szymon@janc.net.pl>
14593
14594 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
14595 AC_LANG_CONFTEST macros.
14596
7dc3c686
SJ
145972011-08-20 Szymon Janc <szymon@janc.net.pl>
14598
14599 Add grub-fstest option to uncompress data for commands.
14600
14601 * util/grub-fstest.c (uncompress): New var.
14602 (options): New option -u.
14603
fe8d4a7b
SJ
146042011-08-20 Szymon Janc <szymon@janc.net.pl>
14605
14606 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
14607 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
14608
a5219af1
SJ
146092011-08-20 Szymon Janc <szymon@janc.net.pl>
14610
14611 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
14612 file type was not recognized correctly (not gzip or corrupted).
14613
f87abff5
VS
146142011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14615
14616 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
14617 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
14618
d94497ea
VS
146192011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14620
14621 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
14622 loongson.
14623 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14624 video_radeon_fuloong2e.
14625 * grub-core/video/radeon_fuloong2e.c: New file.
14626 * include/grub/video.h (grub_video_id_t): Add new ID
14627 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
14628
0d1fd011
VS
146292011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14630
14631 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
14632 define.
14633 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
14634 that PRID matches the detected subplatform and reset the subplatform
14635 if it doesn't.
14636
84beb0ee
VS
146372011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14638
14639 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
14640
1227c133
VS
146412011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14642
14643 Fix PCI iterating on functions >= 4.
14644
14645 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
14646 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
14647 Removed.
14648 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
14649 (grub_pci_read): Fix bitmask.
14650 (grub_pci_read_word): Likewise.
14651 (grub_pci_read_byte): Likewise.
14652 (grub_pci_write): Likewise.
14653 (grub_pci_write_word): Likewise.
14654 (grub_pci_write_byte): Likewise.
14655
9594c689
VS
146562011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14657
14658 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
14659 can still be specified in TARGET_CFLAGS)
14660
14a2562c
VS
146612011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14662
14663 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
14664
14665 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
14666 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
14667 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
14668 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
14669 (FULOONG): Rename to ...
14670 (FULOONG2F): ... this. All users updated.
14671 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
14672 (machtype_fuloong2f_str): ... this.
14673 (machtype_fuloong2e_str): New string.
14674 Check for machtype_fuloong2e_str.
14675 * grub-core/loader/mips/linux.c (loongson_machtypes)
14676 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
14677 * grub-core/term/serial.c (loongson_defserial)
14678 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
14679 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
14680 loongson_defserial.
14681 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
14682 Rename to ...
14683 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
14684 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
14685 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
14686 to IMAGE_FULOONG2F_FLASH. All users updated.
14687 (image_targets): Rename images.
14688 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
14689
b526cbb6
SJ
146902011-08-19 Szymon Janc <szymon@janc.net.pl>
14691
14692 Make enable of disk cache statistics code configurable.
14693
14694 * configure.ac: --enable-cache-stats added.
14695 * config.h.in (DISK_CACHE_STATS): New define.
14696 * grub-core/Makefile.core.def (cacheinfo): New command.
14697 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
14698 * grub-core/commands/cacheinfo.c: New file.
14699 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
14700 moved to cacheinfo.c.
14701 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
14702 debug code.
14703 * include/grub/disk.h: Likewise.
14704
fb739ccd
SJ
147052011-08-19 Szymon Janc <szymon@janc.net.pl>
14706
14707 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
14708 * grub-core/Makefile.am: Likewise.
14709
2bba8cfd
VS
147102011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14711
14712 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
14713 non-zero pull.
14714
43526629
VS
147152011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14716
14717 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
14718 All users updated.
14719 (grub_jfs_lookup_symlink): Use correct starting inode.
14720
5c144cc8
VS
147212011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 * util/grub-setup.c (main): Add missing gcry initialisation.
14724
b1257f65
VS
147252011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14726
14727 Don't accept text modes on EFI when booting Linux.
14728
14729 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
14730 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
14731
828bc390
ML
147322011-08-15 Mario Limonciello <mario_limonciello@dell.com>
147332011-08-15 Colin Watson <cjwatson@ubuntu.com>
14734
14735 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
14736 use of "/path/.." as in grub-install for EFI as well as handling
14737 symlinks correctly.
14738 Fixes Debian bug #637768.
14739
5f60ccac
CW
147402011-08-15 Colin Watson <cjwatson@ubuntu.com>
14741
14742 * util/grub-probe.c: Remove duplicate #include.
14743
6dc212f9
RM
147442011-08-10 Robert Millan <rmh@gnu.org>
14745
14746 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
14747
14748 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
14749 function.
14750 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
14751 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
14752
66816d85
RM
147532011-08-03 Robert Millan <rmh@gnu.org>
14754
14755 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
14756 la_array as packed.
14757 Reported by: Zachary Bedell
14758
20168fca
CW
147592011-07-26 Colin Watson <cjwatson@ubuntu.com>
14760
14761 * configure.ac: The Loongson port requires grub-mkfont due to its
14762 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
14763 be built.
14764
303b6246
CW
147652011-07-26 Colin Watson <cjwatson@ubuntu.com>
14766
14767 * util/grub-install.in: Don't source grub-mkconfig_lib until after
14768 processing arguments (otherwise help2man fails when GRUB has not yet
14769 been installed).
14770
6795300e
VS
147712011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14772
41aa28ea
VS
14773 New script grub-mkstandalone.
14774
14775 * Makefile.util.def (grub-mkstandalone): New script.
14776 * docs/man/grub-mkstandalone.h2m: New file.
14777 * util/grub-mkstandalone.in: Likewise.
14778
147792011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14780
14781 Support ATA disks with 4K sectors.
6795300e
VS
14782
14783 * include/grub/ata.h (grub_ata): New member log_sector_size.
14784 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
14785 (grub_ata_identify): Read sector size.
14786 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
14787
92227597
VS
147882011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14789
14790 * util/grub-install.in: Don't use uhci outside of x86.
14791
c77069f5
VS
147922011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14793
14794 * util/grub-mkrescue.in: Add missing quotes.
14795
147962011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
14797
14798 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
14799 dereference.
14800
583168a2
VS
148012011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14802
14803 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
14804
6be1c01f
VS
148052011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14806
14807 * include/grub/video.h: add missing EXPORT_FUND on
14808 grub_video_edid_checksum and grub_video_edid_preferred_mode.
14809
a1167439
VS
148102011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14811
14812 * include/grub/mips/kernel.h: Fix define conflict.
14813
bf66054f
VS
148142011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14815
14816 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
14817 all four ways.
14818
8fc4fa45
CW
148192011-07-21 Colin Watson <cjwatson@ubuntu.com>
14820
14821 Preferred resolution detection for VBE.
14822
14823 * grub-core/video/video.c (grub_video_edid_checksum): New function.
14824 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
14825 the Flat Panel extension, in line with the X.org VESA driver.
14826 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
14827 New function.
14828 (grub_vbe_bios_get_ddc_capabilities): Likewise.
14829 (grub_vbe_bios_read_edid): Likewise.
14830 (grub_vbe_get_preferred_mode): Likewise.
14831 (grub_video_vbe_setup): When the mode is "auto", try to get the
14832 preferred mode from VBE, and use the largest mode that is no larger
14833 than the preferred mode (some BIOSes expose a preferred mode that is
14834 not in their mode list!). If this fails, fall back to 640x480 as a
14835 safe conservative choice.
14836 (grub_video_vbe_get_edid): New function.
14837 (grub_video_vbe_adapter): Add get_edid.
14838 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
14839 (struct grub_video_adapter): Add get_edid.
14840 (grub_video_edid_checksum): Add prototype.
14841 (grub_video_edid_preferred_mode): Likewise.
14842 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
14843 structure.
14844
14845 * grub-core/commands/videoinfo.c (print_edid): New function.
14846 (grub_cmd_videoinfo): Print EDID if available.
14847
14848 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
14849 is more appropriate on a wider range of platforms than 640x480.
14850 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
14851 documentation.
14852
ca5572a9
VS
148532011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14854
14855 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
14856
e4bcf625
VS
148572011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14858
14859 * po/POTFILES.in: Regenerate.
14860
c4edd548
VS
148612011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14862
14863 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
14864 incorrect memory usage.
14865
16a2bab0
VS
148662011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14867
14868 * util/grub-install.in: Source grub-mkconfig_lib.
14869
2e418de6
VS
148702011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14871
14872 Remove getroot.c from core on emu platform.
14873
14874 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
14875 kern/emu/raid.c.
14876 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
14877 useless.
14878 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
14879 * util/getroot.c (get_win32_path): ... here.
14880 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
14881 * util/getroot.c (fini_libzfs): ... here.
14882 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
14883 * util/getroot.c (grub_get_libzfs_handle): ... here.
14884 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
14885 Moved from here...
14886 * util/getroot.c (grub_find_zpool_from_dir): ... here.
14887 * grub-core/kern/emu/misc.c
14888 (grub_make_system_path_relative_to_its_root): Moved from here...
14889 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
14890 * grub-core/kern/emu/getroot.c: Moved from here ...
14891 * util/getroot.c: ... here. All users updated.
14892 * grub-core/kern/emu/raid.c: Moved from here ...
14893 * util/raid.c: ... here. All users updated.
14894
def9832a
VS
148952011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14896
14897 * po/POTFILES.in: Regenerate.
14898
cd8fe79a
VS
148992011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14900
14901 Fix compilation on GNU/Linux.
14902
14903 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
14904 Disable geli.
14905 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
14906 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
14907 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
14908
a251b719
VS
149092011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
149102011-07-07 Michael Gorven <michael@gorven.za.net>
149112011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
14912
14913 LUKS and GELI support.
14914
14915 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
14916 grub-core/disk/luks.c, grub-core/disk/geli.c,
14917 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
14918 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
14919 grub-core/lib/arg.c.
14920 (libgrubmods.a): Remove gcrypts cflags and cppflags.
14921 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
14922 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
14923 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
14924 (grub-bin2h): Add libgcry.a.
14925 (grub-mkimage): Likewise.
14926 (grub-mkrelpath): Likewise.
14927 (grub-script-check): Likewise.
14928 (grub-editenv): Likewise.
14929 (grub-mkpasswd-pbkdf2): Likewise.
14930 (grub-pe2elf): Likewise.
14931 (grub-fstest): Likewise.
14932 (grub-mkfont): Likewise.
14933 (grub-mkdevicemap): Likewise.
14934 (grub-probe): Likewise.
14935 (grub-ofpath): Likewise.
14936 (grub-mklayout): Likewise.
14937 (example_unit_test): Likewise.
14938 (grub-menulst2cfg): Likewise.
14939 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
14940 * grub-core/Makefile.core.def (cryptodisk): New module.
14941 (luks): Likewise.
14942 (geli): Likewise.
14943 * grub-core/disk/AFSplitter.c: New file.
14944 * grub-core/disk/cryptodisk.c: Likewise.
14945 * grub-core/disk/geli.c: Likewise.
14946 * grub-core/disk/luks.c: Likewise.
14947 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
14948 grub_util_is_lvm.
14949 (grub_util_get_dm_abstraction): New function.
14950 (grub_util_follow_gpart_up): Likewise.
14951 (grub_util_get_geom_abstraction): Likewise.
14952 (grub_util_get_dev_abstraction): Use new functions.
14953 (grub_util_pull_device): Pull GELI and LUKS.
14954 (grub_util_get_grub_dev): Handle LUKS and GELI.
14955 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
14956 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
14957 (follow_geom_up): Removed.
14958 (grub_util_fd_seek): New function.
14959 (open_device): Use grub_util_fd_seek.
14960 (nread): Rename to ..
14961 (grub_util_fd_read): ... this. All users updated.
14962 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
14963 (grub_crypto_cbc_decrypt): Likewise.
14964 (grub_crypto_hmac_write): Likewise.
14965 (grub_crypto_hmac_buffer): Likewise.
14966 (grub_password_get): Extend to util.
14967 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
14968 New member modname.
14969 (gcry_md_spec) [GRUB_UTIL]: Likewise.
14970 * include/grub/cryptodisk.h: New file.
14971 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
14972 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
14973 LUKS and GELI.
14974 (grub_util_follow_gpart_up): New proto.
14975 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
14976 (grub_util_fd_read): Likewise.
14977 (grub_cryptodisk_cheat_mount): Likewise.
14978 (grub_util_cryptodisk_print_uuid): Likewise.
14979 (grub_util_get_fd_sectors): Likewise.
14980 * util/grub-fstest.c (mount_crypt): New var.
14981 (fstest): Mount crypto if requested.
14982 (options): New option -C.
14983 (argp_parser): Parse -C.
14984 (main): Init and fini gcry.
14985 * util/grub-install.in: Support cryptodisk install.
14986 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
14987 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
14988 cryptodisk.
14989 (prepare_grub_to_access_device): Likewise.
14990 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
14991 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
14992 (probe_cryptodisk_uuid): New function.
14993 (probe_abstraction): Likewise.
14994 (probe): Use new functions.
14995 * util/import_gcry.py: Create Makefile.utilgcry.def.
14996 Add modname member.
14997
9bfdcbbc
VS
149982011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14999
15000 Lazy device scanning.
15001
15002 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
15003 (grub-setup): Remove util/raid.c.
15004 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
15005 * grub-core/disk/lvm.c (scan_depth): New variable.
15006 (grub_lvm_iterate): Rescan if necessary.
15007 (find_lv): New function based on grub_lvm_open.
15008 (grub_lvm_open): Use find_lv. Rescan on error.
15009 (is_node_readable): New function.
15010 (is_lv_readable): Likewise.
15011 (grub_lvm_scan_device): Skip already found disks.
15012 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
15013 Stop if searched device is found and readable.
15014 * grub-core/disk/raid.c (inscnt): New variable.
15015 (scan_depth): Likewise.
15016 (scan_devices): New function based on grub_raid_register. Abort if
15017 looked for device is found.
15018 (grub_raid_iterate): Rescan if needed.
15019 (find_array): NEw function based on -grub_raid_open.
15020 (grub_raid_open): Use find_array and rescan.
15021 (insert_array): Set became_readable_at.
15022 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
15023 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
15024 New function.
15025 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
15026 (grub_util_pull_device): New function.
15027 (grub_util_get_grub_dev): Call grub_util_pull_device.
15028 * util/raid.c: Moved to ..
15029 * grub-core/kern/emu/raid.c: ... here.
15030 (grub_util_raid_getmembers): New parameter "bootable".
15031 All users updated. Support 1.x.
15032 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
15033 All users updated.
15034 * include/grub/disk.h (grub_disk_pull_t): New enum.
15035 (grub_disk_dev): Change iterate prototype.
15036 All users updated.
15037 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
15038 New proto.
15039 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
15040 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
15041 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
15042 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
15043 All users updated.
15044 * include/grub/util/raid.h: Removed.
15045
1c358e59
VS
150462011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
15047
15048 * po/POTFILES.in: Regenerate.
15049
abee94ed
VS
150502011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
15051
15052 Unify sparc init with other ieee1275.
15053
15054 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
15055 instead of kern/sparc64/ieee1275/init.c.
15056 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
15057 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
15058 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
15059 grub/machine/kernel.h.
15060 (grub_ieee1275_original_stack) [__sparc__]: New variable.
15061 (grub_claim_heap) [__sparc__]: Use sparc version.
15062 (grub_machine_init): Moved args parsing to
15063 (grub_parse_cmdline): ...this.
15064 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
15065 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
15066 New definition.
15067 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
15068
15069 Move BOOTP to separate file.
15070
15071 * grub-core/Makefile.core.def (net): Add net/bootp.c.
15072 * grub-core/net/net.c: Move all BOOTP functions to
15073 * grub-core/net/bootp.c: ... here.
15074
15075 Use frame interface on PXE.
15076
15077 * grub-core/Makefile.core.def (pxecmd): Removed.
15078 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
15079 * grub-core/commands/i386/pc/pxecmd.c: Removed.
15080 * grub-core/i386/pc/pxe.c: Moved from here ...
15081 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
15082 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
15083 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
15084
15085 EFI network support.
15086
15087 * grub-core/Makefile.core.def (efinet): New module.
15088 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
15089 here...
15090 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
15091 All users updated.
15092 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
15093 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
15094 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
15095 * grub-core/net/drivers/efi/efinet.c: New file.
15096 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
15097 (grub_efi_net_config): New extern var.
15098
15099 Various cleanups and bugfixes.
15100
15101 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
15102 error.
15103 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
15104 disk declared as partition.
15105 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
15106 leak on failure.
15107 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
15108 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
15109 (grub_debug_zalloc): Likewise.
15110 (grub_debug_realloc): Likewise.
15111 (grub_debug_memalign): Likewise.
15112 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
15113 Check that target is IPv4.
15114 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
15115 local-mac-address as fallback.
15116 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
15117 memory leak.
15118 * grub-core/net/ip.c (ipchksum): Rename to ...
15119 (grub_net_ip_chksum): ... this. All users updated.
15120 (grub_net_recv_ip_packets): Special handling for DHCP.
15121 * util/grub-mkimage.c (generate_image): Zero-out aout header.
15122
15123 Unify prefix handling
15124
15125 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
15126 (grub_machine_get_bootlocation): ... this.
15127 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
15128 (grub_machine_get_bootlocation): ... this.
15129 (grub_prefix): New variable.
15130 (prefix): Removed.
15131 (root_dev): New variable.
15132 (dir): Likewise.
15133 (main): Use new variables.
15134 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
15135 Revamped into ...
15136 (grub_machine_get_bootlocation): ... this.
15137 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
15138 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
15139 (grub_machine_get_bootlocation): ... this.
15140 (grub_machine_set_prefix): Removed.
15141 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
15142 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
15143 Revamped into ...
15144 (grub_machine_get_bootlocation): ... this.
15145 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
15146 (grub_set_prefix_and_root): ... this. All users updated.
15147 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
15148 Revamped into ...
15149 (grub_machine_get_bootlocation): ... this.
15150 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
15151 (grub_machine_get_bootlocation): New proto.
15152 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
15153
15154 Less intrusive and more reliable seek on network implementation.
15155
15156 * grub-core/kern/file.c (grub_file_net_seek): Removed.
15157 (grub_file_seek): Don't call grub_file_net_seek.
15158 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
15159 (grub_net_fs_read_real): .. this.
15160 (grub_net_seek_real): Use net->offset.
15161 (grub_net_fs_read): Seek if necessary.
15162
15163 Unify IEEE1275 netwotk config with the other platforms.
15164
15165 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
15166 New variable.
15167 (grub_machine_get_bootlocation): Support network.
15168 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
15169 Support type and device parsing.
15170 (grub_ieee1275_get_device_type): New function.
15171 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
15172 into ...
15173 (grub_ieee1275_net_config_real): ... this.
15174 (grub_ofnet_probecards): Removed.
15175 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
15176 * include/grub/ieee1275/ofnet.h: Removed.
15177 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
15178 extern var.
15179 (grub_ieee1275_get_device_type): New function.
15180
15181 Unify network device closing across platforms and make more robust.
15182
15183 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
15184 grub_grubnet_fini.
15185 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
15186 already.
15187 * grub-core/net/net.c (grub_net_network_level_interface_register):
15188 Update num_ifaces.
15189 (grub_net_card_unregister): Close all interfaces.
15190 (receive_packets): Don't poll if no iterfaces are registered.
15191 Open if necessary.
15192 (grub_net_fini_hw): New function.
15193 (grub_net_restore_hw): Likewise.
15194 (fini_hnd): New variable.
15195 (GRUB_MOD_INIT): Register preboot hook.
15196 (GRUB_MOD_FINI): Run and unregister preboot hook.
15197
15198 Poll network cards when idle.
15199
15200 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
15201 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
15202 * grub-core/net/net.c (receive_packets): Save last poll time.
15203 (grub_net_poll_cards_idle_real): New function.
15204 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
15205 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
15206 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
15207
15208 Rename ofnet interfaces.
15209
15210 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
15211 (grub_ofnet_findcards): Use ofnet_%s names.
15212
15213 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
15214
15215 Cleanup socket opening.
15216
15217 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
15218 (grub_net_fs_close): Likewise.
15219 (grub_net_fs_read_real): Use eof member.
15220 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
15221 (+grub_net_udp_close): New inline function.
15222
15223 * include/grub/net/tftp.h: Moved to the top of ...
15224 * grub-core/net/tftp.c: ... here.
15225 * include/grub/net/ip.h: Moved mostly to the top of ...
15226 * grub-core/net/ip.c: ... here.
15227 * include/grub/net/ethernet.h: Moved mostly to the top of ...
15228 * grub-core/net/ethernet.c: ... here.
15229
15230 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
15231
15232 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
15233 FS name.
15234
15235 * include/grub/net/ip.h (ipv4_ini): Removed.
15236 (ipv4_fini): Likewise.
15237
15238 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
15239 (grub_net_send_ip_packets): Likewise.
15240
cf1337aa
VS
152412011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15242
15243 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
15244 grub_read_cmos prototype.
15245
93c06ff9
VS
152462011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15247
15248 VGA text support in qemu-mips
15249
15250 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
15251 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
15252 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
15253 text.
15254 * grub-core/kern/i386/qemu/init.c: Renamed to ...
15255 * grub-core/kern/vga_init.c: ... this.
15256 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
15257 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
15258 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
15259 Adjust.
15260 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
15261 GRUB_MACHINE_PCI_IO_BASE.
15262
748ccabe
VS
152632011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15264
15265 MIPS qemu flash support.
15266
15267 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
15268 magic.
15269 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
15270 (grub_machine_init): Probe memory if its size isn't known.
15271 * util/grub-mkimage.c (image_targets): Add flash targets.
15272 (generate_image): Handle flash targets.
15273
d7345994
VS
152742011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15275
15276 MIPS qemu at_keyboard support.
15277
15278 * gentpl.py (videoinkernel): Add qemu-mips.
15279 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
15280 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
15281 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
15282 modules.
15283 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
15284 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
15285 * grub-core/term/serial.c (grub_serial_register)
15286 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
15287
a07a81b3
VS
152882011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15289
15290 CMOS support on sparc.
15291
15292 * gentpl.py (cmos): Add powerpc and sparc.
15293 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
15294 powerpc and sparc.
15295 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
15296 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
15297 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
15298 grub_set_datetime_cmos.
15299 * grub-core/lib/ieee1275/cmos.c: New file.
15300 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
15301 (find_rtc): Set no_ieee1275_rtc on error.
15302 (grub_get_datetime): Call grub_get_datetime_cmos on error.
15303 (grub_set_datetime): Call grub_set_datetime_cmos on error.
15304 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
15305 fail. Move value to argument. All users updated
15306 (grub_cmos_write): Likewise.
15307 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
15308 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
15309 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
15310 grub_get_datetime_cmos and grub_set_datetime_cmos.
15311
77546584
GS
153122011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
15313
15314 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
15315 sourcing grub-mkconfig_lib.
15316 * util/update-grub_lib.in: Likewise.
15317 * util/grub.d/00_header.in: Likewise.
15318 * util/grub.d/10_hurd.in: Likewise.
15319 * util/grub.d/10_kfreebsd.in: Likewise.
15320 * util/grub.d/10_linux.in: Likewise.
15321 * util/grub.d/10_netbsd.in: Likewise.
15322 * util/grub.d/10_windows.in: Likewise.
15323 * util/grub.d/20_linux_xen.in: Likewise.
15324 * util/grub.d/30_os-prober.in: Likewise.
15325
54894791
CW
153262011-06-28 Colin Watson <cjwatson@ubuntu.com>
15327
15328 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
15329 default_bg_color rather than black.
15330 (grub_gfxterm_fullscreen): Likewise.
15331 (grub_gfxterm_background_color_cmd): Save new background color in
15332 default_bg_color.
15333
8d5d8444
VS
153342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15335
15336 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
15337
5afeb5bd
VS
153382011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15339
15340 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
15341 mismerge.
15342
ba7df45e
VS
153432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15344
15345 Chainloading on coreboot support.
15346
15347 * grub-core/Makefile.core.def (chain): Add coreboot.
15348 * grub-core/loader/i386/coreboot/chainloader.c: New file.
15349
d0b526b2
VS
153502011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15351
15352 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
15353 if it happens.
15354
5ff1d945
VS
153552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15356
15357 Implement time command.
15358
15359 * grub-core/Makefile.core.def (time): New module.
15360 * grub-core/commands/time.c: New file.
15361 * grub-core/script/parser.y: Remove "time" keyword.
15362 * grub-core/script/yylex.l: Likewise.
15363
5ebaad7e
VS
153642011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15365
15366 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
15367
bdea3798
VS
153682011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15369
15370 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
15371 when handling leftovers.
15372
b28c5655
VS
153732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15374
15375 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
15376 so that help2man doesn't fail.
15377
b6f945dc
VS
153782011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15379
15380 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
15381 type in pointers on sparc64.
15382 (get_card_packet): Likewise.
15383
f9b75e8a
CW
153842011-06-27 Colin Watson <cjwatson@ubuntu.com>
15385
15386 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
15387 with `*'.
15388 (grub_cmd_videoinfo): Fetch current video mode.
15389
1e3d9b86
VS
153902011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
15393 because of underlying system restrictions.
15394
efff4b1c
VS
153952011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15396
15397 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
15398 necessary.
15399
9fc9ce37
VS
154002011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15401
15402 Coreboot video support.
15403
15404 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
15405 (vbe): Likewise.
15406 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
15407 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
15408 here ...
15409 * grub-core/kern/i386/int.S: ... here.
15410 * grub-core/video/i386/pc/vbe.c: Updated includes.
15411 * grub-core/video/i386/pc/vga.c: Likewise.
15412 * include/grub/i386/coreboot/memory.h
15413 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
15414 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
15415 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
15416 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
15417 Disable interrupts.
15418 * include/grub/i386/pc/vga.h: Removed. All users updated.
15419
41bec7fe
VS
154202011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
15423 definitions for dprintf.
15424 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
15425
ca80309d
VS
154262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15427
15428 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
15429 prototype.
15430 (get_card_packet): Likewise.
15431
9e322ce8
YB
154322011-06-26 Yves Blusseau <blusseau@zetam.org>
15433
15434 Display the path of the file when file is not found
15435
15436 * grub-core/fs/fat.c: Display the filename when file is not found.
15437 * grub-core/fs/fshelp.c: Likewise.
15438 * grub-core/fs/hfs.c: Likewise.
15439 * grub-core/fs/jfs.c: Likewise.
15440 * grub-core/fs/minix.c: Likewise.
15441 * grub-core/fs/ufs.c: Likewise.
15442 * grub-core/fs/btrfs.c: Likewise.
15443 * grub-core/commands/i386/pc/play.c: Likewise.
15444
cbf597af
SJ
154452011-06-26 Szymon Janc <szymon@janc.net.pl>
15446
15447 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
15448 pointer checks before calling grub_free().
15449 * grub-core/commands/wildcard.c (match_devices): Likewise.
15450 * grub-core/commands/wildcard.c (match_files): Likewise.
15451 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
15452 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
15453 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
15454 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
15455 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
15456 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
15457 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
15458 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
15459 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
15460
6295b32f
P
154612011-06-25 Patrick <p55@mailinator.com>
15462
15463 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
15464
77c0840b
VS
154652011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
15466
15467 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
15468 (grub_pxe_send): Likewise.
15469 (GRUB_MOD_INIT): Fix types.
15470
40ea05de
SJ
154712011-06-24 Szymon Janc <szymon@janc.net.pl>
15472
15473 * grub-core/io/xzio.c: Fix code style issues
15474
90162423
MRA
154752011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
154762011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
15477
15478 Network infrastructure.
15479 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
15480
15481 * include/grub/net/arp.h: New file.
90162423
MRA
15482 * include/grub/net/device.h: Likewise.
15483 * include/grub/net/ethernet.h: Likewise.
15484 * include/grub/net/ip.h: Likewise.
15485 * include/grub/net/netbuff.h: Likewise.
15486 * include/grub/net/tftp.h: Likewise.
15487 * include/grub/net/udp.h: Likewise.
15488 * include/grub/ieee1275/ofnet.h: Likewise.
15489 * include/grub/emu/export.h: Likewise.
15490 * include/grub/net.h: Likewise.
15491 * grub-core/net/arp.c: Likewise.
15492 * grub-core/net/ethernet.c: Likewise.
15493 * grub-core/net/ip.c: Likewise.
15494 * grub-core/net/udp.c: Likewise.
15495 * grub-core/net/tftp.c: Likewise.
15496 * grub-core/net/netbuff.c: Likewise.
15497 * grub-core/net/net.c: Likewise.
15498 * grub-core/net/drivers/emu/emunet.c: Likewise.
15499 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
15500 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
15501 export.h.
15502 * grub-core/Makefile.core.def (net): New module.
15503 (tftp): Likewise.
15504 (ofnet): Likewise.
15505 (emunet): Likewise.
15506 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
15507 network protocols.
15508 * grub-core/kern/device.c (grub_net_open) : New variable.
15509 (grub_device_open): Handle network device.
15510 (grub_device_close): Likewise.
15511 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
15512 (grub_grubnet_fini): Likewise.
15513 (grub_file_seek): Seek in network device.
15514 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
15515 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
15516 network root.
15517 (grub_machine_fini): Call grub_grubnet_fini.
15518 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
15519 network.
15520 (grub_ieee1275_get_aliasdevname): New function.
15521 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15522 Add unofficial Solaris network info.
15523 (grub_multiboot_make_mbi): Likewise.
15524 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
15525 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
15526 * include/grub/device.h (grub_fs): Removed.
15527 * include/grub/err.h (grub_err_t): Add network-related values.
15528 * include/grub/i386/pc/pxe.h: Removed bootp parts.
15529 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
15530 (grub_ieee1275_get_aliasdevname): New proto.
15531 * include/grub/net.h: Rewritten.
423a1849 15532
031f22a0
VS
155332011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15534
15535 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
15536 names.
15537
4388ca72
VS
155382011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15539
15540 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
15541 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
15542 it truncates the output.
15543 Reported by: Ximin Luo.
15544
98e2f506
VS
155452011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15546
15547 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
15548
2a5e94d8
VS
155492011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15550
15551 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15552 partmap before abstraction.
15553
535c1910
AK
155542011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
15555
15556 * util/grub-mkconfig_lib.in: Add missing quotes.
15557
bc09e1a2
VS
155582011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15559
15560 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
15561 old method if mountinfo would return /dev/root and /dev/root doesn't
15562 exist.
15563
290766fb
VS
155642011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15565
15566 ZFS zlib support
15567
15568 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
15569 (decomp_table): Add zlib entries.
15570 (zio_read): USe 8 bits for compression function rather than 3.
15571 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
15572
155732011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15574
15575 * grub-core/disk/ahci.c: Add missing license statements.
15576 * grub-core/fs/romfs.c: Likewise.
15577 * grub-core/lib/ia64/setjmp.S: Likewise.
15578 * grub-core/loader/i386/pc/freedos.c: Likewise.
15579 * grub-core/loader/ia64/efi/linux.c: Likewise.
15580 * grub-core/video/colors.c: Likewise.
15581 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
15582
5ab3f48a
VS
155832011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15584
15585 AHCI support.
15586
15587 * grub-core/Makefile.core.def (ata_pthru): Removed.
15588 (ahci): New module.
15589 (pata): Likewise.
15590 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
15591 on unload.
15592 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
15593 readwrite.
15594 (grub_hdparm_do_check_powermode_cmd): Likewise.
15595 (grub_hdparm_do_smart_cmd): Likewise.
15596 (grub_hdparm_set_val_cmd): Likewise.
15597 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
15598 * grub-core/disk/ahci.c: New file.
15599 * grub-core/disk/ata.c: Factor out the low-level part into ...
15600 * grub-core/disk/pata.c: ... here.
15601 * grub-core/disk/ata_pthru.c: Contents moved to ...
15602 * grub-core/disk/pata.c: ... here.
15603 * grub-core/disk/scsi.c (grub_scsi_names): New array.
15604 (grub_scsi_iterate): Use grub_scsi_names.
15605 (grub_scsi_open): Likewise.
15606 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
15607 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
15608 (grub_ata_regs_t): New struct.
15609 (grub_disk_ata_pass_through_parms): Likewise.
15610 (grub_ata_device): Renamed to ...
15611 (grub_ata): ... this.
15612 (grub_ata_dev): New struct.
15613 Removed all low-level inline functions.
15614 * include/grub/scsi.h: Add PATA and AHCI subsystems.
15615 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
15616 iterate hooks and open. All users updated.
15617 * util/grub-install.in: Handle AHCI disk module.
15618
c31dc5f5
SJ
156192011-06-23 Szymon Janc <szymon@janc.net.pl>
15620
15621 Add support for DRI and RSTn markers in JPEG files.
15622
15623 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
15624 (JPEG_MARKER_RST0): Likewise.
15625 (JPEG_MARKER_RST1): Likewise.
15626 (JPEG_MARKER_RST2): Likewise.
15627 (JPEG_MARKER_RST3): Likewise.
15628 (JPEG_MARKER_RST4): Likewise.
15629 (JPEG_MARKER_RST5): Likewise.
15630 (JPEG_MARKER_RST6): Likewise.
15631 (JPEG_MARKER_RST7): Likewise.
15632 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
15633 (grub_jpeg_decode_dri): New function.
15634 (grub_jpeg_decode_sos): Move image data related part into
15635 grub_jpeg_decode_data function.
15636 (grub_jpeg_decode_data): New function.
15637 (grub_jpeg_reset): New function.
15638 (grub_jpeg_decode_jpeg): Handle new markers.
15639
fe12fd5b
VS
156402011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15641
15642 * util/ieee1275/ofpath.c (check_sas): Close fd.
15643 (main): Free of_path.
15644 Reported by: David Volgyes <dvolgyes>.
15645
03147f46
VS
156462011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15647
15648 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
15649 Reported by: David Volgyes <dvolgyes>.
15650
cad3237f
VS
156512011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15652
15653 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
15654 file after stat.
15655 Reported by: David Volgyes <dvolgyes>.
15656
13548d26
VS
156572011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15658
15659 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
15660
15661 Reported by: David Volgyes <dvolgyes>.
15662
e061a1b5
VS
156632011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15664
15665 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
15666 Prevent memory leak.
15667
1abe47dc
VS
156682011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15669
15670 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
15671 (main): Close file.
e061a1b5 15672 Reported by: David Volgyes <dvolgyes>.
1abe47dc 15673
fbc62666
VS
156742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15675
15676 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
15677 to continue if allocation is failed.
15678
15679 Reported by: David Volgyes <dvolgyes>.
15680
e98c83e9
DV
156812011-06-23 David Volgyes <dvolgyes>
15682
15683 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
15684 dereference.
15685
a199a8cd
VS
156862011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15687
15688 Fix spurious warning.
15689
15690 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
15691 (acorn_partition_map_find): Use .bin member.
15692
e2d1dba0
VS
156932011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15694
15695 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
15696 /dev/root as a valid device.
15697
8a5d6919
JM
156982011-06-23 Jim Meyering <meyering@redhat.com>
15699
e2d1dba0
VS
15700 Avoid NULL deref in grub_device_open.
15701
8a5d6919
JM
15702 * grub-core/kern/device.c (grub_device_open): Don't dereference
15703 a NULL pointer upon failed grub_env_get.
15704
f7db6f4a
VS
157052011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15706
15707 Support non-512B sectors and agglomerate reads.
15708
15709 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
15710 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
15711 (disk_io_guid): Removed.
15712 (make_devices): Locate solely by BlockIO.
15713 (grub_efidisk_open): Fill log_sector_size and total_sectors.
15714 (grub_efidisk_read): Use read_blocks.
15715 (grub_efidisk_write): Use write_blocks.
15716 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
15717 log_sector_size.
15718 (get_safe_sectors): Handle non-512B sectors.
15719 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
15720 sectors.
15721 (grub_biosdisk_write): Handle non-512B sectors.
15722 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
15723 (grub_scsi_read): Remove special non-512B block handling (now handled
15724 one level up).
15725 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
15726 and do sanity checks.
15727 (grub_disk_adjust_range): Handle non-512B sectors.
15728 (transform_sector): New function.
15729 (grub_disk_read_small): Likewise.
15730 (grub_disk_read): Rewritten.
15731 (grub_disk_write): Handle non-512B sectors.
15732 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
15733 log_sector_size.
15734 (open_device): Use log_sector_size.
15735 (grub_util_biosdisk_read): Likewise.
15736 (grub_util_biosdisk_write): Likewise.
15737 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
15738 non-512B sectors.
15739 (pc_partition_map_embed): Likewise.
15740 * include/grub/disk.h (grub_disk): New field log_sector_size.
15741 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
15742 (GRUB_DISK_CACHE_BITS): Increased to 6.
15743 * util/grub-fstest.c (fstest): New command testload.
15744 (argp_parser): Likewise.
15745
881ac815
RM
157462011-06-16 Robert Millan <rmh@gnu.org>
15747
15748 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
15749 `ata' driver on kernel of FreeBSD 9.
15750
15751 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
15752 (get_ataraid_disk_name): New functions.
15753 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
15754 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
15755 get_ataraid_disk_name() and get_ada_disk_name().
15756
1e9aef7d
CW
157572011-06-13 Colin Watson <cjwatson@ubuntu.com>
15758
15759 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
15760 input format.
15761
351c7c8a
CW
157622011-05-29 Colin Watson <cjwatson@ubuntu.com>
15763
15764 * docs/grub.texi (Obtaining and Building GRUB): Substitute
15765 `ftp.gnu.org' for `alpha.gnu.org'.
15766
6b4e6430
CW
157672011-05-27 Colin Watson <cjwatson@ubuntu.com>
15768
15769 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
15770 partitions under /dev/disk/by-id/.
15771
c64db050
CW
157722011-05-27 Colin Watson <cjwatson@ubuntu.com>
15773
15774 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
15775 after ten consecutive open failures. Scanning all the way up to
15776 10000 is excessive and can cause serious performance problems in
15777 some configurations.
15778 Fixes Ubuntu bug #787461.
15779
245f4aba
VS
157802011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15781
15782 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
15783 opening new one.
15784
f767c929
VS
157852011-05-21 Colin Watson <cjwatson@ubuntu.com>
157862011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15787
15788 Don't stat devices unless we have to.
15789
15790 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
15791 dir == /dev/mapper.
15792 (grub_guess_root_device): Use already known os_dev if possible.
15793 * grub-core/kern/emu/hostdisk.c
15794 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
15795 if device is known to be a dm one.
15796
f35fa3a6
CW
157972011-05-20 Colin Watson <cjwatson@ubuntu.com>
15798
15799 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
15800 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
15801 Reported by: Pawel Tecza.
15802
9a79fcf2
VS
158032011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
15806 (lsefisystab): Likewise.
15807 (lssal): Likewise.
15808 (lsefimmap): Likewise.
15809 (hdparm): Enable on qemu-mips.
15810 (setjmp): Add ia64 nodist.
15811 (serial): Simplify tags.
15812
63e3eea9
CW
158132011-05-18 Colin Watson <cjwatson@ubuntu.com>
15814
15815 * Makefile.util.def (grub-ofpathname): Install manual page.
15816
09728256
CW
158172011-05-18 Colin Watson <cjwatson@ubuntu.com>
15818
15819 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
15820
8b63a142
CW
158212011-05-18 Colin Watson <cjwatson@ubuntu.com>
15822
15823 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
15824
e775d8ed
VS
158252011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15826
15827 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
15828 into dprintf.
15829
bf947d36
VS
158302011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15831
15832 Use full 64-bit division.
15833
15834 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
15835 (grub_divmod64): ... this.
15836 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
15837 version.
15838
b84f26c5
CW
158392011-05-18 Colin Watson <cjwatson@ubuntu.com>
15840
15841 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
15842 `source'.
15843
5626056f
CW
158442011-05-18 Colin Watson <cjwatson@ubuntu.com>
15845
15846 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
15847 to avoid accidents when debugging with 'sh -x'.
15848 * grub-core/gensyminfo.sh.in: Likewise.
15849 * tests/example_scripted_test.in: Likewise.
15850 * tests/grub_cmd_regexp.in: Likewise.
15851 * tests/grub_script_blanklines.in: Likewise.
15852 * tests/grub_script_dollar.in: Likewise.
15853 * tests/grub_script_expansion.in: Likewise.
15854 * tests/grub_script_final_semicolon.in: Likewise.
15855 * tests/partmap_test.in: Likewise.
15856 * tests/util/grub-shell-tester.in: Likewise.
15857 * tests/util/grub-shell.in: Likewise.
15858
e2965f4a
CW
158592011-05-18 Colin Watson <cjwatson@ubuntu.com>
15860
15861 Move gfxmenu color handling to video, so that gfxterm can use it
15862 too.
15863
15864 * grub-core/gfxmenu/named_colors.c: Move to ...
15865 * grub-core/video/colors.c: ... here. Rename
15866 grub_gui_get_named_color to grub_video_get_named_color.
15867 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
15868 * grub-core/video/colors.c (my_isxdigit): ... here.
15869 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
15870 Move to ...
15871 * grub-core/video/colors.c (parse_hex_color_component): ... here.
15872 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
15873 to ...
15874 * grub-core/video/colors.c (grub_video_parse_color): ... here.
15875
15876 * include/grub/gui.h (grub_gui_color_t): Move to ...
15877 * include/grub/video.h (grub_video_rgba_color_t): ... here.
15878 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
15879 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
15880 * include/grub/gui.h (grub_gui_map_color): Move to ...
15881 * include/grub/video.h (grub_video_map_rgba_color): ... here.
15882 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
15883 to ...
15884 * include/grub/video.h (grub_video_get_named_color): ... here.
15885 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
15886 * include/grub/video.h (grub_video_parse_color): ... here.
15887
15888 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
15889 video/colors.c.
15890 (gfxmenu): Remove gfxmenu/named_colors.c.
15891 (video) [videomodules]: Add video/colors.c.
15892
15893 Add a background_color command.
15894
15895 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
15896 function.
15897 (GRUB_MOD_INIT): Register background_color command.
15898 (GRUB_MOD_FINI): Unregister background_color command.
15899 (redraw_screen_rect): Allow blend/replace of text layer to be
15900 controlled independently from whether there is a background bitmap.
15901 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
15902 changing bitmap.
15903
1e4b4390
VS
159042011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15905
26618ff0
VS
15906 Patch BPB in ntldr and chainloader --bpb.
15907
1e4b4390
VS
15908 * grub-core/fs/fat.c: Include grub/fat.h.
15909 (grub_fat_bpb): Moved to ...
15910 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
15911 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
15912 grub/ntfs.h.
15913 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
15914 Moved from here...
15915 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
15916 here.
15917 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
15918 New function.
15919 (grub_chainloader_cmd): Patch BPB if --bpb is given.
15920 (GRUB_MOD_INIT): Show --bpb.
15921 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
15922 * grub-core/normal/main.c (features): New variable.
15923 (GRUB_MOD_INIT): Set feature_* variables.
15924 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
15925 proto.
15926 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
15927
cf02731e
VS
159282011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
15931 for cleanness.
15932
e3a1073f
VS
159332011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15934
15935 FreeDOS direct loading support.
15936
15937 * docs/grub.texi (Supported OS): Add FreeDOS.
15938 * grub-core/Makefile.core.def (freedos): New module.
15939 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
15940 variable.
15941 (grub_relocator16_boot): Handle %ebx.
15942 * grub-core/lib/i386/relocator16.S: Likewise.
15943 * grub-core/loader/i386/pc/freedos.c: New file.
15944
05caa461
VS
159452011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15946
15947 Long Linux command line support.
15948
15949 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15950 (maximal_cmdline_size): New variable.
15951 (allocate_pages): Use maximal_cmdline_size.
15952 (grub_cmd_linux): Set and use maximal_cmdline_size.
15953 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15954 (allocate_pages): Use maximal_cmdline_size.
15955 (grub_cmd_linux): Set and use maximal_cmdline_size.
15956 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
15957 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
15958 and cmdline_size.
15959
a2491e23
VS
159602011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
159612011-05-18 Colin Watson <cjwatson@ubuntu.com>
15962
15963 Improve devmapper support
15964
15965 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
15966 (grub_util_is_lvm): New function.
15967 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
15968 than lvm if not dmraid.
15969 Handle mapped md nodes.
15970 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
15971 (grub_util_device_is_mapped): ... this. Make always available. All users
15972 updated.
15973 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
15974 (convert_system_partition_to_system_disk): Handle lvm, mpath and
15975 dmraid nodes.
15976 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
15977
6ad6223e
VS
159782011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15979
15980 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
15981
15982 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
15983 * grub-core/modinfo.sh.in: New file.
15984 * grub-core/Makefile.core.def (modinfo.sh): New script.
15985 * util/grub-mknetdir.in: Use modinfo.sh.
15986 * util/grub-mkrescue.in: Likewise.
15987
543a8f6e
VS
159882011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15989
15990 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15991 Fix potential usage of Elf32 instead of Elf64 when compiling on
15992 32-bit architecture. Add endianness macros while on it.
15993
4959e111
VS
159942011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15995
15996 Use mipsel- rather than mips- in directories involving mipsel ports to
15997 allow both endiannesses coexist.
15998
15999 * configure.ac: proparate target_cpu=mipsel rather than resetting to
16000 mips. All conditions adjusted.
16001 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
16002 variable.
16003 * util/grub-install.in: Adjust conditions to take renaming into account.
16004 * util/grub-mkimage.c (image_targets): Likewise. New target
16005 mips-qemu_mips-elf for bigendian mips.
16006
35341bbc
VS
160072011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 Avoid unnecessary copying on MIPS.
16010
16011 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
16012 early if src == dest.
16013 * util/grub-mkimage.c (generate_image): Arange for src == dest if
16014 compression is none.
16015
b772baed
VS
160162011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16017
16018 Reduce memory footprint on SGI by putting modules before the kernel
16019 as opposed to after.
16020
16021 * grub-core/Makefile.core.def (kernel): Increase linking address.
16022 (none_decompress): Likewise.
16023 (xz_decompress): Likewise.
16024 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
16025 address.
16026 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
16027 layout change.
16028 (grub_arch_modules_addr): New function.
16029 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
16030 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
16031 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
16032 here.
16033 * grub-core/kern/mips/startup.S (total_size): Rename to ...
16034 (grub_total_modules_size): ... this. Make global.
16035 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
16036 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
16037 New definition.
16038 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
16039 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
16040 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
16041 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
16042 * util/grub-mkimage.c (image_target_desc): New flag
16043 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
16044 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
16045 (generate_image): Handle images with modules before kernel.
16046
566a1917
VS
160472011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16048
16049 Prevent potential loss of memory map by overwrite on qemu-mips.
16050
16051 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
16052 Save ram size in $s4.
16053 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
16054 All users changed to grub_arch_memsize.
16055 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
16056 Loongson.
16057 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
16058 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
16059 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
16060 external variable.
16061
5d420cd9
CW
160622011-05-17 Colin Watson <cjwatson@ubuntu.com>
16063
16064 * .bzrignore: Remove grub-dumpbios.
16065
d064b830
CW
160662011-05-17 Colin Watson <cjwatson@ubuntu.com>
16067
16068 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
16069 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
16070 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
16071 existing options which append).
16072 * docs/grub.texi (Simple configuration): Document new options.
16073 Reported by: Ian Jackson. Fixes Debian bug #617538.
16074
3ca2b466
CW
160752011-05-17 Colin Watson <cjwatson@ubuntu.com>
16076
16077 * util/grub-fstest.c (cmd_cat): New function.
16078 (fstest): Handle CMD_CAT.
16079 (options): Add cat.
16080 (argp_parser): Handle cat.
16081
24c9143a
CW
160822011-05-17 Colin Watson <cjwatson@ubuntu.com>
16083
16084 * Makefile.util.def (grub-bin2h): Don't install.
16085 * docs/man/grub-bin2h.h2m: Remove.
16086
90f7ac19
VS
160872011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16088
16089 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
16090 place.
16091
8d4a5178
VS
160922011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16093
16094 Reenable qemu-mips port.
16095
16096 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
16097 Fix small arc bug while on it.
16098 * gentpl.py: Handle qemu_mips.
16099 * grub-core/Makefile.am: Likewise.
16100 * grub-core/Makefile.core.def: Likewise.
16101 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
16102 inappropriate includes.
16103 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
16104 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
16105 * grub-core/kern/main.c (grub_modules_get_end)
16106 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
16107 * grub-core/kern/mips/qemu-mips: Moved to ..
16108 * grub-core/kern/mips/qemu_mips: ... this.
16109 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
16110 (grub_machine_init): Call terminfo_init and serial_init.
16111 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
16112 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
16113 New variable.
16114 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
16115 parameter passing.
16116 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
16117 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
16118 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
16119 * include/grub/mips/qemu_mips/cmos.h: New file.
16120 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
16121 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
16122 Removed.
16123 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
16124 Use correct mips-style address.
16125 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
16126 (GRUB_TICKS_PER_SECOND): Removed.
16127 (grub_get_rtc): Likewise.
16128 (grub_cpu_idle): Likewise.
16129 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
16130 New definition.
16131 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
16132 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
16133 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
16134 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
16135 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16136 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16137 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
16138 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
16139
400b9371
VS
161402011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16141
16142 SGI ARCS port.
16143
16144 * Makefile.util.def (libgrubmods.a): Add dvh.c.
16145 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
16146 platforms.
16147 * configure.ac: New target mips-arc.
16148 * gentpl.py: Likewise.
16149 * grub-core/Makefile.am: Likewise.
16150 * grub-core/Makefile.core.def: Likewise.
16151 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
16152 (none_decompress): Likewise.
16153 (lsdev): New module.
16154 (datetime): Use lib/arc/datetime.c on ARC.
16155 (part_dvh): New module.
16156 * grub-core/commands/arc/lsdev.c: New file.
16157 * grub-core/disk/arc/arcdisk.c: Likewise.
16158 * grub-core/kern/mips/arc/init.c: Likewise.
16159 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
16160 aligned addresses.
16161 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
16162 support.
16163 (grub_arch_dl_relocate_symbols): Likewise.
16164 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
16165 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
16166 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
16167 platforms.
16168 * grub-core/lib/arc/datetime.c: New file.
16169 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
16170 pci.h on non-loongson.
16171 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
16172 (grub_linux_boot): Set unused registers to 0.
16173 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
16174 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
16175 * grub-core/mmap/mips/uppermem.c: ...here.
16176 * grub-core/partmap/dvh.c: New file.
16177 * grub-core/term/arc/console.c: Likewise.
16178 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
16179 (grub_terminfo_set_current): Add terminal "arc".
16180 (grub_terminfo_readkey): Support ARC sequences.
16181 * include/grub/arc/arc.h: New file.
16182 * include/grub/arc/console.h: Likewise.
16183 * include/grub/disk.h (grub_disk_dev_id): Add
16184 GRUB_DISK_DEVICE_ARCDISK_ID.
16185 * include/grub/mips/arc/kernel.h: New file.
16186 * include/grub/mips/arc/memory.h: Likewise.
16187 * include/grub/mips/arc/time.h: Likewise.
16188 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
16189 * include/grub/mips/kernel.h (grub_halt): ... here.
16190 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
16191 here...
16192 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
16193 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
16194 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
16195 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
16196 proto.
16197 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
16198 from here ...
16199 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
16200 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
16201 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
16202 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
16203 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
16204 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
16205 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
16206 (grub_phys_addr_t): Moved from here ...
16207 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
16208 (grub_vtop): Moved from here ...
16209 * include/grub/mips/memory.h (grub_vtop): ... here.
16210 (grub_map_memory): Moved from here ...
16211 * include/grub/mips/memory.h (grub_map_memory): ... here.
16212 (grub_unmap_memory): Moved from here ...
16213 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
16214 (grub_machine_mmap_iterate): Moved from here ...
16215 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
16216 (grub_mmap_get_lower): Moved from here ...
16217 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
16218 (grub_mmap_get_upper): Moved from here ...
16219 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
16220 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
16221 here ...
16222 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
16223 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
16224 here ...
16225 * include/grub/mips/time.h (grub_get_rtc): ... here.
16226 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
16227 here ...
16228 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
16229 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
16230 here ...
16231 * include/grub/mips/time.h (grub_cpu_idle): ... here.
16232 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
16233 definition.
16234 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
16235 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
16236 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
16237 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
16238 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16239 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16240 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
16241 (GRUB_MACHINE_LINK_ADDR): Likewise.
16242 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
16243 to 6.
16244 * util/grub-install.in: Run dvhtool on ARC.
16245 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 16246 (generate_image): Handle ECOFF output for mips-arc.
400b9371 16247
c8ecc840
VS
162482011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16249
16250 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
16251 blocks.
16252
153a4b55
VS
162532011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
16256 after enabling port.
16257
ff44d107
VS
162582011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16259
16260 Skip incorrect USB devices.
16261
16262 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
16263 configcnt == 0.
16264 * include/grub/usb.h (grub_usb_err_t): New enum value
16265 GRUB_USB_ERR_BADDEVICE.
16266
638dbe4f
VS
162672011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16268
16269 Fuloong video init support.
16270
16271 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
16272 well.
16273 (grub_vga_read_arx): New function.
16274 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
16275 definition.
16276 (framebuffer): New members io, mmioptr and mmiobase.
16277 (read_sis_cmd): New function.
16278 (write_sis_cmd): Likewise.
16279 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
16280 rather than 640x400.
16281 * grub-core/video/sis315_init.c: New file.
16282
c3fc520c
VS
162832011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16284
16285 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
16286 non-loongson.
16287 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
16288 to grub_dl_register_symbol.
16289
67b1e5c9
VS
162902011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 Fix compilation errors.
16293
16294 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
16295 potentially unused.
16296 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
16297 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
16298 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
16299 to loongson machines.
16300
b756f75f
VS
163012011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16302
16303 Several FS mtime support.
16304
16305 * grub-core/fs/affs.c (grub_affs_time): New struct.
16306 (grub_affs_file): New field mtime.
16307 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
16308 type. Removed 'size'. New field 'di'. All users updated.
16309 (grub_affs_mount): Simplify checsum checking.
16310 (grub_affs_iterate_dir): New helper grub_affs_create_node.
16311 (grub_affs_dir): Handle mtime.
16312 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
16313 (grub_cpio_dir): Likewise.
16314 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
16315 (grub_hfs_filerec): New field mtime.
16316 (grub_hfs_dir): Handle mtime.
16317 (grub_hfs_mtime): New function.
16318 (grub_hfs_fs): Register grub_hfs_mtime.
16319 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
16320 (grub_iso9660_dir): New field mtime.
16321 (grub_fshelp_node): New field dirent.
16322 (iso9660_to_unixtime): New function.
16323 (iso9660_to_unixtime2): Likewise.
16324 (grub_iso9660_read_symlink): Use node->dirent.
16325 (grub_iso9660_iterate_dir): Likewise.
16326 (grub_iso9660_dir): Set mtime.
16327 (grub_iso9660_mtime): New function.
16328 (grub_iso9660_fs): Register grub_iso9660_mtime.
16329 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
16330 (grub_jfs_inode): New fields atime, ctime and mtime.
16331 (grub_jfs_dir): Set mtime.
16332 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
16333 * grub-core/fs/ntfs.c (list_file): Set mtime.
16334 (grub_ntfs_dir): Likewise.
16335 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
16336 (grub_reiserfs_iterate_dir): Set mtime.
16337 (grub_reiserfs_dir): Likewise.
16338 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
16339 (grub_fshelp_node): Likewise.
16340 (grub_sfs_iterate_dir): Set mtime.
16341 (grub_sfs_dir): Likewise.
16342 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
16343 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
16344 (grub_xfs_inode): New fields atime, mtime, ctime.
16345 (grub_xfs_dir): Set mtime.
16346 * include/grub/datetime.h (grub_datetime2unixtime): New function.
16347 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
16348 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
16349
16350 Support UDF symlinks.
16351
16352 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
16353 (grub_ufs_read_symlink): New function. All users updated.
16354
16355 Check amiga partmap checksum.
16356
16357 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
16358 (grub_amiga_partition): Likewise.
16359 (amiga_partition_map_checksum): New function.
16360 (amiga_partition_map_iterate): Check checksum.
16361
5470225d
VS
163622011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16363
16364 ROMFS support.
16365
16366 * Makefile.util.def (libgrubmods.a): Add romfs.
16367 * grub-core/Makefile.core.def (romfs): New module.
16368 * grub-core/fs/romfs.c: New file.
16369
d4680a35
VS
163702011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16371
16372 Squashfs v4 support.
16373
16374 * Makefile.util.def (libgrubmods.a): Add squash4.
16375 * grub-core/Makefile.core.def (squash4): New module.
16376 * grub-core/fs/squash4.c: New file.
16377 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
16378 disk_input_start, disk_input.
16379 (get_byte): Handle disk_input.
16380 (grub_zlib_disk_read): New function.
16381 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
16382
bcb18e74
FZ
163832011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
163842011-05-15 Feiran Zheng <famcool@gmail.com>
16385
16386 * Makefile.util.def (libgrubmods.a): Add minix3.
16387 * grub-core/Makefile.core.def (minix3): New module.
16388 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
16389 (GRUB_MINIX_BSIZE): Removed.
16390 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
16391 (grub_minix_ino_t): New type.
16392 (grub_minix_le_to_cpu_ino): New macro.
16393 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
16394 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
16395 (grub_minix_data): New field block_size.
16396 (grub_minix_read_file): Handle 64-bit correctly.
16397 * grub-core/fs/minix3.c: New file.
16398
32297d5f
TG
163992011-05-15 Tristan Gingold <gingold@free.fr>
164002011-05-15 Robert Millan <rmh.grub@aybabtu.com>
164012011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16402
16403 IA64 support.
16404
16405 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
16406 * configure.ac: Add ia64-efi target.
16407 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
16408 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
16409 * gentpl.py: Add ia64_efi platform.
16410 Rename x86_efi to efi and Add ia64-efi. All users updated.
16411 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
16412 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
16413 Remove kern/generic/rtc_get_time_ms.c on EFI.
16414 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
16415 kern/ia64/dl_helper.c on ia64-efi.
16416 Add kern/emu/cache.c on emu.
16417 (linux): Use on loader/ia64/efi/linux.c on ia64.
16418 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
16419 whether symbol is a function.
16420 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
16421 (grub_symbol): New field 'isfunc'.
16422 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
16423 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
16424 (grub_dl_load_segments): Place all sections into the same region.
16425 [__ia64__]: Create trampolines and got.
16426 [GRUB_MACHINE_EMU]: Call mprotect.
16427 (grub_dl_resolve_symbols): Resolve symbol type as well.
16428 [__ia64__]: Create function descriptors.
16429 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
16430 (grub_rtc_get_time_ms): ... this. Expressions simplified.
16431 (grub_get_rtc): New function.
16432 * grub-core/kern/emu/cache.c [__ia64__]: New file.
16433 * grub-core/kern/emu/cache.S: Renamed to ...
16434 * grub-core/kern/emu/cache_s.S: ... this.
16435 [__ia64__]: Add a nop.
16436 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
16437 [__ia64__]: New function.
16438 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
16439 * grub-core/kern/ia64/dl.c: New file.
16440 * grub-core/kern/ia64/dl_helper.c: Likewise.
16441 * grub-core/kern/ia64/efi/init.c: New file.
16442 * grub-core/kern/ia64/efi/startup.S: Likewise.
16443 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
16444 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
16445 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
16446 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
16447 * grub-core/loader/ia64/efi/linux.c: New file.
16448 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
16449 (GRUB_MOD_DEP): Likewise.
16450 (grub_dl) [__ia64__]: New fields got and tramp.
16451 (grub_dl): New field 'base'.
16452 (grub_dl_register_symbol): New argument isfunc. All users updated.
16453 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
16454 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
16455 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
16456 (grub_ia64_dl_get_tramp_got_size): New proto.
16457 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
16458 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
16459 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
16460 * include/grub/efi/api.h: Skip call wrappers on ia64.
16461 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
16462 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
16463 * include/grub/elf.h (ELF_ST_INFO): New definition.
16464 * include/grub/ia64/efi/kernel.h: New file.
16465 * include/grub/ia64/efi/memory.h: Likewise.
16466 * include/grub/ia64/efi/time.h: Likewise.
16467 * include/grub/ia64/kernel.h: Likewise.
16468 * include/grub/ia64/setjmp.h: Likewise (from glibc).
16469 * include/grub/ia64/time.h: New file.
16470 * include/grub/ia64/types.h: Likewise.
16471 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
16472 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
16473 New protos.
16474 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
16475 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16476 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
16477 * util/grub-mkimage.c (image_target_desc): New field pe_target.
16478 All users updated.
16479 (EFI64_HEADER_SIZE): New definition. All users updated.
16480 (image_targets): Add ia64-efi.
16481 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
16482 jumpers_addr. All users updated.
16483 Create function descriptors.
16484 (count_funcs): New function.
16485 (unaligned_uint32): New struct.
16486 (MASK20): New definition.
16487 (MASK19): Likewise.
16488 (MASKF21): Likewise.
16489 (add_value_to_slot_20b): New function.
16490 (add_value_to_slot_21_real): Likewise.
16491 (add_value_to_slot_21): Likewise.
16492 (ia64_kernel_trampoline): New struct.
16493 (nopm): New variable.
16494 (jump): Likewise.
16495 (make_trampoline): New function.
16496 (relocate_addresses): Handle ia64.
16497 (make_reloc_section): Likewise.
16498 (load_image): Likewise.
16499
983b414d
VS
165002011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16501
16502 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
16503 warning. Move variables before code while on it.
16504
5d063cdc
VS
165052011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16506
16507 Fuloong support.
16508
16509 * configure.ac: Rename yeeloong platform to loongson. All users updated.
16510 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
16511 * grub-core/boot/mips/loongson/fuloong.S: New file.
16512 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
16513 Explicitly init CS5536.
16514 [FULOONG]: Don't use serial until CS5536 is available.
16515 Set GPIO based on dumps.
16516 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
16517 [FULOONG]: Handle GPIO and memory controller differences.
16518 Parse machine type in $a2.
16519 * grub-core/boot/mips/startup_raw.S: Determine and save the
16520 architecture.
16521 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
16522 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
16523 init on architecture type.
16524 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16525 SIS315E. Don't init at_keyboard on fuloong.
16526 (grub_halt): Support Fuloong.
16527 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
16528 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
16529 (loongson_machtypes): New array.
16530 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
16531 type.
16532 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
16533 config. All users updated. Handle CS5536 serial.
16534 * grub-core/term/serial.c (grub_serial_register): Conditionalise
16535 default port on machine type. Register serial as inactive.
16536 * grub-core/video/sis315pro.c: New file.
16537 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
16538 definition.
16539 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
16540 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
16541 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
16542 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
16543 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
16544 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
16545 to ...
16546 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
16547 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
16548 definition.
16549 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
16550 (grub_arch_machine): New extern var.
16551 * include/grub/mips/loongson/serial.h
16552 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
16553 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
16554 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
16555 (GRUB_MACHINE_SERIAL_PORT0): ... this.
16556 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
16557 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
16558 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
16559 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
16560 * include/grub/term.h (grub_term_register_input_inactive): New inline
16561 function.
16562 (grub_term_register_output_inactive): Likewise.
16563 * include/grub/video.h (grub_video_driver_id): New value
16564 GRUB_VIDEO_DRIVER_SIS315PRO.
16565 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
16566 New field "names". All users updated.
16567 New field value IMAGE_FULOONG_FLASH.
16568 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
16569
6ada82d1
JU
165702011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
16571
16572 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
16573 and add some clarification.
16574
90c571a4
VS
165752011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16576
16577 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
16578 platforms if kernel is compressed.
16579
de04eecf
VS
165802011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16581
16582 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
16583 unused modules since currently referrence counter isn't reliable and
16584 there isn't much memory to recover there anyway.
16585
57688121
VS
165862011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16587
16588 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
16589 rather than resetting it to allow modules to reference themselves
16590 in init.
16591
3d2c7e35
VS
165922011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16593
16594 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
16595 counter on dependencies since grub_dl_unref already handles this.
16596
b25db218
VS
165972011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16598
16599 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
16600 on error if not already done.
16601
25a45338
VS
166022011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16603
16604 Fix few potential memory misusage.
16605
16606 * grub-core/font/font.c (load_font_index): Don't free char_index to
16607 avoid double free.
b25db218
VS
16608 (grub_font_load): Zero-fill font at alloc for safety.
16609 Close file on error.
16610 (free_font): Free bmp_idx.
25a45338 16611
0cac83df
VS
166122011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16613
16614 * docs/grub.texi (Installation): Fix several outdated claims.
16615
2217a143
VS
166162011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16617
16618 Handle module_license on windows.
16619
16620 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
16621 sections shifted.
16622 (insert_string): Make argument const char * instead of char *.
16623 (write_section_data): Handle long section names.
16624 Handle module_license.
16625
d4de6b01
VS
166262011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16627
16628 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
16629 handle class-free menuentries.
16630 (grub_normal_add_menu_entry): Add a check to be sure.
16631
4c2a3b43
VS
166322011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16633
16634 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
16635 PgUp and PgDown.
16636
85c6210f
VS
166372011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16638
16639 * configure.ac: Bump version to 1.99.
16640
36084912
VS
166412011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16642
16643 Give ATA device a bit more time on first try in order to allow disks
16644 to spin up.
16645
16646 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
16647 if dev->present is 1. Reset dev->present on failure.
16648 (grub_ata_device_initialize): Set dev->present to 1.
16649 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
16650 (grub_ata_device): New member 'present'.
16651
bda0e219
VS
166522011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16653
16654 * util/grub-mkimage.c (generate_image): Update hash.
16655
19e1c41b
VS
166562011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16657
16658 Flush caches on DMA memory.
16659
16660 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
16661 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
16662 (grub_dma_free): Likewise.
16663 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
16664
91bbcc0c
VS
166652011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16666
16667 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
16668 to avoid asm treating ld and sd as macros.
16669
60ddfad3
VS
166702011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16671
16672 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
16673 decompressor.
16674
a298aa04
VS
166752011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16676
16677 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
16678 grub_decompress_core since later would fail if grub_decompress_core
16679 is too far.
16680
9b44feca
VS
166812011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16682
16683 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
16684 R_MIPS_JALR since it's used by newer compiler.
16685
56dbe7b4
VS
166862011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
16687
16688 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
16689
52856af2
VS
166902011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16691
16692 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
16693 file_path to 0 for surety.
16694 (grub_chainloader_boot): Set exit_data to NULL.
16695 Unset the loader once done.
16696 (grub_cmd_chainloader): Fix confusing error message if file is empty.
16697
9c9bfc6d
VS
166982011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16699
16700 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
16701 unknown key into a dprintf.
16702
dd94a3df
VS
167032011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16704
16705 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
16706 on first non-existant partition.
16707
fa68d99c
VS
167082011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16709
16710 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
16711 openning fails.
16712 Reported by: Mark Korenberg.
16713
157effb7
VS
167142011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16715
16716 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
16717 overflow.
16718
ea75312f
VS
167192011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16720
16721 * util/grub-mkimage.c (main): Explicitely flush and sync the output
16722 before closing to ensure that it will be readable by grub-setup.
16723
072b5d31
VS
167242011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16725
16726 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
16727 (devpath_1): Use MAKE_PIWG_PATH.
16728 (devpath_2): Likewise.
16729 (devpath_3): Likewise.
16730 (devpath_4): Likewise.
16731 (devpath_5): Likewise.
16732 (devpath_6): Likewise.
16733
16734 The appleldr.mod was checked that to be binary identical to previous
16735 version.
16736
7fae0051
Z
167372011-05-05 Zach <mikezackles>
16738
16739 Support 2010 Macbooks.
16740
16741 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
16742 (devs): Add devpath_6.
16743
7c515bee
VS
167442011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16745
16746 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
16747 /dev/random. /dev/urandom is good enough for our purposes (salting).
16748
ed660bd8
VS
167492011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16750
16751 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
16752
ee5614b7
VS
167532011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16754
16755 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
16756 hexadecimal.
16757
664889a6
VS
167582011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16759
16760 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
16761 and not 0 on failure.
16762
bd405bbc
CW
167632011-05-03 Colin Watson <cjwatson@ubuntu.com>
16764
16765 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
16766 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
16767 disk; otherwise grub_fs_probe will not fall back to the next
16768 filesystem.
16769 (grub_pxefs_open): Likewise, for consistency.
16770 Reported and tested by: Ezekiel Grave.
16771
4ebff753
CW
167722011-05-03 Colin Watson <cjwatson@ubuntu.com>
16773
16774 * tests/partmap_test.in: Don't hardcode path to parted.
16775 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
16776
8f942553
CW
167772011-05-01 Colin Watson <cjwatson@ubuntu.com>
16778
16779 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
16780 of `ls' to find out which devices are available.
16781
3c62402d
VS
167822011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16783
16784 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
16785 than source address for efi mmap buffer.
16786
723f63f2
VS
167872011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16788
16789 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
16790 wrong action on non-detecting the magic.
16791
68797f92
VS
167922011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16793
16794 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
16795 already supplied by another part of the module (fixes compilation on
16796 FreeBSD).
16797
6be8715d
VS
167982011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16799
16800 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
16801 match the one used by mdadm.
16802
e91dba5b
CW
168032011-04-21 Colin Watson <cjwatson@ubuntu.com>
16804
16805 * po/README: Add instructions for creating po/LINGUAS.
16806
c85140b3
CW
168072011-04-21 Colin Watson <cjwatson@ubuntu.com>
16808
16809 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
16810 #551428.
16811
16812 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
16813 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
16814 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
16815 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
16816 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
16817 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
16818 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
16819 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
16820 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
16821 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
16822 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
16823 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
16824 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
16825 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
16826 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
16827 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
16828 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
16829 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
16830 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
16831 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
16832 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
16833 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
16834
92051871
CW
168352011-04-21 Colin Watson <cjwatson@ubuntu.com>
16836
16837 * grub-core/kern/emu/getroot.c
16838 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
16839 test that was incorrectly reintroduced in r3214.
16840 Reported by: Ian Dall. Fixes Savannah bug #33133.
16841
b13f79a4
CW
168422011-04-21 Colin Watson <cjwatson@ubuntu.com>
16843
16844 Fix stack pointer handling in 16-bit relocator.
16845
16846 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
16847 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
16848 Fixes Ubuntu bug #683904.
16849
9b710a88
VS
168502011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16851
16852 * configure.ac: Bump version to 1.99~rc2.
16853
d97e7b59
VS
168542011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16855
16856 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
16857 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
16858 * grub-core/lib/x86_64/setjmp.S: Likewise.
16859 * grub-core/lib/mips/setjmp.S: Likewise.
16860 * grub-core/lib/powerpc/setjmp.S: Likewise.
16861 * grub-core/lib/sparc64/setjmp.S: Likewise.
16862
0624551c
VS
168632011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16864
16865 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
16866 * grub-core/lib/efi/datetime.c: Likewise.
16867
e8f28d4c
VS
168682011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16869
16870 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
16871 New function.
16872 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
16873 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
16874 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
16875
bba79a15
VS
168762011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16877
16878 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
16879 bitmap.
16880 (grub_gfxterm_term_init): Likewise.
16881
abc474ef
VS
168822011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16883
16884 Take into account the decorations the computing menu entry width.
16885
16886 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
16887 (grub_gfxmenu_create_box): Register get_border_width.
16888 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
16889 if available.
16890 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
16891 get_border_width.
16892
e74b3947
EP
168932011-04-18 Endres Puschner <code@e7p.de>
16894
16895 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
16896 Don't skip first class.
16897
34faa595
VS
168982011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16899
16900 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
16901 chunks.
16902 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
16903
93a777e3
VS
169042011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16905
16906 Complete 64-bit division support.
16907
16908 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
16909 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
16910 * include/grub/misc.h (grub_divmod64): Rename to ...
16911 (grub_divmod64_full): ... this.
16912 (grub_divmod64): New inline function.
16913
a5102d94
VS
169142011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16915
16916 * util/grub-mkimage.c (generate_image): Add forgotten comma.
16917
f3fb7b36
VS
169182011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16919
16920 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
16921 performing the necessary test.
16922
9ac718b0
VS
169232011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16924
16925 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
16926 (kfreebsd.elf): Likewise.
16927 (pc-chainloader.elf): Likewise.
16928 (ntldr.elf): Likewise.
16929
50d2cc5a
VS
169302011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16931
16932 Identify RAID by its UUID rather than (guessed) name.
16933
16934 * grub-core/disk/raid.c (ascii2hex): New function.
16935 (grub_raid_open): Accept mduuid/%s specification.
16936 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
16937 (get_mdadm_uuid): ... this.
16938 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
16939
e03f7bea
VS
169402011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
16941
16942 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
16943 to negative size.
16944
e74c3112
CW
169452011-04-13 Colin Watson <cjwatson@ubuntu.com>
16946
16947 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
16948 btrfs subvolume.
16949 * util/grub.d/20_linux_xen.in: Likewise.
16950
78fa584f
CW
169512011-04-13 Colin Watson <cjwatson@ubuntu.com>
16952
16953 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
16954 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
16955
16956 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16957 Build a list of relevant visible mounts using the mnt_id and
16958 parent_mnt_id fields, and then scan that list at the end.
16959
9d5f8162
CW
169602011-04-12 Colin Watson <cjwatson@ubuntu.com>
16961
16962 * docs/grub.texi (normal): New section.
16963 (normal_exit): New section.
16964 (Embedded configuration): Add reference to normal.
16965 (GRUB only offers a rescue shell): Likewise.
16966 * docs/grub-dev.texi (Error Handling): Fix typo.
16967
09a9d66f
CW
169682011-04-12 Colin Watson <cjwatson@ubuntu.com>
16969
16970 * NEWS: Drop obsolete entry about probe-only btrfs support.
16971
0c676933
CW
169722011-04-12 Colin Watson <cjwatson@ubuntu.com>
16973
16974 * util/import_gcry.py: Fix typo.
16975
ec9f5e0d
VS
169762011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16977
16978 * NEWS: Add btrfs support.
16979
fe6b2cba
VS
169802011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
169812011-04-11 Colin Watson <cjwatson@ubuntu.com>
16982
16983 BtrFS support. Written by me (Vladimir) with important bugfixes and
16984 even more important testing by Colin.
16985
16986 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
16987 * grub-core/Makefile.core.def (btrfs): Add crc.c.
16988 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
16989 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
16990 mem_input_off and mem_input. All users updated to accept in-RAM input.
16991 (gzio_seek): New function.
16992 (test_zlib_header): Likewise.
16993 (grub_gzio_read): Likewise.
16994 (grub_zlib_decompress): Likewise.
16995 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
16996 Accept partial and non-virtual mounts.
16997 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
16998 avoid receiving /dev/dm-X as device.
16999 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
17000 Handle bind and partial mounts.
17001 * grub-core/lib/crc.c: New file.
17002 * include/grub/deflate.h: Likewise.
17003 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
17004 proto.
17005 * include/grub/lib/crc.h: New file.
17006
e745cf0c
VS
170072011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17008
17009 Implement automatic module license checking according to new GNU
17010 guidelines.
17011
17012 * grub-core/kern/dl.c (grub_dl_check_license): New function.
17013 (grub_dl_load_core): Use grub_dl_check_license.
17014 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
17015 (GRUB_MOD_LICENSE): Likewise.
17016 (GRUB_MOD_DUAL_LICENSE): Likewise.
17017 All modules updated.
17018
2a9bc016
CW
170192011-04-11 Colin Watson <cjwatson@ubuntu.com>
17020
17021 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
17022 reserved_first_sector to 1. btrfs reserves plenty of space for boot
17023 loaders.
17024 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
17025
8a3bc88e
VS
170262011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17027
17028 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
17029
af869a4a
VS
170302011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17031
17032 * util/grub-fstest.c (read_file): Report GRUB error if file opening
17033 failed.
17034
9ee8d94f
VS
170352011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17036
17037 * grub-core/kern/file.c (grub_file_open): Don't take into account the
17038 parenthesis in the middle of the filename.
17039
b01abe3e
VS
170402011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17041
17042 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
17043 rather than trying to put initrd way too high.
17044 Reported by: Ryan Lortie <desrt@desrt.ca>
17045
335bda1e
VS
170462011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17047
17048 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
17049 improperly removed string.
17050
5ca1a64d
VS
170512011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17052
17053 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
17054 is_disk.
17055 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
17056 (open_device) Likewise.
17057 (grub_util_biosdisk_close): Likewise.
d8ce9995 17058 Reported by: Mark Korenberg.
5ca1a64d 17059
cbac5b1e
AK
170602011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
17061
17062 * util/grub-mkconfig_lib.in: Add missing quotes.
17063
088cdb65
CW
170642011-04-10 Colin Watson <cjwatson@ubuntu.com>
17065
17066 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
17067 is NULL.
17068
8b8a81fa
VS
170692011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17070
17071 Dynamically count the number of lines for the lower banner.
17072
17073 * grub-core/normal/menu_entry.c (per_term_screen): New member
17074 num_entries.
17075 (print_down): Use num_entries.
17076 (update_screen): Likewise.
17077 (grub_menu_entry_run): Set num_entries.
17078 * grub-core/normal/menu_text.c (menu_viewer_data): New member
17079 num_entries.
17080 (grub_print_message_indented): Move real part to ...
17081 (grub_print_message_indented_real): ... here. Additional argument
17082 dry_run.
17083 (draw_border): Additional argument num_entries.
17084 (print_message): Additional argument dry_run.
17085 (print_entries): Receive menu viewer data.
17086 (grub_menu_init_page): New argment num_entries.
17087 (menu_text_set_chosen_entry): Use num_entries.
17088 (grub_menu_try_text): Likewise.
17089 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
17090 All users updated.
17091 (grub_ucs4_count_lines): New function.
17092 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
17093 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
17094 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
17095 (grub_term_border_height): Likewise.
17096 (grub_term_num_entries): Likewise.
17097
277f955b
VS
170982011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17099
17100 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
17101 Remove now unused string.
17102
536ce85a
CW
171032011-04-09 Colin Watson <cjwatson@ubuntu.com>
17104
17105 * docs/grub-dev.texi (Finding your way around): Update for 1.99
17106 build system.
17107 (Getting started): GRUB is developed in Bazaar now, not Subversion.
17108
17109 (Comment): Fix typo.
17110 (Getting started): General copy-editing.
17111 (Typical Development Experience): Likewise.
17112 (Error Handling): Likewise.
17113 (Video API): Likewise.
17114
2cf09e32
CW
171152011-04-09 Colin Watson <cjwatson@ubuntu.com>
17116
17117 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
17118 throughout.
17119
1ec652f4
VS
171202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17121
17122 * util/grub-mkimage.c (main): Handle special naming of yeeloong
17123 directory.
17124
2c583728
CW
171252011-04-08 Colin Watson <cjwatson@ubuntu.com>
17126
17127 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
17128 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
17129 "development".
17130
d7a565e9
VS
171312011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17132
17133 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
17134 grub_strcpy since the lines aren't necessarily 0-terminated.
17135
7c2e4909
VS
171362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17137
17138 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
17139 root on legacy.
17140
34c09785
VS
171412011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17142
17143 * grub-core/commands/probe.c (options): Argument to set isn't optional.
17144 (GRUB_MOD_INIT): DEVICE isn't optional.
17145
6a6f8058
VS
171462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17147
17148 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
17149 word on new line if it's too long anyway. Fixes a hang.
17150
2e335e90
VS
171512011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17152
17153 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
17154 const.
17155 * util/grub-setup.c (main): Reuse md device name if available.
17156 * util/raid.c (grub_util_raid_getmembers): Receive device name and
17157 not GRUB name as argument.
17158 Based on patch by: Florian Wagner <fwagner>.
17159
10a7a867
VS
171602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17161
17162 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17163 Place mbi on low memory for better compatibility.
17164
7a3d6cd9
VS
171652011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17166
17167 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
17168
18dd6b47
VS
171692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
171702011-04-08 Colin Watson <cjwatson@ubuntu.com>
17171
17172 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 17173 * conf/Makefile.common: Likewise.
18dd6b47 17174
3c0e3f14
VS
171752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17176
f7148863
VS
17177 * grub-core/normal/menu.c: Add missing include.
17178
171792011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17180
17181 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 17182
6d1fa41f
MZ
171832011-04-08 Martin Zuther <mzuther@mzuther.de>
17184
17185 * util/grub-mkconfig.in: Ignore emacsen backup.
17186
478182a8
VS
171872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
17190 on open.
17191 (grub_util_biosdisk_close): Likewise.
17192
72a89a54
VS
171932011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17194
17195 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
17196 const attribute and use grub_isdigit.
17197
b5ebecfa
A
171982011-04-06 Andrey <dev_null@ukr.net>
17199
17200 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
17201 gcc warning.
17202
7755f66e
VS
172032011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17204
17205 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
17206 useful grub_dprintf's.
17207
461121ff
VS
172082011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17209
17210 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
17211
2a961775
VS
172122011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17213
17214 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
17215
adf594cc
VS
172162011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17217
17218 Output errors if theme loading failed.
17219
17220 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
17221 grub_gfxterm_fullscreen on error paths to ...
17222 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
17223 theme loading error.
17224
665900a3
VS
172252011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17226
17227 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
17228 space for older compilers.
17229 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17230
a562b479
VS
172312011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17232
17233 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
17234 and report them as not RAID members since they are useless for GRUB.
17235 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17236
850e9373
VS
172372011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17238
17239 Increase LVM implementation robustness in order not to crash on
17240 configurations like pvmove. Previously code assumed that in some places
17241 only lvs or only pvs are used whereas it seems that they are used
17242 interchangeably.
17243
17244 * grub-core/disk/lvm.c (read_node): New function.
17245 (read_lv): Use read_node.
17246 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
17247 Match volumes only at the end when all lvs are found. Take both
17248 pvs (first) and lvs (second) into account.
17249 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
17250 mirror_* into node_*. All users updated.
17251 (grub_lvm_stripe): Merge this ...
17252 (grub_lvm_mirror): ... and this ...
17253 (grub_lvm_node): ... into this. All users updated.
17254
6f332153
VS
172552011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17256
17257 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
17258 of function to allow further scanning for LVMs.
17259
829ea451
VS
172602011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17261
17262 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
17263 on failed seek as it breaks open fd reusage.
17264
09ceb9a5
VS
172652011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17266
17267 * util/grub-install.in: Add a recommendation to use --recheck before
17268 reporting bugs.
17269
67e11623
VS
172702011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
17273 are obtained.
17274
caee5efd
VS
172752011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17276
17277 GRUB developper manual based on existing Internals section and
17278 contributions by the various authors with active copyright assignment.
17279
17280 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
17281 * docs/font_char_metrics.png: New file.
17282 * docs/font_char_metrics.txt: Likewise.
17283 * docs/grub-dev.texi: Likewise.
17284 * docs/grub.texi (Internals): Move from here ...
17285 * docs/grub-dev.texi: ... here.
17286
2cccc747
CW
172872011-04-01 Colin Watson <cjwatson@ubuntu.com>
17288
17289 Store the loopback device as data on loopback grub_disk structures,
17290 rather than the file it points to. This fixes use of freed memory
17291 if an existing loopback device is replaced.
17292
17293 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
17294 disk->data, not dev->file.
17295 (grub_loopback_read): Adjust file assignment to match.
17296 Fixes Ubuntu bug #742967.
17297
186ae367
CW
172982011-04-01 Colin Watson <cjwatson@ubuntu.com>
17299
17300 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
17301 when replacing an existing device.
17302
cfed2ad0
VS
173032011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
17304
17305 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
17306 memory corruptions.
17307
17308 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
17309 unsigned.
17310 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
17311 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
17312 (grub_jfs_read_inode): Likewise.
17313 (grub_jfs_opendir): Likewise. Remove now useless casts.
17314 (grub_jfs_getent): Likewise.
17315 Make ino a grub_uint32_t rather than int.
17316 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
17317 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
17318 division and module with bit operations.
17319 (grub_jfs_find_file): Make ino a grub_uint32_t.
17320 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
17321
05d2ed32
CW
173222011-04-01 Colin Watson <cjwatson@ubuntu.com>
17323
17324 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
17325 warning. (This was in fact always initialised before use, but GCC
17326 wasn't smart enough to prove that.)
17327 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
17328
91dc6073
VS
173292011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17330
17331 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
17332 stack alignment.
17333 (efi_wrap_1): Likewise.
17334 (efi_wrap_2): Likewise.
17335 (efi_wrap_3): Likewise.
17336 (efi_wrap_4): Likewise.
17337 (efi_wrap_5): Likewise.
17338 (efi_wrap_6): Likewise.
17339 (efi_wrap_10): Likewise.
17340 Based on information by: Red Hat/Peter Jones.
17341
a8afc1d1
CW
173422011-03-31 Colin Watson <cjwatson@ubuntu.com>
17343
17344 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
17345 set-but-not-used variable.
17346
a826cc7d
CW
173472011-03-31 Colin Watson <cjwatson@ubuntu.com>
17348
17349 * docs/grub.texi (Simple configuration): Be more explicit about
17350 GRUB_DEFAULT, and add an example.
17351 Reported by: Leslie Rhorer.
17352
875b67ba
CW
173532011-03-30 Colin Watson <cjwatson@ubuntu.com>
17354
17355 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
17356 shell".
17357
fd7cd914
AS
173582011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
17359
17360 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
17361 * util/grub.d/20_linux_xen.in: Likewise.
17362
090b1b6a
VS
173632011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17364
17365 * util/grub.d/10_linux.in: Try alternative config filenames where
17366 we parse config file.
17367 * util/grub.d/20_linux_xen.in: Likewise.
17368
baad885c
AS
173692011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
17370
17371 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
17372 * util/grub.d/20_linux_xen.in: Likewise.
17373
241e41f5
VS
173742011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17375
17376 * grub-core/disk/raid.c (insert_array): Add few potentially
17377 useful grub_util_info.
17378 (grub_raid_register): Likewise.
17379
56445fb2
VS
173802011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17381
17382 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
17383 Preserve partition number in mdadm code path.
17384
c871b1c6
VS
173852011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17386
17387 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
17388 few potentially useful grub_util_info.
17389
5e631b4f
CW
173902011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17391
17392 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
17393
2d5d0333
CW
173942011-03-30 Colin Watson <cjwatson@ubuntu.com>
17395
17396 * docs/grub.texi (default): Use @example rather than nested
17397 itemized lists to avoid breaking gendocs.
17398
3d7ed04e
CW
173992011-03-30 Colin Watson <cjwatson@ubuntu.com>
17400
17401 * docs/grub.texi (Future): Update.
17402
abf04200 174032011-03-30 Colin Watson <cjwatson@ubuntu.com>
17404
17405 * docs/grub.texi (Environment): New chapter.
17406 (Changes from GRUB Legacy): Link to "Environment block" section for
17407 details of limitations.
17408 (Simple configuration): Likewise. Link to documentation of gfxmode
17409 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
17410 respectively.
17411 (Shell-like scripting): Note that normal variables are stored in the
17412 environment.
17413 (gettext): Link to documentation of lang and locale_dir.
17414 (list_env): New section.
17415 (load_env): New section.
17416 (save_env): New section.
17417
17418 (Reporting bugs): Fix typo.
17419
e1ad0edd
VS
174202011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17421
17422 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
17423 the example.
17424
5d803174
VS
174252011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17426
17427 * grub-core/term/at_keyboard.c (set_scancodes)
17428 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
17429
2a2da1d0
CW
174302011-03-30 Colin Watson <cjwatson@ubuntu.com>
17431
17432 * docs/grub.texi (Menu-specific commands): Remove some semantics
17433 that were true in GRUB Legacy but not in GRUB 2.
17434 (submenu): New section.
17435 (false): New section.
17436 (read): New section.
17437 (true): New section.
17438
a7527639
CW
174392011-03-30 Colin Watson <cjwatson@ubuntu.com>
17440
17441 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
17442
174432011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
17444
17445 * docs/grub.texi (Simple configuration): Explain some of the
17446 current limitations of grub-mkconfig.
8a748df2 17447 Reported by: Leslie Rhorer.
e30af029 17448
fc858482
VS
174492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17450
17451 Old macs search for boot.efi rather than for bootia32.efi.
17452
17453 * util/grub-install.in: Copy bootia32.efi to boot.efi.
17454 * util/grub-mkrescue.in: Likewise.
17455 Suggested by: Peter Jones.
17456
e1eb511d
VS
174572011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17458
17459 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
17460
70e75364
VS
174612011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17462
17463 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
17464 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
17465 (grub_lvm_mirror): New struct.
17466 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
17467 (grub_lvm_iterate): Iterate only visible volumes.
17468 (grub_lvm_read): Factor out to ..
17469 (read_lv): ... this. Support mirrors.
17470 (grub_lvm_read): New wrapper function.
17471 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
17472 stripped or mirrored.
17473
fc18f6a3
VS
174742011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17475
17476 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
17477
5c650f4c
CW
174782011-03-29 Colin Watson <cjwatson@ubuntu.com>
17479
17480 * docs/grub.texi (loopback): New section.
17481
61d7156b
CW
174822011-03-29 Colin Watson <cjwatson@ubuntu.com>
17483
17484 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
17485 removed -p option.
17486
994b8264
CW
174872011-03-29 Colin Watson <cjwatson@ubuntu.com>
17488
17489 * docs/grub.texi (BIOS installation): New section, partly based on
17490 previous text in other sections.
17491 (Installing GRUB using grub-install): Replace BIOS discussion with a
17492 cross-reference.
17493 (Images): Likewise.
17494
9e4d19e0
VS
174952011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17496
17497 * grub-core/kern/emu/hostdisk.c (find_partition_start)
17498 [HAVE_DIOCGDINFO]: Add safety checks.
17499
a307c0b2
VS
175002011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17501
17502 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
17503 per default compiled in kernel and prior to 8.0 isn't shipped at all.
17504
b4db4f39
CW
175052011-03-29 Colin Watson <cjwatson@ubuntu.com>
17506
17507 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
17508 real_sb->size is zero (e.g. RAID-0), get the disk size from
17509 real_sb->data_size instead.
17510 Fixes Ubuntu bug #743136.
17511
35e5f84c
VS
175122011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17513
17514 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
17515 printf clauses for printing size and start.
17516
d2e29d81
VS
175172011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17518
17519 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
17520 Reported and tested by: Timothy Nikkel.
17521
ed5587af
VS
175222011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17523
17524 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
17525 (dirty_region_add_real): ... this.
17526 (dirty_region_add): Don't discard margin refresh when performing
17527 scheduled repaint.
17528
a1dc717c
VS
175292011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17530
17531 * grub-core/lib/relocator.c (allocate_regstart)
17532 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
17533 terminals are capabple of malloc-free operation.
17534 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
17535 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
17536
9f3677d3
VS
175372011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
17538
17539 * util/grub-setup.c: Copy the partition table zone if floppy support
17540 is disabled, even if no partition table is found.
17541
17542 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
17543 during POST if an invalid partition table is contained in the PBR
17544 of the active partition when GRUB is installed to a partition.
17545
24148725
CW
175462011-03-28 Colin Watson <cjwatson@debian.org>
17547
17548 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
17549 comment.
17550
f329eda7
CW
175512011-03-28 Colin Watson <cjwatson@debian.org>
17552
17553 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
17554 to be specific about what kind of RAID device we're scanning for.
17555
c482ad98
SG
175562011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
17557
17558 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
17559 return freed string.
17560
5ee04984
VS
175612011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17562
17563 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
17564
f4727da9
VS
175652011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17566
17567 Use libgeom on FreeBSD to detect partitions.
17568
17569 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
17570 (grub-mkrelpath): Likewise.
17571 (grub-script-check): Likewise.
17572 (grub-editenv): Likewise.
17573 (grub-mkpasswd-pbkdf2): Likewise.
17574 (grub-fstest): Likewise.
17575 (grub-mkfont): Likewise.
17576 (grub-mkdevicemap): Likewise.
17577 (grub-probe): Likewise.
17578 (grub-setup): Likewise.
17579 (grub-ofpathname): Likewise.
17580 (grub-mklayout): Likewise.
17581 (example_unit_test): Likewise.
17582 (grub-menulst2cfg): Likewise.
17583 * grub-core/Makefile.core.def (grub-emu): Likewise.
17584 (grub-emu-lite): Likewise.
17585 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
17586 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
17587 define HAVE_DIOCGDINFO.
17588 (follow_geom_up) [FreeBSD]: New function.
17589 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
17590 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
17591 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
17592 unconditionally of HAVE_DIOCGDINFO.
17593
82fe6c75
VS
175942011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17595
17596 Fix FreeBSD compilation problem.
17597
17598 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
17599 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
17600
4c6c9431
CW
176012011-03-24 Colin Watson <cjwatson@ubuntu.com>
17602
17603 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
17604 Switch back to page zero before loading a kernel, since some kernel
17605 drivers expect that.
17606 Thanks to: Felix Kuehling.
17607
c7064d94
VS
176082011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17609
17610 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
17611 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
17612 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
17613
3f71cded
VS
176142011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17615
17616 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
17617 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
17618
ef6de21a
VS
176192011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17620
17621 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
17622 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
17623 malloc is disabled.
17624
8bc66a2c
VS
176252011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17626
17627 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
17628 for modules headers when counting the needed allocation size.
17629
5657722c
VS
176302011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17631
17632 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
17633 if no ASCII character is found to prevent crash.
17634
41a85f55
AK
176352011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
17636
17637 * grub-core/video/bitmap.c (match_extension): Ignore case.
17638
59e1e5f1
VS
176392011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17640
17641 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
17642
bd4d051a
VS
176432011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17644
17645 * grub-core/script/parser.y: Declare "time" as valid argument.
17646
bae7fcc1
PJ
176472011-03-23 Peter Jones <pjones@redhat.com>
17648
17649 Fix incorrect assert failure reporting.
17650
17651 * grub-core/tests/example_functional_test.c (example_test): Add
17652 a failure comment.
17653 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
17654 (failure_start): ...this. Check that malloc succeeded.
17655 Don't call xvasprintf. Return failure struct.
17656 (failure_append_vtext): New function.
17657 (failure_append_text): Likewise.
17658 (add_failure): Likewise.
17659 (grub_test_assert_helper): Likewise.
17660 * include/grub/test.h (grub_test_assert_helper): New declaration.
17661 (grub_test_assert): Macro rewritten.
17662
537dc9be
VS
176632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17664
17665 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
17666
fa3e01bf
VS
176672011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17668
17669 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
17670
b1d28404
VS
176712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17672
17673 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
17674 into GRUB-style one.
17675
2e3e2e09
VS
176762011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17677
17678 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
17679 error and not grub_errno.
17680 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
17681
ed57e557
VS
176822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17683
17684 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
17685 GRUB_USB_SPEED_NONE in case of failure and not the error code.
17686
d1611f01
VS
176872011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17688
17689 * grub-core/efiemu/i386/pc/cfgtables.c
17690 (grub_machine_efiemu_init_tables): Make declaration a prototype.
17691 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
17692 (grub_xnu_unlock): Likewise.
17693 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
17694
7d4e39d6
VS
176952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17696
17697 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
17698 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
17699 * grub-core/commands/hashsum.c (aliases): Likewise.
17700 * grub-core/commands/setpci.c (pci_registers): Likewise.
17701 * grub-core/disk/usbms.c (attach_hook): Likewise.
17702 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
17703 (zio_checksum_table): Likewise.
17704 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
17705 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
17706 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
17707 * grub-core/lib/relocator.c (leftovers): Likewise.
17708 (extra_blocks): Likewise.
17709 * grub-core/loader/i386/bsd.c (relocator): Likewise.
17710 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
17711 (modules_last): Likewise.
17712 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
17713 (devices): Likewise.
17714 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
17715 (modules_last): Likewise.
17716 * grub-core/normal/auth.c (users): Likewise.
17717 * grub-core/normal/context.c (initial_menu): Likewise.
17718 (current_menu): Likewise.
17719 * grub-core/normal/crypto.c (crypto_specs): Likewise.
17720 * grub-core/term/serial.c (grub_serial_ports): Likewise.
17721 (grub_serial_terminfo_input_template): Likewise.
17722 (grub_serial_terminfo_output_template): Likewise.
17723 (grub_serial_terminfo_input): Likewise.
17724 (grub_serial_terminfo_output): Likewise.
17725 (registered): Likewise.
17726 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
17727
40fc4659
VS
177282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17729
17730 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
17731 grub_video_mode_type_t.
17732 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
17733 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
17734 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
17735
2da48d28
VS
177362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17737
17738 * util/grub-install.in: Correct the x86-64 name as x86_64.
17739
9b43bf39
CW
177402011-03-11 Colin Watson <cjwatson@ubuntu.com>
17741
17742 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
17743 initial chunk read from the kernel always includes GRUB's multiboot
17744 header, which is now outside the first sector.
17745
be1a7ce0
CW
177462011-03-09 Colin Watson <cjwatson@ubuntu.com>
17747
17748 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
17749 cached mmap_size, so that this works correctly when called multiple
17750 times.
17751 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
17752
83a3c48d
CW
177532011-03-09 Colin Watson <cjwatson@ubuntu.com>
17754
17755 * docs/grub.texi (Simple configuration): Tidy up formatting.
17756
57d75699
SJ
177572011-03-07 Szymon Janc <szymon@janc.net.pl>
17758
17759 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
17760 Set-but-not-used variable removed.
17761
028501a0
VS
177622011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17763
17764 Workaround yet another IEEE1275 bug.
17765
17766 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
17767 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
17768 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
17769 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
17770 is set.
17771 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17772 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
17773
d998657d
VS
177742011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17775
17776 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
17777 error.
17778
fee7cdd4
CW
177792011-02-11 Colin Watson <cjwatson@ubuntu.com>
17780
17781 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
17782 empty, since in that case we can only generate either nothing or a
17783 syntactically invalid configuration file.
17784 Reported by: Michal Suchanek. Fixes Debian bug #612898.
17785
97286eb5
CW
177862011-02-09 Colin Watson <cjwatson@ubuntu.com>
17787
17788 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
17789 (Making a GRUB bootable CD-ROM): Likewise.
17790 (Invoking grub-mkrescue): New section.
17791 Reported by: Yann Dirson. Fixes Debian bug #612585.
17792
22b28eb3
CW
177932011-02-09 Colin Watson <cjwatson@ubuntu.com>
17794
17795 * util/grub-install.in: Remove unnecessary brackets from tr
17796 arguments.
17797 * util/grub.d/10_hurd.in: Likewise.
17798 * util/grub.d/10_kfreebsd.in: Likewise.
17799 * util/grub.d/10_linux.in: Likewise.
17800 * util/grub.d/20_linux_xen.in: Likewise.
17801 Reported by: Jamie Heilman. Fixes Debian bug #612564.
17802
7e735e43
CW
178032011-02-08 Colin Watson <cjwatson@ubuntu.com>
17804
17805 * include/grub/file.h (not_easly_seekable): Rename to ...
17806 (not_easily_seekable): ... this. Update all users.
17807
800f1881
CW
178082011-01-28 Colin Watson <cjwatson@ubuntu.com>
17809
17810 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
17811 grub-mkrescue.
17812
3281d3d6
VS
178132011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
17814
17815 * util/grub-mkimage.c (generate_image): Refuse to create the images
17816 bigger than the actual flash (512K) in Loongson machines. 512K is also
17817 the biggest chip supported by them.
17818
3533413c
VS
178192011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17820
17821 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
17822
73ae4f4f
VS
178232011-01-22 Anthony DeRobertis <anthony@derobert.net>
17824
17825 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
17826 super_offset field.
17827
37f4f608
VS
178282011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17829
17830 * util/grub-install.in: Ignore install device on platforms
17831 where it doesn't make sense. Always use UUIDs except on pc, efi and
17832 sparc64.
17833 Reported by: Daniel Kahn Gillmor.
17834
03a4ccb5
VS
178352011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17836
17837 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
17838
ffc8f4d8
VS
178392011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17840
17841 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
17842 (iterate_real): Don't rely on partition being non-NULL.
17843
80f23be7
VS
178442011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17845
17846 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
17847 supported platforms. Put a compile time assert for this rather than
17848 generate a warning with 32-bit shift.
17849
5d4f4dd5
VS
178502011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17851
17852 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
17853 logical expression more readable.
17854
e489601a
VS
178552011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17856
17857 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
17858 even if some elements have a name.
17859 Reported by: Alexander GQ Gerasiov.
17860
96e0a6ea
CW
178612011-01-22 Colin Watson <cjwatson@ubuntu.com>
17862
17863 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
17864 path unreadable if `grub-probe -t abstraction' fails, for example if
17865 memberlist fails on an LVM volume group.
17866 Reported by: Darius Jahandarie.
17867
81431e2b
CW
178682011-01-22 Colin Watson <cjwatson@ubuntu.com>
17869
17870 * docs/grub.texi (Simple configuration): Document
17871 GRUB_PRELOAD_MODULES.
17872
5e79d66a
CW
178732011-01-17 Colin Watson <cjwatson@ubuntu.com>
17874
17875 * .bzrignore: Remove nonexistent grub-pbkdf2.
17876
646ada34
VS
178772011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
17878
17879 * configure.ac: Bump version to 1.99~rc1.
17880
04360337
VS
178812011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17882
17883 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
17884 for safety.
17885
46c9db88
VS
178862011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17887
17888 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
17889 module.
17890
178912011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
17892
17893 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
17894
4fbf1852
VS
178952011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17896
17897 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
17898 diskdevid.
17899
f1632d4d
VS
179002011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17901
17902 Fix compilation on cygwin.
17903
17904 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
17905 -R .drectve on cygwin.
17906 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
17907 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
17908 (COND_CYGWIN): New condition.
17909 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
17910 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
17911 not @TARGET_OBJ2ELF@.
17912 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
17913 type to determine whether aux is to be used.
17914
0b5e127b
VS
179152011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17916
17917 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
17918 realpath'ed device string.
17919 Handle floppy (somewhat).
17920 Issue error in unknown case rather than garbage.
17921 Reported by: Axel Beckert.
17922
173b71e9
VS
179232011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17924
17925 * util/grub.d/00_header.in (load_video): Handle the case when no video
17926 drivers available.
17927 Thanks to: Axel Beckert.
17928
f8f479db
VS
179292011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17930
17931 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
17932 variable. Fixes problem on big endian platforms.
17933
8fc0a245
VS
179342011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17935
17936 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
17937 It doesn't work well there.
17938
b8494fbe
VS
179392011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17940
17941 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
17942 warning.
17943 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
17944 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
17945 counter.
17946
b44a558c
VS
179472011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17948
17949 Use alias->path rather than buggy "canon".
17950
17951 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
17952 (ofdisk_hash_add): New argument curcan. All users updated.
17953
51fa856c
CW
179542011-01-11 Colin Watson <cjwatson@ubuntu.com>
17955
17956 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
17957
9da068a5
VS
179582011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
17961 loadmask before doing any calculations. Use correct type for offset.
17962 (grub_linux_load64): Likewise.
17963
86205c94
CW
179642011-01-11 Colin Watson <cjwatson@ubuntu.com>
17965
17966 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
17967 with NULL.
17968 (console_grub_equivalences_unshift): Likewise.
17969 Reported by: Daniel Dehennin.
17970
4531a206
VS
179712011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17972
17973 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
17974 (set_env_limn_ro): Likewise.
17975 (GRUB_MOD_INIT): Likewise.
17976 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
17977 ARRAY_SIZE while on it.
17978 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
17979 * grub-core/normal/context.c (grub_env_export): Move from here ...
17980 * grub-core/kern/env.c (grub_env_export): ... here.
17981 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
17982 prefix.
17983 * grub-core/kern/main.c (grub_main): Export root and prefix.
17984 * include/grub/env.h (grub_env_export): Export.
17985 Reported by: Seth Goldberg.
17986
45146057
VS
179872011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17988
17989 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17990 Take into account space used by ELF sections and multiboot palette.
17991 Reported by: Grégoire Sutre.
17992
f093110b
VS
179932011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17994
17995 * BUGS: New file.
17996
3395fe52
VS
179972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17998
17999 Pass more appropriate video id to Linux.
18000
18001 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
18002 grub_video_get_driver_id and variable gfxpayloadforcelfb to
18003 fill have_vga.
18004 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
18005 shift params->lfb_size.
18006 * include/grub/i386/linux.h: Make an enume out of have_vga values.
18007
c2fa6cbb
VS
180082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18009
18010 * util/grub-menulst2cfg.c: Add missing include of misc.h.
18011
b3ff6ff0
VS
180122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18013
18014 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
18015 separator and pass bootpath/devid even if only one of them is available.
18016 Reported by: Seth Goldberg.
18017
ae67942e
VS
180182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18019
18020 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
18021 implementations bug on them.
18022
18023 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
18024 memory.
18025 (filter_memory_map): Likewise.
18026
d570097a
VS
180272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18028
18029 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
18030 Reported by: nebuchadnezzar.
18031
a508e776
VS
180322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18033
18034 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
18035 Reported by: nebuchadnezzar.
18036
dcb883b1
VS
180372011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18038
18039 Submenu default support.
18040
18041 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
18042 auto_boot. All users updated.
18043 Declared static.
18044 Handle chosen and default with submenus.
18045 (grub_menu_execute_with_fallback): Declared static.
18046 Don't notify failure if autobooted. Upper level does it.
18047 (menuentry_eq): New function.
18048 (get_entry_number): Use menuentry_eq.
18049 (show_menu): New parameter "autobooted". All users updated.
18050 (grub_show_menu): Likewise.
18051 * include/grub/normal.h (grub_show_menu): Likewise.
18052 * include/grub/menu.h (grub_menu_execute_entry): Removed.
18053 (grub_menu_execute_with_fallback): Likewise.
18054
6fef99b4
VS
180552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18056
18057 * util/grub-mklayout.c (usage): Update help text.
18058
47a77af5
VS
180592011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18060
18061 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
18062
ce6bb3ee
VS
180632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18064
18065 * util/grub-menulst2cfg.c (main): Trim the line.
18066
db87be2a
VS
180672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18068
18069 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
18070 (grub_machine_init): Don't check amount of low memory as reportedly
18071 INT 12h can be broken and if low memory is too low we wouldn't have
18072 gotten into grub_machine_init anyway.
18073
c49849cc
VS
180742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18075
18076 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
18077 (grub_machine_mmap_iterate): Take low memory into account
18078
b1969b30
VS
180792011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18080
18081 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
18082 badfs.
18083 Reported by: TiCPU.
18084
cf0eaf13
VS
180852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18086
18087 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
18088 members errors.
18089
1f060f39
GS
180902011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
18091
18092 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
18093 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
18094
a21e5672
GS
180952011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
18096
18097 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
18098 openbsd and netbsd types being in part_bsd module.
18099
c88172fa
VS
181002011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18101
18102 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
18103 (_FILE_OFFSET_BITS): Likewise.
18104 Reported by: Seth Goldberg.
18105
53798c4b
GS
181062011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18107
18108 * configure.ac: Check for libdevmapper header.
18109
e7121b69
VS
181102011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18111
18112 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
18113 avoid aliasing.
18114 (fzap_lookup): Likewise.
18115 (dnode_get): Likewise.
18116 (make_mdn): Likewise.
18117 (zfs_mount): Likewise.
18118 (fzap_iterate): Use temporary pointer to avoid aliasing.
18119 (grub_zfs_read): Likewise.
18120 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
18121 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
18122 pointers to avoid aliasing.
18123 (grub_cmd_xnu_kernel64): Likewise.
18124 (grub_xnu_load_driver): Likewise.
18125
fc836af9
VS
181262011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18127
18128 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
18129 aliasing warning.
18130 (grub_cmd_terminal_output): Likewise.
18131 Reported and tested by: Grégoire Sutre.
18132
f9f37648
VS
181332011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18134
18135 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
18136 warning.
18137 Reported and tested by: Grégoire Sutre.
18138
ec1dfd63
VS
181392011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18140
18141 * configure.ac: Do CPU substitution even if it's specified explicitly.
18142 Reported and tested by: Alain Greppin.
18143
9462775a
VS
181442011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18145
18146 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
18147 Reported and tested by: Alain Greppin.
18148
0fd48e35
VS
181492011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18150
18151 Satisfy some bison versions need for inttypes.h.
18152
18153 * grub-core/lib/posix_wrap/inttypes.h: New file.
18154 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
18155 (int16_t): Likewise.
18156 (int32_t): Likewise.
18157 (int64_t): Likewise.
18158 Reported and tested by: Alain Greppin.
18159
43f1bc83
VS
181602011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18161
18162 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
18163 Silence spurious warning.
18164 Reported and tested by: Alain Greppin.
18165
64d1f041
SJ
181662011-01-07 Szymon Janc <szymon@janc.net.pl>
18167
18168 * docs/grub.texi (Support automatic decompression): Update with xz
18169 decompression support.
18170
25953e10
SJ
181712011-01-07 Szymon Janc <szymon@janc.net.pl>
18172
18173 Improve loaders' kernel command line handling.
18174
18175 * grub-core/lib/cmdline.c: New file.
18176 * include/grub/lib/cmdline.h: Likewise.
18177 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
18178 grub_create_loader_cmdline to create kernel command line.
18179 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18180 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
18181 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
18182 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
18183 (linux): Add lib/cmdline.c on common.
18184
e72d259f
VS
181852011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18186
18187 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
18188 inopos might be unaligned.
18189
c0cf26da
VS
181902011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18191
18192 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
18193 endian transformations.
18194 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18195 Based on report by: Doug Nazar.
18196
0ca09e6c
DN
181972011-01-07 Doug Nazar <nazard.michi@gmail.com>
18198
18199 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
18200 array->members[i].start_sector.
18201 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
18202
014b6806
VS
182032011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18204
18205 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
18206 Reported and tested by: Grégoire Sutre.
18207
415502c2
CW
182082011-01-06 Colin Watson <cjwatson@ubuntu.com>
18209
18210 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
18211 avoid causing test failures by clearing the screen.
18212
71b6a2b7
CW
182132011-01-06 Colin Watson <cjwatson@ubuntu.com>
18214
18215 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18216 Fix prefix check to handle the case where dir ends with a slash
18217 (most significantly, "/" itself).
18218 Reported by: Michael Vogt.
18219
b3f8d28a
VS
182202011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18221
18222 Run terminfo_cls on initing terminfo output to clear the screen and
18223 move the cursor to (0,0).
18224
18225 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
18226 Call grub_terminfo_output_init.
18227 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
18228 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
18229 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
18230
4c3e4f37
VS
182312011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
18234 only when needed.
18235
488f71f1
VS
182362011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18237
18238 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
18239 CTRL.
18240
18a38098
VS
182412011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18242
18243 The E820 type 5 is BADRAM, not EXEC_CODE.
18244
18245 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
18246 (GRUB_E820_BADRAM): New define.
18247 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
18248 into reserved. Propagate BADRAM.
18249 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
18250 (GRUB_E820_BADRAM): New define.
18251
9eae2084
VS
182522011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18253
18254 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
18255 Ignore the memory post-4G.
18256 (grub_relocator_firmware_alloc_region): Additional debug statement.
18257
ebc71d28
VS
182582011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18259
18260 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
18261 names.
18262 Reported by: David Pravec.
18263
446fa400
VS
182642011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18265
18266 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
18267 BIOSes.
18268
a0159f37
VS
182692011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18270
18271 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
18272 Prevent overflow.
18273 (grub_reed_solomon_recover): Likewise.
18274
e5146ca1
VS
182752011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18276
18277 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
18278
182792011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
18280
18281 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
18282 variable.
18283
5b1bdf12
CW
182842011-01-04 Colin Watson <cjwatson@ubuntu.com>
18285
18286 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
18287 descriptions of extract_legacy_entries_source and
18288 extract_legacy_entries_configfile.
18289 Reported by: Seung Soo, Ha.
18290
99d925aa
CW
182912011-01-03 Colin Watson <cjwatson@ubuntu.com>
18292
18293 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
18294 on devices that do not implement function 0.
18295
4af0504b
DV
182962011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
18297
18298 * grub-core/fs/hfsplus.c: Make parent unsigned.
18299 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
18300 overflows.
18301 (grub_hfsplus_cmp_extkey): Likewise
18302
469ee10a
VS
183032011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
18304
18305 * util/grub-install.in: Correctly use bootloader_id and not
18306 GRUB_DISTRIBUTOR on efibootmgr line.
18307
323a8e9c
VS
183082011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
18309
18310 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
18311
1b394975
IC
183122010-12-31 Ian Campbell <ijc@hellion.org.uk>
18313
18314 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
18315 Xen and reorder menu item wording to make it clearer that this entry
18316 will launch Xen. Print separate messages when loading Xen and
18317 Linux.
18318
275bff5f
VS
183192010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18320
18321 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
18322 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
18323 loop in case of incorrect amiga partmap.
18324
307806cb
VS
183252010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18326
18327 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
18328 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
18329 Reported by:EHeM.
18330
b12b923e
VS
183312010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18332
18333 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
18334 spurious warning.
18335 Reported by: crocket
18336
14b48a19
VS
183372010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18338
18339 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
18340 Preload EFIemu.
18341 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
18342
693db2df
VS
183432010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18344
18345 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
18346 is loaded
18347 (grub_cmd_xnu_kextdir): Likewise.
18348 (grub_cmd_xnu_splash): Likewise.
18349
c7638645
VS
183502010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18351
18352 Avoid using Reed-Solomon with 0 redundancy.
18353
18354 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
18355 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
18356 or 0 redundancy.
18357 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
18358 (grub_reed_solomon_recover): Likewise.
18359
25dd4780
VS
183602010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18361
18362 Don't use disk subsystem in freebsd_boot.
18363
18364 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
18365 (freebsd_biosdev): Likewise.
18366 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
18367 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
18368
0b2db943
VS
183692010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
18370
18371 Handling of files of unknown size is currently limited. They can't be
18372 used e.g. for initrd or modules. Moreover gzip handling of not
18373 easily seekable files is buggy. Disable unknown file size for now. May
18374 be inefficient but works.
18375
18376 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
18377 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
18378
5c408d0f
MP
183792010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
18380
18381 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
18382 floppy probe.
18383
190a011a
JD
183842010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
18385
18386 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
18387
022d01b8
SL
183882010-12-25 Shea Levy <shlevy>
18389
18390 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
18391
c4855fdc
VS
183922010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18393
18394 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
18395 Windows Server 2008.
18396 Reported by: Devin Giddings.
18397
0354b867
VS
183982010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18399
18400 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
18401 writing an error message because of async power management.
18402 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
18403 (grub_reboot): Likewise.
18404
ab66c69f
JU
184052010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
18406
18407 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
18408 keep unit tests from failing when they shouldn't.
18409
1426ef35
CW
184102010-12-21 Colin Watson <cjwatson@ubuntu.com>
18411
18412 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
18413 previous patch increased the size of the RS code by 20 bytes (at
18414 least with gcc-4.4), so increase this by 20 bytes to match.
18415 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18416
20641b6b
CW
184172010-12-21 Colin Watson <cjwatson@ubuntu.com>
18418
18419 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
18420 scratch area. Make sure to initialise chosen in standalone mode as
18421 well as non-standalone.
18422 Reported by: Robert Hooker and Andy Whitcroft.
18423 Tested by: Andy Whitcroft.
18424
d060ad60
CW
184252010-12-21 Colin Watson <cjwatson@ubuntu.com>
18426
18427 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
18428 constructing a new unescaped string and passing it to grub_xputs in
18429 one go, rather than passing characters to grub_printf one at a time.
18430
b889cfad
CW
184312010-12-21 Colin Watson <cjwatson@ubuntu.com>
18432
18433 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
18434 initialising utf16.
18435
4e01b6c8
CW
184362010-12-21 Colin Watson <cjwatson@ubuntu.com>
18437
18438 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
18439 comment. Add an extra layer of quotation, requiring the output of
18440 this function to be used in a printf format string.
18441 (gettext_printf): New function.
18442 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
18443 Extract translatable strings from here-documents and use a temporary
18444 variable instead, so that xgettext can find them.
18445 * util/grub.d/10_kfreebsd.in: Likewise.
18446 * util/grub.d/10_linux.in: Likewise.
18447 * util/grub.d/20_linux_xen.in: Likewise.
18448
18449 * po/grub.d.sed: New file.
18450 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
18451 arguments. Set c-format flags on all strings extracted from
18452 util/grub.d/ (xgettext refuses to include these itself for strings
18453 it extracted from a shell file, but these really are c-format).
18454
5318fe98
VS
184552010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18456
18457 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
18458 Avoid next pointing to nowhere.
18459
6c85b743
VS
184602010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18461
18462 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
18463 rather than assuming than rootblock is exactly in the middle.
18464 (grub_affs_label): Likewise.
18465
a2a08a35
VS
184662010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18467
18468 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
18469 reserved_first_sector to 0.
18470 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
18471 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
18472 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
18473
7059d1ec
VS
184742010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18475
18476 Fix handling of UTF-16 UDF labels.
18477
18478 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
18479 (read_string): .. here.
18480 (grub_udf_label): Use read_string.
18481
30aff4cb
BC
184822010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
18483
18484 * grub-core/normal/menu_entry.c (run): Execute commands from menu
18485 editor under argument scope.
18486 Reported by: Jordan Uggla
18487
5cf86f4b
VS
184882010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18489
18490 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
18491
32570200
CW
184922010-12-18 Colin Watson <cjwatson@ubuntu.com>
18493
18494 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
18495 line, and other keys scroll an entire page (previous handling was
18496 for \r and \n to scroll a page and other keys to scroll two lines).
18497
e1dffcf2
VS
184982010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18499
18500 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18501 Set ptrdest to correct get_physical_target_address rather than
18502 incorrect get_virtual_current_address.
18503
b04298cf 185042010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
18505
18506 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
18507 correct cat to grub_uint8_t * rather than grub_uint32_t *.
18508
5367ecd3
CW
185092010-12-10 Colin Watson <cjwatson@ubuntu.com>
18510
18511 * .bzrignore: Ignore grub-core/rs_decoder.S.
18512
1fb430f8
CW
185132010-12-10 Colin Watson <cjwatson@ubuntu.com>
18514
18515 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
18516 .mo/.mo.gz opening sequence to ...
18517 (grub_mofile_open_lang): ... here.
18518 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
18519 * util/grub.d/00_header.in (grub_lang): Include country part of
18520 locale.
18521 Reported by: Mario Limonciello.
18522
a94a6671
RM
185232010-12-09 Robert Millan <rmh@gnu.org>
18524
18525 * NEWS: Document addition of ZFS support.
18526
24b7938b
CW
185272010-12-04 Colin Watson <cjwatson@ubuntu.com>
18528
18529 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
18530 rather than `/ 2', as the latter requires -Wa,--divide which would
18531 require bumping our minimum binutils version.
18532
bddc3ef6
BC
185332010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
18534
18535 * util/grub-script-check.c (main): Print script line number on
18536 error.
18537
bf78d5b2
RM
185382010-12-01 Robert Millan <rmh@gnu.org>
18539
18540 * grub-core/fs/zfs/zfs.c: New file.
18541 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
18542 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
18543 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
18544 * grub-core/fs/zfs/zfsinfo.c: Likewise.
18545
18546 * include/grub/zfs/dmu.h: Likewise.
18547 * include/grub/zfs/dmu_objset.h: Likewise.
18548 * include/grub/zfs/dnode.h: Likewise.
18549 * include/grub/zfs/dsl_dataset.h: Likewise.
18550 * include/grub/zfs/dsl_dir.h: Likewise.
18551 * include/grub/zfs/sa_impl.h: Likewise.
18552 * include/grub/zfs/spa.h: Likewise.
18553 * include/grub/zfs/uberblock_impl.h: Likewise.
18554 * include/grub/zfs/vdev_impl.h: Likewise.
18555 * include/grub/zfs/zap_impl.h: Likewise.
18556 * include/grub/zfs/zap_leaf.h: Likewise.
18557 * include/grub/zfs/zfs.h: Likewise.
18558 * include/grub/zfs/zfs_acl.h: Likewise.
18559 * include/grub/zfs/zfs_znode.h: Likewise.
18560 * include/grub/zfs/zil.h: Likewise.
18561 * include/grub/zfs/zio.h: Likewise.
18562 * include/grub/zfs/zio_checksum.h: Likewise.
18563
18564 * Makefile.util.def: Build ZFS into libgrubmods.
18565 * grub-core/Makefile.core.def: Build zfs.mod.
18566
3f0f3831
SJ
185672010-11-30 Szymon Janc <szymon@janc.net.pl>
18568
18569 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
18570 variable.
18571 * grub-core/commands/wildcard.c (match_files): Likewise.
18572
3a4253b2
RM
185732010-11-30 Robert Millan <rmh@gnu.org>
18574
18575 * grub-core/loader/i386/bsd.c
18576 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
18577 whether kernel is loaded using grub_loader_is_loaded(), rather
18578 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
18579 certain error conditions.
18580
8c317b27
RM
185812010-11-30 Robert Millan <rmh@gnu.org>
18582
c5c9cd3e
RM
18583 * grub-core/commands/echo.c: Include `<grub/term.h>'.
18584 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 18585
49d3ab46
VS
185862010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18587
18588 Avoid using tricks for initialising endian variables.
18589
18590 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
18591 Make const.
18592 (GRUB_MOD_INIT): Don't byte-swap.
18593 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18594 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
18595 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
18596 (grub_swap_bytes32_compile_time): Likewise.
18597 (grub_cpu_to_le32_compile_time): Likewise.
18598 (grub_cpu_to_le16_compile_time): Likewise.
18599
f420a804
VS
186002010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18601
18602 * util/grub-setup.c (setup): Stop recommending --force. People who
18603 understand the dangers of blocklists are able to find this option
18604 anyway and the ones who don't shouldn't use it anyway.
18605
4e7db17b
RM
186062010-11-26 Robert Millan <rmh@gnu.org>
18607
18608 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
18609 Update all users.
18610
9be57a0d
CW
186112010-11-26 Colin Watson <cjwatson@ubuntu.com>
18612
18613 Fix LVM-on-RAID probing.
18614
18615 * util/grub-probe.c (probe): Remember which disk was detected as
18616 RAID (perhaps an LVM physical volume). Use that disk's raidname
18617 rather than that of the top-level disk.
18618
2c7859b3 186192010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 18620
d7647bb6
BC
18621 Fix cmdline argument quotes for setparams command of menuentry
18622 definitions.
7e623b0d
BC
18623
18624 * grub-core/commands/menuentry.c (setparams_prefix): Use single
18625 quotes for arguments.
f866fe80 18626 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 18627 grub_strchrsub function instead.
f866fe80 18628
7955bea0 18629 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 18630
74f72a64
CW
186312010-11-24 Colin Watson <cjwatson@ubuntu.com>
18632
18633 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
18634 effort by skipping "." and ".." entries up-front.
18635 Suggested by: Michael Lazarev.
18636
5a407278
CW
186372010-11-24 Colin Watson <cjwatson@ubuntu.com>
18638
18639 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
18640 ldflags to ldadd, to fix link line ordering.
18641 (none_decompress): Likewise.
18642
3030d8ec
CW
186432010-11-24 Colin Watson <cjwatson@ubuntu.com>
18644
18645 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
18646 platforms.
18647 (grub-emu-lite): Remove kern/emu/cache.S.
18648
b7fbac12
CW
186492010-11-23 Colin Watson <cjwatson@ubuntu.com>
18650
18651 * util/deviceiter.c (compare_devices): If the by-id link for a
18652 device couldn't be resolved, fall back to sorting by the by-id link
18653 rather than segfaulting.
18654 Reported and tested by: Daniel Mierswa.
18655
5225f328
CW
186562010-11-23 Colin Watson <cjwatson@ubuntu.com>
18657
18658 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
18659 ldflags, to fix link line ordering.
18660
038b3ce8
CW
186612010-11-23 Colin Watson <cjwatson@ubuntu.com>
18662
18663 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
18664 linkers are picky about this.
18665
bf16e98e
CW
186662010-11-23 Colin Watson <cjwatson@ubuntu.com>
18667
18668 * grub-core/Makefile.am (command.lst): Adjust sed expression
18669 ordering so that extended and priority commands aren't treated as
18670 ordinary commands.
18671
7242bab6
CW
186722010-11-23 Colin Watson <cjwatson@ubuntu.com>
18673
18674 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18675 Remove byte-swapping function calls, which are not valid in
18676 structure initialisers.
18677 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
18678 non-const.
18679 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
18680 grub_gpt_partition_type_bios_boot.
18681
14e8b279
CW
186822010-11-22 Colin Watson <cjwatson@ubuntu.com>
18683
18684 Fix test program build on GNU/kFreeBSD.
18685
18686 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
18687 $(LIBNVPAIR)' library dependencies.
18688
e6f63338 186892010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
18690
18691 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
18692
cf8ffc38
CW
186932010-11-22 Colin Watson <cjwatson@ubuntu.com>
18694
18695 * util/grub-install.in: Remove excessive quoting that broke
18696 installations to RAID devices.
18697
7f8b0fd7
VS
186982010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
18701 bootloader version instead of 0.
18702
dfd240b1
VS
187032010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18704
18705 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
18706 warning.
18707
7b61e609
VS
187082010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18709
18710 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
18711 retrieve the metadat sector if size isn't known.
18712 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18713
9dfe92d0
RM
187142010-11-18 Robert Millan <rmh@gnu.org>
18715
18716 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
18717 with grub_memcmp().
18718
41cc919e
VS
187192010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
18720
18721 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
18722 arrow.
18723 Reported by: Jordan Uggla.
18724
1afcc914
VS
187252010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18726
18727 Make better UTF compliant.
18728
18729 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
18730 sequences as incorrect.
18731 (grub_is_valid_utf8): Likewise.
18732 (grub_utf8_to_ucs4): Likewise.
18733 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
18734 (grub_ucs4_to_utf8_alloc): Likewise.
18735 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
18736
f1808884
VS
187372010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18738
18739 Make legacy_source behave like source.
18740
18741 * grub-core/commands/legacycfg.c (legacy_file): Don't call
18742 grub_show_menu.
18743 (grub_cmd_legacy_source): Call grub_show_menu if needed.
18744
24ec575b
CW
187452010-11-16 Colin Watson <cjwatson@debian.org>
18746
18747 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
18748 (-Wunused implies -Wunused-parameter, but not vice versa).
18749
72b7c7aa
CW
187502010-11-16 Colin Watson <cjwatson@ubuntu.com>
18751
18752 * configure.ac: Make error messages less confusing by testing for
18753 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
18754 accepted, but produces a diagnostic if something else is wrong).
18755
e98937aa
VS
187562010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18757
18758 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
18759 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
18760 (now unused).
18761 (grub_keyboard_controller_init)
18762 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
18763 read the initial state since controller isn't inited yet.
18764
f6bbabc3
VS
187652010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18766
18767 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
18768 allocate_regbeg may need to create new chunk header.
18769
22e7dbb2
VS
187702010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18771
18772 Fix quoting in legacy parser.
18773
18774 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
18775 single quotes.
18776 (grub_legacy_parse): Likewise.
18777 Reported by: Jordan Uggla.
18778 Tested by: Jordan Uggla.
18779
03f80960
VS
187802010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18781
18782 Don't add -lgcc on i386 and x86_64.
18783
18784 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
18785 * conf/Makefile.common (LDADD_KERNEL): Likewise.
18786 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
18787
779dc15b
VS
187882010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18789
18790 * configure.ac: Add -Wno-trampolines when supported.
18791
d20a3b37
MV
187922010-11-14 Modestas Vainius <modax@debian.org>
18793
18794 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
18795 fakeraid.
18796
e5360933
GC
187972010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18798
18799 Add generic logical block size support for UDF.
18800
18801 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
18802 (GRUB_UDF_BLKSZ): Removed.
18803 (struct grub_udf_data): New field "lbshift" to hold the logical block
18804 size of the file system in log2 format. All users updated.
18805 (sblocklist): Change type to unsigned.
18806 (grub_udf_mount): Change type of "sblklist" to unsigned.
18807 Move AVDP search before VRS recognition, because the latter requires
18808 knowledge of the logical block size, which is detected during the
18809 former.
18810 Detect and validate logical block size during AVDP search, adding
18811 support for block sizes 512, 1024 and 4096.
18812 Make VRS recognition independent of block size.
18813
cb0229c5
GC
188142010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18815
18816 Properly handle deleted files on UDF.
18817
18818 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
18819 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
18820 set.
18821
406858a8
GC
188222010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18823
18824 Support reading files larger than 2 GiB.
18825
18826 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
18827 "offset" to grub_off_t.
18828 (grub_udf_read_file): Likewise for parameter "pos".
18829
130da6a7
VS
188302010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18831
18832 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
18833 unavailable.
18834 (Simple configuration): Refer to Changes from GRUB Legacy about
18835 save_env availability.
18836
65e93f6b
VS
188372010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18838
18839 * util/grub-install.in: Ignore empty partition table detection
18840 instead of trying to include part_ module.
18841
1fd08bf1
VS
188422010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18843
18844 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
18845 LVM on RAID support.
18846
de1a024f
VS
188472010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18848
18849 Properly define WORDS_BIGENDIAN in wrapped environments.
18850
18851 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
18852 definition.
18853 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
18854
18855 Reported by: Manoel Rebelo Abranches.
18856 Tested by: Manoel Rebelo Abranches.
18857
bc5dd0b9
VS
188582010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18859
18860 * util/grub-mkconfig.in: Fix quoting.
18861
58c184be
VS
188622010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18863
18864 Support big ext2 files.
18865
18866 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
18867 (grub_ext2_read_block): Support triple indirect blocks.
18868 (grub_ext2_read_file): Use 64-bit types and read size_high.
18869 (grub_ext2_open): Read size_high.
18870 Reported by: Ximin Luo.
18871 Tested by: Manoel Rebelo Abranches.
18872
5f0c02b3
VS
188732010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18874
18875 * util/grub-install.in: Handle filenames containing spaces.
18876 Reported by: Jordan Uggla.
18877 Tested by: Jordan Uggla.
18878
4417aae6
VS
188792010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18880
18881 * util/grub-mkconfig.in (grub_script_check): New variable.
18882 Use grub_script_check instead of grub-script-check.
18883 Reported by: Barry Jackson.
18884
7625a68e
VS
188852010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18886
18887 * docs/grub.texi (menu): Correct the order.
18888 Reported by: D. Hugh Redelmeier.
18889
10001ac5
VS
188902010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
18891
18892 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
18893 jump.
18894
9c4cf53b
MRA
188952010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18896
10001ac5
VS
18897 * include/grub/elfload.h (grub_elf32_size): New parameter.
18898 All users updated.
9c4cf53b
MRA
18899 Return maximum segments alignment.
18900 (grub_elf64_size): Likewise.
18901 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
18902 Return maximum segments alignment.
18903 (grub_elf64_size): Likewise.
18904 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
18905 (grub_linux_claimmap_iterate): New function. Uses the
18906 "available" property in the "memory" node for memory allocation
18907 for kernel in the PowerPC loader.
9c4cf53b
MRA
18908 (grub_linux_load32): Correctly find linux entry point offset.
18909 (grub_linux_load64): Likewise.
18910
d2bf06bf
RM
189112010-11-07 Robert Millan <rmh@gnu.org>
18912
18913 On mips-yeeloong, build with -march=loongson2f when this flag is
18914 available (GCC >= 4.4).
18915 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
18916 `-march=mips3'.
18917 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
18918 or otherwise add -march=mips3.
18919
898c99a2
BC
189202010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
18921
87220a68
BC
18922 Suppress shell expansion on echo '*' and echo "*" like cases.
18923 Reported by: Jordan Uggla.
898c99a2
BC
18924
18925 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
18926 string arguments before shell expansion.
18927 * tests/grub_cmd_echo.in: New testcases.
18928
4f9b406a
RM
189292010-11-07 Robert Millan <rmh@gnu.org>
18930
18931 * conf/mips-qemu-mips.rmk: Remove stale file from previous
18932 transition.
18933
80c6d25e
VS
189342010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
18935
18936 * grub-core/kern/emu/hostdisk.c
18937 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
18938
4a1a0153
VS
189392010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18940
18941 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
18942 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
18943 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
18944
34706ddc
VS
189452010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18946
18947 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
18948
6972dea9
VS
189492010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18950
18951 * util/grub-install.in: Replace useless recomendation to pass
18952 --modules with a recomendation to report a bug.
18953
9c693bd6
VS
189542010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18955
18956 Properly register serial terminfo.
18957 Reported by: Jordan Uggla
18958
18959 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
18960 const.
18961 (grub_serial_terminfo_output_template): Likewise.
18962 (grub_cmd_serial): Register "serial" with terminfo.
18963 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
18964 grub_serial_terminfo_output.
18965
6c9e4c0c
RM
189662010-11-05 Robert Millan <rmh@gnu.org>
18967
18968 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
18969 needed).
18970
b9b3839f
RM
189712010-11-05 Robert Millan <rmh@gnu.org>
18972
18973 On Yeeloong, pass machine type information to Linux.
18974
18975 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
18976 (LOONGSON_MACHTYPE): New macro, set to
18977 "machtype=lemote-yeeloong-2f-8.9inches".
18978 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
18979 additional argument to Linux.
18980
1a3aaff4
RM
189812010-11-04 Robert Millan <rmh@gnu.org>
18982
18983 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
18984 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
18985 (its SATA disks are detected as slaveless IDE master drives on
18986 kFreeBSD).
18987 Reported by Carsten Aulbert.
18988
a75f4f62
CW
189892010-11-02 Colin Watson <cjwatson@ubuntu.com>
18990
18991 * util/bin2h.c (main): Fix spelling error in generated output.
18992
33b4b0c6
GS
189932010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
18994
18995 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
18996
2b36fbf4
VS
189972010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18998
18999 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
19000 vga= option is supplied.
19001
74aaf558
VS
190022010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19003
19004 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
19005 * util/grub.d/10_kfreebsd.in: Likewise.
19006 * util/grub.d/10_linux.in: Likewise.
19007 * util/grub.d/20_linux_xen.in: Likewise.
19008
6428dec3
VS
190092010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19010
19011 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
19012 argument as an argument to no-argument option.
19013
f8729d98
VS
190142010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19015
19016 * util/grub.d/10_linux.in: Add missing load_video with explicit
19017 GRUB_GFXPAYLOAD_LINUX.
19018
89d68fa6
VS
190192010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19020
19021 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
19022
3a1197cd
VS
190232010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19024
19025 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
19026 elements with invlid index.
19027 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19028 * grub-core/disk/raid.c (insert_array): Automatically reallocate
19029 members.
19030 * include/grub/raid.h (grub_raid_member): New struct.
19031 (grub_raid_array): Transform devices and start_sector into usage of
19032 grub_raid_member. All users updated
19033 (allocated_devs): New member.
19034
71574288
VS
190352010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19036
19037 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
19038 is modified
19039
8d40ec65
BC
190402010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
19041
19042 NetBSD build fix for getline function conflict from gnulib.
19043
19044 * Makefile.util.def (libgrubkern.a): New library for grub kernel
19045 components that depend on gnulib headers.
19046 (libgrubmods.a): Renamed from earlier libgrub.a.
19047 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
19048
95b9257e
VS
190492010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19050
19051 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
19052 install rather than creating a broken install.
19053
26c53dc6
VS
190542010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19055
19056 * util/grub-setup.c (argp): Remove misleading example of installing to
19057 a partition.
19058
4171b3c5
VS
190592010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19060
19061 * util/grub-setup.c (setup): Clarify the error message.
19062
18568d18
VS
190632010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19064
19065 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
19066
4f6a2e21
VS
190672010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
19068
19069 * grub-core/kern/emu/misc.c
19070 (grub_make_system_path_relative_to_its_root)
19071 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
19072
190732010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
19074
19075 * grub-core/kern/emu/misc.c
19076 (grub_make_system_path_relative_to_its_root): Revert r2882.
19077
e138c458
VS
190782010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
19079
19080 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
19081 useless field head. All users updated.
19082 (free_subchunk): Correct handling of IN_REGION subchunk.
19083
0cbcdf0e
CW
190842010-10-22 Colin Watson <cjwatson@ubuntu.com>
19085
19086 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
19087 (Supported kernels): Likewise.
19088
b65ea155
GS
190892010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
19090
19091 Make mktemp invocations portable.
19092
19093 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
19094 exit if mktemp fails.
19095 * tests/grub_script_blockarg.in: Likewise.
19096 * tests/partmap_test.in: Likewise.
19097 * tests/util/grub-shell-tester.in: Likewise.
19098 * tests/util/grub-shell.in: Likewise.
19099 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19100 * Makefile.am: Likewise, and chain shell commands with `&&'
19101 instead of ';'.
19102 * util/grub-mkrescue.in: Use the same explicit template as above, and
19103 exit if mktemp fails.
19104
05f43cdd
BC
191052010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
19106
19107 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
19108 Linux kernel, reported by Dennis Schridde.
19109
800e6a9b
SJ
191102010-10-17 Szymon Janc <szymon@janc.net.pl>
19111
19112 * grub-core/normal/auth.c (grub_auth_check_authentication):
19113 Set-but-not-used variable removed.
19114
d82df574
VS
191152010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19116
19117 * docs/grub.texi (GNU/Linux): Document APM unavailability with
19118 32-bit linux protocol.
19119
7bced458
VS
191202010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19121
19122 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
19123 cursor shape for sanity.
19124
5b027690
VS
191252010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19126
19127 * docs/grub.texi (Installation): Document buggy BIOS install.
19128
ba5f65cf
VS
191292010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19130
19131 * docs/grub.texi (Installation): Indent.
19132
fdf2ec9c
VS
191332010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19134
19135 * util/grub-setup.c (setup): New parameter allow_floppy.
19136 (arguments): New member allow_floppy.
19137 (argp_parser): Handle --allow-floppy.
19138 (main): Pass allow_floppy.
19139 * util/grub-install.in: New option --allow-floppy passed though to
19140 grub-setup.
19141
861dfd4c
VS
191422010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19143
19144 * util/grub-install.in: Handle partitionless disks.
19145
f77a8c24
VS
191462010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19147
19148 * util/grub-setup.c (setup): Don't clean blocklists before readability
19149 verfification.
19150
27d9ee32
VS
191512010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19152
19153 * docs/grub.texi (Installation): Document embedding zone. Remove
19154 obsolete grub-install example.
19155
6bdda8f8
SJ
191562010-10-16 Szymon Janc <szymon@janc.net.pl>
19157
19158 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
19159 Set-but-not-used variable ifdef'ed.
19160 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
19161 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
19162 variable removed.
19163 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
19164 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
19165 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19166 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
19167 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
19168 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19169 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
19170 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
19171 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
19172 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
19173 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
19174 Likewise.
19175
e19b016b
VS
191762010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19177
19178 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
19179 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
19180 enum value.
19181
6c8d3002
VS
191822010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19183
19184 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
19185 synonym to _S5_. Needed for some DSDTs.
19186
c32b51c9
VS
191872010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19188
19189 Userspace ACPI parser debugging.
19190
19191 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
19192 headers and add relevant defines. Don't include standard headers.
19193 (main) [GRUB_DSDT_TEST]: New function.
19194 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
19195 Don't declare functions.
19196
fbfbeb39
VS
191972010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19198
19199 Remove dead grub_efi_mm_fini.
19200
19201 * grub-core/kern/efi/mm.c (allocated_page): Removed.
19202 (ALLOCATED_PAGES_SIZE): Likewise.
19203 (MAX_ALLOCATED_PAGES): Likewise.
19204 (allocated_pages): Likewise.
19205 (grub_efi_allocate_pages): Don't record allocated pages.
19206 (grub_efi_free_pages): Likewise.
19207 (grub_efi_mm_init): Likewise.
19208 (grub_efi_mm_fini): Removed.
19209
65f7ed7c
VS
192102010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19211
19212 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
19213 (grub_efi_mm_init): Take into account the memory map size increase.
19214
24977b44
VS
192152010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19216
19217 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
19218 (serial_hw_put): Wait based on real time rather than port reads. Don't
19219 roken ports.
19220 * include/grub/serial.h (grub_serial_port): New field broken.
19221
1eb01cd2
RM
192222010-10-16 Robert Millan <rmh@gnu.org>
19223
19224 * grub-core/kern/emu/misc.c
19225 (grub_make_system_path_relative_to_its_root): Fix premature return
19226 when processing non-root ZFS filesystems.
5f8b440b 19227 Reported by Sergio Talens-Oliag.
1eb01cd2 19228
2d5fed60
RM
192292010-10-15 Robert Millan <rmh@gnu.org>
19230
19231 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
19232 guarantee compressed ones are processed first.
19233
d0f4c1ea
VS
192342010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
19235
19236 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
19237 grub_efiemu_autocore.
19238
d87c681f
VS
192392010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
19240
19241 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
19242 rather than 0x1b.
19243 (grub_console_getkey): Use correct jae opcode rather than ja.
19244
219b3564
RM
192452010-10-12 Robert Millan <rmh@gnu.org>
19246
19247 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
19248 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
19249 variable. All references updated.
19250
19251 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
19252
20c6bb7e
VS
192532010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
19254
19255 Correctly distinguish mdraid flavours.
19256
19257 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
19258 (insert_array): New argument raid.
19259 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
19260 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
19261 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
19262
74baff84
VS
192632010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
19264
19265 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
19266 handling of special keys.
19267
3ef068df 192682010-10-02 Aleš Nesrsta <starous@volny.cz>
19269
c7980ad9
VS
19270 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
19271 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 19272
a9455194 192732010-10-02 Aleš Nesrsta <starous@volny.cz>
19274
c7980ad9
VS
19275 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
19276 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
19277 users updated.
a9455194 19278 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 19279 Use right endpoint when querying descriptor.
a9455194 19280
441cfe65
VS
192812010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
19282
19283 Clear out 0x80 color bit on EFI.
19284 Tested by: decoder
19285 Reported by: decoder and meta tech.
19286
19287 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
19288 (grub_console_setcolorstate): Clear out 0x80 bit.
19289 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
19290 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
19291 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
19292
bf26bcc4
VS
192932010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
19294
19295 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
19296 Set to "auto".
19297
6e3c515d
VS
192982010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19299
19300 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
19301 mo_file after freeing.
19302
e6d983ba
VS
193032010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19304
19305 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
19306
74ccb5b5
VS
193072010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19308
19309 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
19310 flags.
19311
17821956
VS
193122010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19313
19314 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
19315 usage.
19316
ee74fa48
VS
193172010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19318
19319 Put terminfo into core on ieee1275 and yeeloong (needed for console).
19320
19321 * gentpl.py: New groups terminfoinkernel and terminfomodule.
19322 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
19323 and terminfo.h when needed.
19324 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
19325 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
19326 (terminfo): Enable only on terminfokernel.
19327 (extcmd): Likewise.
19328 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
19329 * include/grub/lib/arg.h: Likewise.
19330 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
19331 incorrect usage of ->.
19332
aa438e68
VS
193332010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19334
19335 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
19336 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
19337
57994012
VS
193382010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19339
19340 Fix coreboot compilation.
19341
19342 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19343 Take VBE info into account even if only text is supported.
19344 (fill_vbe_info): Take into account the case when only VGA text
19345 is supported.
19346 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
19347 on coreboot, multiboot and qemu.
19348
2a406611
VS
193492010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19350
19351 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
19352 debug messages.
19353 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
19354
d33613fc
VS
193552010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19356
19357 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
19358 parameters.
19359
44a1b432
VS
193602010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19361
19362 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
19363 if they were BSD-style.
19364
edde54e6
VS
193652010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19366
19367 * grub-core/boot/i386/pc/lnxboot.S: Replace
19368 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
19369 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
19370
b65830fa
VS
193712010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19372
19373 Write embedding zone using Reed-Solomon.
19374
19375 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
19376 * grub-core/Makefile.am (rs_decoder.S): New target.
19377 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
19378 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
19379 (multiboot): Move to RS part.
19380 (post_reed_solomon): New label.
19381 (grub_boot_drive): Move to non-RS part since it's modified in memory
19382 on boot.
19383 Include rs_decoder.S.
19384 * grub-core/lib/reed_solomon.c: New file.
19385 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
19386 New definition.
19387 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
19388 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
19389 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
19390 * include/grub/partition.h (grub_partition_map): Change prototype of
19391 embed to allow returning additional sectors.
19392 * include/grub/reed_solomon.h: New file.
19393 * util/grub-setup.c (setup): Handle Reed-Solomon.
19394
0b4b227f
CW
193952010-09-28 Colin Watson <cjwatson@ubuntu.com>
19396
19397 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
19398 i386 and x86-64 definedness tests.
19399
f772623b
YB
194002010-09-27 Yves Blusseau <blusseau@zetam.org>
19401
19402 Fix generation of kernel_syms.lst
19403
19404 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
19405 ASM_PREFIX
19406
8e57a6ca
RM
194072010-09-26 Robert Millan <rmh@gnu.org>
19408
19409 Support degraded ZFS arrays in "grub-probe -t device" resolution.
19410
19411 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
19412 the pool is an array of devices, iterate through it and return the
19413 first device that passes a stat() test (instead of blindly returning
19414 the first one).
19415
f9130836
RM
194162010-09-26 Robert Millan <rmh@gnu.org>
19417
19418 Build fixes for GNU/kFreeBSD.
19419
19420 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
19421 to programs that require ZFS conversion.
19422 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
19423 kernels that don't have FLOPPY_MAJOR.
19424
96510faf
BC
194252010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
19426
19427 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
19428
449333eb
BC
194292010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
19430
19431 Fix grub-emu build.
19432
19433 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
19434 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
19435 mdraid09 and mdraid1x.
19436
e1fd1939
CW
194372010-09-24 Colin Watson <cjwatson@ubuntu.com>
19438
19439 Re-enable grub-extras.
19440
19441 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
19442 avoid confusing Automake. Run autogen only twice, once for the top
19443 level and once for grub-core. Add Makefile.util.def and
19444 Makefile.core.def from extra modules to the appropriate autogen
19445 invocations. If Makefile.common exists in an extra module, include
19446 it in both Makefile.util.am and grub-core/Makefile.core.am;
19447 similarly, include any Makefile.util.common file in Makefile.util.am
19448 and any Makefile.core.common file in grub-core/Makefile.core.am.
19449 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
19450 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
19451 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
19452 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
19453
19454 * gentpl.py (gvar_add): Turn GVARS into a set.
19455 (global_variable_initializers): Sort global variables on output.
19456 (vars_init): New function.
19457 (first_time): Likewise.
19458 (library): Ensure that non-global variable initialisations are
19459 emitted before the first time we emit code for a library block.
19460 Append to variables rather than setting them. Only emit
19461 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
19462 each conditional path.
19463 (program): installdir() emits an Autogen macro, so must be passed to
19464 var_add rather than gvar_add.
19465 (data): Likewise.
19466 (script): Likewise.
19467 (rules): New function, centralising handling for different target
19468 types. Set up Guile association lists for first_time and vars_init,
19469 and send most output to a diversion so that variable initialisations
19470 can be emitted first.
19471 (module_rules): Use new rules function.
19472 (kernel_rules): Likewise.
19473 (image_rules): Likewise.
19474 (library_rules): Likewise.
19475 (program_rules): Likewise.
19476 (script_rules): Likewise.
19477 (data_rules): Likewise.
19478
19479 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
19480
19481 * .bzrignore: Add contrib and grub-core/contrib. Remove
19482 grub-core/Makefile.gcry.am.
19483
1d12cf29
YB
194842010-09-24 Yves Blusseau <blusseau@zetam.org>
19485
19486 * grub-core/lib/LzFind.c: Add missing include.
19487 * grub-core/lib/LzmaEnc.c: Likewise.
19488 * grub-core/script/lexer.c: Likewise.
19489 * grub-core/script/yylex.l: Likewise.
19490 * util/grub-macho2img.c: Likewise.
19491 * util/grub-menulst2cfg.c: Likewise.
19492 * util/grub-mklayout.c: Likewise.
19493 * util/grub-mkpasswd-pbkdf2.c
19494 * util/grub-mkrelpath.c: Likewise.
19495 * util/resolve.c: Likewise.
19496
dd363028
BC
194972010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
19498
19499 * Makefile.util.def (example_unit_test): Add
19500 grub-core/gnulib/libgnu.a.
19501
f5a109e2
GS
195022010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
19503
19504 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
19505
6d0fa83c
VS
195062010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
19507
19508 Support xz compression on yeeloong.
19509
19510 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
19511 * configure.ac: Check for LZMA.
19512 * grub-core/Makefile.core.def (xz_decompress): New target.
19513 (none_decompress): Likewise.
19514 * grub-core/boot/decompressor/minilib.c: New file.
19515 * grub-core/boot/decompressor/none.c: Likewise.
19516 * grub-core/boot/decompressor/xz.c: Likewise.
19517 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
19518 * grub-core/kern/mips/cache_flush.S: Likewise.
19519 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
19520 * grub-core/kern/mips/startup.S: Move first stage to ...
19521 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
19522 nomacro.
19523 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
19524 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
19525 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
19526 Allocate statically.
19527 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
19528 Allocate statically or use scratch. Don't check CRC32.
19529 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
19530 Allocate statically. Don't check CRC32.
19531 * include/grub/decompressor.h: New file.
19532 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
19533 Removed.
19534 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
19535 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
19536 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
19537 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
19538 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
19539 * util/grub-mkimage.c (grub_compression_t): New type.
19540 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
19541 (image_target_desc): New field default_compression.
19542 (image_targets): Adjust yeeloong targets.
19543 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
19544 (compress_kernel): New parameter comp.
19545 (generate_image): Likewise. Handle new compression case.
19546 (options): New option --compression
19547 (help): Likewise.
19548 (main): Handle new option.
19549
1b655af6
GS
195502010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
19551
19552 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
19553
8f03f0b5
CW
195542010-09-22 Colin Watson <cjwatson@ubuntu.com>
19555
19556 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
19557 typo in __i386__ conditional.
19558
7835dfd3
VS
195592010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19560
19561 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
19562 include.
19563
e255597e
VS
195642010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19565
6d0fa83c 19566 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
19567
19568 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
19569 new tags as supported.
19570 (acpiv2_size): New function.
19571 (grub_multiboot_get_mbi_size): Take new tags into account.
19572 (grub_multiboot_make_mbi): Add new tags.
19573 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 19574
6cc14051 195752010-09-21 Aleš Nesrsta <starous@volny.cz>
19576
19577 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
19578 Added missing configuration of USB device.
19579
df7769d8
CW
195802010-09-21 Colin Watson <cjwatson@ubuntu.com>
19581
19582 * grub-core/normal/menu_entry.c (run): Make sure we always return
19583 a value.
19584
b031012d
CW
195852010-09-21 Colin Watson <cjwatson@ubuntu.com>
19586
19587 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
19588 NumberOfPages is UINT64 according to the UEFI specification, not
19589 UINTN. Fix printf format.
19590
174de8f3
CW
195912010-09-21 Colin Watson <cjwatson@ubuntu.com>
19592
19593 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
19594 `err' to grub_usb_err_t.
19595 Reported and tested by: KESHAV P.R.
19596
d7dbe923
CW
195972010-09-21 Colin Watson <cjwatson@ubuntu.com>
19598
19599 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
19600 tpart non-const, so that we can assign to it. (Since this is a
19601 typedef, the constness refers to the pointer rather than what it
19602 points to.)
19603
8d5e2af3
CW
196042010-09-21 Colin Watson <cjwatson@ubuntu.com>
19605
19606 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
19607 $(top_srcdir)/grub-core/gnulib as well as
19608 $(top_builddir)/grub-core/gnulib.
19609 Reported by: KESHAV P.R.
19610
5c527783
CW
196112010-09-21 Colin Watson <cjwatson@ubuntu.com>
19612
19613 * util/grub-install.in: Fix the bootloader ID option to be
19614 consistently --bootloader-id, not --bootloader_id.
19615 Reported by: KESHAV P.R.
19616
d309a16e
CW
196172010-09-21 Colin Watson <cjwatson@ubuntu.com>
19618
19619 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
19620 check hash checksum." consistently translatable.
19621
b830cd16
YB
196222010-09-21 Yves Blusseau <blusseau@zetam.org>
19623
19624 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
19625 $(top_builddir).
19626
c4fe27a8
CW
196272010-09-21 Colin Watson <cjwatson@ubuntu.com>
19628
19629 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
19630 (GRUB_MOD_INIT): Register sha1sum command.
19631 (GRUB_MOD_FINI): Unregister sha1sum command.
19632
a4c1d277
YB
196332010-09-21 Yves Blusseau <blusseau@zetam.org>
19634
19635 Keep boot and grub directory names in sync with utils scripts
19636
19637 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
19638 * config.h.in: Add previous macros.
19639 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
19640 * util/grub-install.in: Use $bootdir and $grubdir variables.
19641
4eff79d2
CW
196422010-09-21 Colin Watson <cjwatson@ubuntu.com>
19643
19644 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
19645 convert partition names to disk names if the new `convert' parameter
19646 is set.
19647 (grub_util_biosdisk_get_grub_dev): If opening the disk device
19648 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
19649 disk in its own right. This can happen with Xen disk images.
19650
934d7e44
YB
196512010-09-21 Yves Blusseau <blusseau@zetam.org>
19652
19653 * util/grub-editenv.c: Update strings to avoid warnings when generating
19654 grub.pot file.
19655 * util/grub-setup.c: Likewise.
934d7e44 19656
df3367cc
VS
196572010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19658
19659 * configure.ac: Change version to 1.99~beta0.
19660
77a94e98
VS
196612010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19662
19663 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
19664 Add BADRAM.
19665 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
19666 Likewise.
19667 * include/multiboot.h: Resynced with specification.
19668 * include/multiboot2.h: Likewise.
19669
269004c1
CW
196702010-09-21 Colin Watson <cjwatson@ubuntu.com>
19671
19672 Fix po directory handling.
19673
19674 * configure.ac: Create po/Makefile.in rather than po/Makefile.
19675 * grub-core/gnulib/Makefile.am: Import gettext module.
19676 * m4/gnulib-cache.m4: Likewise.
19677 * m4/gnulib-comp.m4: Likewise.
19678 * m4/gettext.m4: New file, from gnulib.
19679 * m4/glibc2.m4: Likewise.
19680 * m4/iconv.m4: Likewise.
19681 * m4/intdiv0.m4: Likewise.
19682 * m4/intl.m4: Likewise.
19683 * m4/intldir.m4: Likewise.
19684 * m4/intlmacosx.m4: Likewise.
19685 * m4/intmax.m4: Likewise.
19686 * m4/inttypes-pri.m4: Likewise.
19687 * m4/lcmessage.m4: Likewise.
19688 * m4/lib-ld.m4: Likewise.
19689 * m4/lib-link.m4: Likewise.
19690 * m4/lib-prefix.m4: Likewise.
19691 * m4/lock.m4: Likewise.
19692 * m4/nls.m4: Likewise.
19693 * m4/po.m4: Likewise.
19694 * m4/printf-posix.m4: Likewise.
19695 * m4/progtest.m4: Likewise.
19696 * m4/threadlib.m4: Likewise.
19697 * m4/uintmax_t.m4: Likewise.
19698 * m4/visibility.m4: Likewise.
19699 * po/Makefile.am: Remove.
19700 * po/Makefile.in.in: New file, from gettext.
19701 ($(DOMAIN).pot-update): Support POTFILES-shell.
19702 * po/Makevars: New file.
19703 * po/POTFILES-shell: Rename to ...
19704 * po/POTFILES-shell.in: ... this. Update.
19705 * po/POTFILES: Rename to ...
19706 * po/POTFILES.in: ... this. Update.
19707 * po/Rules-quot: New file, from gettext.
19708 * po/boldquot.sed: Likewise.
19709 * po/en@boldquot.header: Likewise.
19710 * po/en@quot.header: Likewise.
19711 * po/insert-header.sin: Likewise.
19712 * po/quot.sed: Likewise.
19713 * po/remove-potcdate.sin: Likewise.
19714
3e0fa5d0
VS
197152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19716
19717 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
19718
ade9bd66
VS
197192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19720
19721 * util/grub.d/20_linux_xen.in: Use submenus.
19722
fc55cc4c
VS
197232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19724
19725 Support submenus.
19726
19727 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
19728 parameter submenu. All users updated.
19729 * grub-core/normal/main.c (free_menu): Rename to ...
19730 (grub_normal_free_menu): ... this. Made global.
19731 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
19732 if requested.
19733 * grub-core/normal/menu_entry.c (screen): New field submenu.
19734 (make_screen): Set submenu.
19735 (run): Open new context if requested.
19736 * include/grub/menu.h (grub_menu_entry): New field submenu.
19737 * include/grub/normal.h (grub_normal_free_menu): New proto.
19738
600cedf7
VS
197392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19740
19741 Menu entries extractor.
19742
19743 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
19744 variants.
19745 (GRUB_MOD_INIT): Register new variants.
19746 (GRUB_MOD_FINI): Unregister new variants.
19747 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
19748 into grub_cmd_legacy_source.
19749 (grub_cmd_legacy_source): Implement extractor variants.
19750 (GRUB_MOD_INIT): Register new variants.
19751 (GRUB_MOD_FINI): Unregister new variants.
19752 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
19753 as an extractor.
19754 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
19755 search as an extractor.
19756 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
19757 test as an extractor.
19758 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
19759 as an extractor.
19760 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
19761 (grub_env_new_context): New function.
19762 (grub_env_context_open): Likewise.
19763 (grub_env_extractor_open): Likewise.
19764 (grub_env_extractor_close): Likewise.
19765 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19766 grub_extractor_level.
19767 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
19768 * include/grub/env.h (grub_env_extractor_open): New proto.
19769 (grub_env_extractor_close): Likewise.
19770 * include/grub/normal.h (grub_extractor_level): New external variable.
19771
7bda3a87
VS
197722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19773
19774 Make cutmem accept a region specification.
19775 Suggested by: Samuel Thibault
19776
19777 * grub-core/mmap/mmap.c (parsemem): New function.
19778 (grub_cmd_cutmem): Handle new arguments.
19779
2ea57f88
VS
197802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19781
19782 New command cutmem.
19783
19784 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
19785 (GRUB_MOD_INIT): Register new command.
19786 (GRUB_MOD_FINI): Unregister new command.
19787
74342e31
VS
197882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19789
19790 Support some annoying BSD and Minix subpartitions.
19791
19792 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
19793 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
19794 Properly handle concatenation.
19795 * grub-core/kern/device.c (grub_device_iterate): Likewise.
19796 * grub-core/normal/completion.c (iterate_partition): Likewise.
19797 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
19798 contain partition. All users updated.
19799 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
19800 struct.
19801 (grub_openbsdlabel_partition_map): Likewise.
19802 (bsdlabel_partition_map_iterate): Rename to ..
19803 (iterate_real): ... this. New arguments sector, freebsd and pmap.
19804 (bsdlabel_partition_map_iterate): New function.
19805 (netopenbsdlabel_partition_map_iterate): Likewise.
19806 (netbsdlabel_partition_map_iterate): Likewise.
19807 (openbsdlabel_partition_map_iterate): Likewise.
19808 (GRUB_MOD_INIT): Register new partmaps.
19809 (GRUB_MOD_FINI): Unregister new partmaps.
19810 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
19811 (grub_partition_msdos_iterate): ... this. All users updated.
19812 Don't support embedding other than in a minix partition.
19813 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
19814 proto.
19815 * include/grub/partition.h (grub_partition): New field msdostype.
19816 * util/grub-install.in: Handle openbsd and netbsd types being in
19817 part_bsd module.
19818
1e8d555b
VS
198192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19820
19821 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
19822
19823 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
19824 * grub-core/Makefile.core.def (mdraid): Renamed to ...
19825 (mdraid09): ... this.
19826 (mdraid1x): New module.
19827 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
19828 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
19829
899d8af4
VS
198302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19831
19832 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
19833 vsprintf.
19834
40901acd
CW
198352010-09-20 Colin Watson <cjwatson@ubuntu.com>
19836
19837 * grub-core/commands/efi/lsefimmap.c: Correct header.
19838 * NEWS: Update.
19839
dfe3b247
CW
198402010-09-20 Colin Watson <cjwatson@ubuntu.com>
19841
19842 * util/grub-editenv.c (argp_parser): Don't pass translated strings
19843 as printf format strings; the translations might contain '%' which
19844 could cause a crash.
19845 (main): Likewise.
19846 * util/grub-fstest.c (argp_parser): Likewise.
19847 * util/grub-setup.c (argp_parser): Likewise.
19848 (main): Likewise.
19849
3286a4b4
VS
198502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19851
19852 Use argp in grub-fstest.
19853
19854 * util/grub-fstest.c: Don't include getopt.h.
19855 Include argp.h.
19856 (root): New variable.
19857 (args_count): Likewise.
19858 (nparm): Likewise.
19859 (num_disks): Likewise.
19860 (images): Likewise.
19861 (cmd): Likewise.
19862 (debug_str): Likewise.
19863 (args): Likewise.
19864 (options): Transformed to argp.
19865 (usage): Removed.
19866 (main): Split argument parsing into ...
19867 (argp_parser): ... this. Changed to argp format.
19868 (argp): New variable.
19869 (main): Use argp_parse.
19870
3dccbe4b
TG
198712010-09-20 Tristan Gingold <gingold@free.fr>
198722010-09-20 Robert Millan <rmh.grub@aybabtu.com>
198732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19874
19875 * grub-core/commands/efi/lsefimmap.c: New file.
19876 * grub-core/Makefile.core.def (lsefimmap): New module.
19877 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
19878
38c259a7
VS
198792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19880
19881 Pause the execution (10s max) if any errors are displayed so the user
19882 has a chance to see them.
19883
19884 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
19885 (grub_print_error): Increment grub_err_printed_errors.
19886 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
19887 execution if any errors were displayed.
19888 (show_menu): Remove old code for pause.
19889 * grub-core/normal/menu_entry.c (run): Likewise.
19890 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
19891 users updated.
19892 (grub_normal_get_char_counter): Likewise.
19893 * include/grub/err.h (grub_err_printed_errors): New external variable.
19894 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
19895
f218b09c
VS
198962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19897
19898 Support multiboot VBE info.
19899
19900 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19901 Take VBE info into account.
19902 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
19903 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19904 Call fill_vbe_info when appropriate.
19905 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
19906 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
19907 as supported.
19908 (grub_multiboot_get_mbi_size): Take new tags into account.
19909 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
19910 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19911 Call fill_vbe_tag when appropriate.
19912 (grub_multiboot_make_mbi): Properly align tags.
19913 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
19914 function.
19915 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
19916 proto.
19917 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
19918
a9cc5438
VS
199192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19920
19921 Suport manual terminal geometry specification.
19922
19923 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
19924 Save state in grub_ofconsole_terminfo_output.
19925 (grub_ofconsole_term): Use grub_terminfo_getwh.
19926 (grub_ofconsole_getwh): Removed.
19927 * grub-core/term/serial.c (grub_serial_getwh): Removed.
19928 (grub_serial_term): Use grub_terminfo_getwh.
19929 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
19930 (options): New struct.
19931 (OPTION_*): New enum.
19932 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
19933 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
19934 width and height.
19935 (grub_terminfo_getwh): New proto.
19936 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
19937
1a8fed20
VS
199382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19939
19940 Handle legacy "terminal" command.
19941
19942 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
19943 and FLAG_TERMINAL.
19944 (legacy_commands): Add terminal and title.
19945 (grub_legacy_parse): Handle terminal. Simplify title handling.
19946
41e9c57d
VS
199472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19948
19949 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
19950 parameters overflow.
19951
61c874c5
CW
199522010-09-20 Colin Watson <cjwatson@ubuntu.com>
19953
19954 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
19955 widthspec.h.
19956
19957 * docs/grub.texi (Shell-like scripting): Document `!'.
19958 (Network): Simplify using new i386-pc-pxe format. Mention
19959 grub-mknetdir.
19960
19961 * NEWS: Update.
19962
943682b4
CW
199632010-09-20 Colin Watson <cjwatson@ubuntu.com>
19964
19965 * Makefile.am (SUBDIRS): Restore "."; it's important to force
19966 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
19967 when needed.
19968
6d3d698d
CW
199692010-09-20 Colin Watson <cjwatson@ubuntu.com>
19970
19971 * grub-core/commands/efi/lsefisystab.c: Correct header.
19972 * grub-core/commands/efi/lssal.c: Likewise.
19973 * grub-core/commands/testload.c: Likewise.
19974
c982589f
CW
199752010-09-20 Colin Watson <cjwatson@ubuntu.com>
19976
19977 * util/grub-mkrescue.in: Add explicit root argument to --set to
19978 prevent the UUID being interpreted as an argument to --set (matches
19979 previous change to prepare_grub_to_access_device).
19980
a63c31b6
CW
199812010-09-20 Colin Watson <cjwatson@ubuntu.com>
19982
19983 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
19984 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
19985 the verbosity of later #ifs.
19986 (find_partition_start): Define this function on FreeBSD too.
19987 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
19988 function.
19989 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
19990 on FreeBSD.
19991
6439b8ee
YB
199922010-09-20 Yves Blusseau <blusseau@zetam.org>
19993
19994 * util/grub-editenv.c: Use argp instead of getopt.
19995
c5930ec8
YB
199962010-09-20 Yves Blusseau <blusseau@zetam.org>
19997
19998 * util/grub-setup.c: Use argp instead of getopt.
19999
15c69261
YB
200002010-09-20 Yves Blusseau <blusseau@zetam.org>
20001
20002 Use gnulib-tool to create gnulib source files.
20003
20004 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
20005 grub-core/gnulib directories
20006 * .bzignore: Add **/.deps and autogenerated gnulib files
20007 * configure.ac: Assign auxiliary directory to build-aux, add invocation
20008 of gnulib macros, add grub-core/gnulib/Makefile
20009 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
20010 include m4 directory to aclocal.
20011 * Makefile.util.def: Remove direct compilation of gnulib source files
20012 and use the new grub-core/gnulib/libgnu.a.
20013 * build-aux/config.rpath: move config.rpath from top directory to
20014 build-aux
20015 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
20016 in gnulib headers
20017 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
20018 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
20019 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
20020 header.
20021 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
20022 string.
20023
e511c9f5
YB
200242010-09-20 Yves Blusseau <blusseau@zetam.org>
20025
20026 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
20027 grub-core/genmod.sh and grub-core/gensyminfo.sh
20028
c2dede05
BC
200292010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
20030
20031 Add a test for echo command options.
20032
20033 * tests/grub_cmd_echo.in: New test.
20034 * Makefile.util.def: Rules for new test.
20035
c55f5018
SJ
200362010-09-20 Szymon Janc <szymon@janc.net.pl>
20037
20038 Remove crc.mod and move crc command to hashsum.mod.
20039 Remove lib/crc.c - users updated to use gcrypt implementation.
20040
20041 * grub-core/commands/crc.c: Removed.
20042 * grub-core/Makefile.core.def (crc): Module removed.
20043 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
20044 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
20045 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
20046 * grub-core/lib/crc.c: Removed.
20047 * include/grub/lib/crc.h: Removed.
20048 * Makefile.util.def (crc): Remove lib/crc.c
20049 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
20050 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
20051 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
20052 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
20053 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
20054 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
20055
e0337366
VS
200562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20057
20058 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
20059
742f9232
VS
200602010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20061
20062 Split config.h for util and core.
20063
20064 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
20065 (ADDR32): Likewise.
20066 (DATA32): Likewise.
20067 (BSS_START_SYMBOL): Likewise.
20068 (END_SYMBOL): Likewise.
20069 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
20070 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
20071 * config.h.in: New file.
20072 * configure.ac: Use config-util.h as config define file.
20073 Rename MACHINE into GRUB_MACHINE. All users updated.
20074 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
20075 updated.
20076 (NESTED_FUNC_ATTR): Likewise.
20077 Substitue new variables.
20078 (COND_HAVE_ASM_USCORE): New conditional.
20079 * grub-core/Makefile.am (ASM_PREFIX): New variable.
20080 (kernel_syms.lst): Use ASM_PREFIX.
20081 * grub-core/kern/emu/console.c: Include config-util.h.
20082 * grub-core/kern/emu/misc.c: Likewise.
20083 * grub-core/kern/emu/mm.c: Likewise.
20084 * include/grub/emu/misc.h: Likewise.
20085 * include/grub/libgcc.h: Likewise.
20086
39feb0e8
VS
200872010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20088
20089 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
20090 constants usage.
20091 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
20092 Fix GRUB_TERM_KEY_* constants usage.
20093 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
20094
9af6dac3
VS
200952010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20096
20097 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
20098 print pointer.
20099 * grub-core/bus/usb/uhci.c: Remove empty define.
20100 (grub_uhci_check_transfer): Add missing cast.
20101 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
20102 print pointer.
20103 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
20104 PRIuGRUB_SIZE.
20105 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
20106
d6d94820
VS
201072010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20108
20109 * grub-core/Makefile.core.def (legacycfg): Add
20110 lib/i386/pc/vesa_modes_table.c on emu.
20111
3572f2b6
BC
201122010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
20113
20114 Reduce number of temporary files generated by build system.
20115
20116 * grub-core/gencmdlist.sh: Removed.
20117 * grub-core/genfslist.sh: Removed.
20118 * grub-core/genhandlerlist.sh: Removed.
20119 * grub-core/genmodsrc.sh: Removed.
20120 * grub-core/genpartmaplist.sh: Removed.
20121 * grub-core/genparttoollist.sh: Removed.
20122 * grub-core/gentermiinallist.sh: Removed.
20123 * grub-core/genvideolist.sh: Removed.
20124
20125 * grub-core/genmod.sh.in: New file.
20126 * grub-core/gensyminfo.sh.in: New file.
20127
20128 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
20129 * conf/Makefile.extra-dist: Update with new files.
20130 * gentpl.py: Remove rules related to unnecessary temporary files.
20131 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
20132 and und-* files.
20133 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
20134 genmod.sh scripts.
20135 * grub-core/bus/usb/uhci.c: Remove empty #define.
20136 * grub-core/genmoddep.awk: Updated with new syminfo format.
20137 * util/bash-completion.d/Makefile.am: Add config.log to
20138 CLEANFILES.
20139
c836b030
YB
201402010-09-19 Yves Blusseau <blusseau@zetam.org>
20141
20142 * Makefile.util.def: Add forgotten $(LIBINTL) library.
20143
2f4e8053
BC
201442010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
20145
20146 * util/grub-mkconfig.in: Check the config script for syntax errors
20147 before saving.
20148
75831c34
CW
201492010-09-19 Colin Watson <cjwatson@ubuntu.com>
201502010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20151
20152 * Makefile.util.def (grub-install): Use util/grub-install.in on all
20153 platforms.
20154 * util/grub-install.in: Add EFI and IEEE1275 support.
20155 * util/i386/efi/grub-install.in: Removed.
20156 * util/ieee1275/grub-install.in: Likewise.
20157
eaf41b25
VS
201582010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20159
20160 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
20161 (grub_cmd_cmosclean): Likewise.
20162 (GRUB_MOD_INIT): Register command cmosclean.
20163 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
20164 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
20165
1a9130dd
CPE
201662010-09-18 Carles Pina i Estany <carles@pina.cat>
201672010-09-18 Aleš Nesrsta <starous@volny.cz>
201682010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20169
20170 Add keyboard layouts support.
20171
20172 * Makefile.util.def (grub-mklayout): New file.
20173 (grub-kbdcomp): New script.
20174 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
20175 Add keyboard_layouts.h.
20176 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
20177 commands/boot.c on yeeloong.
20178 (keylayouts): New module.
20179 * grub-core/bus/usb/ohci.c
20180 * grub-core/bus/usb/uhci.c
20181 * grub-core/bus/usb/usbhub.c (rescan): New variable.
20182 (grub_usb_add_hub): Poll interrupt pipe for device handling.
20183 (attach_root_port): Likewise.
20184 (poll_nonroot_hub): Likewise.
20185 (grub_usb_poll_devices): Likewise.
20186 (detach_device): Close transfer.
20187 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
20188 function.
20189 (grub_usb_bulk_setup_readwrite): Likewise.
20190 (grub_usb_bulk_finish_readwrite): Likewise.
20191 * grub-core/commands/keylayouts.c: New file.
20192 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
20193 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
20194 aliases.
20195 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
20196 support scancode 2.
20197 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
20198 * include/grub/keyboard_layouts.h: New file.
20199 * util/grub-mklayout.c: New file.
20200 * util/grub-kbdcomp.in: Likewise.
20201
a1d84a5e
VS
202022010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20203
20204 Unify memory types.
20205
20206 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
20207 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
20208 types.
20209 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
20210 (grub_upper_mem): Likewise.
20211 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
20212 * include/grub/memory.h (grub_memory_type_t): New enum.
20213 All users updated.
20214
9696382e
VS
202152010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20216
20217 * grub-core/Makefile.core.def (lsapm): New module.
20218 * grub-core/commands/i386/pc/lsapm.c: New file.
20219 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
20220 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
20221 Likewise.
20222 * include/grub/i386/pc/apm.h: New file.
20223 * include/multiboot.h (multiboot_apm_info): New struct.
20224
202252010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20226
20227 GRUB-legacy configuration file support.
20228
20229 * Makefile.util.def (grub-menulst2cfg): New util.
20230 * docs/man/grub-menulst2cfg.h2m: New file.
20231 * grub-core/Makefile.core.def (legacycfg): New module.
20232 * grub-core/commands/legacycfg.c: New file.
20233 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
20234 (grub_normal_add_menu_entry): ... this.
20235 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
20236 (grub_normal_set_password): ...this.
20237 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
20238 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
20239 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
20240 * grub-core/lib/legacy_parse.c: New file.
20241 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
20242 * include/grub/i386/pc/vesa_modes_table.h: New file.
20243 * include/grub/legacy_parse.h: Likewise.
20244 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
20245 * util/grub-menulst2cfg.c: New file.
20246
bf8d1338
CW
202472010-09-17 Colin Watson <cjwatson@ubuntu.com>
20248
20249 * grub-core/kern/emu/hostdisk.c
20250 (convert_system_partition_to_system_disk): Initialise node.
20251
9c0bad2e
CW
202522010-09-17 Colin Watson <cjwatson@ubuntu.com>
20253
20254 * grub-core/kern/emu/hostdisk.c
20255 (convert_system_partition_to_system_disk): Fix devmapper memory pool
20256 leak.
20257 Reported and based on patch by: Modestas Vainius.
20258
a939d135
CW
202592010-09-17 Colin Watson <cjwatson@ubuntu.com>
20260
20261 Fix DM-RAID probing with recent versions of device-mapper udev
20262 rules.
20263
20264 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
20265 canonicalise device paths under /dev/mapper/.
20266 (convert_system_partition_to_system_disk): Compare the
20267 uncanonicalised path to /dev/mapper/ rather than the canonicalised
20268 path, since device nodes under /dev/mapper/ are often symlinks.
20269
0f7ee3c9
YB
202702010-09-17 Yves Blusseau <blusseau@zetam.org>
20271
20272 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
20273
10854d0d
YB
202742010-09-16 Yves Blusseau <blusseau@zetam.org>
20275
20276 * configure.ac: Avoid some annoying error messages if freetype-config
20277 program is not found.
20278
108538d8
CW
202792010-09-16 Colin Watson <cjwatson@ubuntu.com>
20280
20281 Support RAID on virtio devices, and others.
20282
20283 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
20284 Rename to ...
20285 [__MINGW32__] (grub_find_device): ... this.
20286 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
20287 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
20288 reasonable default if dir is NULL.
20289 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
20290 ...
20291 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
20292 (grub_guess_root_device): Update callers.
20293 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
20294
20295 * util/raid.c (grub_util_getdiskname): Remove.
20296 (grub_util_raid_getmembers): Use grub_find_device rather than
20297 grub_util_getdiskname.
20298
e5bfc130
CW
202992010-09-16 Colin Watson <cjwatson@ubuntu.com>
20300
20301 * docs/grub.texi (serial): Remove obsolete comment about GRUB
20302 needing to be compiled with serial support.
20303 (ls): Indicate that multiple files are accepted.
20304 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
20305 indicate that multiple files are accepted.
20306
be458ae2
CW
203072010-09-16 Colin Watson <cjwatson@ubuntu.com>
20308
20309 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
20310 libgrub_a_init.c, and util/bash-completion.d/grub.
20311
cb731b5e
VS
203122010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20313
20314 * util/grub-setup.c (setup): Fix incorrect container semantics.
20315
35139e8a
VS
203162010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20317
20318 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
20319 misusage.
20320 Reported by: J. Nick Terry
20321
e50fca4a
VS
203222010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20323
20324 Move embedding routines to partmap sources files.
20325
20326 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
20327 [GRUB_UTIL]: New variable.
20328 (gpt_partition_map_iterate): Set part.parent.
20329 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
20330 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
20331 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
20332 New function.
20333 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
20334 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
20335 (grub_partition_map) [GRUB_UTIL]: New field embed.
20336 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
20337 (setup): Use ->embed.
20338
f00478b7
VS
203392010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20340
20341 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
20342 function.
20343 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
20344 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
20345
2b94e3ff
YB
203462010-09-15 Yves Blusseau <blusseau@zetam.org>
20347
20348 Add function to get completions from usage.
20349
20350 * util/bash-completion.d/grub-completion.bash.in: Add function to get
20351 completions from usage. Use LC_ALL=C to get options properly.
20352
2e04a006
VS
203532010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20354
20355 * grub-core/gnulib/basename-lgpl.c: Imported.
20356 * grub-core/gnulib/basename.c: Likewise.
20357 * grub-core/gnulib/dirname-lgpl.c: Likewise.
20358 * grub-core/gnulib/dirname.c: Likewise.
20359 * grub-core/gnulib/dirname.h: Likewise.
20360 * grub-core/gnulib/stripslash.c: Likewise.
20361
5dcdf93a
VS
203622010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20363
20364 * grub-core/gnulib/error.c: Resynced.
20365 * grub-core/gnulib/getopt.c: Likewise.
20366 * grub-core/gnulib/getopt_int.h: Likewise.
20367 * grub-core/gnulib/regex.h: Likewise.
20368 * grub-core/gnulib/regex_internal.c: Likewise.
20369 * grub-core/gnulib/regex_internal.h: Likewise.
20370
014f47b7
SJ
203712010-09-15 Szymon Janc <szymon@janc.net.pl>
20372
20373 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
20374 CRC calculations and validity checks.
20375 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
20376 calculations.
20377
dd521a4a
SJ
203782010-09-15 Szymon Janc <szymon@janc.net.pl>
20379
20380 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
20381
79c4eeb9
VS
203822010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20383
20384 Fix incorrect echo options handling.
20385 Reported by: Yves Blusseau.
20386
20387 * include/grub/command.h (grub_command_flags_t): New flags
20388 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
20389 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
20390 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
20391
ed80f7d5
VS
203922010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20393
20394 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
20395 users updated.
20396 (GRUB_COMMAND_FLAG_MENU): Likewise.
20397 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20398 (GRUB_COMMAND_FLAG_TITLE): Removed.
20399 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20400 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
20401 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
20402 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
20403 (grub_command_flags_t): New enum. All users updated.
20404
5fe7620a
SG
204052010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
20406
20407 Fix solaris compilation.
20408
20409 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
20410 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
20411 (grub-emu-list): Likewise.
20412
545b752f
VS
204132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20414
20415 Remove deprecated root command.
20416
20417 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
20418 updated.
20419
6c1a338c
VS
204202010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20421
20422 * util/i386/pc/grub-setup.c: Merge this ...
20423 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
20424 * util/grub-setup.c: ... into this.
20425 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
20426 New struct.
20427
204282010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20429
20430 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
20431 possible.
20432
d2ea4551
VS
204332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20434
20435 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
20436 allocate p.
20437
3c3b5040
VS
204382010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20439
20440 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
20441 explicit root argument to set to prevent UUID to be interpreted as
20442 argument to set.
20443
b71c3fae
VS
204442010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20445
20446 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
20447
275433e6
VS
204482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20449
20450 Don't export grub_gate_a20.
20451
20452 * grub-core/kern/i386/pc/init.c: Remove leftovers.
20453 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
20454 to ...
20455 (grub_gate_a20): ... this. All users updated.
20456 * include/grub/i386/pc/init.h: Removed. All users updated.
20457
a5dbb1f1
VS
204582010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20459
20460 Create euro.pf2 which supports most European languages.
20461
20462 * Makefile.am (grubdata_DATA): Add euro.pf2.
20463 (euro.pf2): New target.
20464 (CLEANFILES): Add euro.pf2.
20465
62a747cb
VS
204662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20467
20468 * configure.ac: Disable emu-usb by default to prevent inadvertent
20469 device takeover.
20470
608e43b1
VS
204712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20472
20473 Disable usbserial on grub-emu since our libusb code isn't good enough
20474 yet.
20475
20476 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
20477 (usbserial_pl2303): Likewise.
20478 (usbserial_ftdi): Likewise.
20479
94564f81
VS
204802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20481
20482 * include/grub/disk.h (grub_disk): Remove has_partitions.
20483 All users updated.
20484 * disk/loopback.c (grub_loopback): Remove has_partitions.
20485 All users updated.
20486 (options): Remove partitions. All users updated.
20487 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
20488 * util/i386/pc/grub-setup.c (setup): copy partition table only when
20489 actual partition table is found.
20490
3352800b
VS
204912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20492
20493 Remove readability checks (too many false negatives).
20494
20495 * util/grub-install.in: Remove readability checks.
20496 * util/grub-mkconfig.in: Likewise.
20497 * util/grub.d/10_hurd.in: Likewise.
20498 * util/grub.d/10_kfreebsd.in: Likewise.
20499 * util/grub.d/10_linux.in: Likewise.
20500 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
20501 way.
20502
2419f17a
VS
205032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20504
20505 Enable acpi shutdown on all ACPI platforms.
20506
20507 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
20508 on coreboo, multiboot and EFI.
20509 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
20510 (grub_acpi_halt): Likewise.
20511 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
20512 (grub_cmd_halt): Don't call grub_acpi_halt directly.
20513 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
20514 * grub-core/lib/i386/halt.c (grub_halt)
20515 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
20516
0575c7c3
VS
205172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20518
20519 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
20520 context.
20521
54ac3cd1
VS
205222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20523
20524 * grub-core/video/efi_gop.c: Fix over-80-chars line.
20525 * grub-core/video/efi_uga.c: Likewise.
20526
b2a30ac5
VS
205272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20528
20529 Filter devaliases and never open same device twice.
20530
20531 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
20532 (last_ihandle): Likewise.
20533 (ofdisk_hash_ent): New member shortest.
20534 (ofdisk_hash_add): Add canonical path too.
20535 (scan): New function.
20536 (grub_ofdisk_iterate): Iterate over hashed entries.
20537 (compute_dev_path): Don't add :0.
20538 (grub_ofdisk_open): Don't really open the disk.
20539 (grub_ofdisk_close): Avoid closing unrelated disk.
20540 (grub_ofdisk_read): Implement reopen logic.
20541 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
20542 New function.
20543 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
20544 New proto.
20545
fb53b340
VS
205462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20547
20548 Fix sparc64.
20549
20550 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
20551 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
20552 right address. Add sparc64_ieee1275_ldflags.
20553 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
20554 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
20555 to grub_host_to_target_addr
20556 (load_image): Likewise.
20557
f452b040
VS
205582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20559
20560 * grub-core/normal/completion.c (complete_file): Handle device
20561 containing slash.
20562 Fix based on patch by Doug Nazar.
20563
9b5b2541
VS
205642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20565
20566 grub-mknetdir script.
20567
20568 * Makefile.util.def (grub-mknetdir): New module.
20569 * tests/util/grub-shell.in: Support boot=net
20570 * util/grub-mknetdir.in: New file.
20571
9d2be652
VS
205722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20573
20574 videoinfo on non-vbe.
20575
20576 * grub-core/Makefile.core.def (vbeinfo): Removed.
20577 (vbetest): Removed.
20578 (videoinfo): New module.
20579 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
20580 * grub-core/commands/i386/pc/vbetest.c: Removed.
20581 * grub-core/commands/videoinfo.c: New file.
20582 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
20583 specification.
20584 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
20585 as vbetest.
20586 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
20587 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
20588 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
20589 mode_number. New parameter mode. All users updated.
20590 (grub_video_gop_iterate): New function.
20591 (grub_video_efi_gop): New member iterate.
20592 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
20593 (grub_vbe_set_video_mode): Remove setting useless fields.
20594 (vbe2videoinfo): New function.
20595 (grub_video_vbe_iterate): Likewise.
20596 (grub_video_vbe_setup): Use vbe2videoinfo.
20597 (grub_video_vbe_print_adapter_specific_info): New function.
20598 (grub_video_vbe_adapter): New fields iterate and
20599 print_adapter_specific_info.
20600 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
20601 All users updated.
20602 (grub_video_mode_info): New field mode_number.
20603 (grub_video_adapter): New fields iterate and
20604 print_adapter_specific_info.
20605
179503f5
TG
206062010-09-13 Tristan Gingold <gingold@free.fr>
206072010-09-13 Robert Millan <rmh.grub@aybabtu.com>
206082010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20609
20610 * grub-core/commands/efi/lsefisystab.c: New file.
20611 * grub-core/commands/efi/lssal.c: Likewise.
20612 * grub-core/Makefile.core.def (lsacpi): New module.
20613 (lsefisystab): Likewise.
20614 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
20615 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
20616 (grub_efi_sal_system_table): New struct.
20617 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
20618 (grub_efi_sal_system_table_memory_descriptor): Likewise.
20619 (grub_efi_sal_system_table_platform_features): Likewise.
20620 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
20621 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
20622 (grub_efi_sal_system_table_ap_wakeup): Likewise.
20623 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
20624
cf9827de
VS
206252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20626
20627 Support explicit user claim that a device is BIOS-visible.
20628
20629 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
20630 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
20631 * grub-core/kern/emu/hostdisk.c
20632 (convert_system_partition_to_system_disk): Support mdX.
20633 (find_system_device): New parameter add. All users updated.
20634 (grub_util_biosdisk_is_present): New function.
20635 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
20636 proto.
20637
53f0eb1f
VS
206382010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20639
20640 Search hints support.
20641
20642 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
20643 All users updated.
20644
b23ffd70
YB
206452010-09-13 Yves Blusseau <blusseau@zetam.org>
20646
20647 Bash completion script for util commands
20648
20649 * Makefile.am: Add util/bash-completion.d directory
20650 * configure.ac: Likewise.
20651 * util/bash-completion.d/Makefile.am: New file.
20652 * util/bash-completion.d/grub-completion.bash.in: Likewise.
20653
d547dc28
VS
206542010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20655
20656 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
20657 (print_backlog): set backlog_ucs4 and backlog_glyphs.
20658 Reported by: Yves Blusseau.
20659
2fc8ccb9
VS
206602010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20661
20662 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
20663 partition size and offset.
20664
d8a84076
VS
206652010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20666
20667 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
20668
84fb3b3d
VS
206692010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20670
20671 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
20672
768ec2e2
VS
206732010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20674
20675 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
20676 (grub_xvasprintf): Likewise.
20677
4870900f
VS
206782010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20679
20680 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
20681
faca6bec
VS
206822010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20683
20684 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
20685 args ending with NULL.
20686
206872010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
20688
20689 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
20690 pointer.
20691
3c70f225
SJ
206922010-09-11 Szymon Janc <szymon@janc.net.pl>
20693
20694 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
20695
4df7996d
VS
206962010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20697
20698 Shutdown using ACPI.
20699
20700 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
20701 * grub-core/commands/acpihalt.c: New file.
20702 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
20703 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
20704 (grub_acpi_halt): New proto.
20705 (GRUB_ACPI_SLP_EN): New const.
20706 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
20707 (GRUB_ACPI_OPCODE_*): New enum.
20708 (GRUB_ACPI_EXTOPCODE_*): Likewise.
20709
126b4c32
TG
207102010-09-11 Tristan Gingold <gingold@free.fr>
207112010-09-11 Robert Millan <rmh.grub@aybabtu.com>
207122010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20713
20714 * commands/lsacpi.c: New file.
20715 * grub-core/Makefile.core.def (lsacpi): New module.
20716 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
20717 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
20718 (grub_acpi_madt_entry_header): New struct.
20719 (grub_acpi_madt): Likewise.
20720 (grub_acpi_madt_entry_interrupt_override): Likewise.
20721 (grub_acpi_madt_entry_sapic): Likewise.
20722 (grub_acpi_madt_entry_lsapic): Likewise.
20723 (grub_acpi_madt_entry_platform_int_source): Likewise.
20724 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
20725 (PRIuGRUB_UINT32_T): Likewise.
20726 (PRIxGRUB_UINT64_T): Likewise.
20727
1aa4fe88
VS
207282010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20729
20730 Implement loading palette on ieee1275_fb.
20731
20732 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
20733 (have_setcolors): Likewise.
20734 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
20735 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
20736 (grub_video_ieee1275_set_palette): Implement.
20737
25761e13
VS
207382010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
207392010-09-11 Colin Watson <cjwatson@ubuntu.com>
20740
20741 * util/grub-install.in (grub_partition): New variable.
20742 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
20743 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
20744 Fixes a bug reported by Yves Blusseau.
20745
050abaea
VS
207462010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20747
20748 Fix emu on mipsel.
20749
20750 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
20751 =grub_cpu_flush_cache on all mips and not only yeeloong.
20752 * configure.ac (COND_mips): New conditional.
20753 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
20754 platforms.
20755 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
20756 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
20757 [GRUB_LINKER_HAVE_INIT]: New function.
20758 (grub_emu_post_init): Likewise.
20759 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
20760 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
20761 * include/grub/cache.h (_mips): Include mips/cache.h.
20762 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
20763 LVM and RAID prototypes.
20764 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
20765 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
20766 function.
20767
5ed7d816
CW
207682010-09-10 Colin Watson <cjwatson@ubuntu.com>
20769
20770 * util/grub-install.in: Don't try to verify core.img until after
20771 running grub-mkimage to create it.
20772
90367e04
RM
207732010-09-10 Robert Millan <rmh@gnu.org>
20774
20775 * util/grub.d/10_hurd.in: Add misc readability checks.
20776 * util/grub.d/10_kfreebsd.in: Likewise.
20777 * util/grub.d/10_linux.in: Likewise.
20778
c452fa66
CW
207792010-09-10 Colin Watson <cjwatson@ubuntu.com>
20780
20781 * util/grub-install.in: ${imgext} won't be defined here until the
20782 install branch is merged. For the meantime, only verify core.img on
20783 i386-pc and sparc64-ieee1275 platforms.
20784
c38fe9f4
RM
207852010-09-10 Robert Millan <rmh@gnu.org>
20786
20787 Solaris support in grub_find_zpool_from_dir(). Thanks
20788 Seth Goldberg for referring to getextmntent() facility.
20789
20790 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
20791 `sys/mkdev.h'.
20792 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
20793 `<sys/mnttab.h>'.
20794 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
20795 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
20796 method for finding zpool name.
20797
905f7773
CW
207982010-09-10 Colin Watson <cjwatson@ubuntu.com>
20799
20800 grub-fstest needs the host and hostfs modules while other utilities
20801 actively require those modules to be absent, so grub-fstest needs
20802 its own initialisation and finalisation code.
20803
20804 * Makefile.am (grub_fstest.pp): New target.
20805 (grub_fstest_init.lst): Likewise.
20806 (grub_fstest_init.c): Likewise.
20807 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
20808
fb90b546
RM
208092010-09-10 Robert Millan <rmh@gnu.org>
20810
20811 * configure.ac: Check for `struct statfs.f_fstypename' and
20812 `struct statfs.f_mntfromname'.
20813
20814 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
20815 kFreeBSD-specific code.
20816
66d4bea5
RM
208172010-09-10 Robert Millan <rmh@gnu.org>
20818
20819 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
20820 on ZFS. Now non-main filesystems are supported as / too.
20821
b6a690ee
CW
208222010-09-09 Colin Watson <cjwatson@ubuntu.com>
20823
20824 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
20825 and grub-core/disk/host.c to ...
20826 (grub-fstest): ... here. Having the host disk implementation
20827 present confuses grub-probe and other utility programs.
20828
20829 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
20830 when writing to a file, not when writing to stdout.
20831
8901b00c 208322010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
20833
20834 * tests/partmap_test.in: New test for partitions.
20835 * Makefile.util.def: Rules for new test.
20836
7bf45fdd
RM
208372010-09-09 Robert Millan <rmh@gnu.org>
20838
20839 * util/grub-probe.c (probe): Fix a pair of unhandled error
20840 conditions.
20841
4dfbc574
RM
208422010-09-09 Robert Millan <rmh@gnu.org>
20843
20844 Basic Btrfs support (detection and UUID).
20845
20846 * grub-core/fs/btrfs.c: New file.
20847 * Makefile.util.def (library): Register btrfs.c.
20848 * grub-core/Makefile.core.def: Likewise.
20849
6b8e78ae
RM
208502010-09-08 Robert Millan <rmh@gnu.org>
20851
20852 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
20853 with (optional) parameters to specify device and relative path.
20854 * util/grub-install.in: Use is_path_readable_by_grub() to
20855 verify readability of a few critical files.
20856 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
20857 verify readability of grub.cfg.new.
20858
27f21a8b
VS
208592010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20860
20861 Split minix.mod into minix.mod and minix2.mod.
20862
20863 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
20864 * grub-core/Makefile.core.def (minix2): New module.
20865 * grub-core/fs/minix.c: Use definitions instead of runtime version
20866 checking.
20867 * grub-core/fs/minix2.c: New file.
20868
c0e53ea5
YB
208692010-09-08 Yves Blusseau <blusseau@zetam.org>
20870
20871 Add new --boot-directory option to replace --root-directory
20872
20873 * util/grub-install.in: Add new --boot-directory option
20874 * util/grub-reboot.in: Likewise.
20875 * util/grub-set-default.in: Likewise.
20876
b9fe6ea2
YB
208772010-09-08 Yves Blusseau <blusseau@zetam.org>
20878
20879 * util/grub-mkconfig.in: Use new variable.
20880
d87aedff
YB
208812010-09-08 Yves Blusseau <blusseau@zetam.org>
20882
20883 * configure.ac: Define some useful variables.
20884
e55e8495
VS
208852010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20886
20887 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20888 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
20889 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
20890 Use terminfo and don't use cursor-on/cursor-off unless it's known
20891 to work.
20892 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
20893 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
20894
6fa6d675
CW
208952010-09-08 Colin Watson <cjwatson@ubuntu.com>
20896
20897 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
20898 starts with "(,", fill the drive containing the loaded image in
20899 between those two characters, but expect that a full partition
20900 specification including partition map names will follow.
20901
92f2aef0
RM
209022010-09-08 Robert Millan <rmh@gnu.org>
20903
20904 * configure.ac: Remove `--enable-grub-fstest' option.
20905 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
20906
20907 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
20908 `grub-fstest' instead of `grub-probe' for readability verification.
20909 * util/grub-probe.c (probe): Remove readability verification kludge.
20910
99fd620d
RM
209112010-09-08 Robert Millan <rmh@gnu.org>
20912
20913 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
20914 initializing `GRUB_FS'.
20915
058e30ac 209162010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
20917
20918 Not command (!) support to GRUB script.
20919
20920 * tests/grub_script_not.in: New test.
20921 * Makefile.util.def: Rules for new test.
20922
20923 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20924 ! command as a special case.
20925 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
20926
b61d05ed 209272010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20928
058e30ac 20929 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
20930 grub_free.
b61d05ed 20931
4d69c786 209322010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20933
20934 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
20935
aa3119c4 209362010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20937
20938 * docs/grub.texi (Shell-like scripting): Documentation for break,
20939 continue, shift and return commands.
20940
db0f7e3d
VS
209412010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
20942
20943 Rename CD-ROM to cd on BIOS.
20944
20945 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
20946 "cd".
20947 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
20948
88b87c93
VS
209492010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20950
20951 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
20952 * util/grub-probe.c (main): Likewise.
20953 * util/i386/pc/grub-setup.c (main): Likewise.
20954 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20955 Reported and debugged by: alexxy
20956
294f324d
VS
209572010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20958
20959 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
20960 diagnostic info.
20961
d7ee3441
JS
209622010-09-05 Jo Shields <directhex@apebox.org>
20963
20964 * util/grub.d/30_os-prober.in: Add missing classes.
20965
d7e06c1f
VS
209662010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20967
20968 * docs/grub.texi (Theme file format): Document new position format.
20969
fc157e53
VS
209702010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20971
20972 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
20973 a table. Use @code instead of @verbatim.
20974
506e9a1c
CB
209752010-09-05 Colin D Bennett <colin@gibibit.com>
20976
20977 Gfxmenu documentation.
20978
20979 * docs/grub.texi (Theme file format): New chapter.
20980
f0aff67c
SJ
209812010-09-05 Szymon Janc <szymon@janc.net.pl>
20982
20983 * grub-core/Makefile.core.def (xzio): New module.
20984 * grub-core/io/xzio.c: New file.
20985 * grub-core/lib/xzembed/xz.h: New file (from xembed).
20986 * grub-core/lib/xzembed/xz_config.h: Likewise.
20987 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
20988 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
20989 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
20990 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
20991 * grub-core/lib/xzembed/xz_private.h: Likewise.
20992 * grub-core/lib/xzembed/xz_stream.h: Likewise.
20993 * include/grub/file.h (grub_file_filter_id): New compression filter
20994 GRUB_FILE_FILTER_XZIO.
20995
82a85062
VS
209962010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20997
20998 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
20999 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
21000 size.
21001
3579415d
VS
210022010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21003
21004 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
21005 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
21006
5124ae6d
VS
210072010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21008
21009 Uncompressed checksum support.
21010
21011 * grub-core/commands/hashsum.c (options): Add option --uncompress.
21012 (check_list): New parameter uncompress.
21013 (grub_cmd_hashsum): Handle --uncompress.
21014
9aadb3d1
VS
210152010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21016
21017 Reintroduce testload.
21018
21019 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
21020 from here ...
21021 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
21022 (GRUB_MOD_INIT): New function.
21023 (GRUB_MOD_FINI): Likewise.
21024 * grub-core/Makefile.core.def (testload): New module.
21025
a17792c3
SJ
210262010-09-05 Szymon Janc <szymon@janc.net.pl>
21027
21028 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
21029 (uint8_t): New type.
21030 (uint16_t): Likewise.
21031 (uint32_t): Likewise.
21032 (uint64_t): Likewise.
21033
b81e40a3
SJ
210342010-09-05 Szymon Janc <szymon@janc.net.pl>
21035
21036 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
21037
fc2ef117
VS
210382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21039
21040 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
21041 Made static.
21042 (grub_gzfile_open): Removed. All users updated.
21043 (GRUB_MOD_INIT): New function.
21044 (GRUB_MOD_FINI): Likewise.
21045 * grub-core/kern/file.c (grub_file_filters_all): New variable.
21046 (grub_file_filters_enabled): Likewise.
21047 (grub_file_open): Handle filters.
21048 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
21049 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
21050 * include/grub/file.h (grub_file_filter_id_t): New type.
21051 (grub_file_filter_t): Likewise.
21052 (grub_file_filters_all): New extern variable.
21053 (grub_file_filters_enabled): Likewise.
21054 (grub_file_filter_register): New inline function.
21055 (grub_file_filter_unregister): Likewise.
21056 (grub_file_filter_disable): Likewise.
21057 (grub_file_filter_disable_compression): Likewise.
21058 * include/grub/gzio.h: Removed.
21059
35ee15e0
BC
210602010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21061
21062 Filename expansion support for wildcards in GRUB script.
21063
21064 * tests/grub_script_expansion.in: New test.
21065 * Makefile.util.def: Rule for new test.
21066
21067 * grub-core/commands/wildcard.c: New file, implements filename
21068 expansion support for GRUB script.
21069 * grub-core/Makefile.core.def: Rule update for regexp.mod.
21070 * grub-core/script/argv.c: Cosmetic changes.
21071 * grub-core/script/execute.c (grub_script_arglist_to_argv):
21072 Refactored to perform wildcard expansion on arguments.
21073 * include/grub/script_sh.h (grub_script_wildcard_translator): New
21074 struct.
21075
21076 * tests/util/grub-shell.in: Fix quoting for read input.
21077
5f0c4aca
BC
210782010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21079
21080 Support for updating environment variables with matched substrings
21081 of regexp.
21082
21083 * tests/grub_cmd_regexp.in: New test.
21084 * Makefile.util.def: Rule for new test.
21085
21086 * grub-core/commands/regexp.c: New option -s to update environment
21087 variables with regexp matches.
21088
3759a35f
SJ
210892010-09-04 Szymon Janc <szymon@janc.net.pl>
21090
21091 * include/grub/file.h (grub_file): New member not_easly_seekable.
21092 (grub_file_seekable): New inline function.
21093 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
21094 easily seekable.
21095 (grub_gzio_open): Set not_easly_seekable.
21096 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
21097 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
21098
ed8c6dec
BC
210992010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21100
21101 Support for options to appear multiple times on cmdline.
21102
21103 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
21104 * grub-core/commands/extcmd.c: Support for repeatable option.
21105 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
21106 repeatable option support.
21107
21108 Refactor menuentry into a regular command.
21109
21110 * grub-core/commands/menuentry.c: New file, menuentry command
21111 implementation.
21112 * grub-core/Makefile.core.def: Rule update for normal.mod.
21113 * grub-core/normal/main.c: Moved menuentry creation to
21114 grub-core/commands/menuentry.c.
21115 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
21116 (grub_menu_execute_entry_real): Removed.
21117 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
21118 function.
21119 (grub_script_execute_menuentry): Removed.
21120 * grub-core/script/parser.y (menuentry): Removed.
21121 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
21122 * grub-core/script/yylex.l (menuentry): Removed.
21123 * include/grub/menu.h (grub_menu_init): New prototype.
21124 (grub_menu_fini): New prototype.
21125 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
21126 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
21127 (grub_script_execute_sourcecode): New prototype.
21128
dacd0cf0
BC
211292010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21130
21131 "return" command for GRUB script functions.
21132
21133 * tests/grub_script_return.in: New test.
21134 * Makefile.util.def: Rules for new test.
21135
21136 * grub-core/script/execute.c (grub_script_return): New function.
21137 * grub-core/script/main.c: Register/unregister return commaond.
21138 * include/grub/script_sh.h (grub_script_return): New prototype.
21139
52e72f9d
BC
211402010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21141
21142 "setparams" command to update positional parameters.
21143
21144 * tests/grub_script_setparams.in: New test.
21145 * Makefile.util.def: Rules for new test.
21146
21147 * grub-core/script/argv.c (grub_script_argv_make): New function.
21148 * grub-core/script/execute.c (replace_scope): New function.
21149 (grub_script_setparams): New function.
21150 * grub-core/script/lexer.c: Remove unused variables.
21151 * grub-core/script/main.c: Register/unregister setparams command.
21152 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
21153 (grub_script_setparams): New prototype.
21154
25b60c91
BC
211552010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21156
21157 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
21158 grub_free order.
21159
37e7bf68
BC
211602010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21161
21162 Support for passing block of commands as an argument to extcmds.
21163
21164 * Makefile.util.def: Rules for new test.
21165 * tests/grub_script_blockarg.in: New test.
21166 * grub-core/tests/test_blockarg.c: New file, block argument
21167 command used in the test.
21168
21169 * include/grub/extcmd.h (grub_extcmd_context): New struct.
21170 (grub_register_extcmd_prio): New function prototype.
21171 (grub_extcmd_dispatcher): New function prototype.
21172 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
21173 type.
21174 * include/grub/script_sh.h (struct grub_script): New members
21175 `children', `next_siblings' and `refcnt' for block arguments and
21176 reference counting.
21177 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
21178 (grub_script_arg): New member `script' for block argument.
21179 (grub_script_argv): New member `script' for block argument.
21180 (grub_parser_param): New member `scripts' for block argument.
21181 (grub_script_mem_free): New extern function prototype.
21182 (grub_script_ref): New function prototype.
21183 (grub_script_unref): New function prototype.
21184
21185 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
21186 extcmd form to support block arguments.
21187 * grub-core/script/argv.c: Block arguments support.
21188 * grub-core/script/execute.c: Likewise.
21189 * grub-core/script/lexer.c: Likewise.
21190 * grub-core/script/main.c: Likewise.
21191 * grub-core/script/script.c: Likewise.
21192 * grub-core/script/parser.y: Likewise. New `block' and `block0'
21193 non-terminals.
21194
21195 * grub-core/commands/acpi.c: Update extcmd implementations with
21196 grub_extcmd_context_t.
21197 * grub-core/commands/cat.c: Likewise.
21198 * grub-core/commands/echo.c: Likewise.
21199 * grub-core/commands/extcmd.c: Likewise.
21200 * grub-core/commands/hashsum.c: Likewise.
21201 * grub-core/commands/hdparm.c: Likewise.
21202 * grub-core/commands/help.c: Likewise.
21203 * grub-core/commands/hexdump.c: Likewise.
21204 * grub-core/commands/i386/cpuid.c: Likewise.
21205 * grub-core/commands/i386/pc/drivemap.c: Likewise.
21206 * grub-core/commands/i386/pc/halt.c: Likewise.
21207 * grub-core/commands/i386/pc/sendkey.c: Likewise.
21208 * grub-core/commands/iorw.c: Likewise.
21209 * grub-core/commands/keystatus.c: Likewise.
21210 * grub-core/commands/loadenv.c: Likewise.
21211 * grub-core/commands/ls.c: Likewise.
21212 * grub-core/commands/lspci.c: Likewise.
21213 * grub-core/commands/memrw.c: Likewise.
21214 * grub-core/commands/probe.c: Likewise.
21215 * grub-core/commands/search_wrap.c: Likewise.
21216 * grub-core/commands/setpci.c: Likewise.
21217 * grub-core/commands/sleep.c: Likewise.
21218 * grub-core/disk/loopback.c: Likewise.
21219 * grub-core/hello/hello.c: Likewise.
21220 * grub-core/loader/i386/bsd.c: Likewise.
21221 * grub-core/loader/xnu.c: Likewise.
21222 * grub-core/term/gfxterm.c: Likewise.
21223 * grub-core/term/serial.c: Likewise.
21224 * grub-core/tests/lib/functional_test.c: Likewise.
21225
888d1500
BC
212262010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21227
21228 Multi-line quoted strings support.
21229
21230 * grub-core/script/lexer.c (append_newline): Removed.
21231 (grub_script_lexer_yywrap): Refactored.
21232 (grub_script_lexer_init): Refactored.
21233 * grub-core/script/yylex.l (yywrap): New function.
21234 (grub_lexer_resplit): New function.
21235 (grub_lexer_unput): New function.
21236 * include/grub/script_sh.h (grub_lexer_param): New members, unput
21237 and resplit.
21238 * tests/grub_script_echo1.in: Added few more testcases.
21239
dda060dd
VS
212402010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
21241
21242 * grub-core/kern/misc.c: Don't add abort alias in utils.
21243 Reported by: echoline.
21244
6556eba9
BC
212452010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
21246
21247 Add missing files into "make dist" tarball for other platforms.
21248
21249 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
21250 * conf/Makefile.common (dist_noinst_DATA): New variable.
21251 * conf/Makefile.extra-dist: Added missing make dist files.
21252 * grub-core/Makefile.core.def: Likewise.
21253
c8e7bf5f
VS
212542010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
21255
21256 Compress grub_prefix.
21257
21258 * grub-core/boot/i386/pc/lnxboot.S: Use
21259 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
21260 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
21261 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
21262 GRUB_MACHINE_PREFIX_END. All users updated.
21263 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
21264 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
21265 + 0x40.
21266 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
21267 * util/grub-mkimage.c (image_target_desc): Change data_end to
21268 prefix_end. All users updated.
21269
a7c00cdb
VS
212702010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
21271
21272 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
21273 value.
21274 (grub_openbsd_boot): Likewise.
21275 (grub_netbsd_boot): Likewise.
21276 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
21277 (grub_xnu_boot): Likewise.
21278
9f915872
VS
212792010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21280
21281 * configure.ac: Clean LIBS variable after tests.
21282
efa1bee7
CW
212832010-09-02 Colin Watson <cjwatson@ubuntu.com>
21284
21285 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
21286
61d720e5
VS
212872010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21288
21289 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
21290 echo if libdevmapper will be used.
21291
ef8e0ec8
IT
212922010-09-02 Ian Turner <Ian.Turner@deshaw.com>
21293
21294 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
21295 constant for the same file.
21296
03e261d8
VS
212972010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21298
21299 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
21300
c2a4eba6
CW
213012010-09-02 Colin Watson <cjwatson@ubuntu.com>
21302
21303 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
21304 grub-core/*.pp.
21305
9056cbf3
CW
213062010-09-02 Colin Watson <cjwatson@ubuntu.com>
21307
21308 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
21309 required by the boot protocol.
21310
21311 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
21312 ebp and edi members.
21313 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
21314 state.ebp and state.edi.
21315 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
21316 %ebp and %edi according to grub_relocator32_ebp and
21317 grub_relocator32_edi respectively.
21318 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
21319 and state.edi.
21320
529cc99a
VS
213212010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21322
21323 Add i386-pc-pxe image target.
21324
21325 * util/grub-mkimage.c (image_target_desc): New enum value
21326 IMAGE_I386_PC_PXE.
21327 (image_targets): New target i386-pc-pxe.
21328 (generate_image): Handle i386-pc-pxe image.
21329
9a093920
VS
213302010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21331
21332 Fix grub_pxe_scan.
21333
21334 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
21335 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
21336 All users updated.
21337 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
21338 (grub_pxe_pxenv): Correct type.
21339
f9cefc4e
CW
213402010-09-01 Colin Watson <cjwatson@ubuntu.com>
21341
21342 * NEWS: Document most of the important changes since 1.98.
21343
4066f57f
CW
213442010-09-01 Colin Watson <cjwatson@ubuntu.com>
21345
21346 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
21347 generated manual page) a little.
21348
da2891f9
CW
213492010-09-01 Colin Watson <cjwatson@ubuntu.com>
21350
21351 * docs/grub.texi: Add myself as an author.
21352
ad717fae
VS
213532010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21354
21355 * Makefile.util.def (libgrub.a): Add missing sunpc.
21356 Reported by: Seth Goldberg.
21357
eefe8abd
VS
213582010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21359
21360 Interrupt wrapping and code simplifications.
21361
9494ef9a
VS
21362 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
21363 x86_noieee1275 which are functionaly equivalent in this case.
21364 (grub-install): Make source on each platform explicit. Enable on
21365 all noemu.
21366 * gentpl.py (x86_efi_pc): Removed group.
21367 (x86_noefi): Likewise.
21368 (i386_noefi): Likewise.
21369 (x86_noieee1275): Likewise.
21370 (i386_noieee1275): Likewise.
21371 (i386_noefi_noieee1275): Likewise.
21372 (i386_pc_qemu_coreboot): Likewise.
21373 (i386_coreboot_multiboot): Likewise.
21374 (i386_pc_coreboot_multiboot_qemu): Likewise.
21375 (x86_noefi_mips): Likewise.
21376 (noieee1275): Likewise.
21377 (ieee1275_mips): Likewise.
21378 (noemu_noieee1275): Likewise.
21379 (cmos): New group.
21380 (usb): Likewise.
21381 (videoinkernel): Likewise.
21382 (videomodules): Likewise.
eefe8abd 21383 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
21384 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
21385 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
21386 include/grub/loader.h, include/grub/msdos_partition.h,
21387 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
21388 include/grub/machine/console.h, include/grub/machine/vga.h,
21389 include/grub/machine/vbe.h, include/grub/machine/init.h,
21390 include/grub/machine/kernel.h, include/grub/cpu/time.h,
21391 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 21392 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
21393 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
21394 * grub-core/Makefile.core.def (kernel): Explicit the source for
21395 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
21396 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
21397 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
21398 Use videoinkernel tag.
21399 (usb): Enable on all usb.
21400 (usbserial_common): Likewise.
21401 (usbserial_pl2303): Likewise.
21402 (usbserial_ftdi): Likewise.
21403 (uhci): Enable on all x86.
21404 (ohci): Enable on all pci.
21405 (cmostest): Enable on all CMOS.
21406 (acpi): Include commands/acpi.c on all platforms.
21407 (halt): Add relevant lib/*/halt.c.
21408 (hdparm): Enable on all pci.
21409 (lspci): Likewise.
21410 (usbtest): Enable on all usb.
21411 (ata): Enable on all pci.
21412 (ata_pthru): Likewise.
21413 (usbms): Enable on all usb.
21414 (usb_keyboard): Likewise.
21415 (font): Use tag videomodules.
21416 (bufio): Likewise.
21417 (datetime): Use tag cmos. Enable on all noemu.
21418 (mmap): Use tags common and x86.
21419 (gfxterm): Use tag videomodules.
21420 (bitmap): Likewise.
21421 (bitmap_scale): Likewise.
21422 (video_fb): Likewise.
21423 (video): Likewise.
21424 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
21425 adjust padding accordingly. All users updated.
21426 (grub_ohci_transaction): Fix bad format specification.
21427 (GRUB_MOD_INIT): Add asserts for struct size.
21428 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
21429 (grub_alloc_td): Likewise.
21430 (grub_free_queue): Likewise.
21431 (grub_uhci_transfer): Likewise.
21432 (grub_uhci_transaction): Fix bad format specification.
21433 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
21434 (grub_usb_bulk_readwrite): Likewise.
21435 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
21436 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
21437 Made static.
21438 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
21439 Made static.
21440 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
21441 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
21442 Transformed into C.
21443 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
21444 Moved from here ...
21445 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
21446 ... here. Transformed into C. Made static.
21447 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
21448 Moved from here ...
21449 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
21450 ... here. Transformed into C. Made static.
21451 * grub-core/kern/i386/pc/startup.S
21452 (grub_biosdisk_check_int13_extensions): Moved from here ...
21453 * grub-core/disk/i386/pc/biosdisk.c
21454 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
21455 Made static.
21456 * grub-core/kern/i386/pc/startup.S
21457 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
21458 * grub-core/disk/i386/pc/biosdisk.c
21459 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
21460 Transformed into C. Made static.
21461 * grub-core/kern/i386/pc/startup.S
21462 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
21463 * grub-core/disk/i386/pc/biosdisk.c
21464 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
21465 Transformed into C. Made static.
21466 * grub-core/kern/i386/pc/startup.S
21467 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
21468 * grub-core/disk/i386/pc/biosdisk.c
21469 (grub_biosdisk_get_diskinfo_standard): ... here.
21470 Transformed into C. Made static.
21471 * grub-core/kern/i386/pc/startup.S
21472 (grub_biosdisk_get_num_floppies): Moved from here ...
21473 * grub-core/disk/i386/pc/biosdisk.c
21474 (grub_biosdisk_get_num_floppies): ... here.
21475 Transformed into C. Made static.
21476 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
21477 New function.
21478 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
21479 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
21480 Transformed into C. Made static.
21481 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
21482 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
21483 Transformed into C. Made static.
21484 * grub-core/kern/i386/ieee1275/init.c: Removed.
21485 * grub-core/kern/i386/misc.S: Likewise.
21486 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
21487 Splitted from here ...
21488 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
21489 Transformed into C. Made static. All users updated.
21490 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
21491 Transformed into C. Made static. All users updated.
21492 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
21493 Moved from here...
21494 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
21495 Transformed into C. Made static. All users updated.
21496 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
21497 Moved from here...
21498 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
21499 Transformed into C. Made static. All users updated.
21500 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
21501 Removed (replaced by C version).
21502 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
21503 Moved from here...
21504 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
21505 Transformed into C. Made static.
21506 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
21507 Moved from here...
21508 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
21509 ... here. Transformed into C.
21510 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
21511 Moved from here...
21512 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
21513 ... here. Transformed into C.
21514 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
21515 Moved from here...
21516 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
21517 ... here. Transformed into C. Made static.
21518 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
21519 Moved from here...
21520 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
21521 ... here. Transformed into C.
21ed554b
VS
21522 * grub-core/kern/i386/pc/startup.S
21523 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
21524 * grub-core/video/i386/pc/vbe.c
21525 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
21526 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
21527 Moved from here...
21528 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
21529 ... here. Transformed into C.
21530 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
21531 Moved from here...
21532 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
21533 ... here. Transformed into C.
21534 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
21535 Moved from here...
21536 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
21537 ... here. Transformed into C.
21538 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
21539 Moved from here...
21540 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
21541 ... here. Transformed into C.
21542 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
21543 Moved from here...
21544 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
21545 ... here. Transformed into C. Made static.
21546 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
21547 Moved from here...
21548 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
21549 ... here. Transformed into C. Made static.
21550 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
21551 Moved from here...
21552 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
21553 ... here. Transformed into C. Made static.
21554 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
21555 pxe_rm_entry as third argument.
21556 (grub_bios_interrupt): New function.
21557 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
21558 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
21559 of calling grub_stop.
21560 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
21561 * grub-core/lib/efi/halt.c (grub_halt): ...here.
21562 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
21563 * grub-core/lib/emu/halt.c (grub_halt): ... here.
21564 * grub-core/lib/i386/halt.c: Moved from here ...
21565 * grub-core/lib/i386/halt.c: ... here.
21566 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
21567 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
21568 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
21569 grub_stop_floppy.
21570 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
21571 * include/grub/i386/coreboot/init.h: Removed.
21572 * include/grub/i386/multiboot/init.h: Likewise.
21573 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
21574 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
21575 * include/grub/i386/pc/int.h: New file.
21576 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
21577 (grub_pxe_scan): Removed.
21578 (grub_pxe_call): Update prototype.
21579 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
21580 prototypes.
21581 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
21582 * include/grub/i386/qemu/init.h: Removed.
21583 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
21584 noreturn.
21585 (grub_halt): Likewise.
21586 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
21587 (grub_reboot): Likewise.
21588 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
21589 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
21590 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
21591
215dd471
RM
215922010-08-30 Robert Millan <rmh@gnu.org>
21593
21594 * NEWS: Document addition of ZFS support in `grub-install' and
21595 `grub-mkconfig'.
21596
ebd65b82
BC
215972010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
21598
21599 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
21600 dprintf output.
21601
11721d19
VS
216022010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21603
21604 Remove leftover embedding of font objects.
21605
21606 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
21607 * util/grub-install.in (font): Removed.
21608 * util/grub-mkimage.c (generate_image): Remove font support. All users
21609 updated.
21610
37837d4e
VS
216112010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21612
21613 Remove leftover embedding of font objects.
21614
21615 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
21616 * util/grub-install.in (font): Removed.
21617 * util/grub-mkimage.c (generate_image): Remove font support. All users
21618 updated.
21619
b4c1aae0
VS
216202010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21621
21622 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 21623 Reported by: Ian Turner
b4c1aae0 21624
8920a08d
VS
216252010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21626
21627 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
21628 timeout to avoid indefinite boot stalling.
21629
f21db033
VS
216302010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21631
21632 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
21633 (grub_env_write_color_highlight): Likewise.
21634
9a9de209
VS
216352010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21636
21637 * grub-core/normal/term.c (print_more): Return to normal and not
21638 to standard state after printing "---MORE---".
21639
3dca01d7
VS
216402010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21641
21642 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
21643 Mask out the bit 0x80 since it has other meaning that specifiing color.
21644
0b986c40
VS
216452010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21646
21647 New relocator. Allows for more kernel support and more straightforward
21648 loader writing.
21649
21650 * Makefile.am (BOOTTARGET): New variable.
21651 (QEMU32): Likewise.
21652 (linux.init.x86_64): New target.
21653 (linux.init.i386): Likewise.
21654 (multiboot.elf): Likewise.
21655 (kfreebsd.elf): Likewise.
21656 (kfreebsd.aout): Likewise.
21657 (pc-chainloader.elf): Likewise.
21658 (pc-chainloader.bin): Likewise.
21659 (ntldr.elf): Likewise.
21660 (ntldr.bin): Likewise.
21661 (multiboot2.elf): Likewise.
21662 (kfreebsd.init.x86_64): Likewise.
21663 (kfreebsd.init.i386): Likewise.
21664 (knetbsd.init.i386): Likewise.
21665 (kopenbsd.init.i386): Likewise.
21666 (knetbsd.init.x86_64): Likewise.
21667 (kopenbsd.init.x86_64): Likewise.
21668 (linux-initramfs.i386): Likewise.
21669 (linux-initramfs.x86_64): Likewise.
21670 (kfreebsd-mfsroot.i386.img): Likewise.
21671 (knetbsd.image.i386): Likewise.
21672 (kopenbsd.image.i386): Likewise.
21673 (kopenbsd.image.x86_64): Likewise.
21674 (knetbsd.miniroot-image.i386.img): Likewise.
21675 (kfreebsd-mfsroot.x86_64.img): Likewise.
21676 (knetbsd.image.x86_64): Likewise.
21677 (knetbsd.miniroot-image.x86_64.img): Likewise.
21678 (kfreebsd-mfsroot.i386.gz): Likewise.
21679 (bootcheck-kfreebsd-i386): Likewise.
21680 (kfreebsd-mfsroot.x86_64.gz): Likewise.
21681 (bootcheck-kfreebsd-x86_64): Likewise.
21682 (knetbsd.miniroot-image.i386.gz): Likewise.
21683 (bootcheck-knetbsd-i386): Likewise.
21684 (bootcheck-kopenbsd-i386): Likewise.
21685 (bootcheck-kopenbsd-x86_64): Likewise.
21686 (knetbsd.miniroot-image.x86_64.gz): Likewise.
21687 (bootcheck-knetbsd-x86_64): Likewise.
21688 (bootcheck-linux-i386): Likewise.
21689 (bootcheck-linux-x86_64): Likewise.
21690 (bootcheck-linux16-i386): Likewise.
21691 (bootcheck-linux16-x86_64): Likewise.
21692 (bootcheck-multiboot): Likewise.
21693 (bootcheck-multiboot2): Likewise.
21694 (bootcheck-kfreebsd-aout): Likewise.
21695 (bootcheck-pc-chainloader): Likewise.
21696 (bootcheck-ntldr): Likewise.
21697 (CLEANFILES): Add new targets.
21698 (BOOTCHECKS): New variable.
21699 (.PHONY): Add bootchecks.
21700 (SUCCESSFUL_BOOT_STRING): New variable.
21701 (BOOTCHECK_TIMEOUT): Likewise.
21702 (bootcheck): New target
21703 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
21704 * configure.ac: Correct efiemu excuse.
21705 * docs/grub.texi (Supported kernels): New chapter.
21706 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
21707 include/grub/mm_private.h. Simplify inclusion of
21708 include/grub/boot.h, include/grub/loader.h
21709 and include/grub/msdos_partition.h
21710 (KERNEL_HEADER_FILES) [i386_coreboot]:
21711 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
21712 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
21713 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
21714 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
21715 include/grub/machine/loader.h.
21716 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
21717 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
21718 extra_dist.
21719 (pci.mod): Enable on i386-multiboot.
21720 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
21721 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
21722 i386-qemu.
21723 (relocator.mod): Rewritten.
21724 (aout.mod): Enable on all x86.
21725 (bsd.mod): Likewise.
21726 (ntldr.mod): New module.
21727 (linux.mod): Use loader/i386/linux.c on all x86.
21728 (xnu.mod): Enable on all x86.
21729 (vga_text.mod): disable on EFI and QEMU.
21730 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
21731 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
21732 * grub-core/efiemu/loadcore.c: Likewise.
21733 * grub-core/efiemu/main.c: Likewise.
21734 (grub_efiemu_exit_boot_services): Removed.
21735 (grub_efiemu_finish_boot_services): Likewise.
21736 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
21737 function.
21738 * grub-core/efiemu/i386/nocfgtables.c: New file.
21739 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
21740 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
21741 (grub_efi_finish_boot_services): Moved from here ...
21742 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
21743 Fille finish memory map and related data.
21744 (finish_mmap_buf): New variable.
21745 (grub_efi_uintn_t finish_mmap_size): Likewise.
21746 (grub_efi_uintn_t finish_key): Likewise.
21747 (grub_efi_uintn_t finish_desc_size): Likewise.
21748 (grub_efi_uint32_t finish_desc_version): Likewise.
21749 (grub_efi_is_finished): Likewise.
21750 (grub_efi_get_memory_map): Use saved memory map if EFI is already
21751 finished.
21752 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
21753 (grub_elf64_phdr_iterate): Likewise.
21754 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
21755 (grub_os_area_size): Likewise.
21756 (grub_machine_init): Don't reserve os area.
21757 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
21758 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
21759 * grub-core/kern/i386/loader.S: Removed.
21760 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
21761 (grub_os_area_size): Likewise.
21762 (grub_machine_init): Don't reserve os area.
21763 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
21764 Don't call grub_dl_unload_all.
21765 Don't include loader.S.
21766 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
21767 Declare the memory after _end as available.
21768 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 21769 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 21770 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
21771 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
21772 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
21773 * include/grub/mm_private.h (grub_mm_header): ... here.
21774 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
21775 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
21776 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
21777 (grub_mm_region): ..here. Removed addr. Added pre_size.
21778 All users updated.
21779 * grub-core/kern/mm.c (base): Renamed to ...
21780 (grub_mm_base): ... this. Made global.
21781 (grub_real_malloc): Alloc from end of region.
21782 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
21783 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
21784 * grub-core/kern/powerpc/cache_flush.S: ... here.
21785 * grub-core/lib/efi/relocator.c: New file.
21786 * grub-core/lib/i386/relocator.c: Rewritten.
21787 * grub-core/lib/i386/relocator16.S: New file.
21788 * grub-core/lib/i386/relocator32.S: Likewise.
21789 * grub-core/lib/i386/relocator64.S: Likewise.
21790 * grub-core/lib/i386/relocator_asm.S: Rewritten.
21791 * grub-core/lib/i386/relocator_common.S: New file.
21792 * grub-core/lib/ieee1275/relocator.c: Likewise.
21793 * grub-core/lib/mips/relocator.c: Rewritten.
21794 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
21795 stylistic adjustments.
21796 * grub-core/lib/powerpc/relocator.c: New file.
21797 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
21798 * grub-core/lib/relocator.c: Rewritten.
21799 * grub-core/lib/x86_64/relocator_asm.S: New file.
21800 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
21801 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
21802 (bsd_tag): New struct.
21803 (tags): New variable.
21804 (tags_last): Likewise.
21805 (netbsd_module): New struct.
21806 (netbsd_mods): New variable.
21807 (netbsd_mods_last): Likewise.
21808 (openbsd_opts): New parameter "serial".
21809 (OPENBSD_SERIAL_ARG): New definition.
21810 (netbsd_opts): New parameter "serial".
21811 (NETBSD_SERIAL_ARG): New definition.
21812 (grub_freebsd_add_meta): Reorganised into ...
21813 (grub_bsd_add_meta): ...this. All users updated.
21814 (grub_freebsd_add_mmap): Reorganised into ...
21815 (generate_e820_mmap): ...this...
21816 (grub_bsd_add_mmap): ...and this. All users updated.
21817 (grub_freebsd_list_modules): Use tags.
21818 (grub_netbsd_add_meta_module): New function.
21819 (grub_netbsd_list_modules): Likewise.
21820 (grub_freebsd_boot): Use relocator and finish EFI.
21821 (grub_openbsd_boot): Likewise.
21822 (grub_netbsd_setup_video): New function.
21823 (grub_netbsd_add_modules): Likewise.
21824 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
21825 and finish EFI.
21826 (grub_bsd_unload): Unload tags.
21827 (grub_bsd_load_aout): Use relocator.
21828 (grub_bsd_elf32_size_hook): New function.
21829 (grub_bsd_elf32_hook): Use relocator.
21830 (grub_bsd_elf64_size_hook): New function.
21831 (grub_bsd_elf64_hook): Use relocator.
21832 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
21833 (grub_bsd_load): Zero-out openbsd_ramdisk.
21834 (grub_bsd_load): Use relocator.
21835 (grub_cmd_openbsd): Support serial.
21836 (grub_cmd_netbsd): Support modules.
21837 (grub_cmd_freebsd_module): Use relocator.
21838 (grub_netbsd_module_load): New function.
21839 (grub_cmd_netbsd_module): Likewise.
21840 (grub_cmd_openbsd_ramdisk): Likewise.
21841 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
21842 kopenbsd_ramdisk.
21843 (GRUB_MOD_FINI): Unregister new commands.
21844 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
21845 (grub_freebsd_load_elfmodule_obj): Use relocator.
21846 (grub_freebsd_load_elfmodule): Likewise.
21847 (grub_freebsd_load_elf_meta): Likewise.
21848 (grub_netbsd_load_elf_meta): New function.
21849 (grub_openbsd_find_ramdisk): Likewise.
21850 * grub-core/loader/i386/bsd_helper.S: Removed.
21851 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
21852 * grub-core/loader/i386/bsd_trampoline.S: Removed.
21853 * grub-core/loader/i386/efi/linux.c: Likewise.
21854 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
21855 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
21856 (DEFAULT_VIDEO_MODE): Likewise.
21857 (real_mode_target): New variable.
21858 (prot_mode_target): Likewise.
21859 (initrd_mem_target): Likewise.
21860 (relocator): Likewise.
21861 (efi_mmap_buf): Likewise.
21862 (efi_mmap_size): Likewise.
21863 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
21864 (free_pages): Use relocator.
21865 (allocate_pages): Account for efi_mmap and use relocator. Return error.
21866 (grub_linux_setup_video): Return error.
21867 (grub_linux_trampoline_start): Removed.
21868 (grub_linux_trampoline_end): Likewise.
21869 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
21870 andd video parameters depending on firmware.
21871 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
21872 [GRUB_MACHINE_EFI]: Pass EFI parameters.
21873 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
21874 (grub_cmd_initrd): Use relocator.
21875 * grub-core/loader/i386/linux_trampoline.S: Removed.
21876 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
21877 (elf_sec_entsize): Likewise.
21878 (elf_sec_shstrndx): Likewise.
21879 (elf_sections): Likewise.
21880 (grub_multiboot_load): Use relocator.
21881 (grub_multiboot_get_mbi_size): Account for sections.
21882 (grub_multiboot_make_mbi): Use relocator and support sections.
21883 (grub_multiboot_add_elfsyms): New function.
21884 (grub_multiboot_free_mbi): Free sections.
21885 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
21886 (grub_linux_real_target): Likewise.
21887 (grub_linux_real_chunk): Likewise.
21888 (grub_linux16_prot_size): Likewise.
21889 (grub_linux16_boot): Use relocator.
21890 (grub_linux_unload): Unload relocator.
21891 (grub_cmd_linux): Use relocator.
21892 (grub_cmd_initrd): Likewise.
21893 * grub-core/loader/i386/pc/ntldr.c: New file.
21894 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
21895 Don't try to guess CPU frequency.
21896 (grub_xnu_set_video): Stretch bitmap.
21897 (grub_xnu_boot): Use relocator.
21898 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
21899 (grub_linux_unload): Free relocator.
21900 (grub_linux_load32): Use relocator.
21901 (grub_linux_load64): Likewise.
21902 (grub_cmd_initrd): Likewise.
21903 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
21904 (grub_multiboot_unload): Unload relocator.
21905 (grub_cmd_multiboot): Use relocator.
21906 (grub_cmd_module): Likewise.
21907 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
21908 Use relocator and support sections.
21909 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
21910 (elf_sec_entsize): Likewise.
21911 (elf_sec_shstrndx): Likewise.
21912 (elf_sections): Likewise.
21913 (grub_multiboot_load): Use relocator.
21914 (grub_multiboot_get_mbi_size): Account for sections.
21915 (grub_multiboot_make_mbi): Use relocator and support sections.
21916 (grub_multiboot_add_elfsyms): New function.
21917 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
21918 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
21919 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
21920 Prototype changed. All users updated.
21921 (grub_xnu_align_heap): Simplified.
21922 (grub_xnu_writetree_toheap): Likewise.
21923 (grub_xnu_unload): Unload relocator.
21924 (grub_cmd_xnu_kernel): Use relocator.
21925 (grub_cmd_xnu_kernel64): Likewise.
21926 (grub_xnu_register_memory): Simplified.
21927 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
21928 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
21929 EFI is finished.
21930 (grub_console_checkkey): Likewise.
21931 (grub_console_getkey): Likewise.
21932 (grub_console_getwh): Likewise.
21933 (grub_console_getxy): Likewise.
21934 (grub_console_gotoxy): Likewise.
21935 (grub_console_cls): Likewise.
21936 (grub_console_setcolorstate): Likewise.
21937 (grub_console_setcursor): Likewise.
21938 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
21939 * grub-core/tests/boot/kbsd.init-i386.S: New file.
21940 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
21941 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
21942 * grub-core/tests/boot/kernel-8086.S: Likewise.
21943 * grub-core/tests/boot/kernel-i386.S: Likewise.
21944 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
21945 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
21946 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
21947 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
21948 * grub-core/tests/boot/knetbsd.cfg: Likewise.
21949 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
21950 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
21951 * grub-core/tests/boot/linux.cfg: Likewise.
21952 * grub-core/tests/boot/linux.init-i386.S: Likewise.
21953 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
21954 * grub-core/tests/boot/linux16.cfg: Likewise.
21955 * grub-core/tests/boot/multiboot.cfg: Likewise.
21956 * grub-core/tests/boot/multiboot2.cfg: Likewise.
21957 * grub-core/tests/boot/ntldr.cfg: Likewise.
21958 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
21959 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
21960 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
21961 New definition.
21962 * include/grub/dl.h (grub_dl_unload_all): Removed.
21963 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
21964 (grub_efi_finish_boot_services): Change prototype.
21965 (grub_efi_is_finished): New variable.
21966 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
21967 Changed prototype.
21968 (grub_efiemu_finish_boot_services): Removed.
21969 (grub_machine_efiemu_init_tables): New prototype.
21970 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
21971 (grub_elf64_phdr_iterate): Likewise.
21972 * include/grub/i386/bsd.h: Include relocator.h.
21973 (freebsd_tag_header): New struct.
21974 (grub_openbsd_bios_mmap): Removed.
21975 (grub_unix_real_boot): Removed.
21976 (grub_freebsd_load_elfmodule32): Changed prototype.
21977 (grub_freebsd_load_elfmodule_obj64): Likewise.
21978 (grub_freebsd_load_elf_meta32): Likewise.
21979 (grub_freebsd_load_elf_meta64): Likewise.
21980 (grub_freebsd_add_meta): Removed.
21981 (grub_netbsd_load_elf_meta32): New prototype.
21982 (grub_netbsd_load_elf_meta64): Likewise.
21983 (grub_bsd_add_meta): Likewise.
21984 (grub_openbsd_ramdisk_descriptor): New struct.
21985 (grub_openbsd_find_ramdisk32): New prototype.
21986 (grub_openbsd_find_ramdisk64): Likewise.
21987 * include/grub/i386/coreboot/loader.h: Removed.
21988 * include/grub/i386/efi/loader.h: Likewise.
21989 * include/grub/i386/ieee1275/loader.h: Likewise.
21990 * include/grub/i386/linux.h (linux_kernel_header): Change void *
21991 to grub_uint32_t.
21992 * include/grub/i386/loader.h: Removed.
21993 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
21994 value.
21995 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
21996 (grub_phys_addr_t): New type.
21997 (grub_vtop): New inline function.
21998 (grub_map_memory): Likewise.
21999 (grub_unmap_memory): Likewise.
22000 * include/grub/i386/multiboot/loader.h: Removed.
22001 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
22002 (NETBSD_BTINFO_CONSOLE): New definition.
22003 (NETBSD_BTINFO_SYMTAB): Likewise.
22004 (NETBSD_BTINFO_MODULES): Likewise.
22005 (NETBSD_BTINFO_FRAMEBUF): Likewise.
22006 (grub_netbsd_bootinfo): New struct.
22007 (grub_netbsd_btinfo_common): Use explicit bitsize.
22008 (grub_netbsd_btinfo_mmap_entry): Removed.
22009 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
22010 (grub_netbsd_btinfo_bootdisk): New struct.
22011 (grub_netbsd_btinfo_symtab): Likewise.
22012 (grub_netbsd_btinfo_serial): Likewise.
22013 (grub_netbsd_btinfo_modules): Likewise.
22014 (grub_netbsd_btinfo_framebuf): Likewise.
22015 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
22016 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
22017 Likewise.
22018 (grub_openbsd_bootargs): Use explicit bitsize.
22019 (grub_openbsd_bootarg_console): New struct.
22020 (GRUB_OPENBSD_COM_MAJOR): New definition.
22021 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
22022 * include/grub/i386/pc/efiemu.h: Removed.
22023 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
22024 * include/grub/i386/qemu/loader.h: Removed.
22025 * include/grub/i386/relocator.h: Rewritten.
22026 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
22027 * include/grub/mips/memory.h: New file.
22028 * include/grub/mips/multiboot.h: Rewritten.
22029 * include/grub/mips/relocator.h: Rewritten.
22030 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
22031 (grub_vtop): New function.
22032 (grub_map_memory): Likewise.
22033 (grub_unmap_memory): Likewise.
22034 * include/grub/misc.h (ALIGN_DOWN): New definition.
22035 * include/grub/mm.h (grub_mm_check_real): New proto.
22036 (GRUB_MM_CHECK): New definition.
22037 * include/grub/mm_private.h: New file.
22038 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
22039 (grub_multiboot_get_mbi_size): Removed.
22040 (grub_multiboot_make_mbi): Change prottype.
22041 (grub_multiboot_set_accepts_video): New proto.
22042 (grub_multiboot_add_elfsyms): Likewise.
22043 (grub_multiboot_payload_eip): New variable.
22044 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
22045 New prototype.
22046 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
22047 New definition.
22048 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
22049 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
22050 * include/grub/powerpc/ieee1275/loader.h: Removed.
22051 * include/grub/powerpc/memory.h: New file.
22052 * include/grub/powerpc/relocator.h: Likewise.
22053 * include/grub/relocator.h: Likewise.
22054 * include/grub/relocator_private.h: Likewise.
22055 * include/grub/sparc64/ieee1275/loader.h: Removed.
22056 * include/grub/x86_64/memory.h: New file.
22057 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
22058 (grub_xnu_heap_malloc): Likewise.
22059 (grub_xnu_heap_real_start): Removed.
22060 (grub_xnu_heap_start): Likewise.
22061 (grub_xnu_relocator): New variable.
22062 (grub_xnu_heap_target_start): Likewise.
22063 * tests/util/grub-shell.in: Support non-pc.
22064 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 22065
5303b85d
VS
220662010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22067
22068 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
22069 on malloc error.
22070 (grub_bidi_logical_to_visual): Check that malloc succeded.
22071 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
22072 puts.
22073 (grub_xputs_normal): Likewise.
22074
d768d159
VS
220752010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22076
22077 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
22078 extra_dist.
22079
220802010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22081
22082 * grub-core/efiemu/runtime/efiemu.sh: Removed.
22083
5bf84df4
VS
220842010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22085
22086 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
22087
3626810e
VS
220882010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22089
22090 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
22091 dprintf.
22092
a7363f53
BC
220932010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
22094
22095 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
22096
902f75f6
VS
220972010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22098
22099 * grub-core/normal/term.c (print_more): Fix a memory leak.
22100 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
22101 (grub_xputs_normal): Likewise.
22102
3c707967
VS
221032010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22104
22105 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
22106 the begining of the string
22107
2053cc07
VS
221082010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22109
22110 * grub-core/script/script.c (grub_script_parse): Free parsed on
22111 failure.
22112
46422ebf
VS
221132010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22114
22115 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
22116 on failure.
22117
9e0fa3f6
VS
221182010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22119
22120 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
22121 return.
22122
3393cf16
VS
221232010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22124
22125 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
22126 (scroll_up): Fix a memory leak.
22127
b17540cb
VS
221282010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22129
22130 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
22131 errors.
22132
67140446
VS
221332010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
22134
22135 Handle USB pendrives exposed as floppies.
22136
22137 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
22138 floppy.
22139 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22140 Check for partitions on all devices.
22141
e35e46fc
VS
221422010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22143
22144 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
22145 (readkey): Likewise.
22146
d24c6190
BC
221472010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
22148
22149 Multiple variable names support to "export" command.
22150
22151 * normal/context.c (grub_cmd_export): "export" command supports
22152 multiple variable names.
22153
04ddcc6a
ST
221542010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
22155
22156 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
22157 --target=drive output to Mach device name.
22158
0c8b61d8
BC
221592010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
22160
22161 New Automake based build system for GRUB.
22162
22163 * ABOUT-NLS: New file.
22164 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
22165 in Makefile.util.def file.
22166 * Makefile.util.def: New file. Autogen build definitions file for
22167 GRUB host utils.
22168 * conf/Makefile.common: New file. Common variables for GRUB host
22169 utils and target modules.
22170 * conf/Makefile.extra-dist: New file. Extra files for make dist.
22171 * docs/Makefile.am: New file. Automake file for docs.
22172 * gentpl.py: New file. Python script to generate Autogen
22173 template.
22174 * grub-core/Makefile.am: New file. GRUB target modules' rules
22175 that doesn't fit in Makefile.core.def file.
22176 * grub-core/Makefile.core.def: New file. Autogen build
22177 definitions file for GRUB target modules.
22178 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
22179 specific setjmp.S file.
22180 * po/Makefile.am: New file.
22181
22182 * .bzrignore: New ignores.
22183 * INSTALL: New requirements, without Ruby.
22184 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
22185 * autogen.sh: Updated to invoke autogen as necessary.
22186 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
22187 and defines for Automake conditionals.
22188 * geninit.sh: Refactoring.
22189
22190 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
22191 necessary.
22192 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
22193 New prototype.
22194
22195 * include/grub/test.h: Fix functional test modules' naming.
22196 * grub-core/tests/example_functional_test.c: Fix test module name.
22197
22198 * util/misc.c: Hosted versions' of grub functions for libgrub.a
22199 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
22200 * util/grub-editenv.c: Likewise.
22201 * util/grub-fstest.c: Likewise.
22202 * util/grub-mkdevicemap.c: Likewise.
22203 * util/grub-mkfont.c: Likewise.
22204 * util/grub-mkimage.c: Likewise.
22205 * util/grub-mkpasswd-pbkdf2.c: Likewise.
22206 * util/grub-probe.c: Likewise.
22207 * util/grub-script-check.c: Likewise.
22208 * util/i386/pc/grub-setup.c: Likewise.
22209 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22210
22211 * tests/util/grub-shell.in: Fix override directory path.
22212 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
22213 * util/import_gcry.py: Create Makefile.gcry.def file instead.
22214
22215 * util/lvm.c: Update #includes.
22216 * util/raid.c: Likewise.
22217 * util/resolve.c: Likewise.
22218 * grub-core/bus/emu/pci.c: Likewise.
22219 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
22220 * grub-core/lib/posix_wrap/string.h: Likewise.
22221 * grub-core/kern/emu/main.c: Likewise.
22222
22223 * grub-core/gensymlist.sh: New file. Script for generating kernel
22224 symbols file.
22225 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
22226
22227 * grub-core/gentrigtables.c: Fix unused variable warnings.
22228
22229 * Makefile.in: Removed.
22230 * conf/any-emu.rmk: Removed.
22231 * conf/common.rmk: Removed.
22232 * conf/i386-coreboot.rmk: Removed.
22233 * conf/i386-efi.rmk: Removed.
22234 * conf/i386-ieee1275.rmk: Removed.
22235 * conf/i386-multiboot.rmk: Removed.
22236 * conf/i386-pc.rmk: Removed.
22237 * conf/i386-qemu.rmk: Removed.
22238 * conf/i386.rmk: Removed.
22239 * conf/mips-yeeloong.rmk: Removed.
22240 * conf/mips.rmk: Removed.
22241 * conf/powerpc-ieee1275.rmk: Removed.
22242 * conf/sparc64-ieee1275.rmk: Removed.
22243 * conf/tests.rmk: Removed.
22244 * conf/x86-efi.rmk: Removed.
22245 * conf/x86_64-efi.rmk: Removed.
22246 * gendistlist.sh: Removed.
22247 * geninitheader.sh: Removed.
22248 * genkernsyms.sh.in: Removed.
22249 * genmk.rb: Removed.
22250 * gensymlist.sh.in: Removed.
22251 * mkinstalldirs: Removed.
22252 * boot: Moved ...
22253 * grub-core/boot: ... to here.
22254 * bus: Moved ...
22255 * grub-core/bus: ... to here.
22256 * commands: Moved ...
22257 * grub-core/commands: ... to here.
22258 * disk: Moved ...
22259 * grub-core/disk: ... to here.
22260 * efiemu: Moved ...
22261 * grub-core/efiemu: ... to here.
22262 * font: Moved ...
22263 * grub-core/font: ... to here.
22264 * fs: Moved ...
22265 * grub-core/fs: ... to here.
22266 * gencmdlist.sh: Moved ...
22267 * grub-core/gencmdlist.sh: ... to here.
22268 * genemuinit.sh: Moved ...
22269 * grub-core/genemuinit.sh: ... to here.
22270 * genemuinitheader.sh: Moved ...
22271 * grub-core/genemuinitheader.sh: ... to here.
22272 * genfslist.sh: Moved ...
22273 * grub-core/genfslist.sh: ... to here.
22274 * genhandlerlist.sh: Moved ...
22275 * grub-core/genhandlerlist.sh: ... to here.
22276 * genmoddep.awk: Moved ...
22277 * grub-core/genmoddep.awk: ... to here.
22278 * genmodsrc.sh: Moved ...
22279 * grub-core/genmodsrc.sh: ... to here.
22280 * genpartmaplist.sh: Moved ...
22281 * grub-core/genpartmaplist.sh: ... to here.
22282 * genparttoollist.sh: Moved ...
22283 * grub-core/genparttoollist.sh: ... to here.
22284 * genterminallist.sh: Moved ...
22285 * grub-core/genterminallist.sh: ... to here.
22286 * gentrigtables.c: Moved ...
22287 * grub-core/gentrigtables.c: ... to here.
22288 * genvideolist.sh: Moved ...
22289 * grub-core/genvideolist.sh: ... to here.
22290 * gettext: Moved ...
22291 * grub-core/gettext: ... to here.
22292 * gfxmenu: Moved ...
22293 * grub-core/gfxmenu: ... to here.
22294 * gnulib: Moved ...
22295 * grub-core/gnulib: ... to here.
22296 * hello: Moved ...
22297 * grub-core/hello: ... to here.
22298 * hook: Moved ...
22299 * grub-core/hook: ... to here.
22300 * io: Moved ...
22301 * grub-core/io: ... to here.
22302 * kern: Moved ...
22303 * grub-core/kern: ... to here.
22304 * lib: Moved ...
22305 * grub-core/lib: ... to here.
22306 * loader: Moved ...
22307 * grub-core/loader: ... to here.
22308 * mmap: Moved ...
22309 * grub-core/mmap: ... to here.
22310 * normal: Moved ...
22311 * grub-core/normal: ... to here.
22312 * partmap: Moved ...
22313 * grub-core/partmap: ... to here.
22314 * parttool: Moved ...
22315 * grub-core/parttool: ... to here.
22316 * script: Moved ...
22317 * grub-core/script: ... to here.
22318 * term: Moved ...
22319 * grub-core/term: ... to here
22320 * tests/example_functional_test.c: Moved ...
22321 * grub-core/tests/example_functional_test.c: ... to here.
22322 * tests/lib/functional_test.c: Moved ...
22323 * grub-core/tests/lib/functional_test.c: ... to here.
22324 * tests/lib/test.c: Moved ...
22325 * grub-core/tests/lib/test.c: ... to here.
22326 * video: Moved ...
22327 * grub-core/video: ... to here.
22328
645586e6
BC
223292010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
22330
22331 Replace --enable-grub-emu-modules with grub-emu-lite.
22332
22333 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
22334 cache.S.
22335
22336 * include/grub/emu/misc.h (grub_emu_init): New prototype.
22337 * kern/emu/full.c: New file. For grub-emu specific initialization.
22338 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
22339 * kern/emu/main.c: Call initialization function grub_emu_init.
22340
22341 * Makefile.in: Include grub-emu-lite in install.
22342 * commands/parttool.c: Use grub_no_autoload to differentiate
22343 between grub-emu and grub-emu-lite.
22344 * include/grub/misc.h: New variable grub_no_autoload.
22345
22346 * conf/any-emu.rmk: New rules for grub-emu-lite.
22347 * configure.ac: Remove --enable-grub-emu-modules.
22348 * genmk.rb: Cleanup unnecessary rules.
22349 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
22350
22351 * normal/main.c: Don't load list files on grub-emu-lite.
22352 * util/misc.c (grub_arch_sync_caches): Removed.
22353
f86a4030
CW
223542010-08-23 Colin Watson <cjwatson@ubuntu.com>
22355
22356 * kern/mips/startup.S (grub_prefix): Update comment to refer to
22357 grub-mkimage rather than grub-mkelfimage.
22358 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
22359
06776944
VS
223602010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
22361
22362 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
22363 a key after CapsLock or NumLock. It's just a qemu bug.
22364
df262419
VS
223652010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
22366
22367 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
22368 needed by libusb wrapper.
22369
b40ea81b
ST
223702010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
22371
22372 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
22373
dee50575
VS
223742010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
22375
22376 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
22377 --nounzip is passed.
22378
fb1d7b79
VS
223792010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
22380
22381 USB hotunplugging and USB serial support.
22382
22383 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
22384 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
22385 (grub_uhci_transfer): Respect timeout and set *actual.
22386 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
22387 non-standard length.
22388 (grub_usb_device_attach): Autoload modules.
22389 (GRUB_MOD_INIT): Set grub_term_poll_usb.
22390 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
22391 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
22392 users updated.
22393 (grub_usb_add_hub): Fill nports and children.
22394 (attach_root_port): Receive hub instead of controller.
22395 All users updated. Fill hub->devices.
22396 (grub_usb_root_hub): Allocate hub->devices.
22397 (detach_device): New function.
22398 (poll_nonroot_hub): Fill children and detach devices.
22399 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
22400 actual arguments. All users updated.
22401 (grub_usb_bulk_read_extended): New function.
22402 * bus/usb/serial/common.c: New file.
22403 * bus/usb/serial/ftdi.c: Likewise.
22404 * bus/usb/serial/pl2303.c: Likewise.
22405 * commands/terminal.c (handle_command): Support wildcard.
22406 * commands/usbtest.c: Output "Unknown" instead of empty string.
22407 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
22408 (usbserial_common_mod_SOURCES): New variable.
22409 (usbserial_common_mod_CFLAGS): Likewise.
22410 (usbserial_common_mod_LDFLAGS): Likewise.
22411 (pkglib_MODULES): Add usbserial_pl2303.mod.
22412 (usbserial_pl2303_mod_SOURCES): New variable.
22413 (usbserial_pl2303_mod_CFLAGS): Likewise.
22414 (usbserial_pl2303_mod_LDFLAGS): Likewise.
22415 (pkglib_MODULES): Add usbserial_ftdi.mod.
22416 (usbserial_ftdi_mod_SOURCES): New variable.
22417 (usbserial_ftdi_mod_CFLAGS): Likewise.
22418 (usbserial_ftdi_mod_LDFLAGS): Likewise.
22419 (pkglib_MODULES): Add serial.mod.
22420 (serial_mod_SOURCES): New variable.
22421 (serial_mod_CFLAGS): Likewise.
22422 (serial_mod_LDFLAGS): Likewise.
22423 * conf/i386-pc.rmk: Likewise.
22424 * conf/mips-yeeloong.rmk: Likewise.
22425 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
22426 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
22427 * disk/usbms.c (first_available_slot): New variable.
22428 (grub_usbms_attach): Don't reuse free slots due to potential cache
22429 problems.
22430 * include/grub/serial.h: Moved to ..
22431 * include/grub/ns8250.h: ...this.
22432 * include/grub/serial.h: New file.
22433 * include/grub/term.h (grub_term_poll_usb): New variable.
22434 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
22435 readkey. All users updated.
22436 (grub_terminfo_output_state): Pass term to put.
22437 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
22438 (grub_usb_controller_dev): Add timeout and actual arguments to
22439 transfer. All users updated.
22440 (grub_usb_interface): New field detach_data.
22441 (grub_usb_device): New fields children and nports.
22442 (grub_usb_ep_type_t): New type.
22443 (grub_usb_get_ep_type): New function.
22444 (grub_usb_bulk_read_extended): Likewise.
22445 * include/grub/usbdesc.h (grub_usb_desc): New type.
22446 * include/grub/usbserial.h: New file.
22447 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
22448 * kern/term.c (grub_term_poll_usb): New variable.
22449 (grub_getkey): Call grub_term_poll_usb if set.
22450 (grub_checkkey): Likewise.
22451 (grub_getkeystatus): Likewise.
22452 * term/serial.c: Moved controller-specific parts to ...
22453 * term/ns8250.c: ... here.
22454 * term/serial.c: Mostly rewritten.
22455 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
22456 according to spec.
22457
21a313de
RM
224582010-08-20 Robert Millan <rmh@gnu.org>
22459
22460 Make kFreeBSD code more generic to support ext2fs as root, ufs as
22461 a separate module and maybe other interesting combinations.
22462
22463 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
22464 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
22465 (kfreebsd_entry): Add generic filesystem module load routine.
22466 Map GRUB `ext2' to kFreeBSD `ext2fs'.
22467
63c734a6
CW
224682010-08-20 Colin Watson <cjwatson@ubuntu.com>
22469
22470 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
22471 "numcenter" (I misunderstood the purpose of this entry).
22472 * docs/grub.texi (sendkey): Likewise.
22473
c4d16542
CW
224742010-08-20 Colin Watson <cjwatson@ubuntu.com>
22475
22476 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
22477 status flag options; simply omitting the option is equivalent and
22478 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
22479 (keysym_table): Rename "num5numlock" to "numlock".
22480 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
22481 can uniformly say that only the last of multiple `sendkey'
22482 invocations has any effect.
22483 * docs/grub.texi (sendkey): New section.
22484
93541d66
CW
224852010-08-19 Colin Watson <cjwatson@ubuntu.com>
22486
22487 * commands/i386/pc/sendkey.c (options): Fix three typos.
22488
b4ece5e1
VS
224892010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
22490
22491 Implement sendkey support.
22492
22493 * commands/i386/pc/sendkey.c: New file.
22494 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
22495 (sendkey_mod_SOURCES): New variable.
22496 (sendkey_mod_CFLAGS): Likewise.
22497 (sendkey_mod_LDFLAGS): Likewise.
22498
51f1f5af
CW
224992010-08-18 Colin Watson <cjwatson@ubuntu.com>
22500
22501 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
22502 fix warnings from Autoconf.
22503
9da94e05
CW
225042010-08-18 Colin Watson <cjwatson@ubuntu.com>
22505
22506 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
22507 to avoid false positives with some assemblers that output things
22508 like "someprefix_func" as part of their output.
22509
729a0f2e
RM
225102010-08-15 Robert Millan <rmh@gnu.org>
22511
22512 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
22513 errors.
22514 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
22515 grub_get_libzfs_handle() errors.
22516
f3710e08
RM
225172010-08-14 Robert Millan <rmh@gnu.org>
22518
22519 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
22520 filesystem is not ZFS.
22521
7a3c13de
BC
225222010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22523
22524 Fix for misspelled color names defaulting to black/black (bug
22525 reported by Doug Nazar)
22526
22527 * include/grub/normal.h (grub_parse_color_name_pair): Add return
22528 status to prototype.
22529 * normal/color.c (grub_parse_color_name_pair): Return failure
22530 status.
22531 (grub_env_write_color_normal): Ignore bad color names.
22532 (grub_env_write_color_highlight): Likewise.
22533 * normal/main.c (GRUB_MOD_INIT): Set default color names.
22534
ab8ba50d
BC
225352010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22536
22537 "shift" command support to GRUB script.
22538
22539 * include/grub/script_sh.h (grub_script_shift): New prototype.
22540 * script/execute.c (grub_script_shift): New function.
22541 * script/main.c (grub_script_init): Register shift command.
22542 (grub_script_fini): Unregister shift command.
22543 * util/grub-script-check.c (grub_script_cmd_shift): New function.
22544
22545 * tests/grub_script_shift.in: New testcase.
22546 * conf/tests.rmk: Rules for new testcase.
22547
4d61999e
BC
225482010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22549
22550 "continue" command support to GRUB script.
22551
22552 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
22553 (grub_script_break): Continue support.
22554 * script/main.c (grub_script_init): Register continue command.
22555 (grub_script_fini): Unregister continue command.
22556
22557 * tests/grub_script_continue.in: New testcase.
22558 * conf/tests.rmk: Rules for new testcase.
22559
4df51e00
BC
225602010-08-12 BVK Chaitanya <bvk@dbook>
22561
22562 "break" command support to GRUB script.
22563
22564 * conf/common.rmk: Rule updates to grub-script-check.
22565 * include/grub/misc.h (grub_min): New function.
22566 * include/grub/script_sh.h (grub_script_init): New prototype.
22567 (grub_script_fini): New prototype.
22568 (grub_script_break): New prototype.
22569 * script/main.c (grub_script_init): New function.
22570 (grub_script_fini): New function.
22571 * script/execute.c (grub_script_break): New function.
22572 * normal/main.c: Calls to grub_script_{init,fini}.
22573 * util/grub-script-check.c (grub_script_break): New function.
22574
22575 * tests/grub_script_break.in: New testcase.
22576 * conf/tests.rmk: Rules for new test case.
22577
f12c8420
BC
225782010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22579
22580 Function parameters support to GRUB script.
22581
22582 * script/yylex.l (VARIABLE): Regular expression update.
22583 * script/function.c (grub_script_function_call): Moved ...
22584 * script/execute.c (grub_script_function_call): ... to here.
22585 (grub_script_execute_arglist_to_argv): Removed.
22586 (grub_script_arglist_to_argv): New function.
22587 * script/argv.c: New file.
22588 (grub_script_argv_free): New function.
22589 (grub_script_argv_next): Likewise.
22590 (grub_script_argv_append): Likewise.
22591 (grub_script_argv_split_append): Likewise.
22592 * include/grub/script_sh.h (grub_script_argv): New struct.
22593 (grub_script_argv_free): New function.
22594 (grub_script_argv_next): Likewise.
22595 (grub_script_argv_append): Likewise.
22596 (grub_script_argv_split_append): Likewise.
22597
22598 * conf/common.rmk (normal.mod): New source script/argv.c.
22599
22600 * tests/grub_script_echo1.in: More tests.
22601 * tests/grub_script_vars1.in: Likewise.
22602 * tests/grub_script_functions.in: New test case.
22603 * conf/tests.rmk: Rules for new testcase.
22604
8022b748
BC
226052010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22606
22607 Remove grub_script_cmdblock struct.
22608
22609 * include/grub/script_sh.h: Remove grub_script_cmdblock.
22610 * script/parser.y: Likewise.
22611 * script/execute.c: Rename cmdblock suffix to cmdlist.
22612 * script/script.c: Likewise.
22613 * util/grub-script-check.c: Likewise.
22614
79a6ba61
YB
226152010-08-11 Yves Blusseau <blusseau@zetam.org>
22616
22617 * .bzrignore: add grub-macho2img
22618
d04b9414
VS
226192010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22620
22621 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
22622
f947ab49
VS
226232010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22624
22625 Remove the dump of sm712 initialisation sequence.
22626
22627 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
22628 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
22629 (GRUB_VGA_IO_MISC_WRITE): Likewise.
22630 (GRUB_VGA_CR_*): Added many registers.
22631 (GRUB_VGA_SR_*): Likewise.
22632 (GRUB_VGA_GR_*): Likewise.
22633 (grub_vga_write_arx): New function.
22634 (grub_video_hw_config): New struct.
22635 (grub_vga_set_geometry): New function.
22636 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
22637 GRUB_PCI_CLASS_SUBCLASS_VGA.
22638 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
22639 * video/sm712.c (grub_sm712_write_reg): New function
22640 (grub_sm712_read_reg): Likewise.
22641 (grub_sm712_sr_write): Likewise.
22642 (grub_sm712_gr_write): Likewise.
22643 (grub_sm712_cr_write): Likewise.
22644 (grub_sm712_write_arx): Likewise.
22645 (grub_sm712_cr_shadow_write): Likewise.
22646 (grub_sm712_write_dda_lookup): Likewise.
22647 (grub_video_sm712_setup): Initialise the video rather then
22648 blindly replay the dump.
22649 (main) [TEST]: Add a routine to be able to compile as standalone for
22650 tests.
22651 * video/sm712_init.c (sm712_init): Removed.
22652 (sm712_sr_seq1): New array.
22653 (sm712_sr_seq2): Likewise.
22654
f0206638
VS
226552010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22656
22657 * include/grub/vga.h: Add missing grub/pci.h include.
22658
2764da3b
YB
226592010-08-10 Yves Blusseau <blusseau@zetam.org>
22660
22661 * util/grub-macho2img.c (main): fix typo
22662
cf0c775e
VS
226632010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22664
22665 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
22666 (grub_vga_gr_read): Likewise.
22667 (grub_vga_cr_write): Likewise.
22668 (grub_vga_cr_read): Likewise.
22669 (grub_vga_sr_write): Likewise.
22670 (grub_vga_sr_read): Likewise.
22671 (grub_vga_palette_read): Likewise.
22672 (grub_vga_palette_write): Likewise.
22673 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
22674 (grub_sm712_sr_read): New function.
22675 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
22676 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
22677
07f360e9
RM
226782010-08-09 Robert Millan <rmh@gnu.org>
22679
22680 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
22681 out unused variables on non-ZFS build.
22682
346c2072
RM
226832010-08-08 Robert Millan <rmh@gnu.org>
22684
22685 Fix path generation for sub-filesystems in ZFS.
22686
22687 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
22688 missing slash.
22689
71175420
RM
226902010-08-08 Robert Millan <rmh@gnu.org>
22691
22692 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
22693
0d8286f3
RM
226942010-08-08 Robert Millan <rmh@gnu.org>
22695
22696 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
22697 exist, issue a proper error message (rely on `ls' for translated
22698 strings).
22699
55dd2924
RM
227002010-08-08 Robert Millan <rmh@gnu.org>
22701
22702 Fix grub-probe invocation.
22703
22704 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
22705
d3dd9e80
RM
227062010-08-04 Robert Millan <rmh@gnu.org>
22707
22708 * configure.ac: Remove checks for getfsstat() and getmntany().
22709 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
22710 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
22711 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
22712 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
22713 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
22714 function.
22715 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
22716 via find_mount_point_from_dir() and getfsstat() / getmntany().
22717
0de22aa9
RM
227182010-08-04 Robert Millan <rmh@gnu.org>
22719
22720 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22721 (grub_find_zpool_from_mount_point): Merge into ...
22722 (grub_find_zpool_from_dir): ... this.
22723 * kern/emu/misc.c: Likewise.
22724
22725 * kern/emu/misc.c
22726 (grub_make_system_path_relative_to_its_root): Replace
22727 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
22728 with grub_find_zpool_from_dir().
22729 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
22730
62858144
RM
227312010-08-04 Robert Millan <rmh@gnu.org>
22732
22733 Support OpenSolaris in ZFS device resolution.
22734
22735 * configure.ac: Check for getmntany().
22736 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
22737 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
22738 support.
22739
9dd6fd50
RM
227402010-08-03 Robert Millan <rmh@gnu.org>
22741
22742 Fix grub-emu build.
22743
22744 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
22745 * include/grub/emu/misc.h: ... here.
22746
22747 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
22748 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
22749
22750 * util/misc.c: Remove `<grub/util/libzfs.h>'.
22751 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
22752 (grub_get_libzfs_handle): Move to ...
22753 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
22754 (grub_get_libzfs_handle): ... here.
22755
c9f7ff97
BC
227562010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
22757
22758 * script/execute.c (grub_script_execute_cmdline): Check for NULL
22759 as command name case.
22760
a870a783
CW
227612010-08-02 Colin Watson <cjwatson@ubuntu.com>
22762
22763 * disk/raid.c (insert_array): Select unique numbers for named arrays
22764 as well, for use as keys in the disk cache.
22765
c7db243b
RM
227662010-08-01 Robert Millan <rmh@gnu.org>
22767
22768 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
22769 kFreeBSD device name, except on ZFS where the filesystem label is
22770 used.
22771 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
22772 `/boot/zfs/zpool.cache'.
22773 Set mountfrom kernel variable using ${kfreebsd_device}.
22774
f7abdefb
RM
227752010-08-01 Robert Millan <rmh@gnu.org>
22776
22777 Make it even harder to use uninitialized `libzfs_handle' (and
22778 make the interface a bit simpler).
22779
22780 * include/grub/util/misc.h (grub_util_init_libzfs)
22781 (libzfs_handle): Remove.
22782 (grub_get_libzfs_handle): New prototype.
22783
22784 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
22785 attribute.
22786 (grub_util_init_libzfs): Remove.
22787 (grub_get_libzfs_handle): New function.
22788
22789 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
22790 grub_get_libzfs_handle() to obtain a libzfs handle instead of
22791 accessing `libzfs_handle' directly.
22792
c882acc0
RM
227932010-08-01 Robert Millan <rmh@gnu.org>
22794
22795 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22796 (grub_find_zpool_from_mount_point): New function prototypes.
22797
22798 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22799 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22800
22801 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22802 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22803 `static' attribute.
22804
22805 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22806 finding zpool from mount point into ...
22807 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22808
22809 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22810 requested path is part of a ZFS pool, use
22811 grub_find_zpool_from_mount_point() to detect its filesystem name,
22812 and generate a path with `/fsname@path' syntax.
22813
8bfe31d8
CW
228142010-08-01 Colin Watson <cjwatson@ubuntu.com>
22815
22816 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
22817 (void) rather than () so that this is a proper prototype.
22818
553df63d
VS
228192010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22820
22821 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
22822
8687cf07
VS
228232010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22824
22825 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
22826 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
22827
ea9be8ea
CW
228282010-08-01 Colin Watson <cjwatson@ubuntu.com>
22829
22830 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
22831
6eea041a
CW
228322010-08-01 Colin Watson <cjwatson@ubuntu.com>
22833
22834 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
22835
2cfb45df
CW
228362010-08-01 Colin Watson <cjwatson@ubuntu.com>
22837
22838 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
22839 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
22840 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
22841 disable gfxpayload.
22842 (Shell-like scripting): Add real content.
22843 (Serial terminal): Suggest `terminal_input serial; terminal_output
22844 serial' rather than putting the two commands on separate lines,
22845 since console input will be inoperative after the first command.
22846 (menuentry): Document --class, --users, and --hotkey options.
22847 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
22848 Vladimir Serbinenko).
22849
7decd202
VS
228502010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
228512010-08-01 Colin Watson <cjwatson@ubuntu.com>
22852
22853 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
22854
c882acc0
RM
228552010-08-01 Robert Millan <rmh@gnu.org>
22856
22857 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22858 (grub_find_zpool_from_mount_point): New function prototypes.
22859
22860 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22861 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22862
22863 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22864 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22865 `static' attribute.
22866
22867 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22868 finding zpool from mount point into ...
22869 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22870
22871 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22872 requested path is part of a ZFS pool, use
22873 grub_find_zpool_from_mount_point() to detect its filesystem name,
22874 and generate a path with `/fsname@path' syntax.
22875
deb0caa3
RM
228762010-08-01 Robert Millan <rmh@gnu.org>
22877
22878 Prevent accidental use of uninitialized libzfs_handle.
22879
22880 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
22881 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
22882 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
22883
ce04ef47
CW
228842010-08-01 Colin Watson <cjwatson@ubuntu.com>
22885
22886 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
22887 util/grub.d/10_linux.in). Fixes Debian bug #591093.
22888
ebf53056
RM
228892010-08-01 Robert Millan <rmh@gnu.org>
22890
22891 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 22892
3710bb6b
RM
228932010-07-31 Robert Millan <rmh@gnu.org>
22894
22895 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
22896
8072efeb
RM
228972010-07-31 Robert Millan <rmh@gnu.org>
22898
22899 * kern/emu/misc.c: Add missing license header.
22900
3169f4c7
RM
229012010-07-31 Robert Millan <rmh@gnu.org>
22902
22903 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
22904
22905 * include/grub/util/libnvpair.h: Include `<config.h>'.
22906 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
22907 declaring libnvpair prototypes ourselves.
22908 * include/grub/util/libzfs.h: Include `<config.h>'.
22909 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
22910 declaring libzfs prototypes ourselves.
22911
22912 (libzfs_handle): Moved to ...
22913 * include/grub/util/misc.h (libzfs_handle): ... here.
22914 Include `<grub/util/libzfs.h>'.
22915
c9a00aee
RM
229162010-07-30 Robert Millan <rmh@gnu.org>
22917
22918 * include/grub/emu/misc.h: Add missing license header.
22919
a184f9c8
RM
229202010-07-30 Robert Millan <rmh@gnu.org>
22921
22922 Enable `grub-probe -t device' resolution on ZFS.
22923
22924 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
22925 * include/grub/util/libnvpair.h: New file.
22926 * include/grub/util/libzfs.h: New file.
22927
22928 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
22929 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
22930 `<grub/util/libnvpair.h>'.
22931 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
22932
22933 (find_mount_point_from_dir): New static function.
22934 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
22935 function.
22936 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
22937 find_root_device_from_libzfs() before ressorting to find_root_device().
22938
22939 * include/grub/util/misc.h (grub_util_init_libzfs): New function
22940 prototype.
22941 * util/misc.c: Include `<grub/util/libzfs.h>'.
22942 (grub_util_init_libzfs): New function.
22943 [HAVE_LIBZFS] (libzfs_handle): New global variable.
22944 [HAVE_LIBZFS] (fini_libzfs): New static function.
22945 (grub_util_init_libzfs): New function.
22946 * util/grub-probe.c (main): Call grub_util_init_libzfs().
22947
f7790cdd
RM
229482010-07-30 Robert Millan <rmh@gnu.org>
22949
22950 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
22951 (xmalloc, xrealloc, xstrdup, xasprintf): Add
22952 `warn_unused_result' attribute.
22953 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
22954 (grub_xasprintf, grub_xvasprintf): Likewise.
22955 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
22956
0806b63c
RM
229572010-07-29 Robert Millan <rmh@gnu.org>
22958
22959 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
22960 (probe): Handle `PRINT_FS_LABEL'.
22961 (main): Handle `-t fs_label'.
22962
9f841f5c
RM
229632010-07-29 Robert Millan <rmh@gnu.org>
22964
22965 * configure.ac: Remove grub-mkisofs checks.
22966
46371121
VS
229672010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22968
22969 * util/ieee1275/grub-install.in: Don't use empty grub_device.
22970 Reported by: Lennart Sorensen.
22971
229722010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22973
22974 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
22975 prior to terminal_input/terminal_output separation. It's been over 1.5
22976 years and those versions weren't widely deployed.
22977
a9600892
CW
229782010-07-22 Colin Watson <cjwatson@ubuntu.com>
22979
22980 * disk/raid.c (insert_array): Don't count named arrays when looking
22981 for unused array numbers.
697e053c 22982 Reported and tested by: Michael Guntsche.
a9600892 22983
c03507df
CW
229842010-07-20 Colin Watson <cjwatson@ubuntu.com>
22985
22986 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
22987 implementation of this so that grub-emu links again, with a note
22988 that this should support hotplugging in the future.
22989
b26f1c11
CW
229902010-07-20 Colin Watson <cjwatson@ubuntu.com>
22991
22992 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22993
efc9d7f1
CW
229942010-07-20 Colin Watson <cjwatson@ubuntu.com>
22995
22996 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
22997 handle on failure.
22998 (grub_loopback_close): Remove empty function.
22999 (grub_loopback_dev): Remove close method.
23000
dd8ff5c9
CW
230012010-07-20 Colin Watson <cjwatson@ubuntu.com>
23002
23003 Disable EFI cursor when the EFI console becomes inactive.
23004
23005 * term/efi/console.c (grub_efi_console_init): New function.
23006 (grub_efi_console_fini): New function.
23007 (grub_console_term_output): Register init and fini methods.
23008
5e3bec67
VS
230092010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23010
23011 * tests/util/grub-shell-tester.in: Remove bashism and declare as
23012 sh script.
23013
afaec079
VS
230142010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23015
23016 * disk/loopback.c (grub_loopback): Replace filename with file.
23017 (delete_loopback): Handle new semantics.
23018 (grub_cmd_loopback): Likewise.
23019 (grub_loopback_iterate): Likewise.
23020 (grub_loopback_close): Likewise.
23021
a6a11f3c
VS
230222010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23023
23024 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
23025 with -p "".
23026 Reported by: Tito Keitel.
23027
64a638b0
VS
230282010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23029
23030 * docs/grub.texi (Naming convention): Document new naming convention.
23031
ab8ba957
VS
230322010-07-20 Vadim Solomin <vadic052@gmail.com>
230332010-07-20 Colin Watson <cjwatson@ubuntu.com>
23034
23035 Generate device.map in something closer to the old ordering.
23036
23037 * util/deviceiter.c (struct device): New declaration.
23038 (compare_file_names): Rename to ...
23039 (compare_devices): ... this. Sort by kernel name in preference to
23040 the stable by-id name, but keep the latter as a fallback comparison.
23041 Update header comment.
23042 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
23043 of `struct device' rather than of plain file names.
23044
a29d6a4b
TF
230452010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
23046
23047 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
23048 on i386.
23049
39d824e8
VS
230502010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23051
23052 * commands/acpi.c (setup_common_tables): Use sizeof instead of
23053 hardcoding size.
23054 (setv1table): Likewise.
23055
f058276b
FZ
230562010-07-20 Colin Watson <cjwatson@ubuntu.com>
23057
23058 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
23059 removing the homehost if present.
23060 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
23061 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
23062 removing the homehost if present.
23063 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
23064 if possible.
23065 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
23066
23067 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
23068 parameter. Set its pointer target to 0.
23069 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
23070 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
23071 `data_offset' value from the superblock for 1.x metadata.
23072 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
23073 data on the device.
23074 (insert_array): Record the start sector of data on the device.
23075 (grub_raid_register): Pass start_sector parameters to
23076 grub_raid_list->detect and insert_array.
23077 * include/grub/raid.h (struct grub_raid_array): Add start_sector
23078 member.
23079 (struct grub_raid): Add start_sector parameter to `detect'.
23080
23081 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
23082 __attribute__ ((packed)), leaving a comment.
23083 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
23084 (grub_mdraid_detect_09): ... here and ...
23085 (grub_mdraid_detect_1x): ... here.
23086
230872010-07-20 Peter Henn <peter.henn@web.de>
23088
23089 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
23090 chunk size and disk size, which are already given as sector counts
23091 as distinct from the 0.90 units. Fetch the correct device number
23092 from the role table instead of using the table index.
23093
230942010-07-20 Felix Zielcke <fzielcke@z-51.de>
23095
23096 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
23097 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
23098 (WriteMostly1): New macro.
23099 Set array->name to NULL for metadata format 0.90. Add support for
23100 metadata 1.x. Fix some comments.
23101 * disk/raid.c (): Add support for name based RAID arrays. Fix a
23102 few comments.
23103 * util/getroot.c (grub_util_get_grub_dev): Add support for
23104 /dev/md/name style devices.
23105
4b761da9
CW
231062010-07-20 Colin Watson <cjwatson@ubuntu.com>
23107
23108 * .bzrignore: Ignore 20_linux_xen.
23109
5771289a
CW
231102010-07-17 Colin Watson <cjwatson@ubuntu.com>
23111
23112 * util/import_unicode.py: Remove unnecessary imports.
23113
5dab68df
AN
231142010-07-17 Aleš Nesrsta <starous@volny.cz>
23115
23116 Hotplugging and USB hub support.
23117
23118 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
23119 (grub_ohci): Likewise.
23120 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
23121 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
23122 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
23123 (GRUB_OHCI_CTRL_EDS): Likewise.
23124 (GRUB_OHCI_BULK_EDS): Likewise.
23125 (GRUB_OHCI_TDS): Likewise.
23126 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
23127 (grub_ohci_ed_phys2virt): New function.
23128 (grub_ohci_virt_to_phys): Likewise.
23129 (grub_ohci_td_phys2virt): Likewise.
23130 (grub_ohci_td_virt2phys): Likewise.
23131 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
23132 attachment.
23133 (grub_ohci_find_ed): New function.
23134 (grub_ohci_alloc_td): Likewise.
23135 (grub_ohci_free_td): Likewise.
23136 (grub_ohci_free_tds): Likewise.
23137 (grub_ohci_transfer): Use previously allocated memory.
23138 (grub_ohci_portstatus): Reset status changed bit.
23139 (grub_ohci_detect_dev): Supply status changed.
23140 (grub_ohci_fini_hw): Free memory.
23141 (grub_ohci_restore_hw): Reallocate memory.
23142 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
23143 Reset status change.
23144 (grub_uhci_detect_dev): Supply status_change.
23145 * bus/usb/usb.c (attach_hooks): New var.
23146 (grub_usb_device_attach): New function.
23147 (grub_usb_register_attach_hook_class): Likewise.
23148 (grub_usb_unregister_attach_hook_class): Likewise.
23149 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
23150 (grub_usb_add_hub): Reset connection changed bit.
23151 (attach_root_port): New function.
23152 (grub_usb_root_hub): Likewise.
23153 (poll_nonroot_hub): Likewise.
23154 (grub_usb_poll_devices): Likewise.
23155 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
23156 * disk/usbms.c (grub_usbms_open): Use device hooks.
23157 (grub_usbms_iterate) :Poll devices.
23158 (grub_usbms_finddevs): Split into ...
23159 (grub_usbms_attach): ... this ...
23160 (grub_usbms_attach): ... and this.
23161 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
23162 in detect_dev.
23163 (grub_usb_interface): New fields attached and detach_hook.
23164 (grub_usb_attach_hook_class): New type.
23165 (grub_usb_attach_desc): New struct.
23166 (grub_usb_register_attach_hook_class): New function.
23167 (grub_usb_unregister_attach_hook_class): Likewise.
23168 (grub_usb_poll_devices): Likewise.
23169 (grub_usb_device_attach): Likewise.
23170 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
23171 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
23172
3222efaf
VS
231732010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23174
23175 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
23176 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
23177 delta determination style. Works with most NetBSD partitions too.
23178
139b714a
VS
231792010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23180
23181 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
23182 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
23183
986aad56
VS
231842010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23185
23186 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
23187
99be513c
AB
231882010-07-14 Anton Blanchard <anton@samba.org>
23189
23190 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
23191 ET_DYN files.
23192
18075f62
GS
231932010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23194
23195 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
23196
8d9a5b15
GS
231972010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23198
23199 * kern/partition.c (grub_partition_check_containment): New function to
23200 check that a partition is physically contained in a parent. Since
23201 offsets are relative (and non-negative), this reduces to checking that
23202 the partition ends before its parent.
23203 (grub_partition_map_probe): Discard out-of-range sub-partitions.
23204 (grub_partition_iterate): Likewise.
23205 * include/grub/partition.h (grub_partition_map): Slightly more detailed
23206 comments.
23207 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
23208 partitions that start before their parent, and add debug printfs.
23209
19563c25
CW
232102010-07-13 Colin Watson <cjwatson@ubuntu.com>
23211
23212 * Makefile.in (.SUFFIX): Spell correctly, as ...
23213 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
23214 bare module name without `.mod', e.g. `test') tried to invoke a
23215 Modula-2 compiler.
23216
1a1f1e67
CW
232172010-07-13 Colin Watson <cjwatson@ubuntu.com>
23218
23219 * README: Point to the Info manual.
23220
811b0dca
JS
232212010-07-13 Jiro SEKIBA <jir@unicus.jp>
23222
23223 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
23224 2nd superblock position from partition size.
23225
e4f4eafc
CW
232262010-07-10 Colin Watson <cjwatson@ubuntu.com>
23227
23228 * Makefile.in (MAINTAINER_CLEANFILES): Remove
23229 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
23230 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
23231 outputs.
23232
4274c30f
VS
232332010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23234
23235 Restructure SCSI .id handling.
23236 Reported and tested by: Aleš Nesrsta.
23237
23238 * disk/ata.c (grub_atapi_close): Removed. All users updated.
23239 (grub_atapi_dev): Changed .name to "ata". New field .id.
23240 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
23241 (grub_usbms_dev): New field .id.
23242 * disk/scsi.c (grub_scsi_iterate): Generate name.
23243 (grub_scsi_open): Parse name.
23244 * include/grub/scsi.h (grub_make_scsi_id): New function.
23245 (grub_scsi_dev): Change iterate and open to number instead of naming
23246 busses. All users updated.
23247 (grub_scsi): Remove name. Add .bus.
23248
5bc24388
VS
232492010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23250
23251 * commands/help.c (grub_cmd_help): Fix a typo.
23252
249975ba
VS
232532010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23254
23255 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
23256 Reported and tested by: Colin Watson.
23257
3eaac1a1
VS
232582010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23259
23260 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
23261 in this context.
23262
becce1b1
VS
232632010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
23264
23265 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
23266
f7bf0918
CW
232672010-07-07 Colin Watson <cjwatson@ubuntu.com>
23268
23269 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
23270 indentation.
23271
0b0f9620
CW
232722010-07-06 Colin Watson <cjwatson@ubuntu.com>
23273
23274 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
23275 and disk/raid6_recover.c.
23276 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23277 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
23278
1e545469
CW
232792010-07-06 Colin Watson <cjwatson@ubuntu.com>
23280
23281 * term/gfxterm.c (repaint_schedulded): Rename to ...
23282 (repaint_scheduled): ... this. Update all callers.
23283 (repaint_was_schedulded): Rename to ...
23284 (repaint_was_scheduled): ... this. Update all callers.
23285
5357687a
CW
232862010-07-06 Colin Watson <cjwatson@ubuntu.com>
23287
23288 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
23289 which we expect to be handled by upper layers.
23290
29d7e783
BC
232912010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
23292
23293 * bus/usb/usbhub.c: #include time.h header.
23294
37582066
CW
232952010-07-06 Colin Watson <cjwatson@ubuntu.com>
23296
23297 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
23298 entry_name also for entries without stat blocks (e.g. ".."); fixes
23299 corruption of the first entry in a directory.
23300
c8c06953
CW
233012010-07-06 Colin Watson <cjwatson@ubuntu.com>
23302
23303 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
23304 after setting gfxterm as the active terminal. GRUB_BACKGROUND
23305 doesn't work otherwise.
23306
e75056f1
CW
233072010-07-05 Colin Watson <cjwatson@ubuntu.com>
23308
23309 * docs/grub.texi (Features): Update list of supported file systems.
23310 (GNU/Linux): Update for GRUB 2.
23311 (Serial terminal): Remove mention of --disable-serial, which was a
23312 GRUB Legacy configure option. Update instructions to use
23313 `terminal_input' and `terminal_output' rather than `terminal'.
23314 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
23315 configuration' and `Installing GRUB using grub-install'.
23316 (Menu entry editor): Update for GRUB 2.
23317 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
23318 Document new -a, -u, and -v options.
23319 (initrd): New section.
23320 (initrd16): New section.
23321 (linux): New section.
23322 (linux16): New section.
23323 (search): The `var' argument to `--set' is optional.
23324 (GRUB only offers a rescue shell): Go into a little more detail on
23325 drive ordering.
23326
5cf69151
CW
233272010-07-05 Colin Watson <cjwatson@ubuntu.com>
23328
23329 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
23330
e3f90044
CW
233312010-07-05 Colin Watson <cjwatson@ubuntu.com>
23332
23333 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
23334 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
23335
38d8f4f3
CW
233362010-07-05 Colin Watson <cjwatson@ubuntu.com>
23337
23338 * util/i386/pc/grub-setup.c (setup): Rename prefix to
23339 install_prefix, in line with install_dos_part and install_bsd_part.
23340 Add new prefix variable, which is copied to install_prefix after
23341 comparing core.img in memory with the one read from disk in the
23342 no-embedding case, and use that rather than overwriting
23343 install_prefix immediately when installing to a partition.
23344 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
23345 Bicakci.
23346
57ebd41e
GS
233472010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
23348
23349 * configure.ac: Avoid == in test command, it's not portable.
23350 * util/grub.d/30_os-prober.in: Likewise.
23351
cb7f64b2
CW
233522010-07-04 Colin Watson <cjwatson@ubuntu.com>
23353
23354 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
23355
6b654bb0
GS
233562010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
23357
23358 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
23359 multiple (top-level) partmaps.
23360
72a2026d
VS
233612010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23362
23363 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 23364 Reported by: Tino Keitel.
72a2026d 23365
df3eb88f
VS
233662010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23367
23368 Bidi and diacritics support.
23369
23370 * Makefile.in (widthspec.bin): New target.
23371 (widthspec.h): Likewise.
23372 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
23373 * autogen.sh: Generate unidata.c.
23374 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
23375 * commands/ls.c (grub_ls_list_devices): Likewise.
23376 (grub_ls_list_files): Likewise.
23377 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
23378 (grub_mini_cmd_lsmod): Likewise.
23379 * commands/read.c: Likewise.
23380 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
23381 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
23382 * lib/arg.c (grub_arg_show_help): Likewise.
23383 * lib/crypto.c (grub_password_get): Likewise.
23384 * normal/auth.c (grub_username_get): Likewise.
23385 * normal/misc.c (grub_normal_print_device_info): Likewise.
23386 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
23387 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
23388 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
23389 (normal/charset.c_DEPENDENCIES): New variable.
23390 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
23391 (pkglib_MODULES): Remove charset.mod.
23392 (charset_mod_SOURCES): Removed.
23393 (charset_mod_CFLAGS): Likewise.
23394 (charset_mod_LDFLAGS): Likewise.
23395 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
23396 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
23397 and term/tparm.c.
23398 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23399 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23400 (kernel_img_HEADERS): Add terminfo.h.
23401 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
23402 Fill ->font. Reverse ascii bitmaps.
23403 (grub_font_get_xheight): New function.
23404 * font/font.c (grub_font_get_string_width): Moved from here ...
23405 * gfxmenu/font.c (grub_font_get_string_width): ... here.
23406 * font/font.c (grub_font_draw_string): Moved from here ...
23407 * gfxmenu/font.c (grub_font_draw_string): ... here.
23408 * font/font.c (grub_font_dup_glyph): New function.
23409 (grub_font_blit_glyph): Likewise.
23410 (grub_font_blit_glyph_mirror): Likewise.
23411 (blit_comb): Likewise.
23412 (grub_font_construct_dry_run): Likewise.
23413 (grub_font_get_constructed_device_width): Likewise.
23414 (grub_font_construct_glyph): Likewise.
23415 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
23416 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
23417 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
23418 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
23419 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
23420 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
23421 (grub_font_get_xheight): New proto.
23422 (grub_font_get_constructed_device_width): Likewise.
23423 (grub_font_construct_glyph): Likewise.
23424 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
23425 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
23426 * include/grub/font.h (grub_font_draw_string): Moved from here ...
23427 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
23428 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
23429 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
23430 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
23431 (grub_console_getcharwidth): Likewise.
23432 * include/grub/misc.h (grub_xputs): New proto.
23433 (grub_puts): Inlined.
23434 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
23435 (grub_normal_get_line_counter): Removed.
23436 (grub_install_newline_hook): Likewise.
23437 (grub_normal_get_char_counter): New proto.
23438 (grub_normal_reset_more): Likewise.
23439 (grub_xputs_normal): Likewise.
23440 * include/grub/powerpc/ieee1275/console.h: Removed.
23441 * include/grub/sparc64/ieee1275/console.h: Likewise.
23442 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
23443 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
23444 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
23445 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
23446 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
23447 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
23448 (grub_term_input): Pass reference to self. All users updated.
23449 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
23450 Pass reference to self. New fields normal_color, highlight_color and
23451 data. All users updated.
23452 (grub_putchar): Removed.
23453 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
23454 (grub_unicode_estimate_width): New function.
23455 (grub_term_getcharwidth): Add defaults.
23456 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
23457 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
23458 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
23459 (grub_cls): Remove EXPORT_FUNC.
23460 (grub_setcolorstate): Inline.
23461 (grub_newline_hook): Removed.
23462 * include/grub/terminfo.h: Rewritten. All users updated.
23463 * include/grub/unicode.h: New file.
23464 * include/grub/video.h (grub_video_signed_rect): New type.
23465 * kern/emu/console.c (grub_console_highlight_color): Removed.
23466 (grub_console_normal_color): Likewise.
23467 (grub_console_standard_color): Made static.
23468 (grub_ncurses_putchar): Remove mapping.
23469 (grub_ncurses_getcharwidth): Removed.
23470 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
23471 (grub_ncurses_setcolor): Removed.
23472 (grub_ncurses_getcolor): Likewise.
23473 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
23474 (grub_console_putchar): ... this.
23475 (grub_console_putchar): Handle argument difference.
23476 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
23477 console_init_early and console_init_lately.
23478 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
23479 * kern/misc.c (grub_puts): Removed.
23480 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
23481 (grub_vsnprintf_real): Remove str = NULL support.
23482 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
23483 * normal/charset.c (grub_utf8_to_ucs4): ... here.
23484 * kern/term.c (grub_putcode): Renamed to ...
23485 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
23486 (grub_putchar): Removed.
23487 (grub_xputs_dumb): New function.
23488 (grub_xputs): New variable.
23489 * lib/charset.c: Move from here ...
23490 * normal/charset.c: ... to here.
23491 (grub_ucs4_to_utf8): New function.
23492 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
23493 (join_types): New variable.
23494 (unpack_join): New function.
23495 (bidi_types): New variable.
23496 (unpack_bidi): New function.
23497 (get_bidi_type): Likewise.
23498 (get_join_type): Likewise.
23499 (is_mirrored): Likewise.
23500 (grub_unicode_get_comb_type): Likewise.
23501 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
23502 (is_type_after): Likewise.
23503 (grub_unicode_aglomerate_comb): Likewise.
23504 (bidi_line_wrap): Likewise.
23505 (grub_bidi_line_logical_to_visual): Likewise.
23506 (grub_bidi_logical_to_visual): Likewise.
23507 (grub_unicode_mirror_code): Likewise.
23508 (grub_unicode_shape_code): Likewise.
23509 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
23510 Don't use grub_putchar.
23511 * normal/main.c (grub_normal_init_page): Use grub_putcode.
23512 (grub_normal_reader_init): Likewise.
23513 (grub_xputs_saved): New variable.
23514 (GRUB_MOD_INIT): Set grub_xputs.
23515 (GRUB_MOD_FINI): Restore grub_xputs.
23516 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
23517 (menu_init): Avoid printing gfxmenu error.
23518 (show_menu): Use grub_normal_get_char_counter.
23519 * normal/menu_entry.c (update_screen): Fix out-of-array.
23520 (complete): Avoid NULL dereferencing.
23521 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
23522 * normal/menu_text.c (print_spaces): Removed.
23523 (grub_print_ucs4): Likewise.
23524 (grub_print_message_indented): Use grub_print_ucs4.
23525 (print_message): Use grub_putcode.
23526 (print_entry): Hanlde diacritics.
23527 * normal/term.c (term_state): New type.
23528 (grub_more_lines): Removed.
23529 (term_states): New variable.
23530 (grub_normal_line_counter): Renamed to ..
23531 (grub_normal_char_counter): ...this. All users updated.
23532 (grub_normal_get_line_counter): Renamed to ...
23533 (grub_normal_get_char_counter): ... this.
23534 (grub_normal_reset_more): New function.
23535 (process_newline): Removed.
23536 (print_more): New function.
23537 (grub_install_newline_hook): Removed.
23538 (map_code): New function.
23539 (grub_puts_terminal): Use grub_print_ucs4.
23540 (putglyph): New function.
23541 (putcode_real): Likewise.
23542 (grub_putcode): Use putcode_real.
23543 (get_maxwidth): New function.
23544 (get_startwidth): Likewise.
23545 (print_ucs4_terminal): Likewise.
23546 (find_term_state): Likewise.
23547 (put_glyphs_terminal): Likewise.
23548 (print_backlog): Likewise.
23549 (print_ucs4_real): Likewise.
23550 (grub_print_ucs4): Likewise.
23551 (grub_xputs_normal): Likewise.
23552 * term/efi/console.c (grub_console_putchar): Output diacritics.
23553 (grub_console_getcharwidth): Removed.
23554 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23555 * term/gfxterm.c (clear_char): Free chars.
23556 (scroll_up): Avoid leaking memory.
23557 (grub_gfxterm_putchar): Support diacritics.
23558 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23559 * term/i386/pc/console.c (grub_console_term_output): Declare as
23560 GRUB_TERM_CODE_TYPE_VGA.
23561 * term/i386/pc/vga.c (grub_vga_term): Declare as
23562 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
23563 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
23564 GRUB_TERM_CODE_TYPE_VGA.
23565 * term/i386/vga_common.c (map_char): Removed.
23566 (grub_console_putchar): Likewise.
23567 (grub_console_getcharwidth): Likewise.
23568 * term/ieee1275/ofconsole.c: Simplify using terminfo.
23569 (colors): Reordered to match terminfo.
23570 (grub_ofconsole_normal_color): Removed.
23571 (grub_ofconsole_writeesc): Likewise.
23572 (grub_ofconsole_highlight_color): Likewise.
23573 (grub_ofconsole_getcharwidth): Likewise.
23574 (grub_ofconsole_setcolorstate): Likewise.
23575 (grub_ofconsole_setcolor): Likewise.
23576 (grub_ofconsole_getcolor): Likewise.
23577 (grub_ofconsole_readkey): Renamed to ...
23578 (readkey): ... this. Remove escape sequence handling. Return -1 on no
23579 key.
23580 (grub_ofconsole_checkkey): Removed.
23581 (grub_ofconsole_getkey): Likewise.
23582 (grub_ofconsole_getxy): Likewise.
23583 (grub_ofconsole_gotoxy): Likewise.
23584 (grub_ofconsole_cls): Likewise.
23585 (grub_ofconsole_refresh): Likewise.
23586 (grub_ofconsole_terminfo_input): New struct.
23587 (grub_ofconsole_terminfo_output): Likewise.
23588 (grub_ofconsole_term_input): Use terminfo.
23589 (grub_ofconsole_term_output): Likewise.
23590 (grub_console_init): Split into ...
23591 (grub_console_init_early): ...this and ...
23592 (grub_console_init_lately): ...this. Use terminfo.
23593 (grub_ofconsole_putchar): Renamed to ...
23594 (put): ... this. Remove mapping.
23595 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
23596 * term/serial.c: Simplify using terminfo.
23597 (xpos): Removed.
23598 (ypos): Likewise.
23599 (keep_track): Likewise.
23600 (registered): Likewise.
23601 (input_buf): Likewise.
23602 (npending): Likewise.
23603 (serial_translate_key_sequence): Likewise.
23604 (fill_input_buf): Likewise.
23605 (grub_serial_checkkey): Likewise.
23606 (grub_serial_getkey): Likewise.
23607 (grub_serial_getxy): Likewise.
23608 (grub_serial_gotoxy): Likewise.
23609 (grub_serial_putchar): Likewise.
23610 (grub_serial_cls): Likewise.
23611 (grub_serial_setcolorstate): Likewise.
23612 (grub_serial_setcursor): Likewise.
23613 (serial_hw_init): Use serial_hw_fetch.
23614 (grub_serial_terminfo_input): New variable.
23615 (grub_serial_terminfo_output): Likewise.
23616 (grub_serial_term_input): Use terminfo.
23617 (grub_serial_term_output): Likewise.
23618 * term/terminfo.c (putstr): Use put.
23619 (grub_terminfo_all_free): New function
23620 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
23621 (grub_terminfo_output_register): New function.
23622 (grub_terminfo_output_unregister): Likewise.
23623 (grub_terminfo_getxy): Likewise.
23624 (grub_terminfo_readkey): Likewise.
23625 (grub_terminfo_checkkey): Likewise.
23626 (grub_terminfo_getkey): Likewise.
23627 (grub_terminfo_input_init): Likewise.
23628 (print_terminfo): Likewise.
23629 (grub_cmd_terminfo): Handle encoding.
23630 (grub_terminfo_gotoxy): Track position.
23631 (grub_terminfo_cls): Likewise.
23632 (grub_terminfo_putchar): Likewise.
23633 (grub_terminfo_setcolorstate): Handle colors
23634 (grub_terminfo_cursor_on): This ...
23635 (grub_terminfo_cursor_off): ... and this merged into ...
23636 (grub_terminfo_setcursor): ... this.
23637 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
23638 * unicode/ArabicShaping.txt: New file (imported from Unicode).
23639 * unicode/BidiMirroring.txt: Likewise.
23640 * unicode/UnicodeData.txt: Likewise.
23641 * unicode/COPYING: Likewise.
23642 * util/grub-editenv.c (grub_putchar): Removed.
23643 (grub_xputs_real): New function.
23644 (grub_xputs): New variable.
23645 * util/grub-fstest.c (grub_putchar): Removed.
23646 (grub_xputs_real): New function.
23647 (grub_xputs): New variable.
23648 * util/grub-mkdevicemap.c (grub_putchar): Removed.
23649 (grub_xputs_real): New function.
23650 (grub_xputs): New variable.
23651 * util/grub-probe.c (grub_putchar): Removed.
23652 (grub_xputs_real): New function.
23653 (grub_xputs): New variable.
23654 * util/grub-script-check.c (grub_putchar): Removed.
23655 (grub_xputs_real): New function.
23656 (grub_xputs): New variable.
23657 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
23658 (grub_xputs_real): New function.
23659 (grub_xputs): New variable.
23660 * util/import_unicode.py: New file.
23661 * util/grub-mkfont.c (ft_errmsgs): New array.
23662 (grub_glyph_info): Make bitmap a pointer.
23663 (file_formats): New type WIDTH_SPEC.
23664 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
23665 (options): Add width-spec.
23666 (help): Likewise.
23667 (add_char): Renamed to ...
23668 (add_glyph): ... this.
23669 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
23670 (glyph_replace): New type.
23671 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
23672 (add_char): New function.
23673 (add_subst): Likewise.
23674 (process_cursive): Likewise.
23675 (add_font): Handle GSUB.
23676 (write_font_width_spec): New function.
23677 (main): Sort glyphs.
23678 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
23679 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
23680 * kern/term.c (grub_cls): Moved from here...
23681 * normal/term.c (grub_cls): ... here.
23682
50f0bcda
CW
236832010-07-02 Colin Watson <cjwatson@ubuntu.com>
23684
23685 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
23686 suitable for using within the format argument of printf when
23687 converting grub_size_t.
23688 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
23689 "x" to convert grub_size_t arguments.
23690
40372103
VS
236912010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23692
23693 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
23694 too long captions.
23695 (list_get_minimal_size): Take selection box into account.
23696
942a10c7
VS
236972010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23698
23699 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
23700 NULL font.
23701
2bdb2892
CW
237022010-07-02 Colin Watson <cjwatson@ubuntu.com>
23703
23704 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
23705 devices when iterating over /dev/disk/by-id; they will be handled
23706 later if appropriate, which they aren't always (e.g. LVM).
23707
e03ed6c1
CW
237082010-07-02 Colin Watson <cjwatson@ubuntu.com>
23709
23710 * include/grub/misc.h (grub_reboot): Declare as noreturn.
23711 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
23712 fails.
23713 (grub_halt): Likewise.
23714 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
23715 reset-all fails.
23716 (grub_halt): Don't return, even if all of shut-down, power-off, and
23717 poweroff fail.
23718
47695765
CW
237192010-07-02 Colin Watson <cjwatson@ubuntu.com>
23720
23721 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
23722 arguments, not three.
23723
507736c8
CW
237242010-07-02 Colin Watson <cjwatson@ubuntu.com>
23725
23726 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
23727 * util/grub.d/10_linux.in: Use it to check for LVM, so that
23728 LVM-on-RAID is handled correctly.
23729
e3c8cd37
CW
237302010-07-02 Colin Watson <cjwatson@ubuntu.com>
23731
23732 * docs/grub.texi (Changes from GRUB Legacy): New section.
23733 (Future): Fix typo.
23734
8d4a2fec
CW
237352010-07-02 Colin Watson <cjwatson@ubuntu.com>
23736
23737 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
23738 grub.d/README accidentally ends up executable for one reason or
23739 another. Ignore it.
23740
1c4827be
VS
237412010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23742
23743 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
23744 (gpt_partition_map_iterate): Support non-512B sectors.
23745
d9a0c941
VS
237462010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23747
23748 * kern/efi/init.c (grub_efi_init): Disable watchdog.
23749 Tested by: Seth Goldberg.
23750
48f27e87
VS
237512010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23752
23753 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
23754 Properly align mbi.
23755 Reported by: Seth Goldberg.
23756
b0c4f956
VS
237572010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23758
23759 * util/grub-mkrescue.in: Avoid module duplication.
23760
105a2e8c
SF
237612010-07-01 Sean Finney <seanius@seanius.net>
23762
23763 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
23764
5944958c
SF
237652010-07-01 Sean Finney <seanius@seanius.net>
23766
23767 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
23768
237692010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23770
23771 * disk/lvm.c (grub_lvm_checkvalue): New function.
23772 (grub_lvm_check_flag): Likewise.
23773
b79889ba
RM
237742010-07-01 Robert Millan <rmh@gnu.org>
23775
23776 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
23777 Support 'p' as partition separator on kernel of FreeBSD (used
23778 with GPT labels).
23779 (grub_util_biosdisk_get_grub_dev): Likewise.
23780
ec1d04f1
VS
237812010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23782
23783 Yeeloong firmware port.
23784
23785 * boot/mips/yeeloong/fwstart.S: New file.
23786 * bus/cs5536.c (gpiodump): New const.
23787 (set_io_space): New function.
23788 (set_iod): Likewise.
23789 (set_p2d): Likewise.
23790 (grub_cs5536_init_geode): Likewise.
23791 * commands/mips/yeeloong/lsspd.c: New file.
23792 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
23793 (serial_mod_SOURCES): New variable.
23794 (serial_mod_CFLAGS): Likewise.
23795 (serial_mod_LDFLAGS): Likewise.
23796 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
23797 term/terminfo.c and term/tparm.c.
23798 (pkglib_IMAGES): Add fwstart.img.
23799 (fwstart_img_SOURCES): New variable.
23800 (fwstart_img_CFLAGS): Likewise.
23801 (fwstart_img_ASFLAGS): Likewise.
23802 (fwstart_img_LDFLAGS): Likewise.
23803 (fwstart_img_FORMAT): Likewise.
23804 (pkglib_MODULES): Add lsspd.mod.
23805 (lsspd_mod_SOURCES): New variable.
23806 (lsspd_mod_CFLAGS): Likewise.
23807 (lsspd_mod_LDFLAGS): Likewise.
23808 (pkglib_MODULES): Add halt.mod.
23809 (halt_mod_SOURCES): New variable.
23810 (halt_mod_CFLAGS): Likewise.
23811 (halt_mod_LDFLAGS): Likewise.
23812 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
23813 (serial_mod_SOURCES): Removed.
23814 (serial_mod_CFLAGS): Likewise.
23815 (serial_mod_LDFLAGS): Likewise.
23816 * disk/ata.c (check_device): New function.
23817 (grub_ata_device_initialize): Use check_device.
23818 (grub_ata_iterate): Recheck devices.
23819 (grub_ata_open): Likewise.
23820 (grub_atapi_iterate): Likewise.
23821 (grub_atapi_open): Likewise.
23822 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
23823 (GRUB_ATA_CH1_PORT1): Likewise.
23824 (GRUB_ATA_CH0_PORT2): Likewise.
23825 (GRUB_ATA_CH1_PORT2): Likewise.
23826 * include/grub/mips/loongson.h: New file.
23827 * include/grub/mips/yeeloong/ec.h: Likewise.
23828 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
23829 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
23830 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
23831 * include/grub/misc.h (grub_halt): Declare as noreturn.
23832 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
23833 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
23834 (UART_ENABLE_FIFO_TRIGGER1): New definition.
23835 (UART_ENABLE_DTRRTS): Likewise.
23836 (UART_ENABLE_MODEM): Removed.
23837 (UART_ENABLE_OUT2): New const.
23838 * include/grub/term.h (grub_term_register_input_active): New function.
23839 (grub_term_register_output_active): Likewise.
23840 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
23841 argument.
23842 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
23843 (init_pci): New function.
23844 (grub_machine_init): Execute platform init when firmware. Init serial.
23845 (grub_halt): Implement.
23846 (grub_exit): Likewise.
23847 (grub_reboot): Likewise.
23848 * term/serial.c (serial_hw_init): Update macros.
23849 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
23850 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
23851 (image_targets): New target mipsel-yeeloong-flash.
23852 (generate_image): Support IMAGE_YEELOONG_FLASH.
23853 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
23854 (grub_video_sm712_setup): Init card.
23855 (grub_video_sm712_set_palette): Removed.
23856 * video/sm712_init.c: New file.
23857
ff4a70d2
CW
238582010-06-30 Colin Watson <cjwatson@ubuntu.com>
23859
23860 * Makefile.in (install-local): Temporarily prepend $(builddir) to
23861 PATH when running help2man and then run it on the unadorned
23862 executable names, rather than passing $(builddir)/* paths to
23863 help2man. This avoids the build directory ending up in generated
23864 manual pages.
23865
1246efeb
CW
238662010-06-29 Colin Watson <cjwatson@ubuntu.com>
23867
23868 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
23869 to avoid accidents when debugging with 'sh -x'.
23870 * util/grub-mkrescue.in: Likewise.
23871 * util/grub.d/00_header.in: Likewise.
23872 * util/grub.d/10_hurd.in: Likewise.
23873 * util/grub.d/10_kfreebsd.in: Likewise.
23874 * util/grub.d/10_linux.in: Likewise.
23875 * util/grub.d/10_netbsd.in: Likewise.
23876 * util/grub.d/10_windows.in: Likewise.
23877 * util/grub.d/20_linux_xen.in: Likewise.
23878 * util/grub.d/30_os-prober.in: Likewise.
23879 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23880
1ba9b889
CW
238812010-06-29 Colin Watson <cjwatson@ubuntu.com>
23882
23883 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
23884 last character in the buffer.
23885 Reported by: Vladimir Serbinenko.
23886
dccaf99d
RM
238872010-06-29 Robert Millan <rmh@gnu.org>
23888
23889 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
23890 (Command-line and menu entry commands): Document `badram' command.
23891
d500ed12
RM
238922010-06-28 Robert Millan <rmh@gnu.org>
23893
23894 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
23895 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
23896 command using ${GRUB_BADRAM} as parameter.
23897
20bc84a6
CW
238982010-06-28 Colin Watson <cjwatson@ubuntu.com>
23899
23900 * docs/grub.texi (Device map): New section.
23901 (Themes): New section (stub).
23902 * Makefile.in (docs/grub.info): The info documentation now builds
23903 without errors. Make sure it stays that way.
23904
4045dee1
VS
239052010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23906
23907 Use normal parser for menu entries.
23908 Reported by: Thomas Frauendorfer
23909
23910 * include/grub/parser.h (grub_parser_execute): Don't export.
23911 * normal/menu.c (grub_menu_execute_entry_real): New function.
23912 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
23913
bca58c7b
CW
239142010-06-28 Colin Watson <cjwatson@ubuntu.com>
23915
23916 * docs/grub.texi (Embedded configuration): New section (replacing
23917 old "Preset Menu" stub).
23918 (Images): New section.
23919 (configfile): Note that any menu entries defined in `file' are shown
23920 immediately.
23921
dec53e63
JT
239222010-06-28 Josh Triplett <josh@joshtriplett.org>
23923
23924 * mmap/i386/pc/mmap_helper.S: Set CF on return.
23925
c06e40f7
CW
239262010-06-28 Colin Watson <cjwatson@ubuntu.com>
23927
23928 * util/grub-install.in: Add --debug-image= option.
23929
cb88052b
CW
239302010-06-28 Colin Watson <cjwatson@ubuntu.com>
23931
23932 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
23933 possible on Linux.
23934
23935 * util/deviceiter.c (check_device): Rename to ...
23936 (check_device_readable_unique): ... this. Update all callers.
23937 Maintain and check a list of which devices (by canonicalized name)
23938 have already been seen.
23939 (clear_seen_devices): New function.
23940 (compare_file_names) [__linux__]: New function.
23941 (grub_util_iterate_devices): Clear the list of seen devices on exit
23942 and (just in case) on entry.
23943 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
23944 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
23945 seen-devices list, superseded by general code in check_device.
23946
bbe34652
CW
239472010-06-28 Colin Watson <cjwatson@ubuntu.com>
23948
23949 * commands/cat.c (options): New variable.
23950 (grub_cmd_cat): Parse options. If the --dos option is given, print
23951 DOS-style "\r\n" line endings as simple newlines (Debian bug
23952 #586358).
23953 (GRUB_MOD_INIT): Use extcmd.
23954 (GRUB_MOD_FINI): Likewise.
23955 * docs/grub.texi (cat): Document --dos.
23956
412e09f3
VS
239572010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23958
23959 XEN with Linux grub-mkconfig support.
23960
23961 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
23962 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
23963 GRUB_CMDLINE_XEN_DEFAULT.
23964 * util/grub.d/20_linux_xen.in: New file.
23965
53f3ef38 239662010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
23967
23968 Initialise VGA video on qemu ourselves.
23969
23970 * boot/i386/qemu/boot.S: Don't call 0xc000.
23971 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
23972 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
23973 (kernel_img_HEADERS): Add pci.h.
23974 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
23975 * configure.ac: Force unifont on qemu and yeeloong.
23976 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
23977 (grub_vga_palette_write): Use correct register.
23978 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
23979 Call grub_qemu_init_cirrus.
23980 * kern/i386/qemu/init.c: New file.
23981 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
23982
23983 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
23984
c75be4fb
PR
239852010-06-26 Pavel Roskin <proski@gnu.org>
23986
23987 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
23988 13.
23989
d8034603
CW
239902010-06-26 Colin Watson <cjwatson@ubuntu.com>
23991
23992 * docs/grub.texi (Simple configuration): Explain that
23993 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
23994 set to `true' to disable their respective recovery entries, not
23995 merely set.
23996
3fa06487
CW
239972010-06-26 Colin Watson <cjwatson@ubuntu.com>
23998
23999 Make the `source' command slightly faster.
24000
24001 * normal/main.c (grub_normal_execute): Don't re-read list files when
24002 nested.
24003
e9b29642
CW
240042010-06-23 Colin Watson <cjwatson@ubuntu.com>
24005
24006 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
24007 field position and mask size to red fields from mode_info, not
24008 green.
24009 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
24010 Remove redundant tag->common.framebuffer_type assignment.
24011 Reported by: Seth Goldberg.
24012
e726542f
CW
240132010-06-23 Colin Watson <cjwatson@ubuntu.com>
24014
24015 Sync up other versions of the Linux loader with Robert Millan's
24016 change of 2010-01-09, "Make loader output a bit more user-friendly".
24017
24018 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
24019 grub_dprintf().
24020 (grub_cmd_linux): Likewise.
24021 (grub_cmd_initrd): Likewise.
24022 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
24023 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24024
d6e98a17
CW
240252010-06-21 Colin Watson <cjwatson@ubuntu.com>
24026
24027 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
24028 larger than MEMORY_MAP_SIZE.
24029
14d3f08e
BC
240302010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
24031
24032 Fix parallel build.
24033
24034 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
24035 dependency.
24036 * script/parser.y: #include grub_script.tab.h header.
24037
4f9613a3
VS
240382010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24039
24040 Support >3GiB and <16MiB RAM in i386-qemu.
24041
24042 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
24043 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
24044 (grub_lower_mem): Removed.
24045 (grub_upper_mem): Likewise.
24046 (mem_size): Made static.
24047 (above_4g): New variable.
24048 (grub_machine_mmap_init): Detect small mem_size and above_4g.
24049 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
24050 support.
24051
05e51879
VS
240522010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24053
24054 Cirrus 5446 and Bochs video cards support.
24055
24056 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
24057 video_bochs.mod
24058 (video_cirrus_mod_SOURCES): New variable.
24059 (video_cirrus_mod_CFLAGS): Likewise.
24060 (video_cirrus_mod_LDFLAGS): Likewise.
24061 (video_bochs_mod_SOURCES): Likewise.
24062 (video_bochs_mod_CFLAGS): Likewise.
24063 (video_bochs_mod_LDFLAGS): Likewise.
24064 * include/grub/vga.h: New file.
24065 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
24066 (grub_video_fb_set_page_t): New type.
24067 (grub_video_fb_setup): New prototype.
24068 (grub_video_fb_swap_buffers): Likewise.
24069 (grub_video_fb_get_info_and_fini): Likewise.
24070 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
24071 (CRTC_DATA_PORT): Likewise.
24072 (CRTC_CURSOR): Likewise.
24073 (CRTC_CURSOR_ADDR_HIGH): Likewise.
24074 (CRTC_CURSOR_ADDR_LOW): Likewise.
24075 (CRTC_CURSOR_DISABLE): Likewise.
24076 (update_cursor): Use grub_vga_cr_write.
24077 (grub_vga_text_setcursor): Likewise.
24078 * video/bochs.c: New file.
24079 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
24080 (palette): Likewise.
24081 (palette_size): Likewise.
24082 (framebuffer): New variable.
24083 (grub_video_fb_init): Use 'framebuffer'.
24084 (grub_video_fb_fini): Likewise.
24085 (grub_video_fb_get_info): Likewise.
24086 (grub_video_fb_get_palette): Likewise.
24087 (grub_video_fb_set_palette): Likewise.
24088 (grub_video_fb_set_viewport): Likewise.
24089 (grub_video_fb_get_viewport): Likewise.
24090 (grub_video_fb_map_color): Likewise.
24091 (grub_video_fb_map_rgb): Likewise.
24092 (grub_video_fb_map_rgba): Likewise.
24093 (grub_video_fb_unmap_color): Likewise.
24094 (grub_video_fb_unmap_color_int): Likewise.
24095 (grub_video_fb_fill_rect): Likewise.
24096 (grub_video_fb_blit_bitmap): Likewise.
24097 (grub_video_fb_blit_render_target): Likewise.
24098 (grub_video_fb_scroll): Likewise.
24099 (grub_video_fb_create_render_target): Likewise.
24100 (grub_video_fb_doublebuf_blit_init): Likewise.
24101 (grub_video_fb_set_active_render_target): Handle doublebuffering.
24102 (doublebuf_pageflipping_update_screen): New function.
24103 (doublebuf_pageflipping_init): Likewise.
24104 (grub_video_fb_setup): Likewise.
24105 (grub_video_fb_swap_buffers): Likewise.
24106 (grub_video_fb_get_info_and_fini): Likewise.
24107 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
24108 All users updated.
24109 (doublebuf_pageflipping_commit): Restructured into ...
24110 (doublebuf_pageflipping_set_page): ... this.
24111 (doublebuf_pageflipping_update_screen): Removed.
24112 (doublebuf_pageflipping_init): Likewise.
24113 (double_buffering_init): Likewise.
24114 (grub_video_vbe_setup): Use grub_video_fb_setup.
24115 (grub_video_vbe_swap_buffers): Removed.
24116 (grub_video_vbe_set_active_render_target): Likewise.
24117 (grub_video_vbe_get_active_render_target): Likewise.
24118 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
24119 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
24120 grub_video_fb_set_active_render_target and
24121 grub_video_fb_get_active_render_target.
24122 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
24123 (SEQUENCER_DATA_PORT): Likewise.
24124 (MAP_MASK_REGISTER): Likewise.
24125 (CRTC_ADDR_PORT): Likewise.
24126 (CRTC_DATA_PORT): Likewise.
24127 (START_ADDR_HIGH_REGISTER): Likewise.
24128 (START_ADDR_LOW_REGISTER): Likewise.
24129 (GRAPHICS_ADDR_PORT): Likewise.
24130 (GRAPHICS_DATA_PORT): Likewise.
24131 (READ_MAP_REGISTER): Likewise.
24132 (INPUT_STATUS1_REGISTER): Likewise.
24133 (INPUT_STATUS1_VERTR_BIT): Likewise.
24134 (get_map_mask): Use grub_vga_sr_read.
24135 (set_map_mask): Use grub_vga_sr_write.
24136 (set_read_map): Use grub_vga_gr_write.
24137 (set_start_address): Use grub_vga_cr_write.
24138 * video/sm712.c (framebuffer): Remove leftover fields.
24139
4321c64a
CW
241402010-06-20 Colin Watson <cjwatson@ubuntu.com>
24141
24142 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
24143 setting GRUB_VIDEO_BACKEND. Make it available as a user override
24144 instead. Replace the gfxterm backend check with a check that
24145 ${GRUB_PREFIX}/video.lst is non-empty.
24146 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
24147 again.
24148 (load_video): New generated function. Call it before loading
24149 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
24150 * util/grub.d/10_linux.in (linux_entry): Call load_video.
24151 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
24152 * docs/grub.texi (Simple configuration): Document
24153 GRUB_VIDEO_BACKEND.
24154
241552010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24156
24157 Use video functions in linux and xnu loaders.
24158
24159 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
24160 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
24161 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
24162 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
24163 loader/i386/pc/linux.c.
24164 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
24165 (find_line_len): Removed.
24166 (find_framebuf): Likewise.
24167 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
24168 * loader/i386/efi/xnu.c: Removed.
24169 * loader/i386/pc/xnu.c: Moved from here...
24170 * loader/i386/xnu.c: ...here.
24171
24172 Enable priorities in video drivers.
24173
24174 * include/grub/video.h (grub_video_adapter_prio_t): New type.
24175 (grub_video_adapter): New field prio.
24176 (grub_video_register): Respect prio when inserting.
24177 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
24178 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
24179 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
24180 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
24181 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
24182 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
24183 * video/sm712.c (grub_video_sm712_adapter): Likewise.
24184
24185 Fix SDL driver ID.
24186
24187 * include/grub/video.h (grub_video_driver_id_t): New value
24188 GRUB_VIDEO_DRIVER_SDL.
24189 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
24190
7d24e434
CW
241912010-06-17 Colin Watson <cjwatson@ubuntu.com>
24192
24193 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
24194 argument to printf.
24195 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24196
c88a83f6
CW
241972010-06-17 Colin Watson <cjwatson@ubuntu.com>
24198
24199 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
24200 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24201
094dfb69
CW
242022010-06-17 Colin Watson <cjwatson@ubuntu.com>
24203
24204 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
24205 directly, and recommend grub-install instead.
24206 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24207
2164da6b
CW
242082010-06-17 Colin Watson <cjwatson@ubuntu.com>
24209
24210 Fix i386-pc prefix handling with nested partitions (Debian bug
24211 #585068). Note that the case where the core image is booted using
24212 multiboot and relocated from its original location still requires
24213 more work.
24214
24215 * kern/i386/pc/init.c (make_install_device): If the prefix starts
24216 with "(,", fill the boot drive in between those two characters, but
24217 expect that a full partition specification including partition map
24218 names will follow.
24219 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
24220 specified, write a prefix without the drive name but including a
24221 full partition specification.
24222
044e2e60
CW
242232010-06-16 Colin Watson <cjwatson@ubuntu.com>
24224
24225 * util/grub-mkconfig.in: Ignore non-option arguments, for
24226 compatibility with older versions (before 2010-06-12) which did the
24227 same. In particular, this makes it easier to ship an update-grub
24228 wrapper which is compatible with that used with GRUB Legacy (Debian
24229 bug #586056).
24230
5591324f
GS
242312010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24232
24233 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
24234 for manual page generation.
24235
662e24d5
GS
242362010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24237
24238 * po/POTFILES: Remove leftover commands/handler.c.
24239
8d70754e
CW
242402010-06-14 Colin Watson <cjwatson@ubuntu.com>
24241
24242 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
24243 left this script non-functional.
24244
41160e2e
CW
242452010-06-14 Colin Watson <cjwatson@ubuntu.com>
24246
24247 * docs/man/grub-emu.h2m: New file.
24248
b5309cc1
CW
242492010-06-13 Colin Watson <cjwatson@ubuntu.com>
24250
24251 * docs/grub.texi (Commands): Document reduced command set in rescue
24252 mode.
24253 (cpuid): New section.
24254
fcb2d090
GS
242552010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
24256
24257 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
24258 new partition naming style.
24259 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
24260
96e5c556
BC
242612010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
24262
24263 Add "-o grub.iso" like cmdline options support.
24264
24265 * util/grub-install.in: Improve cmdline option parsing.
24266 * util/grub-mkconfig.in: Likewise.
24267 * util/grub-mkrescue.in: Likewise.
24268 * util/grub-reboot.in: Likewise.
24269 * util/grub-set-default.in: Likewise.
24270 * util/i386/efi/grub-install.in: Likewise.
24271 * util/ieee1275/grub-install.in: Likewise.
24272 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24273
c16be99b
CW
242742010-06-12 Colin Watson <cjwatson@ubuntu.com>
24275
24276 * .bzrignore: Ignore 41_custom.
24277
ce08a9fb
TS
242782010-06-12 Thomas Schmitt <scdbackup@gmx.net>
24279
24280 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
24281
7beac90c
CW
242822010-06-12 Colin Watson <cjwatson@ubuntu.com>
24283
24284 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
24285 prototype declarations.
24286
24287 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
24288 generating fs, partmap, and video lists.
24289 * include/grub/fs.h (grub_fs_register): Omit prototype if
24290 GRUB_LST_GENERATOR is defined.
24291 * include/grub/partition.h (grub_partition_map_register): Likewise.
24292 * include/grub/video.h (grub_video_register): Likewise.
24293
1c8f0f8d
JM
242942010-06-12 Javier Martín <lordhabbit@gmail.com>
24295
24296 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
24297
a6085973
TS
242982010-06-12 Thomas Schmitt <scdbackup@gmx.net>
24299
24300 * util/grub-mkrescue.in: Support --xorriso argument.
24301
25c56d29
VS
243022010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24303
24304 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
24305 Suggested by: Thomas Schmitt.
24306
e03e4b24
VS
243072010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24308
24309 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
24310 Suggested by: Thomas Schmitt.
24311
57711df6
VS
243122010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24313
24314 custom.cfg support.
24315
24316 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
24317 * util/grub.d/41_custom.in: New file.
24318
ee62c427
CW
243192010-06-12 Colin Watson <cjwatson@ubuntu.com>
24320
24321 * util/grub-mkrescue.in (make_image): Remove sh module, which has
24322 been merged back into normal.
24323
283af07a
CW
243242010-06-11 Colin Watson <cjwatson@ubuntu.com>
24325
24326 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
24327 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
24328
56a0d956
CW
243292010-06-11 Colin Watson <cjwatson@ubuntu.com>
24330
24331 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
24332 when generating manual pages.
24333 * docs/man/grub-bin2h.h2m: New file.
24334 * docs/man/grub-editenv.h2m: New file.
24335 * docs/man/grub-fstest.h2m: New file.
24336 * docs/man/grub-install.h2m: New file.
24337 * docs/man/grub-macho2img.h2m: New file.
24338 * docs/man/grub-mkconfig.h2m: New file.
24339 * docs/man/grub-mkdevicemap.h2m: New file.
24340 * docs/man/grub-mkfont.h2m: New file.
24341 * docs/man/grub-mkimage.h2m: New file.
24342 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
24343 * docs/man/grub-mkrelpath.h2m: New file.
24344 * docs/man/grub-mkrescue.h2m: New file.
24345 * docs/man/grub-ofpathname.h2m: New file.
24346 * docs/man/grub-pe2elf.h2m: New file.
24347 * docs/man/grub-probe.h2m: New file.
24348 * docs/man/grub-reboot.h2m: New file.
24349 * docs/man/grub-script-check.h2m: New file.
24350 * docs/man/grub-set-default.h2m: New file.
24351 * docs/man/grub-setup.h2m: New file.
24352
3a37e322
VS
243532010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
24354
24355 Use FOR_* macros instead of *_iterate whenever possible.
24356
24357 * commands/handler.c: Removed.
24358 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
24359 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
24360 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24361 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
24362 (grub_probe_SOURCES): Remove kern/parser.c.
24363 (util/grub-script-check.c_DEPENDENCIES): Removed.
24364 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
24365 and grub_script_check_init.c.
24366 (grub_script_check_init.lst): Removed.
24367 (grub_script_check_init.h): Likewise.
24368 (grub_script_check_init.c): Likewise.
24369 (pkglib_MODULES): Remove handler.mod and sh.mod.
24370 (handler_mod_SOURCES): Removed.
24371 (handler_mod_CFLAGS): Likewise.
24372 (handler_mod_LDFLAGS): Likewise.
24373 (normal_mod_SOURCES): Remove normal/handler.c.
24374 Add script/main.c, script/script.c, script/execute.c,
24375 script/function.c, script/lexer.c, grub_script.tab.c
24376 and grub_script.yy.c.
24377 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24378 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24379 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
24380 (grub_setup_SOURCES): Remove kern/parser.c.
24381 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24382 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
24383 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
24384 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24385 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24386 (grub_setup_SOURCES): Remove kern/parser.c.
24387 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24388 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
24389 * include/grub/command.h (grub_command_iterate): Removed.
24390 (FOR_COMMANDS): New macro.
24391 * include/grub/dl.h (grub_dl): New member next.
24392 (grub_dl_iterate): Removed.
24393 (grub_dl_head): New variable declaration.
24394 (FOR_DL_MODULES): New macro.
24395 * include/grub/fs.h: Include list.h.
24396 (grub_fs): Make next first element.
24397 (grub_fs_list): New variable declaration.
24398 (grub_fs_register): Make inline.
24399 (grub_fs_unregister): Likewise.
24400 (grub_fs_iterate): Removed.
24401 (FOR_FILESYSTEMS): New macro.
24402 * include/grub/handler.h: Removed.
24403 * include/grub/list.h (grub_list_hook_t): Removed.
24404 (grub_list_test_t): Likewise.
24405 (grub_list_pop): Likewise.
24406 (grub_list_iterate): Likewise.
24407 (grub_list_insert): Likewise.
24408 (FOR_LIST_ELEMENTS): New macro.
24409 * include/grub/parser.h (grub_parser_class): Removed.
24410 (grub_parser_register): Likewise.
24411 (grub_parser_unregister): Likewise.
24412 (grub_parser_get_current): Likewise.
24413 (grub_parser_set_current): Likewise.
24414 (grub_register_rescue_parser): Likewise.
24415 (grub_rescue_parse_line): New function.
24416 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
24417 * include/grub/script_sh.h (grub_script_function_list): New variable
24418 declaration.
24419 (FOR_SCRIPT_FUNCTIONS): New macro.
24420 (grub_script_function_iterate): Removed.
24421 (grub_normal_parse_line): New prototype.
24422 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
24423 (FOR_DISABLED_TERM_INPUTS): Likewise.
24424 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
24425 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
24426 * include/grub/video.h (grub_video_adapter): Move 'next' to first
24427 element.
24428 (grub_video_register): Inline.
24429 (grub_video_unregister): Likewise.
24430 (grub_video_adapter_list): New variable declaration.
24431 (grub_video_iterate): Removed.
24432 (FOR_VIDEO_ADAPTERS): New macro.
24433 * kern/dl.c (grub_dl_list): Removed. All users updated.
24434 (grub_dl_iterate): Removed.
24435 * kern/fs.c (grub_fs_list): Make global.
24436 (grub_fs_register): Removed.
24437 (grub_fs_unregister): Likewise.
24438 (grub_fs_iterate): Likewise.
24439 * kern/handler.c: Removed.
24440 * kern/list.c (grub_list_pop): Removed.
24441 (grub_list_iterate): Likewise.
24442 (grub_list_insert): Likewise.
24443 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
24444 (grub_prio_list_insert): Don't use grub_list_insert.
24445 * kern/main.c (grub_register_rescue_parser): Don't call
24446 grub_register_rescue_parser.
24447 * kern/parser.c (grub_parser_class): Removed.
24448 (grub_parser_execute): Use grub_rescue_parse_line.
24449 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
24450 (grub_rescue_parser): Removed.
24451 (grub_register_rescue_parser): Likewise.
24452 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
24453 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
24454 (grub_auth_check_authentication): Likewise.
24455 * normal/completion.c (iterate_command): Removed.
24456 (grub_normal_do_completion): Use FOR_COMMANDS.
24457 * normal/handler.c: Removed.
24458 * normal/main.c (read_config_file): Remove parser changing.
24459 (grub_normal_execute): Don't call read_handler_list.
24460 (grub_normal_read_line_real): Statically allocate prompt.
24461 (grub_cmdline_run): Use grub_normal_parse_line.
24462 (GRUB_MOD_FINI): Don't call free_handler_list.
24463 * normal/menu_entry.c (run): Likewise.
24464 * script/function.c (grub_script_function_list): Make global.
24465 (grub_script_function_iterate): Removed.
24466 * script/main.c (grub_normal_parse_line): Make global.
24467 (grub_sh_parser): Removed.
24468 (GRUB_MOD_INIT): Likewise.
24469 (GRUB_MOD_FINI): Likewise.
24470 * tests/lib/functional_test.c (grub_functional_test): Use
24471 FOR_LIST_ELEMENTS.
24472 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
24473 (grub_test_run): Use FOR_LIST_ELEMENTS.
24474 * tests/lib/unit_test.c (main): Likewise.
24475 * util/deviceiter.c (grub_util_iterate_devices): Don't use
24476 grub_list_pop.
24477 * util/grub-fstest.c (grub_term_input_class): Removed.
24478 (grub_term_output_class): Likewise.
24479 * util/grub-probe.c: Likewise.
24480 * util/i386/pc/grub-setup.c: Likewise.
24481 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24482 * util/grub-script-check.c (main): Don't call grub_init_all and
24483 grub_fini_all.
24484 * video/video.c (grub_video_adapter_list): Make global.
24485 (grub_video_register): Removed.
24486 (grub_video_unregister): Likewise.
24487 (grub_video_iterate): Likewise.
24488
6289c3a7
VS
244892010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
24490
24491 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
24492 reported by Henrique Ferreiro.
24493
91460247
RM
244942010-06-09 Robert Millan <rmh@gnu.org>
24495
24496 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
24497 ones, when both are available.
24498
0ea7c4f9
GS
244992010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24500
24501 Make --version uniform and avoid hard-coded program name.
24502
24503 * util/grub-mkimage.c (main): Use `program_name' instead of
24504 hard-coded string.
24505 * util/i386/pc/grub-setup.c (main): Likewise.
24506 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
24507 * util/grub-install.in: Save the basename of $0 in $self, and use the
24508 latter in informational messages. Use the same format for --version
24509 as the binary programs.
24510 * util/grub-mkconfig.in: Likewise.
24511 * util/grub-mkrescue.in: Likewise.
24512 * util/grub-reboot.in: Likewise.
24513 * util/grub-set-default.in: Likewise.
24514 * util/i386/efi/grub-install.in: Likewise.
24515 * util/ieee1275/grub-install.in: Likewise.
24516 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24517
e8a6f3b6
GS
245182010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24519
24520 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
24521 embedding area. Use <= instead of == when checking for non-emptiness.
24522
f4d095d7
GS
245232010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24524
24525 * configure.ac: Add `.' to the directories searched for unifont.
24526
50e532ca
CW
245272010-06-08 Colin Watson <cjwatson@ubuntu.com>
24528
24529 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
24530 grub_script.yy.h.
24531
d39f3dec
CW
245322010-06-08 Colin Watson <cjwatson@ubuntu.com>
24533
24534 * docs/grub.texi (History): Expand to cover GRUB 2.
24535 (Serial terminal): Refer to `terminal_input' and `terminal_output'
24536 commands, not `terminal'.
24537 (serial): Likewise.
24538 (terminal_input): New section.
24539 (terminal_output): New section.
24540 (uppermem): New section (stub).
24541 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
24542
6ef0ddb4
CW
245432010-06-08 Colin Watson <cjwatson@ubuntu.com>
24544
24545 * docs/grub.texi (Security): Menu entries are unrestricted by
24546 default, not restricted to superusers as I had previously thought.
24547 Reword to account for this.
24548
e0f4c438
CW
245492010-06-07 Colin Watson <cjwatson@ubuntu.com>
24550
24551 * kern/emu/misc.c (device_mapper_null_log): New function.
24552 (grub_device_mapper_supported): New function.
24553 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
24554 prototype.
24555 * kern/emu/hostdisk.c (find_partition_start): Check whether
24556 device-mapper is supported before trying to use it.
24557 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
24558
da908200
CW
245592010-06-07 Colin Watson <cjwatson@ubuntu.com>
24560
24561 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
24562 (File name syntax): Likewise.
24563 (help): --all is no longer supported in GRUB 2. Be more precise
24564 about pattern matching.
24565
fb55c3ac
CW
245662010-06-07 Colin Watson <cjwatson@ubuntu.com>
24567
24568 * normal/completion.c (grub_normal_do_completion): When completing
24569 arguments to "set" and the current word contains an equals sign,
24570 skip to after the equals sign before starting completion.
24571
258c2573
CW
245722010-06-07 Colin Watson <cjwatson@ubuntu.com>
24573
24574 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
24575
ee75515e
CW
245762010-06-07 Colin Watson <cjwatson@ubuntu.com>
24577
24578 * docs/grub.texi (Network): New section.
24579 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
24580 `(nd)' as in GRUB Legacy.
24581 (pxe_unload): New section.
24582
a6a700aa
CW
245832010-06-07 Colin Watson <cjwatson@ubuntu.com>
24584
24585 * docs/grub.texi (Troubleshooting): `echo' is not usually available
24586 in the rescue shell, so recommend using `set' instead. Thanks,
24587 Jordan Uggla.
24588
4003dd38
CW
245892010-06-07 Colin Watson <cjwatson@ubuntu.com>
24590
24591 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
24592 (password): New section.
24593 (password_pbkdf2): New section.
24594 (search): New section.
24595 (Security): New section.
24596 (Troubleshooting): New section, currently very incomplete.
24597 (Invoking grub-mkpasswd-pbkdf2): New section.
24598 (Internals): New section, currently very incomplete.
24599
e1cbcc40
CW
246002010-06-07 Colin Watson <cjwatson@ubuntu.com>
24601
24602 * util/grub.d/00_header.in: Add some more quoting (of
24603 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
24604 work again.
24605 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
24606
db8fa1ad
CW
246072010-06-07 Colin Watson <cjwatson@ubuntu.com>
24608
24609 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
24610 to `count', fixing variable shadowing that broke the -c option.
24611
246122010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
24613
24614 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
24615 in case they contain spaces.
24616
f28a9212
CW
246172010-06-04 Colin Watson <cjwatson@ubuntu.com>
24618
24619 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
24620 "part_" to partmap module names, in line with grub-install.
24621 Reported by: Jindřich Makovička (Debian bug #584426).
24622
9cdfe32f
CW
246232010-06-04 Colin Watson <cjwatson@ubuntu.com>
24624
24625 * util/grub-mkimage.c: Make target-related error messages slightly
24626 more helpful; -O talks about "format". Explicitly point to the use
24627 of -O if no target is specified.
24628 Reported by: Didier Raboud (Debian bug #584415).
24629
795b593a
CW
246302010-06-03 Colin Watson <cjwatson@ubuntu.com>
24631
24632 * INSTALL: Document several build requirements for optional features
24633 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
24634
9d9b5833
GS
246352010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
24636
24637 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
24638 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
24639 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
24640
0819fec8
CW
246412010-06-02 Colin Watson <cjwatson@ubuntu.com>
24642
24643 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
24644 Thanks to Jordan Uggla for spotting this.
24645
49396b4f
VS
246462010-06-02 Aleš Nesrsta <starous@volny.cz>
24647
24648 Finally make USB usable.
24649
24650 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
24651 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
24652 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
24653 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
24654 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
24655 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
24656 (GRUB_OHCI_FSMPS): Likewise.
24657 (GRUB_OHCI_PERIODIC_START): Likewise.
24658 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
24659 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
24660 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
24661 (GRUB_OHCI_SET_PORT_RESET): Likewise.
24662 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
24663 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
24664 (grub_ohci_transaction): Likewise.
24665 (grub_ohci_transfer): Improve condition detection algorithms.
24666 Handle toggle property. Program the transactions correctly.
24667 Improve error handling. Various important fixups.
24668 (grub_ohci_portstatus): Put register writes in right order.
24669 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
24670 (grub_uhci_transfer): Don't show "failed" message on success.
24671 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
24672 array.
24673 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
24674 determine its size.
24675 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
24676 before initialization is completed. Use IN direction for empty
24677 transfers. Use last_trans and compute toggle.
24678 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
24679 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
24680 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
24681 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
24682 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
24683 (grub_usb_device): Increase toggle to 256.
24684 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
24685 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
24686 GRUB_USBMS_SUBCLASS_SFF8070.
24687 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
24688 (grub_scsi_inquiry): New member page and alloc_length.
24689 (grub_scsi_request_sense): New structure.
24690 (grub_scsi_request_sense_data): Likewise.
24691 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
24692 control.
24693 * disk/scsi.c (grub_scsi_request_sense): New function.
24694 (grub_scsi_test_unit_ready): Likewise.
24695 (grub_scsi_inquiry): Fill new fields.
24696 (grub_scsi_read_capacity): Likewise.
24697 (grub_scsi_read10): Add request sense at the end.
24698 (grub_scsi_read12): Likewise.
24699 (grub_scsi_write10): Likewise.
24700 (grub_scsi_write12): Likewise.
24701 (grub_scsi_open): Add Test Unit Ready.
24702 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
24703 Support additional subclasses. Con't clear halt yet. Activate the
24704 proper config. Calculate LUNs correctly.
24705 (grub_usbms_transfer): Various important fixups.
24706
247072010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24708
24709 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
24710 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
24711 (grub_ohci_fini_hw): New function.
24712 (grub_ohci_restore_hw): Likewise.
24713 (GRUB_MOD_INIT(ohci)): Register preboot hook.
24714 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
24715 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
24716
247172010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24718
24719 Dedicated DMA allocations.
24720
24721 * bus/pci.c (grub_memalign_dma32): New function
24722 (grub_dma_free): Likewise.
24723 (grub_dma_get_virt): Likewise.
24724 (grub_dma_get_phys): Likewise.
24725 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
24726 (grub_ohci_pci_iter): Use dma32_alloc.
24727 (grub_ohci_transfer): Likewise.
24728 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24729 (grub_usb_bulk_readwrite): Likewise.
24730 * include/grub/pci.h: Add declarations.
24731
247322010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24733
24734 CS5536 support.
24735
24736 * bus/cs5536.c: New file.
24737 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
24738 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
24739 (cs5536_mod_SOURCES): New variable.
24740 (cs5536_mod_CFLAGS): Likewise.
24741 (cs5536_mod_LDFLAGS): Likewise.
24742 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
24743 machine/pci.h.
24744 (kernel_img_SOURCES): Add bus/cs5536.c.
24745 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
24746 usb_keyboard.mod.
24747 (usb_mod_SOURCES): New variable.
24748 (usb_mod_CFLAGS): New variable.
24749 (usb_mod_LDFLAGS): New variable.
24750 (usbtest_mod_SOURCES): New variable.
24751 (usbtest_mod_CFLAGS): New variable.
24752 (usbtest_mod_LDFLAGS): New variable.
24753 (ohci_mod_SOURCES): New variable.
24754 (ohci_mod_CFLAGS): New variable.
24755 (ohci_mod_LDFLAGS): New variable.
24756 (usbms_mod_SOURCES): New variable.
24757 (usbms_mod_CFLAGS): New variable.
24758 (usbms_mod_LDFLAGS): New variable.
24759 (usb_keyboard_mod_SOURCES): New variable.
24760 (usb_keyboard_mod_CFLAGS): New variable.
24761 (usb_keyboard_mod_LDFLAGS): New variable.
24762 * include/grub/smbus.h: New file.
24763 * include/grub/cs5536.h: New file.
24764
0b35b2a9
CW
247652010-06-02 Colin Watson <cjwatson@ubuntu.com>
24766
24767 * util/grub.d/00_header.in: Add safety check to make sure that
24768 ${locale_dir} exists before trying to probe it.
24769
ca0afd5b
CW
247702010-06-02 Colin Watson <cjwatson@ubuntu.com>
24771
24772 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
24773 per the GNU Coding Standards; this is now too obscure to be worth
24774 documenting.
24775 (QNX): Likewise.
24776 (chainloader): Remove cross-reference to `SCO UnixWare'.
24777
1c41aa78
CW
247782010-06-02 Colin Watson <cjwatson@ubuntu.com>
24779
24780 * docs/grub.texi (Chain-loading): New section.
24781 (DOS/Windows): New section, borrowed from GRUB Legacy with details
24782 adjusted for GRUB 2.
24783 (SCO UnixWare): Likewise.
24784 (QNX): Likewise.
24785 (chainloader): Add reference to `Block list syntax'.
24786 (drivemap): New section.
24787 (parttool): New section.
24788
bb8ea0f5
CW
247892010-06-02 Colin Watson <cjwatson@ubuntu.com>
24790
24791 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
24792 the grub shell'.
24793 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
24794 (Installing GRUB using grub-install): Remove reference to the grub
24795 shell; mention `grub-mkimage' and `grub-setup' instead.
24796 (Invoking grub-install): Likewise.
24797 (Interface): Add reference to `Menu entry editor'.
24798 (serial): Remove `--device' option.
24799
288dd6ed
CW
248002010-06-02 Colin Watson <cjwatson@ubuntu.com>
24801
24802 * docs/grub.texi (Configuration): New section, documenting
24803 configuration file generation using grub-mkconfig. I've left a slot
24804 for documenting the full shell scripting format but have not yet
24805 started on writing that up.
24806 (Invoking grub-mkconfig): New section.
24807
34c9f0e9
CW
248082010-06-02 Colin Watson <cjwatson@ubuntu.com>
24809
24810 * docs/grub.texi (direntry): Remove grub-terminfo reference.
24811 (GNU GRUB manual): Likewise.
24812 (General commands): Update description of `terminfo' for GRUB 2.
24813
9121567e
CW
248142010-06-02 Colin Watson <cjwatson@ubuntu.com>
24815
24816 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
24817 (GRUB_MOD_INIT): Fix capitalisation.
24818 * docs/grub.texi (Command-line and menu entry commands): Document
24819 gettext and gptsync commands.
24820
ab631611
CW
248212010-06-02 Colin Watson <cjwatson@ubuntu.com>
24822
24823 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
24824 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
24825
bde4a9ac
CW
248262010-06-01 Colin Watson <cjwatson@ubuntu.com>
24827
24828 Add btrfs probing support, currently only in the single-device case.
24829
24830 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
24831 function.
24832 (grub_guess_root_device): Call find_root_device_from_mountinfo
24833 before looking in /dev.
24834
b1d17e10
VS
248352010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24836
24837 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
24838 GRUB_DISK_SIZE_UNKNOWN.
24839 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
24840
dfbfe004
JS
248412010-05-31 Jiro SEKIBA <jir@unicus.jp>
24842
24843 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
24844 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
24845 corrupted or not synced properly.
24846
c2ffc8e9
VS
248472010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24848
24849 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
24850 Reported by: Seth Goldberg.
24851
56293166
VS
248522010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24853
24854 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
24855 addition of dest.
24856 Reported by: Seth Goldberg.
24857
7620e7de
VS
248582010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24859
24860 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
24861 Reported by: Seth Goldberg.
24862
c837af3f
VS
248632010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24864
24865 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
24866 64-bit address as signed on MIPS.
24867
c7c75cf4
CW
248682010-05-28 Colin Watson <cjwatson@ubuntu.com>
24869
24870 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
24871 to the empty string.
24872
fa4b8490
BC
248732010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
24874
24875 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
24876
24877 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
24878 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
24879 * kern/misc.c (__enable_execute_stack): Disable on
24880 GRUB_MACHINE_EMU.
24881
a33075b9
CW
248822010-05-28 Colin Watson <cjwatson@ubuntu.com>
24883
24884 Make grub-probe work with symbolic links under /dev/mapper as well
24885 as with real block devices. The Linux world seems to be (at best)
24886 in transition here, and GRUB shouldn't get caught in the middle.
24887
24888 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
24889 /dev/mapper.
24890
d8708134
CW
248912010-05-27 Colin Watson <cjwatson@ubuntu.com>
24892
24893 * util/grub-script-check.c (main): Ensure defined behaviour on empty
24894 input files (in which case exit zero).
24895
db2102a0
CW
248962010-05-27 Colin Watson <cjwatson@ubuntu.com>
24897
24898 * kern/emu/misc.c (canonicalize_file_name): realpath can still
24899 return NULL for various reasons even if it has a maximum-length
24900 buffer: for example, there might be a symlink loop, or the path
24901 might exceed PATH_MAX. If this happens, return NULL.
24902
5fdba519
RM
249032010-05-27 Robert Millan <rmh@gnu.org>
24904
24905 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
24906 partmap module to handle cross-partmap setups.
24907 Reported by Orestes Mas. Gràcies!
24908
d1d368e4
CW
249092010-05-27 Colin Watson <cjwatson@ubuntu.com>
24910
24911 * util/grub-mkrescue.in: Initialise override_dir rather than
24912 assuming that it's unset or empty in the environment.
24913
95ac3c73
GS
249142010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
24915
24916 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
24917 variable index into p_index to suppress a warning with -Wshadow.
24918
7d8c0213
BC
249192010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
24920
24921 * INSTALL: Added flex >= 2.5.35 requirement.
24922
db4d5813
VS
249232010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24924
24925 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
24926
f24f4300
VS
249272010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24928
24929 cmostest support.
24930
24931 * commands/i386/cmostest.c: New file.
24932 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
24933 (cmostest_mod_SOURCES): New variable.
24934 (cmostest_mod_CFLAGS): Likewise.
24935 (cmostest_mod_LDFLAGS): Likewise.
24936 * conf/i386-pc.rmk: Likewise.
24937 * docs/grub.texi (Vendor power-on keys): New section.
24938 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
24939 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
24940 and GRUB_BUTTON_CMOS_ADDRESS.
24941 * util/grub.d/00_header.in: Handle powering-on by separate button.
24942
ad603f61
VS
249432010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24944
24945 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
24946 Removed drawing_scrollbar argument. All users updated
24947 Fixes #29792.
24948 Reported by Jo Shields
24949
3ecb080a
VS
249502010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24951
24952 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
24953 buffer since gfxterm handles double repaint.
24954
5f2316c1
VS
249552010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24956
24957 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
24958 * term/gfxterm.c (real_scroll): Likewise.
24959
9a25f885
VS
249602010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24961
24962 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
24963 before calling BIOS.
24964
39fbb79a
VS
249652010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24966
24967 * include/grub/i18n.h: Always enable grub_gettext.
24968
228cfa97
VS
249692010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24970
24971 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
24972 partition naming style.
24973
21717c8f
CW
249742010-05-21 Colin Watson <cjwatson@ubuntu.com>
24975
24976 * util/grub-mkconfig.in: Fix handling of -o so that it works when
24977 not the first option.
24978
c0f48e65
CW
249792010-05-20 Colin Watson <cjwatson@ubuntu.com>
24980
24981 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
24982
96779aec
CW
249832010-05-20 Colin Watson <cjwatson@ubuntu.com>
24984
24985 * util/misc.c: Move inclusion of <limits.h> to ...
24986 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
24987
fa9d256e
GS
249882010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
24989
24990 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
24991 Fix merge error in NetBSD code.
24992 (find_partition_start) [__NetBSD__]: Likewise.
24993
123b7a85
BC
249942010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
24995
24996 Fix grub-mkrescue usage unit testing.
24997
24998 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
24999
74276c0d
CF
250002010-05-18 Christian Franke <franke@computer.org>
25001
25002 * util/grub.d/10_windows.in: Use path names instead of
25003 drive letters to prevent warning from Cygwin 1.7.
25004 Add drivemap command to menuentry if needed.
25005
c4f7b523
ST
250062010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
25007
25008 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
25009 gnumach and gnumach.gz.
25010
95b97950
VS
250112010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25012
25013 * include/grub/i18n.h (gettext): Inline instead of using #define.
25014 (grub_gettext): Likewise.
25015 (_): Likewise.
25016
01b8d2d7
VS
250172010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25018
25019 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
25020 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
25021 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
25022 (main): Add a slash after pkglibdirroot.
25023
654e1d1e
VS
250242010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25025
25026 * util/grub-install.in: Add missing "in" keyword.
25027
26966aeb
VS
250282010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25029
25030 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
25031 Reported by: Seth Goldberg.
25032
75006747
VS
250332010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25034
25035 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
25036
74cbf5bd
CW
250372010-05-18 Colin Watson <cjwatson@ubuntu.com>
25038
25039 * configure.ac: Check for Linux device-mapper support.
25040
25041 * util/hostdisk.c (device_is_mapped): New function.
25042 (find_partition_start): New function, partly broken out from
25043 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
25044 device-mapper support added.
25045 (linux_find_partition): Use find_partition_start.
25046 (convert_system_partition_to_system_disk): Add `st' argument.
25047 Support Linux /dev/mapper/* devices if device-mapper support is
25048 available; only DM-RAID devices are understood at present.
25049 (find_system_device): Add `st' argument. Pass it to
25050 convert_system_partition_to_system_disk.
25051 (grub_util_biosdisk_get_grub_dev): Pass stat result to
25052 find_system_device and convert_system_partition_to_system_disk. Use
25053 find_partition_start.
25054
25055 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
25056 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
25057 * util/deviceiter.c [__linux__]: Define MINOR.
25058 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
25059 * util/mkdevicemap.c (grub_putchar): New function.
25060 (grub_getkey): New function.
25061 (grub_refresh): New function.
25062 (main): Set debug=all if -v -v is used.
25063
355b51e9
CW
250642010-05-18 Colin Watson <cjwatson@ubuntu.com>
25065
25066 Fix build with non-GNU libcs.
25067
25068 * util/misc.c (canonicalize_file_name): Move to ...
25069 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
25070 grub_make_system_path_relative_to_its_root.
25071
7fb5c25f
CW
250722010-05-18 Colin Watson <cjwatson@ubuntu.com>
25073
25074 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
25075 we handle finding grub-mkimage. Default to finding grub-mkimage in
25076 ${bindir} with program_transform_name applied, and provide a
25077 --grub-mkimage option to override this.
25078
1d3293d6
VS
250792010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25080
25081 Remove grub-mkisofs.
25082
25083 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
25084 (grub_mkisofs_SOURCES): Removed.
25085 (grub_mkisofs_CFLAGS): Removed.
25086 * util/mkisofs/defaults.h: Removed.
25087 * util/mkisofs/eltorito.c: Likewise.
25088 * util/mkisofs/exclude.h: Likewise.
25089 * util/mkisofs/hash.c: Likewise.
25090 * util/mkisofs/include/: Likewise.
25091 * util/mkisofs/include/fctldefs.h: Likewise.
25092 * util/mkisofs/include/mconfig.h: Likewise.
25093 * util/mkisofs/include/prototyp.h: Likewise.
25094 * util/mkisofs/include/statdefs.h: Likewise.
25095 * util/mkisofs/iso9660.h: Likewise.
25096 * util/mkisofs/joliet.c: Likewise.
25097 * util/mkisofs/match.c: Likewise.
25098 * util/mkisofs/match.h: Likewise.
25099 * util/mkisofs/mkisofs.c: Likewise.
25100 * util/mkisofs/mkisofs.h: Likewise.
25101 * util/mkisofs/msdos_partition.h: Likewise.
25102 * util/mkisofs/multi.c: Likewise.
25103 * util/mkisofs/name.c: Likewise.
25104 * util/mkisofs/rock.c: Likewise.
25105 * util/mkisofs/tree.c: Likewise.
25106 * util/mkisofs/write.c: Likewise.
25107
5dde9afe
VS
251082010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25109
25110 Unify grub-mkimage accross platforms.
25111
25112 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
25113 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
25114 (grub_mkelfimage_SOURCES): Removed.
25115 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
25116 (util/grub-mkimage.c_DEPENDENCIES): .. this.
25117 (bin_UTILITIES): Add grub-mkimage.
25118 (grub_mkimage_SOURCES): New variable.
25119 (kernel_img_HEADERS): Remove machine/kernel.h.
25120 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
25121 (pkglib_PROGRAMS): Add kernel.img.
25122 (kernel_img_HEADERS): Add machine/kernel.h.
25123 (kernel_img_FORMAT): Removed.
25124 (bin_UTILITIES): Remove grub-mkimage.
25125 (grub_mkimage_SOURCES): Removed.
25126 (grub_mkimage_CFLAGS): Likewise.
25127 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25128 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
25129 (pkglib_PROGRAMS): Add kernel.img.
25130 (bin_UTILITIES): Remove grub-mkimage.
25131 (grub_mkimage_SOURCES): Removed.
25132 (grub_mkimage_CFLAGS): Likewise.
25133 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25134 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
25135 (pkglib_PROGRAMS): Add kernel.img.
25136 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
25137 (pkglib_PROGRAMS): Add kernel.img.
25138 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
25139 (grub_mkimage_SOURCES): Removed.
25140 (grub_mkimage_CFLAGS): Likewise.
25141 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25142 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
25143 (pkglib_PROGRAMS): Add kernel.img.
25144 (bin_UTILITIES): Remove grub-mkimage.
25145 (grub_mkimage_SOURCES): Removed.
25146 (grub_mkimage_CFLAGS): Likewise.
25147 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25148 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
25149 (grub_mkimage_SOURCES): Removed.
25150 (grub_mkimage_CFLAGS): Likewise.
25151 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25152 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
25153 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
25154 (grub_pe32_optional_header): ... this.
25155 (grub_pe64_optional_header): ... and this. All users updated.
25156 (GRUB_PE32_PE32_MAGIC): Split into ..
25157 (GRUB_PE32_PE32_MAGIC): .. this.
25158 (GRUB_PE32_PE64_MAGIC): .. and this.
25159 (GRUB_PE32_SIGNATURE_SIZE): New definition.
25160 * include/grub/elf.h (PT_GNU_STACK): New definition.
25161 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
25162 * include/grub/i386/efi/kernel.h: Likewise.
25163 * include/grub/i386/kernel.h: Likewise.
25164 * include/grub/i386/pc/kernel.h: Likewise.
25165 * include/grub/i386/qemu/boot.h: Likewise.
25166 * include/grub/mips/kernel.h: Likewise.
25167 * include/grub/mips/qemu-mips/kernel.h: Likewise.
25168 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25169 * include/grub/powerpc/kernel.h: Likewise.
25170 * include/grub/sparc64/ieee1275/boot.h: Likewise.
25171 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25172 * include/grub/sparc64/kernel.h: Likewise.
25173 * include/grub/x86_64/efi/kernel.h: Likewise.
25174 * include/grub/x86_64/kernel.h: Likewise.
25175 * include/grub/offsets.h: New file.
25176 * include/grub/kernel.h (grub_module_info): Split into ...
25177 (grub_module_info32): ... this.
25178 (grub_module_info64): ... and this.
25179 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
25180 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
25181 (grub_boot_blocklist): Moved from here ...
25182 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
25183 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
25184 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
25185 * include/grub/types.h (grub_target_to_host16): Removed.
25186 (grub_target_to_host32): Likewise.
25187 (grub_target_to_host64): Likewise.
25188 (grub_host_to_target16): Likewise.
25189 (grub_host_to_target32): Likewise.
25190 (grub_host_to_target64): Likewise.
25191 (grub_host_to_target_addr): Likewise.
25192
25193 Support grub-mkrescue for efi, coreboot and qemu.
25194
25195 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
25196 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
25197 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
25198 * util/grub-mkrawimage.c: Moved from here ...
25199 * util/grub-mkimage.c: ... here. All users updated.
25200 (ALIGN_ADDR): Use image_target.
25201 (TARGET_NO_FIELD): New const.
25202 (image_target_desc): New type.
25203 (image_targets): New array.
25204 (grub_target_to_host64): Use image_target.
25205 (grub_target_to_host32): Likewise.
25206 (grub_target_to_host16): Likewise.
25207 (grub_host_to_target64): Likewise.
25208 (grub_host_to_target32): Likewise.
25209 (grub_host_to_target16): Likewise.
25210 (grub_host_to_target_addr): Likewise.
25211 (generate_image): Handle multiimage.
25212 (main): Require -O parameter. All users updated.
25213 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
25214 util/efi/grub-mkimage.c
25215 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
25216 New option --rom-directory.
25217 Use xorriso.
25218 * util/i386/efi/grub-mkimage.c: Removed.
25219 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
25220 (grub_target_to_host32): Likewise.
25221 (grub_target_to_host64): Likewise.
25222 (grub_host_to_target16): Likewise.
25223 (grub_host_to_target32): Likewise.
25224 (grub_host_to_target64): Likewise.
25225 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
25226 (grub_target_to_host32): Likewise.
25227 (grub_target_to_host64): Likewise.
25228 (grub_host_to_target16): Likewise.
25229 (grub_host_to_target32): Likewise.
25230 (grub_host_to_target64): Likewise.
25231
f4fc97d0
BC
252322010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
25233
25234 Source tree is reorganized for emu build.
25235
25236 * include/grub/util/console.h: Move from here...
25237 * include/grub/emu/console.h: ...to here.
25238 * include/grub/util/getroot.h: Move from here...
25239 * include/grub/emu/getroot.h: ...to here.
25240 * include/grub/util/hostdisk.h: Move from here...
25241 * include/grub/emu/hostdisk.h: ...to here.
25242 * util/console.c: Move from here...
25243 * kern/emu/console.c: ...to here.
25244 * util/getroot.c: Move from here...
25245 * kern/emu/getroot.c: ...to here.
25246 * util/grub-emu.c: Move from here...
25247 * kern/emu/main.c: ...to here.
25248 * util/hostdisk.c: Move from here...
25249 * kern/emu/hostdisk.c: ...to here.
25250 * util/hostfs.c: Move from here...
25251 * kern/emu/hostfs.c: ...to here.
25252 * util/mm.c: Move from here...
25253 * kern/emu/mm.c: ...to here.
25254 * util/pci.c: Move from here...
25255 * bus/emu/pci.c: ...to here.
25256 * util/sdl.c: Move from here...
25257 * video/emu/sdl.c: ...to here.
25258 * util/time.c: Move from here...
25259 * kern/emu/time.c: ...to here.
25260 * util/usb.c: Move from here...
25261 * bus/usb/emu/usb.c: ...to here.
25262
25263 * include/grub/emu/misc.h: New header for grub-emu functions.
25264 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
25265
25266 * conf/any-emu.rmk: Rule updates for above renames.
25267 * conf/common.rmk: Likewise.
25268 * conf/i386-pc.rmk: Likewise.
25269 * conf/i386-qemu.rmk: Likewise.
25270 * conf/mips.rmk: Likewise.
25271 * conf/sparc64-ieee1275.rmk: Likewise.
25272 * conf/x86-efi.rmk: Likewise.
25273
25274 * disk/lvm.h: #include updates for above renames.
25275 * util/grub-mkrelpath.c: Likewise.
25276 * util/grub-probe.c: Likewise.
25277 * util/i386/pc/grub-setup.c: Likewise.
25278 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25279 * kern/emu/console.c: Likewise.
25280 * kern/emu/getroot.c: Likewise.
25281 * kern/emu/hostdisk.c: Likewise.
25282 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
25283
25284 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
25285 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
25286 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
25287 * util/misc.c: Remove grub-emu functions.
25288
cced9145
VS
252892010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
25290
25291 Fix gfxmenu crash.
25292 Reported by: Thorsten Grützmacher.
25293
25294 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
25295 timeout hook.
25296 (circprog_set_property): Register and unregister timeout hook.
25297 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
25298 (label_destroy): Free template. and unregister hook.
25299 (label_set_state): New function.
25300 (label_set_property): Handle templates and hooks.
25301 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
25302 timeout hook.
25303 (progress_bar_set_property): Register and unregister timeout hook.
25304 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
25305 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
25306 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
25307 (update_timeout_visit): Removed.
25308 (update_timeouts): New function.
25309 (redraw_timeouts): Likewise.
25310 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
25311 (grub_gfxmenu_clear_timeout): Likewise.
25312 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
25313 (grub_gfxmenu_timeout_notify): Likewise.
25314 (grub_gfxmenu_timeout_notifications): New external variable.
25315 (grub_gfxmenu_timeout_register): New function.
25316 (grub_gfxmenu_timeout_unregister): Likewise.
25317
c6e5caab
VS
253182010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25319
25320 Transform (broken) vga terminal into (working) vga video driver.
25321
25322 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
25323 video/i386/pc/vga.c.
25324 * include/grub/video.h (grub_video_driver_id):
25325 Add GRUB_VIDEO_DRIVER_VGA.
25326 * term/i386/pc/vga.c: Renamed to ...
25327 * video/i386/pc/vga.c: ...this
25328 (DEBUG_VGA): Removed.
25329 (CHAR_WIDTH): Likewise.
25330 (CHAR_HEIGHT): Likewise.
25331 (TEXT_WIDTH): Likewise.
25332 (TEXT_HEIGHT): Likewise.
25333 (DEFAULT_FG_COLOR): Likewise.
25334 (DEFAULT_BG_COLOR): Likewise.
25335 (colored_char): Likewise.
25336 (xpos): Likewise.
25337 (ypos): Likewise.
25338 (cursor_state): Likewise.
25339 (fg_color): Likewise.
25340 (bg_color): Likewise.
25341 (text_buf): Likewise.
25342 (page): Likewise.
25343 (font): Likewise.
25344 (framebuffer): New variable.
25345 (set_read_map): Disabled.
25346 (setup): New variable.
25347 (is_target): Likewise.
25348 (grub_vga_mod_init): Likewise.
25349 (grub_vga_mod_fini): Likewise.
25350 (check_vga_mem): Likewise.
25351 (write_char): Likewise.
25352 (write_cursor): Likewise.
25353 (scroll_up): Likewise.
25354 (grub_vga_putchar): Likewise.
25355 (grub_vga_getcharwidth): Likewise.
25356 (grub_vga_getwh): Likewise.
25357 (grub_vga_getxy): Likewise.
25358 (grub_vga_gotoxy): Likewise.
25359 (grub_vga_cls): Likewise.
25360 (grub_vga_setcolorstate): Likewise.
25361 (grub_vga_setcursor): Likewise.
25362 (grub_video_vga_init): New function.
25363 (grub_video_vga_setup): Likewise.
25364 (grub_video_vga_fini): Likewise.
25365 (update_target): Likewise.
25366 (grub_video_vga_blit_bitmap): Likewise.
25367 (grub_video_vga_blit_render_target): Likewise.
25368 (grub_video_vga_set_active_render_target): Likewise.
25369 (grub_video_vga_get_active_render_target): Likewise.
25370 (grub_video_vga_swap_buffers): Likewise.
25371 (grub_video_vga_set_palette): Likewise.
25372 (grub_video_vga_get_info_and_fini): Likewise.
25373 (grub_vga_term): Removed.
25374 (grub_video_vga_adapter): New variable.
25375 (GRUB_MOD_INIT): Register a video driver instead of terminal.
25376 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
25377
2bf61a98
VS
253782010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25379
25380 * video/readers/jpeg.c: Indented.
25381
09ddcd11
VS
253822010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25383
25384 Various jpeg cleanups.
25385
25386 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
25387 (grub_jpeg_decode_quan_table): Use sizeof.
25388 (grub_jpeg_decode_du): Use ARRAY_SIZE.
25389
e5507505
PH
253902010-05-05 Peter Hurley <No e-mail available> (tiny change)
25391
25392 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
25393 tables. Ignore non-last ac bit.
25394 (grub_jpeg_decode_quan_table): Likewise.
25395
7e720a9b
VS
253962010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25397
25398 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
25399 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
25400 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
25401 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
25402 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
25403 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
25404
a7fc080b
VS
254052010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25406
25407 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
25408 error.
25409
2bf6012d
VS
254102010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25411
25412 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
25413
265d68cd
VS
254142010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25415
25416 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
25417 condition.
25418
254192010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
25420
25421 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
25422 part.
25423
265d68cd 254242010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
25425
25426 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
25427 pointers.
25428
265d68cd 254292010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
25430
25431 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
25432
d1b61374
CF
254332010-05-01 Christian Franke <franke@computer.org>
25434
25435 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
25436 Remove broken Cygwin path conversion.
25437 * util/misc.c: [__CYGWIN__] Add include and define.
25438 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
25439 for Cygwin 1.7.
25440 (make_system_path_relative_to_its_root): Simplify loop, replace early
25441 return by break.
25442 [__CYGWIN__] Add conversion to win32 path.
25443 Include "/" case in trailing slash removal.
25444
3558c6e9
VS
254452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25446
25447 * kern/main.c (grub_load_config): Fix copy-pasted comment.
25448 Reported by: Seth Goldberg
25449
f5f3ff93
VS
254502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25451
25452 * commands/help.c (grub_cmd_help): Fix a typo.
25453 Reported by: Seth Goldberg
25454
d8b5cd40
VS
254552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25456
25457 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
25458 name and add N_.
25459 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
25460 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
25461 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
25462 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
25463 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
25464 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
25465 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
25466 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
25467 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
25468 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
25469 * normal/context.c (GRUB_MOD_INIT): Likewise.
25470 * normal/main.c (GRUB_MOD_INIT): Likewise.
25471 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
25472 * term/serial.c (GRUB_MOD_INIT): Likewise.
25473 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
25474
88c14915
VS
254752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25476
25477 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
25478 extra == 0.
25479
165134bc
VS
254802010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25481
25482 * commands/iorw.c: New file.
25483 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
25484 (iorw_mod_SOURCES): New variable.
25485 (iorw_mod_CFLAGS): Likewise.
25486 (iorw_mod_LDFLAGS): Likewise.
25487
c5ac9b32
VS
254882010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25489
25490 Hotkey support
25491
25492 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
25493 * normal/main.c (hotkey_aliases): New variable.
25494 (grub_normal_add_menu_entry): Parse "--hotkey".
25495 * normal/menu_text.c (run_menu): Handle hotkeys.
25496
ce60689c
VS
254972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25498
25499 * kern/i386/coreboot/init.c (grub_machine_init): Call
25500 grub_machine_mmap_init on qemu.
25501
0359d006
VS
255022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25503
25504 * boot/i386/qemu/boot.S: Add a missing .code16.
25505
7819a456
VS
255062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25507
25508 Use LBIO on coreboot.
25509
25510 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
25511 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
25512 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
25513 New declaration.
25514 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
25515 grub_machine_mmap_init on coreboot.
25516 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
25517 GRUB_LINUXBIOS_MEMBER_LINK.
25518 (grub_machine_mmap_iterate): Fix declaration.
25519 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
25520
7210dca9
VS
255212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25522
25523 Split coreboot and multiboot ports.
25524
25525 * conf/i386-multiboot.rmk: New file.
25526 * configure.ac: Add multiboot port.
25527 * include/grub/i386/multiboot/boot.h: New file.
25528 * include/grub/i386/multiboot/console.h: Likewise.
25529 * include/grub/i386/multiboot/init.h: Likewise.
25530 * include/grub/i386/multiboot/kernel.h: Likewise.
25531 * include/grub/i386/multiboot/loader.h: Likewise.
25532 * include/grub/i386/multiboot/memory.h: Likewise.
25533 * include/grub/i386/multiboot/serial.h: Likewise.
25534 * include/grub/i386/multiboot/time.h: Likewise.
25535 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
25536 * loader/multiboot.c: Likewise.
25537 * loader/multiboot_mbi2.c: Likewise.
25538 * util/grub-mkrescue.in: Generate multiboot rescue.
25539
6f8aaf68
VS
255402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25541
3080f7a7
VS
25542 * kern/parser.c (grub_parser_execute): Cope with read-only config.
25543
255442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25545
25546 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
25547
25548 * commands/terminal.c (abstract_terminal): New struct.
25549 (handle_command): New function. Based on grub_cmd_terminal_input.
25550 (grub_cmd_terminal_input): Use handle_command.
25551 (grub_cmd_terminal_output): Use handle_command.
25552
a8ebb841
BC
255532010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
25554
25555 Fix comment handling.
25556
25557 * tests/grub_script_comments.in: New testcase.
25558 * conf/tests.rmk: Rules for new testcase.
25559 * script/yylex.l: Updated flex rules.
25560
bb06ba08
ST
255612010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
25562
25563 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
25564 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
25565 if argc is 1.
bb06ba08 25566
cc9d2425
VS
255672010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25568
25569 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
25570 autogen issues.
25571
460d8402
CF
255722010-04-26 Christian Franke <franke@computer.org>
25573
25574 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
25575 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
25576 (grub_get_prefix): Remove function.
25577 * util/grub-emu.c (main): Replace grub_get_prefix () call by
25578 make_system_path_relative_to_its_root ().
25579 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
25580
553c01f9
CF
255812010-04-24 Christian Franke <franke@computer.org>
25582
25583 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
25584 (kernel_img_LDFLAGS): Remove -static-libgcc.
25585
2aec1692
CF
255862010-04-24 Christian Franke <franke@computer.org>
25587
25588 * configure.ac: Do not CHECK_BSS_START_SYMBOL
25589 and CHECK_END_SYMBOL if grub-emu is built.
25590 Unset TARGET_OBJ2ELF if grub-emu is built
25591 without module support.
25592
f67dc308
JS
255932010-04-24 Jiro SEKIBA <jir@unicus.jp>
25594
25595 Nilfs2 support.
25596
25597 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
25598 (grub_fstest_SOURCES): Likewise.
25599 (pkglib_MODULES): Add nilfs2.mod.
25600 (nilfs2_mod_SOURCES): New variable.
25601 (nilfs2_mod_CFLAGS): Likewise.
25602 (nilfs2_mod_LDFLAGS): Likewise.
25603 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25604 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25605 * fs/nilfs2.c: New file.
25606
4ba8d354
VS
256072010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
25608
25609 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
25610 is not supported.
25611
0d2c20c6
GS
256122010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
25613
25614 Add grub-mkconfig support for NetBSD.
25615
25616 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
25617 * util/grub-mkconfig.in: export new NetBSD specific variables.
25618 * po/POTFILES-shell: added 10_netbsd.in.
25619 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
25620
bc4a2d83
BC
256212010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
25622
25623 Fix emu build with grub-emu-pci and grub-emu-modules.
25624
25625 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
25626 functions.
25627 * include/grub/libpciaccess.h: New file.
25628 * conf/any-emu.rmk: Update kernel headers for emu build.
25629
f48c87aa
VS
256302010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25631
25632 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
25633
18959385
VS
256342010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25635
25636 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
25637
0037de3f
VS
256382010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25639
25640 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
25641 Retrieve chosen/bootpath if bootpath isn't hardcoded.
25642 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
25643 util/ieee1275/ofpath.c.
25644 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
25645 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
25646 * include/grub/sparc64/ieee1275/boot.h
25647 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
25648 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
25649 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
25650 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
25651 const char *.
25652 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
25653 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
25654 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
25655 install.
25656
38e55e90
GS
256572010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
25658
25659 * util/grub-mkconfig.in: Corrected two == equality tests.
25660 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
25661 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
25662 expect a number appended to it.
25663 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
25664 expects a number appended to it.
25665
a9e6ff28
VS
256662010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25667
25668 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
25669
0b830b8f
VS
256702010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25671
25672 * util/hostdisk.c (make_device_name): Change to new partition naming.
25673
0973daeb
VS
256742010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
25675
25676 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
25677
460d8402 256782010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
25679
25680 * Makefile.in: Add missing localedir setting.
25681
0b456309
CW
256822010-04-14 Colin Watson <cjwatson@ubuntu.com>
25683
25684 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
25685 mistake in r2156. Noticed by Anthony Fok.
25686
25687 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
25688 @localedir@.
25689 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25690
08f46d62
BC
256912010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
25692
25693 Fix a spurious, uninitialized variable warning.
25694
25695 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
25696 Initialize variable, shdr.
25697 (grub_freebsd_load_elfmodule): Likewise.
25698 (grub_freebsd_load_elf_meta): Likewise.
25699
8c4a72d4
BC
257002010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
25701
25702 Fix for escaped dollar in double quoted strings.
25703
25704 * script/yylex.l: Updated flex rules.
25705 * conf/tests.rmk: Rule for new testcase.
25706 * tests/grub_script_dollar.in: New testcase.
25707
ce44826e
CPE
257082010-04-13 Carles Pina i Estany <carles@pina.cat>
257092010-04-13 Colin Watson <cjwatson@ubuntu.com>
25710
25711 Enclose all translated strings in grub.cfg in single quotes, and
25712 escape them appropriately (Ubuntu bug #552921).
25713
25714 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
25715 * util/grub.d/10_hurd.in: Use it.
25716 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25717 * util/grub.d/10_linux.in (linux_entry): Likewise.
25718
4b0cd8f8
VS
257192010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25720
25721 Fix cygwin compilation.
25722
25723 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
25724 * include/grub/misc.h (__register_frame_info)
25725 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
25726 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25727 * kern/misc.c (__register_frame_info)
25728 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
25729 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25730
01fcf061
VS
257312010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25732
25733 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
25734
5d04b11e
VS
257352010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25736
25737 Unify libgcc processing.
25738
25739 * Makefile.in (kernel_img_LDFLAGS): New variable.
25740 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
25741 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
25742 overwriting.
25743 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
25744 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
25745 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
25746 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
25747 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
25748 overwriting. Remove -lgcc and -static-libgcc
25749 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
25750 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25751 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25752 (kernel_img_LDFLAGS): Append instead of overwriting.
25753 Remove -lgcc and -static-libgcc
25754 * conf/sparc64-ieee1275.rmk: Likewise.
25755 * include/grub/powerpc/libgcc.h: Move to ...
25756 * include/grub/libgcc.h: .. this.
25757 * include/grub/libgcc.h: Don't export most of the function on x86.
25758 (__bswapsi2): New export.
25759 (__bswapdi2): Likewise.
25760 * include/grub/mips/libgcc.h: Removed.
25761 * include/grub/sparc64/libgcc.h: Likewise.
25762
b7f3ac29
VS
257632010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25764
25765 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
25766 disk_info_msg (conflicts with gettexting into languages with cases).
25767
2c7031b1
GS
257682010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
25769
25770 Add grub-probe support for NetBSD.
25771
25772 * util/getroot.c (find_root_device): Convert block device to
25773 character device on NetBSD.
25774 * util/probe.c (probe): Require character device on NetBSD.
25775 * util/hostdisk.c: NetBSD specific headers.
25776 (configure_device_driver): new function to tune device driver
25777 parameters (currently only for NetBSD floppy driver).
25778 (grub_util_biosdisk_open): NetBSD specific code (get disk size
25779 via disklabel ioctl).
25780 (open_device): call configure_device_driver on NetBSD.
25781 (convert_system_partition_to_system_disk): NetBSD specific code.
25782 (device_is_wholedisk): Likewise.
25783 (grub_util_biosdisk_get_grub_dev): Likewise.
25784 (make_device_name): Fixed a typo in bsd_part_str.
25785 * configure.ac: check for opendisk() and getrawpartition() on
25786 NetBSD and set LIBUTIL.
25787 * Makefile.in: add LIBUTIL to LIBS.
25788
f516290c
BC
257892010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25790
25791 Documentation fix.
25792
25793 * util/grub-script-check.c: Better help message.
25794
d8dcc0df
BC
257952010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25796
25797 Fix FreeBSD build.
25798
25799 * configure.ac: Flex version check.
25800 * conf/common.rmk: Add -Wno-error to sh.mod.
25801 * script/yylex.l: Remove all #pragma.
25802
6734334a
VS
258032010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25804
25805 * include/grub/util/misc.h (canonicalise_file_name): Add missing
25806 prototype.
25807 Reported by: Seth Goldberg.
25808
daea6abd
VS
258092010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25810
25811 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
25812 Rename "module" to "module2".
25813 Reported by: Seth Goldberg.
25814
f2fd9d2b
VS
258152010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25816
25817 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
25818 EXPORT_FUNC.
25819 Reported by: Seth Goldberg.
25820
be124579
VS
258212010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25822
25823 * lib/posix_wrap/locale.h: Add missing file.
25824 Reported by: Seth Goldberg.
25825
ef5da797
VS
258262010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25827
25828 grub-emu module load support.
25829
25830 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
25831 NO_DYNAMIC_MODULES switched to this.
25832 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
25833 (CFLAGS): Likewise.
25834 * conf/any-emu.rmk: Generate symlist.
25835 (kernel_img_HEADERS): Add util/datetime.h.
25836 (kernel_img_HEADERS) [sdl]: Add sdl.h.
25837 (kernel_img_HEADERS) [libusb]: Add libusb.h.
25838 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
25839 kern/$(target_cpu)/cache.S.
25840 * configure.ac (grub-emu-modules): New option.
25841 * genmk.rb: Handle multiple source lists.
25842 * include/grub/sdl.h: New file.
25843 * include/grub/libusb.h: Likewise.
25844 * util/grub-emu.c (main): Hanle (host) root.
25845 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
25846 GRUB_ERR_UNKNOWN_DEVICE.
25847 * util/misc.c: Move mm functions to ...
25848 * util/mm.c: ... here. All users updated.
25849
47822096
VS
258502010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25851
25852 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
25853 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
25854 missing files.
25855 (maintainer-clean): Remove libgcrypt-grub.
25856
5d7e7445
VS
258572010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25858
25859 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
25860
25f4e252
EC
258612010-04-09 EFI Coder <eficoder@hotmail.com>
25862
25863 * normal/menu_text.c (print_message): Clean up the message and show
25864 the Fn information when on EFI
25865 * term/efi/console.c (grub_console_checkkey): Add F4 support.
25866
027de555
VS
258672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25868
25869 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
25870 All users updated.
25871 * normal/crypto.c (read_crypto_list): Likewise.
25872 * normal/dyncmd.c (read_command_list): Likewise.
25873 * normal/term.c (read_terminal_list): Likewise.
25874 * normal/main.c (read_lists): Use explicit prefix.
25875 (read_lists_hook): Use read_lists.
25876 (grub_normal_execute): Likewise.
25877
47779711
VS
258782010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25879
25880 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
25881 Reported by: Thomas Schmitt.
25882 Add -no-emul-boot to grub-mkisofs parameters.
25883
1118c32e
VS
258842010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25885
25886 * font/font.c: Indented.
25887
7d652447
BC
258882010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25889
25890 Elif support to GRUB script (by Deepak Vankadaru).
25891
25892 * tests/grub_script_if.in: New testcase.
25893 * conf/tests.rmk: Rule for new testcase.
25894 * script/parser.y: Grammar rules for elif.
25895
34bb22df
BC
258962010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25897
25898 While and until loops support to GRUB script.
25899
25900 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
25901 (grub_script_create_cmdwhile): New function prototype.
25902 (grub_script_execute_cmdwhile): New function prototype.
25903 * script/execute.c (grub_script_execute_cmdwhile): New function.
25904 * script/parser.y (command): New commands.
25905 (whilecmd): New grammar rule.
25906 (untilcmd): New grammar rule.
25907 * script/script.c (grub_script_create_cmdwhile): New function.
25908 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
25909 function.
25910
25911 * tests/grub_script_while1.in: New testcase.
25912 * conf/tests.rmk: Rule for new testcase.
25913
e215d8e0
VS
259142010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25915
25916 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
25917 as *.jpg.
25918
d7c43ba1
MV
259192010-04-09 Mario Vazquez <mariovazq@gmail.com>
25920
25921 GRUB_BACKGROUND support.
25922
25923 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
25924 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
25925
d64795c0
VS
259262010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25927
25928 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 25929 Idea by: Mario Vazquez
d64795c0
VS
25930
25931 * util/grub.d/00_header.in: Load pf2 and image modules.
25932
f267f83a
VS
259332010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25934
25935 grub-mkconfig multiple terminal support.
25936
25937 * util/grub-mkconfig.in: Handle multiple terminals correctly.
25938 * util/grub.d/00_header.in: Likewise.
25939
b7841ceb
VS
259402010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25941
25942 * Makefile.in: Specify files explicitly instead of using $< and $@ since
25943 we use cd $(srcdir).
25944
df60998c
CW
259452010-04-08 Colin Watson <cjwatson@ubuntu.com>
25946
25947 * util/grub.d/10_linux.in: Only use the first word of
25948 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
25949 spaces in GRUB_DISTRIBUTOR.
25950 * util/grub.d/10_kfreebsd.in: Likewise.
25951 * util/grub.d/10_hurd.in: Likewise.
25952
fa09c82e
BC
259532010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
25954
14e18ae3 25955 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
25956
25957 * tests/util/grub-shell.in: Remove -serial stdio option.
25958
daf892b3
BC
259592010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25960
25961 POSIX header file wrappers.
25962
25963 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
25964 equivalents.
25965 * lib/posix_wrap/ctype.h: Likewise.
25966 * lib/posix_wrap/errno.h: Likewise.
25967 * lib/posix_wrap/langinfo.h: Likewise.
25968 * lib/posix_wrap/limits.h: Likewise.
25969 * lib/posix_wrap/localcharset.h: Likewise.
25970 * lib/posix_wrap/stdint.h: Likewise.
25971 * lib/posix_wrap/stdio.h: Likewise.
25972 * lib/posix_wrap/stdlib.h: Likewise.
25973 * lib/posix_wrap/string.h: Likewise.
25974 * lib/posix_wrap/sys/types.h: Likewise.
25975 * lib/posix_wrap/unistd.h: Likewise.
25976 * lib/posix_wrap/wchar.h: Likewise.
25977 * lib/posix_wrap/wctype.h: Likewise.
25978 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
25979 (grub_script.yy.h): Likewise.
25980 * script/yylex.l: Remove POSIX emulation #defines.
25981 * Makefile.in (POSIX_CFLAGS): New variable.
25982 (GNULIB_UTIL_CFLAGS): Likewise.
25983
25984 Regexp support.
25985
25986 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
25987 (regexp_mod_SOURCES): New variable.
25988 (regexp_mod_CFLAGS): Likewise.
25989 (regexp_mod_LDFLAGS): Likewise.
25990 * commands/regexp.c: New file.
25991 * gnulib/regcomp.c: New file. Imported from gnulib.
25992 * gnulib/regex.c: Likewise.
25993 * gnulib/regex_internal.c: Likewise.
25994 * gnulib/regex_internal.h: Likewise.
25995 * gnulib/regexec.c: Likewise.
25996 * gnulib/regex.h: Likewise.
25997
974ac4f7
VS
259982010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25999
26000 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
26001 unsupported video mode types.
26002
2622c3ff
VS
260032010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26004
26005 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
26006
064cb524
VS
260072010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26008
26009 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
26010 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
26011
a8c3b552
VS
260122010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
26013
26014 Remove unused grub_vga_get_font.
26015
26016 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
26017 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
26018
187bbe3d
GS
260192010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26020
26021 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
26022 * include/grub/misc.h: Likewise.
26023
b9396631
GS
260242010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26025
26026 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
26027 for which failure is fatal.
26028
50479feb
GS
260292010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26030
26031 * util/grub-install.in: Use mkdir -p to create grub directory.
26032 * util/i386/efi/grub-install.in: Likewise.
26033 * util/ieee1275/grub-install.in: Likewise.
26034
b1654fdf
GS
260352010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26036
26037 * Makefile.in (LEX): new variable.
26038
bd5a6415
GS
260392010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26040
26041 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
26042 `=' and added double quotes on operands of this equality test.
26043
3db3a82b
VS
260442010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
26045
26046 * Makefile.in (uninstall): Remove a leftover debug echo.
26047 Reported by: Grégoire Sutre
26048
38023412
VS
260492010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
26050
26051 MIPS multiboot2 support.
26052
26053 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
26054 (multiboot2_mod_SOURCES): New variable.
26055 (multiboot2_mod_CFLAGS): Likewise.
26056 (multiboot2_mod_LDFLAGS): Likewise.
26057 (multiboot2_mod_ASFLAGS): Likewise.
26058 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
26059 definition.
26060 (MULTIBOOT_ENTRY_REGISTER): Likewise.
26061 (MULTIBOOT_MBI_REGISTER): Likewise.
26062 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
26063 (MULTIBOOT_ELF32_MACHINE): Likewise.
26064 (MULTIBOOT_ELF64_MACHINE): Likewise.
26065 * include/grub/mips/multiboot.h: New file.
26066 * include/grub/video.h (grub_video_driver_id): New type
26067 GRUB_VIDEO_DRIVER_SM712.
26068 (grub_video_get_info_and_fini): Export.
26069 (grub_video_get_palette): Likewise.
26070 (grub_video_get_driver_id): Likewise.
26071 * include/multiboot2.h: Resynced with spec.
26072 * loader/i386/multiboot.c: Moved from here ...
26073 * loader/multiboot.c: ... here. All users updated.
26074 (grub_multiboot_boot): Use platform-specific macros.
26075 * loader/i386/multiboot_elfxx.c: Moved from here ...
26076 * loader/multiboot_elfxx.c: ... here. All users updated.
26077 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
26078 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
26079 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
26080
47674667
VS
260812010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
26082
26083 Import gnulib argp module.
26084
26085 * gnulib/argp-ba.c: New file.
26086 * gnulib/argp-eexst.c: Likewise.
26087 * gnulib/argp-fmtstream.c: Likewise.
26088 * gnulib/argp-fmtstream.h: Likewise.
26089 * gnulib/argp-fs-xinl.c: Likewise.
26090 * gnulib/argp-help.c: Likewise.
26091 * gnulib/argp-namefrob.h: Likewise.
26092 * gnulib/argp-parse.c: Likewise.
26093 * gnulib/argp-pin.c: Likewise.
26094 * gnulib/argp-pv.c: Likewise.
26095 * gnulib/argp-pvh.c: Likewise.
26096 * gnulib/argp-version-etc.c: Likewise.
26097 * gnulib/argp-version-etc.h: Likewise.
26098 * gnulib/argp-xinl.c: Likewise.
26099 * gnulib/argp.h: Likewise.
26100
495442ed
VS
261012010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
26102
26103 * kern/device.c (grub_device_iterate): Clear errors after failed
26104 opening device.
26105
f9fd65df
VS
261062010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
26107
26108 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
26109 returned by firmware.
26110
af09641e
VS
261112010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
26112
26113 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
26114 compilation on coreboot and qemu
26115
016883a5
VS
261162010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
26117
26118 * include/multiboot2.h: Resync with spec.
26119
f97e1f7d
VS
261202010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
26121
26122 Multiboot2 tag support
26123
26124 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
26125 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
26126 Remove loader/multiboot_loader.c.
26127 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
26128 (grub_multiboot2_real_boot): Likewise.
26129 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
26130 (grub_get_multiboot_mmap_count): New proto.
26131 (grub_fill_multiboot_mmap): Likewise.
26132 (grub_multiboot_set_video_mode): Likewise.
26133 (grub_multiboot_set_console): Likewise.
26134 (grub_multiboot_load): Likewise.
26135 (grub_multiboot_load_elf): Likewise.
26136 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
26137 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
26138 * include/multiboot.h: Resynced with specification.
26139 * include/multiboot2.h: Resynced with specification.
26140 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
26141 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
26142 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
26143 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
26144 users updated.
26145 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
26146 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
26147 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
26148 Removed.
26149 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
26150 Moved from here...
26151 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
26152 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
26153 Moved from here...
26154 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
26155 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
26156 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
26157 All users updated.
26158 * loader/i386/multiboot_mbi2.c: New file.
26159
3506b90b
VS
261602010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
26161
26162 Resync with gnulib.
26163
26164 * Makefile.in (GNULIB_CFLAGS): New variable.
26165 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
26166 (grub_script_check_CFLAGS): New variable.
26167 * gnulib/alloca.h: Resync with gnulib.
26168 * gnulib/error.c: Likewise.
26169 * gnulib/error.h: Likewise.
26170 * gnulib/fnmatch.c: Likewise.
26171 * gnulib/fnmatch_loop.c: Likewise.
26172 * gnulib/getdelim.c: Likewise.
26173 * gnulib/getline.c: Likewise.
26174 * gnulib/getopt.c: Likewise.
26175 * gnulib/getopt1.c: Likewise.
26176 * gnulib/getopt_int.h: Likewise.
26177 * gnulib/gettext.h: Likewise.
26178 * gnulib/progname.c: Likewise.
26179 * gnulib/progname.h: Likewise.
26180
394a3120
GS
261812010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
26182
26183 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
26184 which is the case with --disabled-nls.
26185
26186 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
26187 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
26188 * util/misc.c: Likewise.
26189 * util/mkisofs/mkisofs.c: Likewise.
26190 * util/mkisofs/mkisofs.h: Likewise.
26191
969d1c78
VS
261922010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
26193
26194 Simplify Apple CC support.
26195
26196 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
26197 Add 0 byte at the end not to have a symbol with empty target.
26198 * mmap/i386/pc/mmap_helper.S: Likewise.
26199 * genmk.rb: Ignore errors 2030 and 2050.
26200 * kern/i386/pc/startup.S: Use LOCAL when possible.
26201
8d2977bb
BC
262022010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
26203
26204 Testcase and the fix for final semicolon on cmdline.
26205
26206 * tests/grub_script_final_semicolon.in: New testcase.
26207 * conf/tests.rmk: Rules for the new testcase.
26208 * script/parser.y: Grammar fix.
26209
a7bd6915
BC
262102010-03-26 BVK Chaitanya <bvk@localhost>
26211
26212 Blank lines testcase for GRUB script.
26213
26214 * tests/grub_script_blanklines.in: New testcase.
26215 * conf/tests.rmk: Rules for the new testcase.
26216
e4ff6628
VS
262172010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26218
26219 Don't use __FILE__.
26220
26221 * genmk.rb: Add -DGRUB_FILE to all C targets.
26222 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
26223 * include/grub/list.h: Likewise.
26224 * include/grub/misc.h: Likewise.
26225 * include/grub/mm.h: Likewise.
26226 * include/grub/test.h: Likewise.
26227 * kern/mm.c: Likewise.
26228 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
26229
6a5cf6b6
VS
262302010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26231
26232 Sunpc partitions support.
26233
26234 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
26235 (grub_fstest_SOURCES): Likewise.
26236 (pkglib_MODULES): Add part_sunpc.mod.
26237 (part_sunpc_mod_SOURCES): New variable.
26238 (part_sunpc_mod_CFLAGS): Likewise.
26239 (part_sunpc_mod_LDFLAGS): Likewise.
26240 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
26241 * partmap/sunpc.c: New file.
26242
746d9045
BC
262432010-03-26 BVK Chaitanya <bvk@localhost>
26244
26245 For loop support to GRUB script.
26246
26247 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
26248 (grub_script_create_cmdfor): New function prototype.
26249 (grub_script_execute_cmdfor): New function prototype.
26250 * script/execute.c (grub_script_execute_cmdfor): New function.
26251 * script/parser.y (command): New for command.
26252 (forcmd): New grammar rule.
26253 * script/script.c (grub_script_create_cmdfor): New function.
26254 * util/grub-script-check.c (grub_script_execute_cmdfor): New
26255 function.
26256 * tests/grub_script_for1.in: New testcase.
26257 * conf/tests.rmk: Rules for new testcase.
26258
18486b18
VS
262592010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26260
26261 Nested partitions
26262
26263 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
26264 'partition' is NULL, grub_partition_get_start already does that.
26265 * commands/loadenv.c (check_blocklists): Likewise.
26266 (write_blocklists): Likewise.
26267 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
26268 (grub_fstest_SOURCES): Likewise.
26269 (pkglib_MODULES): Add part_bsd.mod.
26270 (part_bsd_mod_SOURCES): New variable.
26271 (part_bsd_mod_CFLAGS): Likewise.
26272 (part_bsd_mod_LDFLAGS): Likewise.
26273 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
26274 (grub_emu_SOURCES): Likewise.
26275 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26276 * include/grub/bsdlabel.h: New file.
26277 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
26278 'get_name'.
26279 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
26280 (grub_partition_map_list): New variable.
26281 (grub_partition_map_register): Inline.
26282 (grub_partition_map_unregister): Likewise.
26283 (FOR_PARTITION_MAPS): New macro.
26284 (grub_partition_map_iterate): Removed.
26285 (grub_partition_get_start): Handle nested partitions.
26286 * include/grub/msdos_partition.h: Remove bsd-related entries.
26287 (grub_pc_partition): Remove.
26288 * kern/disk.c (grub_disk_close): Free partition data.
26289 (grub_disk_adjust_range): Handle nested partitions.
26290 * kern/partition.c (grub_partition_map_probe): New function.
26291 (grub_partition_probe): Parse name to number, handle subpartitions.
26292 (get_partmap): New function.
26293 (grub_partition_iterate): Handle subpartitions.
26294 (grub_partition_get_name): Likewise.
26295 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
26296 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
26297 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
26298 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
26299 Set 'number'.
26300 (acorn_partition_map_probe): Remove.
26301 (acorn_partition_map_get_name): Likewise.
26302 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
26303 Set 'number'.
26304 Set 'index' to 0 since there can be only one partition entry per sector.
26305 (amiga_partition_map_probe): Remove.
26306 (amiga_partition_map_get_name): Likewise.
26307 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
26308 Set 'number'.
26309 Set 'offset' and 'index' to real positions of partitions.
26310 (apple_partition_map_probe): Remove.
26311 (apple_partition_map_get_name): Likewise.
26312 * partmap/bsdlabel.c: New file.
26313 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
26314 Set 'number'.
26315 Allocate 'data' so it can be correctly freed.
26316 Set 'index' to offset inside sector.
26317 (gpt_partition_map_probe): Remove.
26318 (gpt_partition_map_get_name): Likewise.
26319 * partmap/msdos.c (grub_partition_parse): Remove.
26320 (pc_partition_map_iterate): Don't force raw access.
26321 Set 'number'.
26322 Make 'ext_offset' a local variable.
26323 (pc_partition_map_probe): Remove.
26324 (pc_partition_map_get_name): Remove.
26325 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
26326 Set 'number'.
26327 (sun_partition_map_probe): Remove.
26328 (sun_partition_map_get_name): Likewise.
26329 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
26330 (grub_pcpart_type): Likewise.
26331 * util/hostdisk.c (open_device): Handle new numbering scheme.
26332 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
26333 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
26334 * util/grub-probe.c (probe_partmap): Handle nested paritions.
26335 * util/grub-install.in: Insert all subpartition modules.
26336 * util/ieee1275/grub-install.in: Likewise.
26337
a3940f88
AG
263382010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
26339
26340 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
26341 grammar.
26342
21b99926 263432010-03-24 Colin Watson <cjwatson@ubuntu.com>
26344
26345 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
26346
bed1d352
CW
263472010-03-21 Colin Watson <cjwatson@ubuntu.com>
26348
26349 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
26350 match where 'make install' puts them.
26351 * util/i386/efi/grub-install.in: Likewise.
26352
c9f58427
CW
263532010-03-19 Colin Watson <cjwatson@ubuntu.com>
26354
26355 * .bzrignore: Add gentrigtables, grub-script-check,
26356 grub_script_check_init.c, grub_script_check_init.h, and
26357 trigtables.c.
26358
f84afb27
VS
263592010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
26360
26361 * kern/parser.c: Indented.
26362
ed0e3d30
VS
263632010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
26364
26365 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
26366
0ea81d98
VS
263672010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
26368
26369 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
26370 alpha_mask_size == 0 case.
26371
0cdc2a09
BC
263722010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
26373
26374 GRUB shell lexer and parser improvements.
26375
26376 * conf/any-emu.rmk: Build rule updates.
26377 * conf/common.rmk: Likewise.
26378 * conf/i386-coreboot.rmk: Likewise.
26379 * conf/i386-efi.rmk: Likewise.
26380 * conf/i386-ieee1275.rmk: Likewise.
26381 * conf/i386-pc.rmk: Likewise.
26382 * conf/powerpc-ieee1275.rmk: Likewise.
26383 * conf/x86_64-efi.rmk: Likewise.
26384
26385 * configure.ac: Configure check for flex.
26386
26387 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
26388 types.
26389 (grub_lexer_param): Struct member updates.
26390 (grub_parser_param): Likewise.
26391 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
26392 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
26393 (grub_script_lexer_init): Prototype update.
26394 (grub_script_lexer_record_start): Likewise.
26395 (grub_script_lexer_record_stop): Likewise.
26396 (grub_script_lexer_yywrap): New function prototype.
26397 (grub_script_lexer_fini): Likewise.
26398 (grub_script_execute_argument_to_string): Removed by...
26399 (grub_script_execute_argument_to_argv): ...better version.
26400
26401 * script/execute.c (ROUND_UPTO): New macro.
26402 (grub_script_execute_cmdline): Out of memory fixes.
26403 (grub_script_execute_menuentry): Likewise.
26404 (grub_script_execute_argument_to_string): Removed. Update all
26405 users by...
26406 (grub_script_execute_argument_to_argv): ...better version.
26407 * script/function.c (grub_script_function_create): Use
26408 grub_script_execute_argument_to_argv instead of
26409 grub_script_execute_argument_to_string.
26410
26411 * script/lexer.c (check_varstate): Removed.
26412 (check_textstate): Removed.
26413 (grub_script_lexer_record_start): Likewise.
26414 (grub_script_lexer_record_stop): Likewise.
26415 (recordchar): Replaced with...
26416 (grub_script_lexer_record): ...new function.
26417 (nextchar): Removed.
26418 (grub_script_lexer_init): Rewritten.
26419 (grub_script_yylex): Rewritten.
26420 (append_newline): New function.
26421 (grub_script_lexer_yywrap): New function.
26422 (grub_script_lexer_fini): New function.
26423 (grub_script_yyerror): Sets error flag.
26424
26425 * script/yylex.l: New file.
26426 (grub_lexer_yyfree): Wrapper for flex yyffre.
26427 (grub_lexer_yyalloc): Likewise.
26428 (grub_lexer_yyrealloc): Likewise.
26429 * script/parser.y: Refactored.
26430
26431 * script/script.c (grub_script_arg_add): Out of memory fixes.
26432 (grub_script_add_arglist): Likewise.
26433 (grub_script_create_cmdline): Likewise.
26434 (grub_script_create_cmdmenu): Likewise.
26435 (grub_script_add_cmd): Likewise.
26436 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
26437 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
26438 unnecessary code.
26439
26440 * tests/grub_script_echo1.in: New testcase.
26441 * tests/grub_script_vars1.in: New testcase.
26442 * tests/grub_script_echo_keywords.in: New testcase.
26443
1d63a066
VS
264442010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26445
26446 Remove some redundancy in build system.
26447
26448 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
26449 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
26450 (TARGET_LDFLAGS): Add -nostdlib.
26451 (TARGET_IMG_LDFLAGS): Likewise.
26452 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
26453 anything since mmap isn't available.
26454 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
26455 Add util/time.c.
26456 (pkglib_MODULES): Remove reboot.mod.
26457 (reboot_mod_SOURCES): Removed.
26458 (reboot_mod_CFLAGS): Likewise.
26459 (reboot_mod_LDFLAGS): Likewise.
26460 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
26461 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
26462 (DEFSYMFILES): Add kernel_syms.lst.
26463 (kernel_img_HEADERS): Add common headers.
26464 (symlist.c): New target.
26465 (kernel_syms.lst): Likewise.
26466 (pkglib_MODULES): Add memdisk.mod.
26467 (memdisk_mod_SOURCES): New variable.
26468 (memdisk_mod_CFLAGS): Likewise.
26469 (memdisk_mod_LDFLAGS): Likewise.
26470 (pkglib_MODULES): Add reboot.mod.
26471 (reboot_mod_SOURCES): New variable.
26472 (reboot_mod_CFLAGS): Likewise.
26473 (reboot_mod_LDFLAGS): Likewise.
26474 (pkglib_MODULES): Add date.mod.
26475 (date_mod_SOURCES): New variable.
26476 (date_mod_CFLAGS): Likewise.
26477 (date_mod_LDFLAGS): Likewise.
26478 (pkglib_MODULES): Add datehook.mod.
26479 (datehook_mod_SOURCES): New variable.
26480 (datehook_mod_CFLAGS): Likewise.
26481 (datehook_mod_LDFLAGS): Likewise.
26482 (pkglib_MODULES): Add lsmmap.mod.
26483 (lsmmap_mod_SOURCES): New variable.
26484 (lsmmap_mod_CFLAGS): Likewise.
26485 (lsmmap_mod_LDFLAGS): Likewise.
26486 (pkglib_MODULES): Add boot.mod.
26487 (boot_mod_SOURCES): New variable.
26488 (boot_mod_CFLAGS): Likewise.
26489 (boot_mod_LDFLAGS): Likewise.
26490 * conf/i386-coreboot.rmk: Removed redundant parts.
26491 * conf/i386-ieee1275.rmk: Likewise.
26492 * conf/i386-pc.rmk: Likewise.
26493 * conf/mips-yeeloong.rmk: Likewise.
26494 * conf/mips.rmk: Likewise.
26495 * conf/powerpc-ieee1275.rmk: Likewise.
26496 * conf/sparc64-ieee1275.rmk: Likewise.
26497 * conf/x86_64-efi.rmk: Likewise.
26498 * conf/i386-coreboot.rmk: Moved qemu parts ..
26499 * conf/i386-qemu.rmk: ... here
26500 * conf/i386-efi.rmk: Moved common parts to...
26501 * conf/x86-efi.rmk: ... here.
26502 * conf/i386.rmk: Added modules common to all x86 variants.
26503 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
26504 * disk/memdisk.c: Remove grub/machine/kernel.h.
26505 * gensymlist.sh.in: Include symbol.h.
26506 * hook/datehook.c: Correct module name.
26507 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
26508 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
26509 * include/grub/i386/efi/serial.h: New file.
26510 * include/grub/x86_64/efi/serial.h: Likewise.
26511 * util/time.c: Likewise.
26512 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
26513
463ac55f
CK
265142010-03-14 Colin King <colin.king@ubuntu.com>
265152010-03-14 Colin Watson <cjwatson@ubuntu.com>
26516
26517 Shrink the pre-partition-table part of boot.img by eight bytes.
26518
26519 * boot/i386/pc/boot.S (ERR): New macro.
26520 (chs_mode): Use ERR.
26521 (geometry_error): Likewise.
26522 (hd_probe_error): Remove. This is only used once, so we wrwite
26523 it inline instead.
26524 (read_error): Instead of printing read_error_string, just set up
26525 %si and fall through to ...
26526 (error_message): ... this new function, also used by ERR.
26527
08e46ede
CW
265282010-03-14 Colin Watson <cjwatson@ubuntu.com>
26529
26530 Speed up consecutive hostdisk operations on the same device.
26531
26532 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
26533 (grub_util_biosdisk_open): Initialise disk->data.
26534 (struct linux_partition_cache): New structure.
26535 (linux_find_partition): Cache partition start positions; these are
26536 expensive to compute on every read and write.
26537 (open_device): Cache open file descriptor in disk->data, so that we
26538 don't have to reopen it and flush the buffer cache for consecutive
26539 operations on the same device.
26540 (grub_util_biosdisk_close): New function.
26541 (grub_util_biosdisk_dev): Set `close' member.
26542
26543 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
26544 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
26545 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26546 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26547 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
26548
4a6d2d06
VS
265492010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26550
26551 Compile parts of grub-emu as modules.
26552
26553 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
26554 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
26555 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
26556 (all-local): Add $(GRUB_EMU).
26557 (install-local): Install $(GRUB_EMU).
26558 (uninstall): Uninstall $(GRUB_EMU).
26559 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
26560 * kern/dl.c: Likewise.
26561 * commands/sleep.c: Not include machine/time.h.
26562 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
26563 (COMMON_CFLAGS): Likewise.
26564 (sbin_UTILITIES): Remove grub-emu.
26565 (grub_emu_SOURCES): Removed.
26566 (kernel_img_RELOCATABLE): New variable.
26567 (pkglib_PROGRAMS): Add kernel.img.
26568 (kernel_img_SOURCES): New variable
26569 (kernel_img_CFLAGS): Likewise.
26570 (kernel_img_LDFLAGS): Likewise.
26571 (TARGET_NO_STRIP): Likewise.
26572 (TARGET_NO_DYNAMIC_MODULES): Likewise.
26573 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
26574 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
26575 (grub-emu): New target.
26576 (GRUB_EMU): New variable.
26577 * configure.ac: Whitelist -emu as possible x86_64 architecture.
26578 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
26579 * loader/xnu.c: Likewise.
26580 * include/grub/pci.h: Likewise.
26581 * genemuinit.sh: New file.
26582 * genemuinitheader.sh: Likewise.
26583 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
26584 Support TARGET_NO_DYNAMIC_MODULES.
26585 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
26586 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
26587 * disk/loopback.c: Likewise.
26588 * font/font_cmd.c: Likewise.
26589 * partmap/acorn.c: Likewise.
26590 * partmap/amiga.c: Likewise.
26591 * partmap/apple.c: Likewise.
26592 * partmap/gpt.c: Likewise.
26593 * partmap/msdos.c: Likewise.
26594 * partmap/sun.c: Likewise.
26595 * parttool/msdospart.c: Likewise.
26596 * term/gfxterm.c: Likewise.
26597 * video/bitmap.c: Likewise.
26598 * video/readers/jpeg.c: Likewise.
26599 * video/readers/png.c: Likewise.
26600 * video/readers/tga.c: Likewise.
26601 * video/video.c: Likewise.
26602 * util/grub-emu.c (read_command_list): Removed.
26603 (main): Don't call util_init_nls.
26604 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
26605 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
26606
91fdd2ed
VS
266072010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26608
26609 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
26610 date.mod, datehook.mod.
26611 (datetime_mod_SOURCES): New variable.
26612 (datetime_mod_CFLAGS): Likewise.
26613 (datetime_mod_LDFLAGS): Likewise.
26614 (date_mod_SOURCES): Likewise.
26615 (date_mod_CFLAGS): Likewise.
26616 (date_mod_LDFLAGS): Likewise.
26617 (datehook_mod_SOURCES): Likewise.
26618 (datehook_mod_CFLAGS): Likewise.
26619 (datehook_mod_LDFLAGS): Likewise.
26620 * conf/sparc64-ieee1275.rmk: Likewise.
26621 * lib/ieee1275/datetime.c: New file.
26622
873ccae6
VS
266232010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26624
26625 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
26626 (ieee1275_fb_mod_SOURCES): New variable.
26627 (ieee1275_fb_mod_CFLAGS): Likewise.
26628 (ieee1275_fb_mod_LDFLAGS): Likewise.
26629 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
26630 New proto.
26631 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
26632 (HEAP_MAX_ADDR): Likewise.
26633 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
26634 type.
26635 Correct stop condition.
26636 (grub_ieee1275_devices_iterate): New function.
26637 * video/ieee1275.c: New file.
26638
601c97c0
VS
266392010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26640
26641 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
26642
26643 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
26644 as scratch.
26645 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
26646 SCRATCH_PAD_DISKBOOT as scratch.
26647 (bootit): Pass Openfirmware pointer in %o4.
26648 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
26649 of 0x200000.
26650 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
26651 with util/grub-mkrawimage.c.
26652 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
26653 * include/grub/aout.h (AOUT_MID_SUN): New definition.
26654 (grub_aout_get_type) [GRUB_UTIL]: Removed.
26655 (grub_aout_load) [GRUB_UTIL]: Likewise.
26656 * include/grub/kernel.h (grub_modules_get_end): New proto.
26657 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
26658 (SCRATCH_PAD_BOOT): New definition.
26659 (SCRATCH_PAD_DISKBOOT): Likewise.
26660 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
26661 * include/grub/sparc64/ieee1275/ieee1275.h
26662 (grub_ieee1275_original_stack): New variable
26663 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26664 New definition
26665 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
26666 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
26667 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
26668 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
26669 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
26670 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
26671 (grub_platform_image_format_t): New type.
26672 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
26673 * kern/main.c (grub_modules_get_end)
26674 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
26675 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
26676 (codestart): Switch stacks.
26677 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
26678 variable.
26679 (grub_heap_init): Use grub_modules_get_end.
26680 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
26681 stack.
26682 * util/grub-mkrawimage.c (generate_image): Support sparc64.
26683 (main): Likewise.
26684 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
26685
d68b491e
TG
266862010-03-14 Thorsten Glaser <tg@mirbsd.org>
26687
26688 * util/grub-mkrescue.in: Base ISO UUID on UTC.
26689
4e02ed50
MK
266902010-03-08 Matt Kraai <kraai@ftbfs.org>
26691
26692 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
26693 bug #559005).
26694
1f15fc1e
VS
266952010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
26696
26697 * genmoddep.awk: Output all missing symbols and not only first.
26698
fce5d8ff
VS
266992010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26700
26701 * NEWS: Put the date of 1.98 release.
26702
d1e8a02f
VS
267032010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26704
26705 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
26706 ft2build.h.
26707
696fd607
VS
267082010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26709
26710 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
26711 completition in the middle of string.
26712
33e2e6f3
VS
267132010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26714
26715 * util/grub-mkrescue.in: Use mktemp with explicit template.
26716
b1f6d291
VS
267172010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26718
26719 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
26720
2ac227c7
VS
267212010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26722
26723 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
26724 right pointer.
26725
8f9a632b
VS
267262010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26727
26728 Fix FreeBSD compilation.
26729
26730 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
26731 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
26732
60b03859
VS
267332010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26734
26735 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
26736
48a5a769
VS
267372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26738
26739 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
26740
3ab4bd77
VS
267412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26742
26743 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
26744
d116e0d8
RM
267452010-03-04 Robert Millan <rmh.grub@aybabtu.com>
26746
26747 Support relative image path in theme file.
26748
26749 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
26750 (image_set_property): Handle theme_dir and relative path.
26751
c7ef54aa
VS
267522010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26753
26754 * configure.ac: Alias amd64 to x86_64.
26755
fcee14ed
VS
267562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26757
26758 * NEWS: mention multiboot on EFI.
26759
d0780363
VS
267602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26761
26762 * kern/main.c (grub_load_modules): Handle errors from init functions of
26763 embeded modules.
26764
41168ea4
VS
267652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26766
26767 * normal/autofs.c (autoload_fs_module): Handle errors.
26768
b54d93ac
VS
267692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26770
26771 Disable linux.mod on qemu-mips since it's not functional and leads
26772 to compilation failure.
26773
26774 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
26775 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
26776 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
26777 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
26778 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
26779 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
26780 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
26781 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
26782 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
26783 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
26784 Reported by: BVK Chaitanya
26785
fc8345da
JU
267862010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
26787
26788 * INSTALL: Add gettext as a dependency and add qemu to a new section
26789 "Prerequisites for make-check".
26790
4760f979
CF
267912010-03-04 Christian Franke <franke@computer.org>
26792
26793 * util/grub-pe2elf.c: Add missing include "progname.h".
26794
f209b5b2
VS
267952010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26796
26797 * normal/crypto.c (read_crypto_list): Fix a typo.
26798 Reported by: Seth Goldberg.
26799
b4b7be98
VS
268002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26801
26802 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 26803 Reported by: Seth Goldberg.
b4b7be98 26804
c0ee0385
VS
268052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26806
26807 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
26808 ascii.bitmaps.
26809
a8efbf64
VS
268102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26811
26812 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 26813 Reported by: Seth Goldberg.
a8efbf64 26814
08dcd913
VS
268152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26816
26817 * util/i386/efi/grub-install.in: Copy gettext files.
26818
c4d0b332
VS
268192010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26820
26821 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
26822
c6f2fe52
VS
268232010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26824
26825 Wait for user entry basing on presence of output rather than on errors.
26826
26827 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
26828 (grub_install_newline_hook): Likewise.
26829 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
26830 * normal/menu.c (show_menu): Check line_counter to determine presence
26831 of output.
26832 * normal/term.c (grub_normal_line_counter): New variable.
26833 (grub_normal_get_line_counter): New function.
26834 (grub_install_newline_hook): Likewise.
26835
5382b1e4
VS
268362010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26837
26838 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
26839
5519963b
VS
268402010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26841
26842 * configure.ac: Update version to 1.98.
26843
72b28631
VS
268442010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
26845
26846 * util/grub.d/10_linux.in (linux_entry): Don't default to
26847 gfxpayload=keep if Linux doesn't support video handover.
26848
c140a180
VS
268492010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
26850
26851 Don't compile video modules on yeeloong since video subsystem is part
26852 of kernel.
26853
26854 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
26855 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
26856 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
26857 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
26858 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
26859 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
26860 * include/grub/bitmap_scale.h: Likewise.
26861 * include/grub/bufio.h: Likewise.
26862 * include/grub/font.h: Likewise.
26863 * include/grub/gfxterm.h: Likewise.
26864 * include/grub/video.h: Likewise.
26865 * include/grub/vbe.h: Don't include video_fb.h.
26866 * video/i386/pc/vbe.c: Include video_fb.h.
26867 * commands/i386/pc/vbetest.c: Include video.h.
26868
a0ca21c2
CW
268692010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
26870
26871 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
26872 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
26873 default entry if GRUB_SAVEDEFAULT=true. This allows using
26874 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
26875 saving a new default on every boot.
26876
4a8a763c
VS
268772010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26878
26879 * normal/crypto.c (read_crypto_list): Fix a memory leak.
26880 * normal/term.c (read_terminal_list): Likewise.
26881 * normal/main.c (grub_normal_init_page): Likewise.
26882 (grub_normal_read_line_real): Likewise.
26883
607ffde2
VS
268842010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26885
26886 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
26887 memory leak.
26888 Reported by: Seth Goldberg.
26889
2b8fa975
CW
268902010-02-24 Joey Korkames <joey+lists@kidfixit.com>
26891
26892 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
26893 duplicate declaration of `start'.
26894
618307dd
VS
268952010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26896
26897 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
26898 filename.
26899 Reported by: Georgy Buranov
26900
7dd05b96 269012010-02-20 Carles Pina i Estany <carles@pina.cat>
26902
26903 * util/grub-mkrawimage.c (usage): Change string formatting to
26904 improve gettext.
26905
d1484a42
MRA
269062010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
26907
26908 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
26909 backspace keys.
26910
42b1d186
VS
269112010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26912
26913 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
26914 Reported by: Michael Suchanek.
26915
269162010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
26917
26918 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
26919 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
26920
d9f31a41
VS
269212010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
26922
26923 Remove any reference to non-free fonts.
26924
26925 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
26926 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
26927 uses non-free components.
26928 * font/font.c (grub_font_get_name): Remove example name.
26929 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
26930 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
26931 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
26932 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
26933
2793c71e
GB
269342010-02-16 Georgy Buranov <gburanov@gmail.com>
26935
26936 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
26937
402e3779
VS
269382010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26939
26940 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
26941 Double divisor.
26942 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
26943 features.
26944 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
26945
0dd1e0dd
VS
269462010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26947
26948 * gensymlist.sh.in: Use TARGET_CC instead of CC.
26949
6fa7cfce
ST
269502010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26951
26952 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
26953 * docs/grub.texi (Command-line and menu entry commands): Document play
26954 command.
26955
37c8483b
ST
269562010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26957
26958 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
26959 parse arguments as inline tempo and notes. Move code for playing notes
26960 to...
26961 (play): ... new function.
26962
14da0fb7
ST
269632010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26964
26965 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
26966 grub_uint16_t instead of short.
26967 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
26968 disk from little endian to cpu endianness.
26969
04459e70
ST
269702010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
26971
26972 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
26973 GRUB_TICKS_PER_SECOND instead of 120.
26974
a0876943
VS
269752010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26976
26977 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
26978 escape sequence after \e.
26979
e29f95dc
VS
269802010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26981
26982 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
26983 non-ASCII characters.
26984
d27859b2
VS
269852010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26986
26987 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
26988 set root in single quotes to prevent \, from being unescaped.
26989
bc028f2f
VS
269902010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26991
26992 Prevent unknown commands from stopping menuentry execution.
26993
26994 * script/execute.c (grub_script_execute_cmdline): Print error after
26995 unknown command.
26996
095f5f82
VS
269972010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26998
26999 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
27000 Reported by: Pavel Pisa.
27001
8c717950
VS
270022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27003
27004 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
27005
904935c3
VS
270062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27007
27008 Merge grub_ieee1275_map_physical into grub_map and rename to
27009 grub_ieee1275_map
27010
27011 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
27012 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
27013 Remove.
27014 * kern/ieee1275/openfw.c (grub_map): Rename to ...
27015 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
27016 necessary.
27017 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
27018
5b59a4e3
VS
270192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27020
27021 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
27022 opening and not after.
27023
69e137e8
VS
270242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27025
27026 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
27027 constants.
27028
2c0fcc36
VS
270292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27030
27031 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
27032 (alloc_phys): Use ALIGN_UP instead of align_addr.
27033
8c6052ce
VS
270342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27035
27036 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
27037
17cec782
VS
270382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27039
27040 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
27041
e0128bbd
VS
270422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27043
27044 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
27045 verbose dprintf.
27046
ca62070b
VS
270472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27048
27049 Fix over-4GiB seek on sparc64.
27050
27051 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
27052 Replace pos_i and pos_lo with pos. All users updated.
27053 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
27054 New constant.
27055 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
27056 Likewise.
27057 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
27058 and pos_lo.
27059
bdca2607
VS
270602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27061
27062 * util/grub-mkrawimage.c (main): Call set_program_name.
27063
da278c4d
VS
270642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27065
27066 Properly align 64-bit targets.
27067
27068 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
27069 (generate_image): Use ALIGN_ADDR.
27070
b274d734
VS
270712010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27072
27073 Properly create cross-endian images.
27074
27075 * include/grub/types.h (grub_host_to_target_addr): New macro
27076 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
27077
82da2062
VS
270782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27079
27080 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
27081
7cae4377
VS
270822010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
27083
27084 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
27085
27086 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
27087 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
27088 (grub_linux_boot): Divide by 64K when on VESA.
27089
65a533e7
VS
270902010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
27091
27092 Support GRUB_GFXPAYLOAD_LINUX.
27093
27094 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
27095 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
27096
dd01d397
VS
270972010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
27098
27099 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
27100 to show messages instead of discarding them.
27101 Process errors after executing command and not before. Keep old method
27102 too as precaution.
27103
660960d6
VS
271042010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
27105
27106 * configure.ac: Check for ft2build.h.
27107
62509f04
VS
271082010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27109
27110 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
27111
473df63d
VS
271122010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27113
27114 * genkernsyms.sh.in: Use TARGET_CC.
27115
c98d2a13
CW
271162010-02-07 Colin Watson <cjwatson@ubuntu.com>
27117
27118 * NEWS: Update.
27119
6e14234c
VS
271202010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27121
27122 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
27123 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
27124 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 27125
b255e9cf
YB
271262010-02-07 Yves Blusseau <blusseau@zetam.org>
27127
6e14234c 27128 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 27129
98e6959d
VS
271302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27131
27132 Fix warnings in grub-emu when compiling with maximum warning options.
27133
27134 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
27135 (grub_arch_modules_addr): Return 0 and not NULL.
27136 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 27137 (xstrdup): Use newstr instead of dup.
f88d801b
VS
27138 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
27139 of disk to dsk to avoid shadowing.
74e4934e
VS
27140 (find_free_slot): Fix prototype.
27141 * util/getroot.c (grub_util_is_dmraid): Make static.
27142 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
27143 Add missing prototype.
27144 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 27145
74e31b5c
VS
271462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27147
27148 * loader/i386/linux.c (grub_linux_setup_video): Handle error
27149 appropriately.
27150
6b2ad14b
VS
271512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27152
27153 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
27154 code out.
27155
8f891adc
VS
271562010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27157
27158 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
27159 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
27160 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
27161 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
27162 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
27163 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
27164
74b45184
VS
271652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27166
27167 * include/grub/err.h (grub_err_printf): Don't export.
27168
a4bced77
VS
271692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27170
27171 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
27172
007d0695
VS
271732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27174
27175 * include/grub/i18n.h (grub_gettext_dummy): Removed.
27176 * kern/misc.c (grub_gettext_dummy): Make static.
27177
b6c0d9c2
VS
271782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27179
27180 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
27181 by non-valid ones.
27182 * kern/term.c (grub_putchar): Likewise.
27183
f51a90d0
VS
271842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27185
27186 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
27187 buggy hook call and memory leak.
27188
6846cec5
VS
271892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27190
27191 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
27192
468d69fe
VS
271932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27194
27195 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
27196
51906b8c
VS
271972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27198
27199 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
27200 modevar.
27201 Return grub_errno on allocation error.
27202
09706ce5
VS
272032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27204
27205 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
27206
911df80c
YB
272072010-02-06 Yves Blusseau <blusseau@zetam.org>
27208
27209 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
27210 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
27211
3746a6bc
VS
272122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27213
27214 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
27215 non-pxe disk.
27216 (grub_pxefs_open): Likewise.
27217
09706ce5
VS
272182010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27219
27220 * util/grub.d/10_hurd.in: Add --class information to menuentries.
27221 * util/grub.d/10_kfreebsd.in: Likewise.
27222 * util/grub.d/10_linux.in: Likewise.
27223
7cc192d9
VS
272242010-02-06 Colin D Bennett <colin@gibibit.com>
27225
27226 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
27227 (gfxmenu_mod_SOURCES): New variable.
27228 (gfxmenu_mod_CFLAGS): Likewise.
27229 (gfxmenu_mod_LDFLAGS): Likewise.
27230 * include/grub/term.h (grub_term_set_current_output): Declare
27231 argument as const.
27232 * docs/gfxmenu-theme-example.txt: New file.
27233 * gfxmenu/gfxmenu.c: Likewise.
27234 * gfxmenu/gui_box.c: Likewise.
27235 * gfxmenu/gui_canvas.c: Likewise.
27236 * gfxmenu/gui_circular_progress.c: Likewise.
27237 * gfxmenu/gui_image.c: Likewise.
27238 * gfxmenu/gui_label.c: Likewise.
27239 * gfxmenu/gui_list.c: Likewise.
27240 * gfxmenu/gui_progress_bar.c: Likewise.
27241 * gfxmenu/gui_string_util.c: Likewise.
27242 * gfxmenu/gui_util.c: Likewise.
27243 * gfxmenu/icon_manager.c: Likewise.
27244 * gfxmenu/model.c: Likewise.
27245 * gfxmenu/named_colors.c: Likewise.
27246 * gfxmenu/theme_loader.c: Likewise.
27247 * gfxmenu/view.c: Likewise.
27248 * gfxmenu/widget-box.c: Likewise.
27249 * include/grub/gfxmenu_model.h: Likewise.
27250 * include/grub/gfxmenu_view.h: Likewise.
27251 * include/grub/gfxwidgets.h: Likewise.
27252 * include/grub/gui.h: Likewise.
27253 * include/grub/gui_string_util.h: Likewise.
27254 * include/grub/icon_manager.h: Likewise.
27255
272562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27257
27258 Agglomerate scrolling in gfxterm.
27259
27260 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
27261 (grub_virtual_screen_setup): Initialise 'total_screen'.
27262 (write_char): Split to ...
27263 (paint_char): ... this ...
27264 (write_char): ... and this.
27265 (paint_char): Handle delayed scrolling.
27266 (draw_cursor): Likewise.
27267 (scroll_up): Split to ...
27268 (real_scroll): ... this ...
27269 (scroll_up): ... and this.
27270 (real_scroll): Handle multi-line scroll and draw below-the-bottom
27271 characters.
27272 (grub_gfxterm_refresh): Call real_scroll.
27273
272742010-02-06 Colin D Bennett <colin@gibibit.com>
27275
27276 * include/grub/misc.h (grub_iscntrl): New inline function.
27277 (grub_isalnum): Likewise.
27278 (grub_strtol): Likewise.
27279
272802010-02-06 Colin D Bennett <colin@gibibit.com>
27281
27282 * normal/menu_text.c (get_entry_number): Move from here ...
27283 * normal/menu.c (get_entry_number): ... moved here.
27284 * include/grub/menu.h (grub_menu_get_default_entry_index):
27285 New prototype.
27286 * normal/menu.c (grub_menu_get_default_entry_index): New function.
27287 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
27288 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
27289 (grub_menu_viewer_should_return): Likewise.
27290 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
27291 * normal/menu_text.c (run_menu): Enable menu switching.
27292 * normal/menu_viewer.c (should_return): New variable.
27293 (menu_viewer_changed): Likewise.
27294 (grub_menu_viewer_show_menu): Handle menu viewer changes.
27295 (grub_menu_viewer_should_return): New function.
27296 (menuviewer_write_hook): Likewise.
27297 (grub_menu_viewer_init): Likewise.
27298
272992010-02-06 Colin D Bennet <colin@gibibit.com>
273002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27301
27302 Support for gfxterm in a window.
27303
27304 * include/grub/gfxterm.h: New file.
27305 * include/grub/video.h (struct grub_video_rect): New declaration.
27306 (grub_video_rect_t): Likewise.
27307 * term/gfxterm.c (struct grub_gfxterm_window): New type.
27308 (refcount): New variable.
27309 (render_target): Likewise.
27310 (window): Likewise.
27311 (repaint_callback): Likewise.
27312 (grub_virtual_screen_setup): Use 'render_target'.
27313 (init_window): New function.
27314 (grub_gfxterm_init_window): Likewise.
27315 (grub_gfxterm_init): Check reference counter.
27316 Use init_window.
27317 (destroy_window): New function.
27318 (grub_gfxterm_destroy_window): Likewise.
27319 (grub_gfxterm_fini): Check reference counter.
27320 Use destroy_window.
27321 (redraw_screen_rect): Restore viewport.
27322 Use 'render_target' and 'window'.
27323 Call 'repaint_callback'.
27324 (write_char): Use 'render_target'.
27325 (draw_cursor): Likewise.
27326 (scroll_up): Restore viewport.
27327 Use 'render_target' and 'window'.
27328 Call 'repaint_callback'.
27329 (grub_gfxterm_cls): Likewise.
27330 (grub_gfxterm_refresh): Use 'window'.
27331 (grub_gfxterm_set_repaint_callback): New function.
27332 (grub_gfxterm_background_image_cmd): Use 'window'.
27333 (grub_gfxterm_get_term): New function.
27334 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
27335
273362010-02-06 Colin D Bennett <colin@gibibit.com>
27337
27338 Bitmap scaling support.
27339
27340 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
27341 (bitmap_scale_mod_SOURCES): New variable.
27342 (bitmap_scale_mod_CFLAGS): Likewise.
27343 (bitmap_scale_mod_LDFLAGS): Likewise.
27344 * include/grub/bitmap_scale.h: New file.
27345 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
27346 (background_image_cmd_options): New variable.
27347 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
27348 (cmd): Rename and change type to ...
27349 (background_image_cmd_handle): ... this. All users updated.
27350 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
27351 * video/bitmap_scale.c: New file.
27352
273532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27354
27355 SDL support.
27356
27357 * Makefile.in (LIBSDL): New variable.
27358 (enable_grub_emu_sdl): Likewise.
27359 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
27360 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
27361 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
27362 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
27363 * util/sdl.c: New file.
27364
273652010-02-06 Colin D Bennett <colin@gibibit.com>
273662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27367
27368 Double buffering support.
27369
27370 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
27371 * include/grub/video.h: Update comment.
27372 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
27373 New type.
27374 (grub_video_fb_doublebuf_blit_init): New prototype.
27375 * term/gfxterm.c (scroll_up): Support double buffering.
27376 (grub_gfxterm_refresh): Likewise.
27377 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
27378 (grub_video_fb_doublebuf_blit_init): Likewise.
27379 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
27380 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
27381 'displayed_page', 'render_page' and 'update_screen'.
27382 (grub_video_vbe_fini): Free offscreen buffer.
27383 (doublebuf_pageflipping_commit): New function.
27384 (doublebuf_pageflipping_update_screen): Likewise.
27385 (doublebuf_pageflipping_init): Likewise.
27386 (double_buffering_init): Likewise.
27387 (grub_video_vbe_setup): Enable doublebuffering.
27388 (grub_video_vbe_swap_buffers): Implement.
27389 (grub_video_vbe_set_active_render_target): Handle double buffering.
27390 (grub_video_vbe_get_active_render_target): Likewise.
27391 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
27392 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
27393 (grub_video_vbe_enable_double_buffering): Likewise.
27394 (grub_video_vbe_swap_buffers): Use update_screen.
27395 (grub_video_set_mode): Use double buffering.
27396
273972010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27398
27399 * maintainance/gentrigtables.py: Remove.
27400 * lib/trig.c: Likewise.
27401
27402 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
27403
27404 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
27405 `trigtables.c'.
27406 (trigtables.c): New rule.
27407 (gentrigtables): Likewise.
27408 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
27409
274102010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27411
27412 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
27413 integer constants.
27414
274152010-02-06 Colin D Bennet <colin@gibibit.com>
27416
27417 Trigonometry support.
27418
27419 * include/grub/trig.h: New file.
27420 * lib/trig.c: Likewise.
27421 * maintainance/gentrigtables.py: Likewise.
27422 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
27423 (trig_mod_SOURCES): New variable.
27424 (trig_mod_CFLAGS): Likewise.
27425 (trig_mod_LDFLAGS): Likewise.
27426
5562834e
VS
274272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27428
27429 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
27430 disk devices.
27431
4f8528fc
VS
274322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27433
27434 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
27435 error.
27436
2b4068e9
VS
274372010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
27438
27439 * util/hostdisk.c (open_device): Don't use partition device when reading
27440 before the partition.
27441 (grub_util_biosdisk_read): Don't read from partition and before the
27442 partition in single operation.
27443 (grub_util_biosdisk_write): Don't write to partition and before the
27444 partition in single operation.
27445
399f6e4d
TL
274462010-02-03 Torsten Landschoff <torsten@debian.org>
27447
27448 * kern/disk.c (grub_disk_read): Fix offset computation when reading
27449 last sectors.
27450
996649b0
VS
274512010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
27452
27453 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
27454 CDROM reads.
27455 (grub_biosdisk_write): Refuse to write to CDROM.
27456
3b205d4d
VS
274572010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
27458
27459 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
27460
61e89d9d
VS
274612010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
27462
27463 * font/font.c (find_glyph): Check that bmp_idx is available before
27464 using it.
27465 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
27466 with (font == NULL).
27467
bf7fcba2
CS
274682010-01-28 Christian Schmitt <chris@ilovelinux.de>
27469
27470 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
27471
f45d2663
BC
274722010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
27473
27474 * include/grub/script_sh.h (sourcecode): Add const qualifier.
27475 * util/grub-script-check.c (getline): Fix empty lines case.
27476
ec1444e6
RM
274772010-01-28 Robert Millan <rmh.grub@aybabtu.com>
27478
27479 * Makefile.in (check): Exit with fail status when one of the tests
27480 fails.
27481 * tests/example_functional_test.c (example_test): Fix reversed assert.
27482 * tests/example_unit_test.c (example_test): Likewise.
27483
2e1cb9bb
CW
274842010-01-28 Colin Watson <cjwatson@ubuntu.com>
27485
27486 * util/grub.d/10_linux.in: This script does not use any of the
27487 contents of gettext.sh, only the external command `gettext', so stop
27488 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
27489 the same prefix as GRUB.)
27490 * util/grub.d/10_kfreebsd.in: Likewise.
27491
63533ab0
VS
274922010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27493
27494 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
27495 of the line.
27496
989e1f93
VS
274972010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27498
27499 * kern/disk.c (grub_disk_read): Fix offset computation when reading
27500 last sectors.
27501
e709ebe2
VS
275022010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27503
27504 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
27505 having a 4KiB and not 32KiB buffer size.
27506
27dea7ed
RM
275072010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27508
27509 * util/hostfs.c: Include `<errno.h>'.
27510 (grub_hostfs_read): Handle errors from fseeko() and fread().
27511
67667b9c
RM
275122010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27513
27514 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
27515 loop when using read hooks on files whose size isn't sector-aligned.
27516
c294d9d8
RM
275172010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27518
27519 Remove unused parameter.
27520
27521 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
27522 (grub_iso9660_open): Remove initialization of `data->length'.
27523
af75a9f1
RM
275242010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27525
27526 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
27527 memleak conditions.
27528
254e2ce5 275292010-01-27 Carles Pina i Estany <carles@pina.cat>
27530
27531 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
27532 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
27533
b510928c 275342010-01-26 Carles Pina i Estany <carles@pina.cat>
27535
27536 * util/bin2h.c (usage): Fix warning (space after backslash).
27537
aa2f9dd2 275382010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 27539
27540 * font/font.c: Include `grub/fontformat.h.
27541 Remove font file format constants.
27542 (grub_font_load): Use the new macros.
27543 * include/grub/fontformat.h: New file.
27544 * util/grub-mkfont.c: Include `grub/fontformat.c'.
27545 (write_font_pf2): Use the new macros.
27546
94e7e712
RM
275472010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27548
27549 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
27550 does.
27551
3973a59a
RM
275522010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27553
27554 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
27555
27556 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
27557 (_start): Macroify `0x7F'.
27558
27559 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
27560 (make_install_device): Use "(pxe)" as fallback prefix when booting
27561 via PXE.
27562
42e0cba3
GS
275632010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
27564
27565 * configure.ac: Reset LIBS after check for libgcc symbols.
27566
847effd8
CW
275672010-01-25 Colin Watson <cjwatson@ubuntu.com>
27568
27569 * util/hostdisk.c (open_device): Add trailing newline to debug
27570 message.
27571
ea4a7e35
GS
275722010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
27573
27574 * configure.ac: Check for `limits.h'.
27575 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
27576
67951a53
RM
275772010-01-24 Robert Millan <rmh.grub@aybabtu.com>
27578
27579 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
27580 capitalize error strings.
27581
c273d4ce
ST
275822010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
27583
27584 * util/grub.d/10_hurd.in: Add a recovery mode.
27585
69be5b74
VS
275862010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
27587
27588 * configure.ac: Check for libgcc symbols with -nostdlib.
27589
fc9e5810
BC
275902010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
27591
27592 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
27593
4b358c0a
VS
275942010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27595
27596 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
27597 stack since heap may be unavailable at that point.
27598 (grub_ofconsole_gotoxy): Likewise.
27599
454fcd1c
VS
276002010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27601
27602 * configure.ac: Check for _restgpr_14_x.
27603 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
27604 and _savegpr_* prototypes.
27605
566863ca
RM
276062010-01-22 Robert Millan <rmh.grub@aybabtu.com>
27607
27608 Use generic grub_reboot() for i386-efi.
27609
27610 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
27611 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
27612 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
27613
bf86e59a
VS
276142010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27615
27616 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
27617 presence of "prefix" variable as it breaks when normal.mod is
27618 embedded.
27619
d645e0f8
VS
276202010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27621
27622 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
27623 stack since heap is unavailable at that point.
27624
f9ab2e25
VS
276252010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27626
27627 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
27628 (grub_freebsd_bootinfo): Rewritten.
27629 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
27630
01fc7054
VS
276312010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27632
27633 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
27634
caab4fd6
RM
276352010-01-21 Robert Millan <rmh.grub@aybabtu.com>
27636
27637 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
27638 domain now.
27639
67eb1427
FZ
276402010-01-20 Felix Zielcke <fzielcke@z-51.de>
27641
27642 * util/misc.c (make_system_path_relative_to_its_root): Change the work
27643 around for handling "/" to the correct fix. Fix a memory leak. Use
27644 xstrdup instead of strdup.
27645
a9ed4ff3
VS
276462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27647
27648 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
27649
276502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
27651
27652 Optimise glyph lookup by Basic Multilingual Plane lookup array.
27653
27654 * font/font.c (struct grub_font): New member 'bmp_idx'.
27655 (font_init): Initialise 'bmp_idx'.
27656 (load_font_index): Fill 'bmp_idx'.
27657 (find_glyph): Make inline. Use bmp_idx for BMP characters.
27658
48209f4f
VS
276592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27660
27661 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
27662 unnecessary calls.
27663
9f0a4bb7
VS
276642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27665
27666 Move context handling out of the kernel.
27667
27668 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
27669 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
27670 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
27671 * conf/i386-efi.rmk: Likewise.
27672 * conf/i386-ieee1275.rmk: Likewise.
27673 * conf/i386-pc.rmk: Likewise.
27674 * conf/powerpc-ieee1275.rmk: Likewise.
27675 * conf/sparc64-ieee1275.rmk: Likewise.
27676 * conf/x86_64-efi.rmk: Likewise.
27677 * include/grub/env.h: Include grub/menu.h.
27678 (grub_env_var_type): Removed.
27679 (grub_env_var): Replaced field 'type' with 'global'.
27680 (grub_env_find): New prototype.
27681 (grub_env_context_open): Remove EXPORT_FUNC.
27682 (grub_env_context_close): Likewise.
27683 (grub_env_export): Likewise.
27684 (grub_env_set_data_slot): Removed.
27685 (grub_env_get_data_slot): Likewise.
27686 (grub_env_unset_data_slot): Likewise.
27687 (grub_env_unset_menu): New prototype.
27688 (grub_env_set_menu): Likewise.
27689 (grub_env_get_menu): Likewise.
27690 * include/grub/env_private.h: New file.
27691 * include/grub/normal.h (grub_context_init): New prototype.
27692 (grub_context_fini): Likewise.
27693 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
27694 * normal/context.c (grub_cmd_export): ... to here.
27695 * kern/env.c: Include env_private.h.
27696 (HASHSZ): Moved to include/grub/env_private.h.
27697 (grub_env_context): Likewise.
27698 (grub_env_sorted_var): Likewise.
27699 (current_context): Renamed from this ...
27700 (grub_current_context): ...to this. 'static' removed. All users updated.
27701 (grub_env_find): Removed 'static'.
27702 (grub_env_context_open): Moved to normal/context.c.
27703 (grub_env_context_close): Likewise.
27704 (grub_env_export): Likewise.
27705 (mangle_data_slot_name): Removed.
27706 (grub_env_set_data_slot): Likewise.
27707 (grub_env_get_data_slot): Likewise.
27708 (grub_env_unset_data_slot): Likewise.
27709 * kern/main.c (grub_set_root_dev): Don't export root.
27710 It will be done later.
27711 (grub_main): Don't export prefix.
27712 It will be done later.
27713 * normal/context.c: New file.
27714 * normal/main.c (free_menu): Use grub_env_unset_menu.
27715 (grub_normal_add_menu_entry): Use grub_env_get_menu.
27716 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
27717 (GRUB_MOD_INIT(normal)): Call grub_context_init.
27718 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
27719
8dd35b8c
VS
277202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27721
27722 setpci support.
27723
27724 * commands/setpci.c: New file.
27725 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
27726 (setpci_mod_SOURCES): New variable.
27727 (setpci_mod_CFLAGS): Likewise.
27728 (setpci_mod_LDFLAGS): Likewise.
27729
449193d5
VS
277302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27731
27732 Byte-addressable PCI configuration space.
27733
27734 * bus/pci.c (grub_pci_make_address): Use byte address instead of
27735 dword address.
27736 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
27737 GRUB_PCI_REG_CACHELINE.
27738 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
27739 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
27740 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
27741 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
27742 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
27743 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
27744 grub_pci_make_address.
27745 (lock_rom_area): Likewise.
27746 * commands/lspci.c (grub_lspci_iter): Use macroses
27747 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
27748 of grub_pci_make_address.
27749 * disk/ata.c (grub_ata_pciinit): Likewise.
27750 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
27751 (GRUB_PCI_REG_VENDOR): Likewise.
27752 (GRUB_PCI_REG_DEVICE): Likewise.
27753 (GRUB_PCI_REG_COMMAND): Likewise.
27754 (GRUB_PCI_REG_STATUS): Likewise.
27755 (GRUB_PCI_REG_REVISION): Likewise.
27756 (GRUB_PCI_REG_CLASS): Likewise.
27757 (GRUB_PCI_REG_CACHELINE): Likewise.
27758 (GRUB_PCI_REG_LAT_TIMER): Likewise.
27759 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
27760 (GRUB_PCI_REG_BIST): Likewise.
27761 (GRUB_PCI_REG_ADDRESSES): Likewise.
27762 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27763 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27764 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27765 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27766 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27767 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27768 (GRUB_PCI_REG_CIS_POINTER): Likewise.
27769 (GRUB_PCI_REG_SUBVENDOR): Likewise.
27770 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
27771 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
27772 (GRUB_PCI_REG_CAP_POINTER): Likewise.
27773 (GRUB_PCI_REG_IRQ_LINE): Likewise.
27774 (GRUB_PCI_REG_IRQ_PIN): Likewise.
27775 (GRUB_PCI_REG_MIN_GNT): Likewise.
27776 (GRUB_PCI_REG_MAX_LAT): Likewise.
27777 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
27778 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
27779 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 27780 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
27781 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
27782 space.
27783
96d73208
RM
277842010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27785
27786 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
27787 can be reliably determined to be supported.
27788
d4484482
RM
277892010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27790
27791 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
27792 that VESA is supported.
27793 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
27794 supported.
27795
00308ecf
VS
277962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27797
27798 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
27799
f66924a4
RM
278002010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27801
27802 * util/misc.c (make_system_path_relative_to_its_root): Work around
27803 special-casing of "/", as previous incarnation of this routine did.
27804
cbca0ada
VS
278052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27806
27807 Fix any-emu compilation.
27808
27809 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
27810 * grub_bin2h_SOURCES: New variable.
27811
34a66d99
RM
278122010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27813
27814 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
27815
94fabf58
RM
278162010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27817
27818 * util/grub.d/00_header.in: Fix handling of locale_dir.
27819
02cf98ca
VS
278202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27821
27822 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
27823 as possible unifont location (Gentoo).
27824 Reported by: Alexander Brüning
27825
327dbcd7
VS
278262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27827
27828 Don't try to generate lists for kernel.img.
27829
27830 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
27831 (pkglib_MODULES): Remove kernel.img.
27832 (kernel_img_EXPORTS): Removed.
27833 (kernel_img_RELOCATABLE): New variable.
27834 * conf/x86_64-efi.rmk: Likewise.
27835 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
27836
ca467290
VS
278372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27838
27839 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
27840 grub_xasprintf or grub_snprintf.
27841 (grub_vsprintf): Likewise.
27842 (grub_snprintf): New proto.
27843 (grub_vsnprintf): Likewise.
27844 (grub_xasprintf): Likewise.
27845 (grub_xvasprintf): Likewise.
27846 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
27847 (grub_sprintf): Removed.
27848 (grub_vsnprintf): New function.
27849 (grub_snprintf): Likewise.
27850 (grub_xvasprintf): Likewise.
27851 (grub_xasprintf): Likewise.
27852 (grub_vsprintf): Renamed to ...
27853 (grub_vsnprintf_real): ...this. New argument max_len.
27854
aca655fd
BC
278552010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
27856
27857 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
27858 fix grub-script-check warning.
27859
7ee92c32
VS
278602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27861
27862 * include/grub/font.h (grub_font_load): Fix prototype.
27863
f80927ca
VS
278642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27865
27866 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
27867
119c50ea
VS
278682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27869
27870 * include/grub/x86_64/at_keyboard.h: New file.
27871
47d5f3c1
VS
278722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27873
27874 * loader/mips/linux.c: Include missing grub/i18n.h.
27875
55ff5266
RM
278762009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27877
27878 * normal/menu.c (notify_execution_failure): Clarify error message.
27879
c893cc87
RM
278802009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27881
27882 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
27883 return value (and revert all return statements). Update users.
27884
917dd370
CW
278852010-01-20 Dan Merillat <debian@dan.merillat.org>
27886
27887 * kern/device.c (grub_device_iterate): Allocate new part_ent
27888 structure based on sizeof (*p) rather than sizeof (p->next), to
27889 account for structure padding.
27890
27891 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
27892 disk is NULL, which might happen for LVM physical volumes with no
27893 LVM signature.
27894
d4a4ee57
RM
278952009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27896
27897 * loader/mips/linux.c (grub_cmd_initrd)
27898 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
27899
279002009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27901
27902 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
27903 (grub_video_video_init, grub_video_bitmap_init)
27904 (grub_font_manager_init, grub_term_gfxterm_init)
27905 (grub_at_keyboard_init): New extern declarations.
27906 (grub_machine_init): Initialize gfxterm and at_keyboard.
27907
27908 * kern/main.c (grub_main): Revert grub_printf delay kludge.
27909
27910 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
27911 `gfxterm.mod' into core image.
27912
27913 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27914 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27915 (kernel_img_FORMAT): Copy to ...
27916
27917 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27918 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27919 (kernel_img_FORMAT): ... here, and ...
27920
27921 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27922 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27923 (kernel_img_FORMAT): ... here.
27924
27925 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
27926 and input (at_keyboard) terminals in kernel.
27927 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
27928
27929 (pkglib_MODULES): Remove `pci.mod'.
27930 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
27931 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
27932 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27933 (at_keyboard_mod_LDFLAGS): Remove variables.
27934
279352010-01-11 Felix Zielcke <fzielcke@z-51.de>
27936
27937 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
27938
279392009-12-10 Robert Millan <rmh.grub@aybabtu.com>
27940
27941 * include/grub/mips/libgcc.h: Only export symbols for functions
27942 that libgcc provides.
27943
279442009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
27945
27946 MIPS support.
27947
27948 * bus/bonito.c: New file.
27949 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
27950 GRUB_PCI_NUM_DEVICES.
27951 * term/i386/pc/serial.c: Move to ...
27952 * term/serial.c: ... here. All users updated.
27953 * util/i386/pc/grub-mkimage.c: Move to ...
27954 * util/grub-mkrawimage.c: ... here. All users updated.
27955 * term/i386/pc/at_keyboard.c: Move to ...
27956 * term/at_keyboard.c: ... here. All users updated.
27957 * conf/mips-qemu-mips.rmk: New file.
27958 * conf/mips-yeeloong.rmk: Likewise.
27959 * conf/mips.rmk: Likewise.
27960 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
27961 mipsel-qemu-mips.
27962 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
27963 to port addresses.
27964 (grub_ata_pciinit): Support CS5536.
27965 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
27966 * font/font_cmd.c (loadfont_command): Open file before passing it to
27967 grub_font_load.
27968 (pseudo_file_read): New function.
27969 (pseudo_file_close): Likewise.
27970 (pseudo_fs): New structure.
27971 (load_font_module): New function.
27972 (GRUB_MOD_INIT(font_manager)): Load embedded font.
27973 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
27974 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
27975 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
27976 * include/grub/i386/at_keyboard.h: Split into ...
27977 * include/grub/at_keyboard.h: ... this ...
27978 * include/grub/i386/at_keyboard.h: ... and this.
27979 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
27980 New prototype.
27981 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
27982 updated.
27983 (grub_elf64_size): Likewise.
27984 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
27985 filename.
27986 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
27987 * include/grub/i386/coreboot/serial.h: Rewritten.
27988 * include/grub/i386/ieee1275/serial.h: Include
27989 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
27990 * include/grub/i386/pc/serial.h: Moved from here ...
27991 * include/grub/serial.h: ... to here. All users updated.
27992 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
27993 (GRUB_PCI_NUM_BUS): Likewise.
27994 (GRUB_PCI_NUM_DEVICES): Likewise.
27995 (grub_pci_device_map_range): Add missing volatile keyword.
27996 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
27997 * include/grub/mips/at_keyboard.h: New file.
27998 * include/grub/mips/cache.h: Likewise.
27999 * include/grub/mips/io.h: Likewise.
28000 * include/grub/mips/kernel.h: Likewise.
28001 * include/grub/mips/libgcc.h: Likewise.
28002 * include/grub/mips/pci.h: Likewise.
28003 * include/grub/mips/qemu-mips/boot.h: Likewise.
28004 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28005 * include/grub/mips/qemu-mips/loader.h: Likewise.
28006 * include/grub/mips/qemu-mips/memory.h: Likewise.
28007 * include/grub/mips/qemu-mips/serial.h: Likewise.
28008 * include/grub/mips/qemu-mips/time.h: Likewise.
28009 * include/grub/mips/relocator.h: Likewise.
28010 * include/grub/mips/time.h: Likewise.
28011 * include/grub/mips/types.h: Likewise.
28012 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
28013 * include/grub/mips/yeeloong/boot.h: Likewise.
28014 * include/grub/mips/yeeloong/kernel.h: Likewise.
28015 * include/grub/mips/yeeloong/loader.h: Likewise.
28016 * include/grub/mips/yeeloong/memory.h: Likewise.
28017 * include/grub/mips/yeeloong/pci.h: Likewise.
28018 * include/grub/mips/yeeloong/serial.h: Likewise.
28019 * include/grub/mips/yeeloong/time.h: Likewise.
28020 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
28021 * kern/elf.c (grub_elf32_size): New parameter. All users
28022 updated.
28023 (grub_elf64_size): Likewise.
28024 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
28025 Load modules before saying "Welcome to GRUB!".
28026 Call grub_refresh after saying "Welcome to GRUB!".
28027 * kern/mips/cache.S: New file.
28028 * kern/mips/cache_flush.S: Likewise.
28029 * kern/mips/dl.c: Likewise.
28030 * kern/mips/init.c: Likewise.
28031 * kern/mips/qemu-mips/init.c: Likewise.
28032 * kern/mips/startup.S: Likewise.
28033 * kern/mips/yeeloong/init.c: Likewise.
28034 * kern/term.c (grub_putcode): Handle NULL terminal.
28035 (grub_getcharwidth): Likewise.
28036 (grub_getkey): Likewise.
28037 (grub_checkkey): Likewise.
28038 (grub_getkeystatus): Likewise.
28039 (grub_getxy): Likewise.
28040 (grub_getwh): Likewise.
28041 (grub_gotoxy): Likewise.
28042 (grub_cls): Likewise.
28043 (grub_setcolorstate): Likewise.
28044 (grub_setcolor): Likewise.
28045 (grub_getcolor): Likewise.
28046 (grub_refresh): Likewise.
28047 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
28048 (write_jump): Add hatch nop.
28049 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
28050 * lib/mips/setjmp.S: New file.
28051 * loader/mips/linux.c: Likewise.
28052 * term/i386/pc/at_keyboard.c: Move from here ...
28053 * term/at_keyboard.c: ... to here.
28054 * term/i386/pc/serial.c: Moved from here ...
28055 * term/serial.c: ... to here. All users updated.
28056 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
28057 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
28058 (serial_translate_key_sequence): Avoid deadlock.
28059 (grub_serial_getkey): Handle backspace.
28060 (grub_serial_putchar): Fix newline handling.
28061 * util/i386/pc/grub-mkimage.c: Move from here ...
28062 * util/grub-mkrawimage.c: ... to here. All users updated.
28063 (generate_image): New parameters 'font_path' and 'format'.
28064 Support embedding font.
28065 Use grub_host_to_target* instead of grub_cpu_to_le*.
28066 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
28067 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
28068 (options): New option "--font".
28069 (usage): Likewise.
28070 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
28071 (main): Handle "--font".
28072 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
28073 (grub_virtual_screen_setup): Set bg_color_display.
28074 (redraw_screen_rect): Use bg_color_display instead of incorrect
28075 bg_color.
28076 (grub_gfxterm_cls): Likewise.
28077 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
28078 Support embedding config file.
28079 (add_segments): Likewise.
28080 (options): New option "--config".
28081 (main): Handle "--config".
28082 * video/sm712.c: New file.
28083
25c2b5b3
RM
280842010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28085
28086 Fix parallel builds.
28087
28088 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
28089 font.c depend on ascii.h).
28090
280912010-01-12 Carles Pina i Estany <carles@pina.cat>
28092
28093 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
28094
280952010-01-11 Carles Pina i Estany <carles@pina.cat>
28096
28097 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
28098 By default: disabled.
28099 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
28100 parameter.
28101
281022010-01-10 Carles Pina i Estany <carles@pina.cat>
28103
28104 * font/font.c: Update copyright years.
28105 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
28106
281072010-01-10 Carles Pina i Estany <carles@pina.cat>
28108
28109 * font/font.c: Include `ascii.h'.
28110 (ASCII_BITMAP_SIZE): New macro.
28111 (ascii_font_glyph): Define.
28112 (ascii_glyph_lookup): New function.
28113 (grub_font_get_string_width): Change comment. If glyph not found, use
28114 ascii_glyph_lookup.
28115 (grub_font_get_glyph_with_fallback): If glyph not available returns
28116 ascii_glyph_lookup.
28117 * util/grub-mkfont.c (file_formats): New enum.
28118 (options): Add `ascii-bitmaps' new option.
28119 (usage): Add `asii-bitmaps' new option.
28120 (write_font_ascii_bitmap): New function.
28121 (write_font): Rename to ...
28122 (write_font_p2): ... this. Remove print_glyphs call.
28123 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
28124 used. Call print_glyphs.
28125 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
28126
281272010-01-14 Robert Millan <rmh.grub@aybabtu.com>
28128
28129 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
28130 (grub_bin2h_SOURCES): New variable.
28131 * util/bin2h.c: New file.
28132
915fc1b8
VS
281332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28134
28135 * include/multiboot.h: Resynced with spec.
28136 * include/multiboot2.h: Likewise.
28137 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
28138 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
28139
9444b678
RM
281402010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28141
28142 * include/grub/term.h (grub_term_register_input,
28143 grub_term_register_output): Check return of terminal init()
28144 routines, and abort if errors are raised.
28145
28146 * commands/terminal.c: Update copyright year.
28147
cba98e8d
RM
281482010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28149
28150 * commands/terminal.c (grub_cmd_terminal_input)
28151 (grub_cmd_terminal_output): Check return of terminal init()
28152 routines, and abort if errors are raised.
28153
6f7db5d6
VS
281542010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
28155
28156 * include/grub/i386/bsd.h: Fix include pathes.
28157
262bff8d
VS
281582010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
28159
28160 Add missing *BSD copyright headers.
28161
28162 * include/grub/aout.h: Add BSD licence.
28163 * include/grub/i386/bsd.h: Parts under different licences moved to ...
28164 * include/grub/i386/freebsd_linker.h: ... here,
28165 * include/grub/i386/freebsd_reboot.h: ... here,
28166 * include/grub/i386/netbsd_bootinfo.h: ... here,
28167 * include/grub/i386/netbsd_reboot.h: ... here,
28168 * include/grub/i386/openbsd_bootarg.h: ... here,
28169 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
28170 licence to each file.
28171
b2cab848
RM
281722010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28173
28174 * acinclude.m4: Remove `nop' assembly instruction; it's not
28175 implemented by all architectures.
28176
2cb6be4b
RM
281772010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28178
28179 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
28180 ELILO. This is no longer necessary.
28181
a2eaee15
BC
281822010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
28183
28184 Added new tool, grub-scrit-check to verify grub.cfg syntax.
28185
28186 * util/grub-script-check.c: grub-script-check tool.
28187 * conf/common.rmk: Make rules for grub-script-check.
28188
88d17012
RM
281892010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28190
28191 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
28192 spotting it back in 2008. Shame on me for forgetting he did.
28193
28194 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
28195
8040619d
RM
281962010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28197
28198 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
28199 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
28200 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
28201 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
28202 (GRUB_VIDEO_TYPE_EFI): Rename to ...
28203 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
28204
a0c2a0f6
RM
282052010-01-17 Robert Millan <rmh.grub@aybabtu.com>
28206
28207 * include/grub/test.h: Add license header.
28208 * tests/example_functional_test.c: Likewise.
28209 * tests/example_unit_test.c: Likewise.
28210 * tests/lib/functional_test.c: Likewise.
28211 * tests/lib/test.c: Likewise.
28212 * tests/lib/unit_test.c: Likewise.
28213
b0b13907
VS
282142010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
28215
28216 Use flag-based instead of hook-based video mode selection and "auto"
28217 keyword.
28218
28219 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
28220 (grub_video_set_mode): Changed prototype. All users updated.
28221 (grub_video_check_mode_flag): New inline function.
28222 * video/video.c (parse_modespec): New function.
28223 (grub_video_set_mode): Parse flags and keywords.
28224
ea379330 282252010-01-17 Carles Pina i Estany <carles@pina.cat>
28226
28227 * util/misc.c (grub_util_info): Fix the order of the parameters in a
28228 fprintf call.
28229
e15c215e
FZ
282302010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
28231
28232 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
28233
409ae1c9 282342010-01-16 Carles Pina i Estany <carles@pina.cat>
28235
28236 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
28237 string.
28238 * util/grub-emu.c (usage): Likewise.
28239 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
28240 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28241 * util/i386/pc/grub-mkimage.c (usage): Likewise.
28242 * util/i386/pc/grub-setup.c (usage): Likewise.
28243
70a14d3d 282442010-01-16 Carles Pina i Estany <carles@pina.cat>
28245
28246 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
28247 the message.
28248 (grub_util_info): Likewise.
28249 (grub_util_error): Likewise.
28250 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
28251 and/or new lines in `grub_util_warna', `grub_util_info',
28252 `grub_util_error' calls.
28253 * util/getroot.c: Likewise.
28254 * util/grub-editenv.c: Likewise.
28255 * util/grub-emu.c: Likewise.
28256 * util/grub-fstest.c: Likewise.
28257 * util/grub-mkdevicemap.c: Likewise.
28258 * util/grub-mkfont.c: Likewise.
28259 * util/grub-mkpasswd-pbkdf2.c: Likewise.
28260 * util/grub-mkrelpath.c: Likewise.
28261 * util/grub-pe2elf.c: Likewise.
28262 * util/grub-probe.c: Likewise.
28263 * util/hostdisk.c: Likewise.
28264 * util/i386/efi/grub-mkimage.c: Likewise.
28265 * util/i386/pc/grub-mkimage.c: Likewise.
28266 * util/i386/pc/grub-setup.c: Likewise.
28267 * util/ieee1275/ofpath.c: Likewise.
28268 * util/mkisofs/eltorito.c: Likewise.
28269 * util/mkisofs/rock.c: Likewise.
28270 * util/mkisofs/write.c: Likewise.
28271 * util/raid.c: Likewise.
28272 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28273 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28274
a0b766fc
VS
282752010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28276
28277 Enable multiboot on non-pc.
28278
28279 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
28280 multiboot.mod and multiboot2.mod to ...
28281 * conf/i386.rmk (pkglib_MODULES): ... here.
28282 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
28283 Moved to ...
28284 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
28285 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
28286 Moved to ...
28287 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
28288 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
28289 Moved to ...
28290 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
28291 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
28292 Moved to ...
28293 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
28294 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
28295 relocator.mod.
28296 (ata_mod_SOURCES): Removed.
28297 (ata_mod_CFLAGS): Likewise.
28298 (ata_mod_LDFLAGS): Likewise.
28299 (relocator_mod_SOURCES): Removed.
28300 (relocator_mod_CFLAGS): Likewise.
28301 (relocator_mod_ASFLAGS): Likewise.
28302 (relocator_mod_LDFLAGS): Likewise.
28303 Include i386.mk.
28304 * include/grub/x86_64/multiboot.h: New file.
28305 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
28306 Terminate EFI.
28307
884ade56
VS
283082010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28309
28310 Video multiboot support.
28311
28312 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
28313 New prototype.
28314 * include/multiboot.h: Resynced with multiboot specification.
28315 * include/multiboot2.h: Likewise.
28316 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
28317 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
28318 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
28319 (HAS_VGA_TEXT): Likewise.
28320 (accepts_video): New variable.
28321 (grub_multiboot_set_accepts_video): New function.
28322 (grub_multiboot_get_mbi_size): Account for video structures.
28323 (set_video_mode): New function.
28324 (retrieve_video_parameters): Likewise.
28325 (grub_multiboot_make_mbi): Fill video fields.
28326
0d90e8a6
VS
283272010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28328
28329 Video driver ids.
28330
28331 * include/grub/video.h (grub_video_driver_id): New type.
28332 (grub_video_adapter): New member 'id'. All users updated.
28333 (grub_video_get_driver_id): New proto.
28334 * video/video.c (grub_video_get_driver_id): New function.
28335
5c71db1b 283362010-01-14 Carles Pina i Estany <carles@pina.cat>
28337
28338 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
28339 `var=val'.
28340
cca15b52 283412010-01-14 Carles Pina i Estany <carles@pina.cat>
28342
28343 * normal/cmdline.c (print_completion): Gettextizze.
28344
c586fbb2 283452001-01-14 Carles Pina i Estany <carles@pina.cat>
28346
28347 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
28348
ba2f6848 283492010-01-14 Carles Pina i Estany <carles@pina.cat>
28350
28351 * gettext/gettext.c (grub_gettext_translate): Push and pop
28352 grub_errno.
28353 (grub_gettext_delete_list): Change comment style.
28354 * kern/err.c (grub_error): Gettextizze.
28355 (grub_fatal): Gettextizze.
28356
0a46429a
RM
283572010-01-14 Robert Millan <rmh.grub@aybabtu.com>
28358
28359 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
28360 (grub_linux16_real_boot): ... this.
28361 * kern/i386/loader.S: Likewise.
28362 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
28363 (grub_linux16_boot): New function. Switches to text mode and calls
28364 grub_linux16_real_boot().
28365
28366 * loader/i386/bsd.c: Include `<grub/video.h>'.
28367 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
28368 text mode before calling grub_unix_real_boot().
28369
28370 * loader/i386/multiboot.c: Include `<grub/video.h>'.
28371 (grub_multiboot_boot): Switch to text mode before calling
28372 grub_relocator32_boot().
28373
28374 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
28375 (grub_chainloader_boot): Switch to text mode before calling
28376 grub_chainloader_real_boot().
28377
d6f93a66
RM
283782010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
283792010-01-05 Colin Watson <cjwatson@ubuntu.com>
28380
28381 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
28382 non-empty value.
28383
283842010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
283852010-01-05 Colin Watson <cjwatson@ubuntu.com>
28386
28387 * util/grub.d/00_header.in: Define a "savedefault" function for use
28388 in menu entries.
28389 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
28390
283912010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
283922010-01-05 Colin Watson <cjwatson@ubuntu.com>
28393
28394 * util/grub-mkconfig_lib.in (save_default_entry): Only set
28395 saved_entry if boot_once is unset.
28396 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
28397 previous saved entry (i.e. grub-reboot).
28398
283992009-12-08 Colin Watson <cjwatson@ubuntu.com>
28400
28401 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
28402
284032009-12-08 Colin Watson <cjwatson@ubuntu.com>
28404
28405 * util/grub.d/00_header.in: Use `set var=val' rather than plain
28406 `var=val'.
28407 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
28408
284092009-12-08 Colin Watson <cjwatson@ubuntu.com>
28410
28411 * util/grub-reboot.in: Fix --version output.
28412 * util/grub-set-default.in: Likewise.
28413
284142009-12-08 Colin Watson <cjwatson@ubuntu.com>
28415
28416 * util/grub.d/00_header.in: Silently ignore zero-sized environment
28417 blocks.
28418
284192009-12-08 Colin Watson <cjwatson@ubuntu.com>
28420
28421 * util/grub.d/00_header.in: Quote the value assigned to `default',
28422 in case it contains spaces.
28423
284242009-12-08 Colin Watson <cjwatson@ubuntu.com>
28425
28426 * util/grub.d/30_os-prober.in: Fix merge error that moved a
28427 `save_default_entry' call from the macosx case to the linux case.
28428
284292009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
284302009-10-25 Colin Watson <cjwatson@ubuntu.com>
28431
28432 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
28433 in `chosen' environment variable.
28434 * normal/menu_text.c (get_entry_number): Check if the variable
28435 matches the title of a menu entry.
28436 (run_menu): Pass menu to get_entry_number.
28437
28438 * util/grub-reboot.in: New file.
28439 * util/grub-set-default.in: New file.
28440 * conf/common.rmk (grub-reboot): New utility.
28441 (grub-set-default): New utility.
28442
28443 * util/grub-mkconfig_lib.in (save_default_entry): New function.
28444 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
28445 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
28446 move it to `saved_entry' for the next boot. Load environment on
28447 initialisation.
28448 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
28449 * util/grub.d/10_hurd.in: Likewise.
28450 * util/grub.d/10_linux.in (linux_entry): Likewise.
28451 * util/grub.d/10_windows.in: Likewise.
28452 * util/grub.d/30_os-prober.in: Likewise.
28453
28454 * util/grub-install.in: Create environment block.
28455 * util/i386/efi/grub-install.in: Likewise.
28456 * util/ieee1275/grub-install.in: Likewise.
28457 * util/sparc64/ieee1275/grub-install.in: Likewise.
28458
0934d184
BC
284592010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
28460
28461 Unit testing framework for GRUB.
28462
28463 * Makefile.in: Test framework build rules for 'make check'.
28464 * conf/tests.rmk: Build rules for individual tests and framework.
28465
28466 * include/grub/test.h: Header file for whitebox tests.
28467 * tests/lib/functional_test.c: Framework support for whitebox
28468 functional tests.
28469 * tests/lib/test.c: Common whitebox testing code for unit and
28470 functional tests.
28471 * tests/lib/unit_test.c: Framework support for whitebox unit
28472 tests.
28473
28474 * tests/util/grub-shell-tester.in: Support utility for grub-script
28475 tests.
28476 * tests/util/grub-shell.in: Utility to execute grub-script
28477 commands in a Qemu instance.
28478
28479 * tests/example_functional_test.c: Example whitebox functional
28480 test.
28481 * tests/example_grub_script_test.in: Example grub-script test.
28482 * tests/example_scripted_test.in: Example scripted test.
28483 * tests/example_unit_test.c: Example whitebox unit test.
28484
9c4ffeeb
VS
284852010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
28486
28487 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
28488 Add loader/i386/multiboot_mbi.c.
28489 (multiboot2_mod_SOURCES): Likewise.
28490 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
28491 (multiboot2_mod_SOURCES): Likewise.
28492 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
28493 (grub_multiboot_make_mbi): Likewise.
28494 (grub_multiboot_free_mbi): Likewise.
28495 (grub_multiboot_init_mbi): Likewise.
28496 (grub_multiboot_add_module): Likewise.
28497 (grub_multiboot_set_bootdev): Likewise.
28498 * loader/i386/multiboot.c (mbi): Removed.
28499 (mbi_dest): Likewise.
28500 (alloc_mbi): New variable.
28501 (grub_multiboot_payload_size): Removed. All users updated.
28502 (grub_multiboot_pure_size): New variable.
28503 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
28504 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
28505 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
28506 (grub_fill_multiboot_mmap): Likewise.
28507 (grub_multiboot_get_bootdev): Likewise.
28508 (grub_multiboot): Use multiboot_mbi functions.
28509 * loader/i386/multiboot_mbi.c: New file.
28510
17383dfe
VS
285112010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
28512
28513 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
28514 it would result in module crash.
28515
c1f28820
VS
285162010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
28517
28518 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
28519 (grub_ofconsole_getwh): Split to ...
28520 (grub_ofconsole_getwh): ... this.
28521 (grub_ofconsole_dimensions): ...and this.
28522 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
28523
58655a16
RM
285242010-01-13 Robert Millan <rmh.grub@aybabtu.com>
28525
28526 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
28527
10891398
VS
285282010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
28529
28530 * loader/i386/pc/multiboot2.c: Removed stalled file.
28531
0b8a223c
VS
285322010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
28533
28534 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
28535 Reported by: Grégoire Sutre
28536
92ab12b0
RM
285372010-01-11 Robert Millan <rmh.grub@aybabtu.com>
28538
28539 * util/misc.c (canonicalize_file_name): New function.
28540 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
28541 instead of realpath().
28542
a788afb6
CW
285432010-01-11 Colin Watson <cjwatson@ubuntu.com>
28544
28545 * util/grub-install.in (usage): Clarify meaning of --root-directory,
28546 and make it clearer that it's optional. Based on confusion
28547 witnessed on IRC.
28548
ffa8e3d2
VS
285492010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28550
28551 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
28552 in premature implicit newline.
28553
e9060a9d
VS
285542010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28555
28556 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
28557 which resulted in garbled command line at the end of screen.
28558
f0d0c0b7
RM
285592010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28560
28561 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
28562 initialization with similar approach as with other Linux loaders.
28563
0e60bae7
RM
285642010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28565
28566 Fix i386-ieee1275 build.
28567
28568 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
28569 and grub_term_height() for video_{width,height} initialization.
28570
285712010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
28572
28573 Fix grub-emu build.
28574
28575 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
28576
cdb3f378
RM
285772010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
285782010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28579
28580 Support for multiple terminals.
28581
28582 * Makefile.in (pkglib_DATA): terminal.lst.
28583 (terminal.lst): New target.
28584 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
28585 (GRUB_MOD_INIT(handler)): Likewise.
28586 (GRUB_MOD_FINI(handler)): Likewise.
28587 * commands/help.c (grub_cmd_help): Handle multiple terminals.
28588 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
28589 * commands/sleep.c (do_print): Use grub_term_restore_pos.
28590 (grub_cmd_sleep): Use grub_term_save_pos.
28591 * commands/terminal.c: New file.
28592 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
28593 commands/terminal.c and lib/charset.c.
28594 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
28595 (pkglib_MODULES): Add terminal.mod.
28596 (terminal_mod_SOURCES): New variable.
28597 (terminal_mod_CFLAGS): Likewise.
28598 (terminal_mod_LDFLAGS): Likewise.
28599 * genhandlerlist.sh: Don't handle terminals.
28600 * genmk.rb: Generate terminal-*.lst.
28601 * genterminallist.sh: New file.
28602 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
28603 (grub_is_valid_utf8): Likewise.
28604 (grub_utf8_to_ucs4_alloc): Likewise.
28605 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
28606 (grub_menu_register_viewer): Changed argument.
28607 (grub_menu_try_text): New proto.
28608 (grub_gfxmenu_try_hook): New declaration.
28609 * include/grub/normal.h (grub_normal_exit_level): New declaration.
28610 (grub_menu_init_page): Additional argument term.
28611 (grub_normal_init_page): Likewise.
28612 (grub_cmdline_get): Arguments simplified.
28613 (grub_utf8_to_ucs4_alloc): Removed.
28614 (grub_print_ucs4): Additional argument term.
28615 (grub_getstringwidth): Likewise.
28616 (grub_print_message_indented): Likewise.
28617 (grub_menu_text_register_instances): New proto.
28618 (grub_show_menu): Likewise.
28619 (read_terminal_list): Likewise.
28620 (grub_set_more): Likewise.
28621 * include/grub/parser.h: Include handler.h.
28622 * include/grub/reader.h: Rewritten.
28623 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
28624 (GRUB_TERM_WIDTH): Changed to function.
28625 (GRUB_TERM_HEIGHT): Likewise.
28626 (GRUB_TERM_BORDER_WIDTH): Likewise.
28627 (GRUB_TERM_BORDER_HEIGHT): Likewise.
28628 (GRUB_TERM_NUM_ENTRIES): Likewise.
28629 (GRUB_TERM_ENTRY_WIDTH): Likewise.
28630 (GRUB_TERM_CURSOR_X): Likewise.
28631 (grub_term_input_class): Likewise.
28632 (grub_term_output_class): Likewise.
28633 (grub_term_outputs_disabled): New declaration.
28634 (grub_term_inputs_disabled): Likewise.
28635 (grub_term_outputs): Likewise.
28636 (grub_term_inputs): Likewise.
28637 (grub_term_register_input): Rewritten.
28638 (grub_term_register_output): Likewise.
28639 (grub_term_unregister_input): Likewise.
28640 (grub_term_unregister_output): Likewise.
28641 (FOR_ACTIVE_TERM_INPUTS): New macro.
28642 (FOR_DISABLED_TERM_INPUTS): Likewise.
28643 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
28644 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
28645 * include/grub/terminfo.h: Add oterm argument to all protypes.
28646 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
28647 Use grub_rescue_run.
28648 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
28649 All users updated.
28650 * kern/reader.c: Removed. All users updated.
28651 * kern/rescue_reader.c (grub_rescue_init): Removed.
28652 (grub_rescue_reader): Likewise.
28653 (grub_register_rescue_reader): Likewise.
28654 (grub_rescue_run): New function based on kern/reader.c.
28655 * kern/term.c: Adapted for multiterm.
28656 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
28657 (grub_is_valid_utf8): Likewise.
28658 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
28659 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
28660 right terminal.
28661 * loader/i386/linux.c (grub_linux_boot): Likewise.
28662 * normal/auth.c (grub_username_get): New function.
28663 (grub_auth_check_authentication): Use grub_username_get.
28664 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
28665 * normal/color.c: Adapt for multiterm.
28666 * normal/main.c (read_config_file): Don't use grub_reader_loop.
28667 (grub_normal_init_page): Additional argument term.
28668 (read_lists): Call read_terminal_lists.
28669 (grub_enter_normal_mode): Call grub_cmdline_run.
28670 Handle grub_normal_exit_level.
28671 (grub_cmd_normal): Make reentrant.
28672 (grub_cmd_normal_exit): New function.
28673 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
28674 * normal/menu.c: Adapt for multiterm.
28675 * normal/menu_entry.c: Likewise.
28676 * normal/menu_text.c: Likewise.
28677 * normal/menu_viewer.c: Removed. All users updated.
28678 * normal/term.c: New file.
28679 * util/console.c: Change order of includes to workaround a bug in
28680 ncurses headers.
28681 * term/terminfo.c: New argument oterm on all exported functions.
28682 All users updated.
28683 * util/grub-editenv.c (grub_term_input_class): Removed.
28684 (grub_term_output_class): Likewise.
28685
1a064917
RM
286862010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28687
28688 Make loader output a bit more user-friendly.
28689
28690 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
28691 is being loaded. Likewise for the Hurd.
28692
28693 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
28694 that kernel of FreeBSD ${version} is being loaded.
28695
28696 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
28697 grub_dprintf().
28698 (grub_cmd_initrd): Likewise.
28699 * util/grub.d/10_linux.in (linux_entry): Print message indicating
28700 that Linux ${version} is being loaded. Likewise for initrd.
28701
5ce0a83a 287022010-01-09 Carles Pina i Estany <carles@pina.cat>
28703
28704 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
28705
809bbfeb 287062010-01-08 Carles Pina i Estany <carles@pina.cat>
28707
28708 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
28709 (GRUB_MOD_INIT): Gettextizze.
28710 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
28711 (GRUB_MOD_INIT): Gettextizze.
28712 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
28713 (grub_cmd_linux): Capitalise Linux.
28714 (GRUB_MOD_INIT): Gettextizze.
28715 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
28716 (grub_cmd_linux): Capitalise Linux.
28717 (GRUB_MOD_INIT): Gettextizze.
28718 * loader/i386/linux.c: Include `<grub/i18n.h>'.
28719 (grub_cmd_linux): Capitalise Linux.
28720 (GRUB_MOD_INIT): Gettextizze.
28721 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
28722 (GRUB_MOD_INIT): Gettextizze.
28723 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
28724 (grub_cmd_linux): Capitalise Linux.
28725 (GRUB_MOD_INIT): Gettextizze.
28726 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
28727 (grub_cpu_xnu_init): Gettextizze.
28728 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
28729 (GRUB_MOD_INIT): Gettextizze.
28730 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
28731 (GRUB_MOD_INIT): Gettextizze.
28732 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
28733 (grub_linux_load64): Capitalise Linux.
28734 (GRUB_MOD_INIT): Gettextizze.
28735 * loader/xnu.c: Include `<grub/i18n.h>'.
28736 (GRUB_MOD_INIT): Gettextizze.
28737 * po/POTFILES: Add `loader/efi/appleloader.c',
28738 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
28739 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
28740 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
28741 `loader/i386/xnu.c', `loader/multiboot_loader.c',
28742 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
28743 and `loader/xnu.c'.
28744
b394b2ca
RM
287452010-01-08 Robert Millan <rmh.grub@aybabtu.com>
28746
28747 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
28748
287492010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
28750
28751 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
28752 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
28753 * util/mkisofs/mkisofs.c (main): Readjust --version output.
28754
bc8b32b3
RM
287552010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28756
28757 Reset Multiboot 2 support. New loader implements the draft in
28758 /branches/multiboot2 and shares as much code as possible with the
28759 production Multiboot 1 implementation.
28760
28761 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
28762 * loader/multiboot2.c: Likewise.
28763 * loader/i386/multiboot_helper.S: Likewise.
28764 * include/multiboot2.h: Replace with latest version from the draft
28765 in /branches/multiboot2.
28766
28767 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
28768 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
28769 and `loader/multiboot2.c'.
28770 (pkglib_MODULES): Add `multiboot2.mod'.
28771 (multiboot2_mod_SOURCES): New variable.
28772 (multiboot2_mod_LDFLAGS): Likewise.
28773 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
28774
28775 * conf/i386-pc.rmk: Likewise.
28776
28777 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
28778 (multiboot_mod_SOURCES): Remove variable.
28779 (multiboot_mod_LDFLAGS): Likewise.
28780 (multiboot_mod_CFLAGS): Likewise.
28781
28782 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
28783 `<multiboot2.h>' instead of `<multiboot.h>'.
28784 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
28785 (MULTIBOOT_HEADER_MAGIC): New macros.
28786
28787 * loader/multiboot_loader.c (module_version_status): Remove variable.
28788 (find_multi_boot2_header): Remove function.
28789 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
28790 logic. Always check for the Multiboot version we're compiling for.
28791 (grub_cmd_module_loader): Likewise.
28792 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
28793 command instead of `multiboot'.
28794
5d2c52b8
RM
287952010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28796
28797 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
28798 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
28799 all users.
28800
53108d92
RM
288012010-01-07 Robert Millan <rmh.grub@aybabtu.com>
288022010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28803
28804 Fix breakage introduced with previous commit.
28805
28806 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
28807 commands.
28808 * normal/handler.c (read_handler_list): Revert part of previous commit
28809 affecting this file.
28810 * normal/main.c (read_lists): Move read_handler_list() call back to ...
28811 (grub_normal_execute): ... here.
28812
e2e936b2
RM
288132010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28814
28815 Merge prefix-redefinition-fix branch.
28816
28817 * normal/autofs.c (read_fs_list): Make function capable of being
28818 run multiple times, gracefuly replacing the previous data
28819 structures.
28820 * normal/dyncmd.c (read_command_list): Likewise.
28821 * normal/handler.c (read_handler_list): Likewise.
28822 * normal/main.c (read_lists): New function. Calls all the
28823 list reading functions.
28824 (grub_normal_execute): Use read_lists() instead of calling all
28825 list reading functions explicitly. Register read_lists() as a
28826 variable hook attached to ${prefix}.
28827
607a3701
VS
288282010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28829
28830 Merge crypto branch.
28831
28832 * Makefile.in (pkglib_DATA): Add crypto.lst.
28833 (crypto.lst): New target.
28834 * commands/hashsum.c: New file.
28835 * commands/password.c (check_password): Use grub_crypto_memcmp.
28836 * commands/password_pbkdf2.c: New file.
28837 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
28838 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
28839 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
28840 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
28841 -I$(srcdir)/lib/libgcrypt_wrap.
28842 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
28843 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
28844 password_pbkdf2.mod.
28845 (crypto_mod_SOURCES): New variable.
28846 (crypto_mod_CFLAGS): Likewise.
28847 (crypto_mod_LDFLAGS): Likewise.
28848 (hashsum_mod_SOURCES): New variable.
28849 (hashsum_mod_CFLAGS): Likewise.
28850 (hashsum_mod_LDFLAGS): Likewise.
28851 (pbkdf2_mod_SOURCES): New variable.
28852 (pbkdf2_mod_CFLAGS): Likewise.
28853 (pbkdf2_mod_LDFLAGS): Likewise.
28854 (password_pbkdf2_mod_SOURCES): New variable.
28855 (password_pbkdf2_mod_CFLAGS): Likewise.
28856 (password_pbkdf2_mod_LDFLAGS): Likewise.
28857 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
28858 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
28859 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
28860 Include conf/gcry.rmk.
28861 * include/grub/auth.h: Rewritten.
28862 * include/grub/crypto.h: New file.
28863 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
28864 * include/grub/normal.h (read_crypto_list): New prototype.
28865 * lib/crypto.c: New file.
28866 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28867 * lib/pbkdf2.c: Likewise.
28868 * normal/auth.c (grub_auth_strcmp): Removed.
28869 (grub_iswordseparator): Likewise.
28870 (grub_auth_strword): Likewise.
28871 (is_authenticated): Use grub_strword.
28872 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
28873 and grub_strword. Pass entered password to authentication callback.
28874 * normal/crypto.c: New file.
28875 * normal/main.c: Call read_crypto_list.
28876 * util/grub-mkpasswd-pbkdf2.c: New file.
28877 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
28878
42841caa
VS
288792010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
28880
28881 Fix descent and ascent calculation.
28882
28883 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
28884 (options): New option "asce".
28885 (usage): Likewise.
28886 (add_char): Ignore invalid glyphs for descent calculation.
28887 Calculate ascent from actual content.
28888 (print_glyphs): Use 'asce'.
28889 (write_font): Likewise. Allow ascent override.
28890 (main): Handle "asce" option.
28891
e7730de7 288922010-01-06 Carles Pina i Estany <carles@pina.cat>
28893
28894 * kern/err.c: Include `<grub/i18n.h>'.
28895 (grub_print_error): Add full stop. Gettextizze.
28896 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
28897 (grub_bsd_load_elf): Capitalise ELF.
28898 (grub_cmd_freebsd_loadenv): Add `s' in error string.
28899 (grub_cmd_freebsd_module): Likewise.
28900 (grub_cmd_freebsd_module_elf): Likewise.
28901 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
28902
40e3a41f 289032010-01-06 Carles Pina i Estany <carles@pina.cat>
28904
28905 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
28906 * commands/search_file.c (HELP_MESSAGE): New macro.
28907 * commands/search_label.c (HELP_MESSAGE): Likewise.
28908 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
28909 * po/POTFILES: Add `commands/search_file.c',
28910 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
28911 `commands/search.c'.
28912
83507e68
RM
289132010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28914
28915 * config.rpath: Update from Gnulib.
28916
465c787b
YB
289172010-01-05 Yves Blusseau <blusseau@zetam.org>
28918
28919 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
28920
6581dd3a
YB
289212010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
28922
28923 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
28924
3bff18c5
CW
289252010-01-05 Colin Watson <cjwatson@ubuntu.com>
28926
28927 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
28928 arguments to fread so that we get a return value in bytes, rather
28929 than something that will normally be rounded down to 0.
28930 Adjust error handling to avoid producing garbage when size_t is not
28931 the same size as long long.
28932
a1368118
CW
289332010-01-05 Colin Watson <cjwatson@ubuntu.com>
28934
28935 * util/mkisofs/write.c (padblock_write): Check return value of
28936 fread.
28937
7c302978
RM
289382010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28939
28940 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
28941 floppy images now.
28942
28943 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
28944
e33ace06
RM
289452010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28946
28947 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
28948 instead of manual alignment.
28949 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
28950 verbose). Avoid attempts to read past end of the device
28951 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
28952 but GRUB_DISK_CACHE_SIZE may exceed that).
28953
4b856776
RM
289542010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28955
28956 * commands/crc.c (grub_cmd_crc): Abort on read errors.
28957 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
28958 it to upper layer.
28959
52c2d97f
VS
289602010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28961
28962 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
28963 New constant.
28964 (grub_efi_piwg_device_path): New structure
28965 (grub_efi_piwg_device_path_t): New type.
28966 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
28967 (devpath_1): Transform to a structure. All users updated.
28968 (devpath_2): Likewise.
28969 (devpath_3): Likewise.
28970 (devpath_4): Likewise.
28971 (devpath_5): Likewise.
28972
98ff6a54
VS
289732010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28974
28975 * loader/efi/appleloader.c: Restored. Update all users.
28976
3a73dcb6
RM
289772010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28978
28979 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
28980
28981 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
28982 (struct boot_blocklist): Move from here ...
28983 * include/grub/i386/pc/boot.h [ASM_FILE]
28984 (struct grub_boot_blocklist): ... to here. Update all users.
28985 (setup): Only initialize `start' member of `first_block'
28986 structure. Add assert() calls to verify the other members.
28987
28988 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
28989 (generate_image): Fix broken blocklist length initialization.
28990 Add assert() call to verify blocklist `segment' field.
28991
ab0eeb0c
RM
289922010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28993
28994 * loader/efi/appleloader.c: Remove. Update all users.
28995
58bc8bd5
RM
289962010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28997
28998 * boot/i386/pc/boot.S: Update copyright year.
28999 * boot/i386/pc/cdboot.S: Likewise.
29000 * boot/i386/pc/diskboot.S: Likewise.
29001 * boot/i386/pc/lnxboot.S: Likewise.
29002 * boot/i386/pc/pxeboot.S: Likewise.
29003 * bus/pci.c: Likewise.
29004 * commands/cmp.c: Likewise.
29005 * commands/help.c: Likewise.
29006 * commands/hexdump.c: Likewise.
29007 * commands/i386/pc/halt.c: Likewise.
29008 * commands/i386/pc/play.c: Likewise.
29009 * commands/i386/pc/vbeinfo.c: Likewise.
29010 * commands/ls.c: Likewise.
29011 * commands/test.c: Likewise.
29012 * disk/dmraid_nvidia.c: Likewise.
29013 * disk/i386/pc/biosdisk.c: Likewise.
29014 * disk/ieee1275/nand.c: Likewise.
29015 * disk/ieee1275/ofdisk.c: Likewise.
29016 * disk/lvm.c: Likewise.
29017 * disk/raid.c: Likewise.
29018 * disk/raid6_recover.c: Likewise.
29019 * disk/scsi.c: Likewise.
29020 * fs/affs.c: Likewise.
29021 * fs/cpio.c: Likewise.
29022 * fs/ext2.c: Likewise.
29023 * fs/hfs.c: Likewise.
29024 * fs/iso9660.c: Likewise.
29025 * fs/ntfs.c: Likewise.
29026 * fs/sfs.c: Likewise.
29027 * fs/udf.c: Likewise.
29028 * fs/ufs.c: Likewise.
29029 * fs/xfs.c: Likewise.
29030 * gencmdlist.sh: Likewise.
29031 * genmk.rb: Likewise.
29032 * include/grub/disk.h: Likewise.
29033 * include/grub/efi/api.h: Likewise.
29034 * include/grub/efi/efi.h: Likewise.
29035 * include/grub/efi/pe32.h: Likewise.
29036 * include/grub/elf.h: Likewise.
29037 * include/grub/fs.h: Likewise.
29038 * include/grub/i386/at_keyboard.h: Likewise.
29039 * include/grub/i386/pc/memory.h: Likewise.
29040 * include/grub/i386/pc/vbe.h: Likewise.
29041 * include/grub/i386/pci.h: Likewise.
29042 * include/grub/i386/tsc.h: Likewise.
29043 * include/grub/ieee1275/ieee1275.h: Likewise.
29044 * include/grub/ntfs.h: Likewise.
29045 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29046 * include/grub/sparc64/libgcc.h: Likewise.
29047 * include/grub/symbol.h: Likewise.
29048 * include/grub/types.h: Likewise.
29049 * include/multiboot2.h: Likewise.
29050 * io/gzio.c: Likewise.
29051 * kern/device.c: Likewise.
29052 * kern/disk.c: Likewise.
29053 * kern/efi/efi.c: Likewise.
29054 * kern/efi/mm.c: Likewise.
29055 * kern/elf.c: Likewise.
29056 * kern/file.c: Likewise.
29057 * kern/i386/dl.c: Likewise.
29058 * kern/i386/pc/init.c: Likewise.
29059 * kern/i386/pc/startup.S: Likewise.
29060 * kern/ieee1275/ieee1275.c: Likewise.
29061 * kern/ieee1275/init.c: Likewise.
29062 * kern/main.c: Likewise.
29063 * kern/mm.c: Likewise.
29064 * kern/powerpc/dl.c: Likewise.
29065 * kern/sparc64/dl.c: Likewise.
29066 * kern/x86_64/dl.c: Likewise.
29067 * lib/hexdump.c: Likewise.
29068 * loader/efi/appleloader.c: Likewise.
29069 * loader/i386/ieee1275/linux.c: Likewise.
29070 * loader/i386/pc/chainloader.c: Likewise.
29071 * loader/i386/pc/linux.c: Likewise.
29072 * loader/i386/pc/multiboot2.c: Likewise.
29073 * loader/ieee1275/multiboot2.c: Likewise.
29074 * loader/multiboot2.c: Likewise.
29075 * loader/multiboot_loader.c: Likewise.
29076 * loader/powerpc/ieee1275/linux.c: Likewise.
29077 * normal/completion.c: Likewise.
29078 * normal/menu_entry.c: Likewise.
29079 * partmap/apple.c: Likewise.
29080 * util/grub.d/10_hurd.in: Likewise.
29081 * util/hostfs.c: Likewise.
29082 * video/readers/png.c: Likewise.
29083
e2d70b5c
CW
290842010-01-03 Colin Watson <cjwatson@ubuntu.com>
29085
29086 * include/grub/misc.h (GNUC_PREREQ): New macro.
29087 (ATTRIBUTE_ERROR): New macro.
29088 * include/grub/list.h (grub_bad_type_cast_real): Use
29089 ATTRIBUTE_ERROR.
29090
a173283f 290912010-01-03 Carles Pina i Estany <carles@pina.cat>
29092
29093 * normal/menu_text.c (print_message): Change messages.
29094
7fa7ff74 290952010-01-03 Carles Pina i Estany <carles@pina.cat>
29096
29097 * normal/menu_entry.c (store_completion): Gettextizze.
29098
136d24f6 290992010-01-03 Carles Pina i Estany <carles@pina.cat>
29100
29101 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
29102
f936862e 291032010-01-03 Carles Pina i Estany <carles@pina.cat>
29104
29105 * po/POTFILES: Sort correctly.
29106
29c44ad1 291072010-01-03 Carles Pina i Estany <carles@pina.cat>
29108
29109 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
29110 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
29111 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
29112 full stop.
29113 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
29114 summary. Gettextizze the strings.
29115 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
29116 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
29117 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
29118 full stop.
29119 (GRUB_MOD_INIT): Remove command name from summary.
29120 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
29121 summary.
29122 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
29123 * term/i386/pc/serial.c (options): Add full stops.
29124 (GRUB_MOD_INIT): Remove command name from the summary.
29125
77a79592 291262010-01-03 Carles Pina i Estany <carles@pina.cat>
29127
29128 * commands/acpi.c: Gettextizze help strings and/or options. Include
29129 `grub/i18n.h' if needed.
29130 * commands/blocklist.c: Likewise.
29131 * commands/boot.c: Likewise.
29132 * commands/cat.c: Likewise.
29133 * commands/cmp.c: Likewise.
29134 * commands/configfile.c: Likewise.
29135 * commands/crc.c: Likewise.
29136 * commands/date.c: Likewise.
29137 * commands/echo.c: Likewise.
29138 * commands/efi/fixvideo.c: Likewise.
29139 * commands/efi/loadbios.c: Likewise.
29140 * commands/gptsync.c: Likewise.
29141 * commands/halt.c: Likewise.
29142 * commands/handler.c: Likewise.
29143 * commands/hdparm.c: Likewise.
29144 * commands/hexdump.c: Likewise.
29145 * commands/i386/cpuid.c: Likewise.
29146 * commands/i386/pc/drivemap.c: Likewise.
29147 * commands/i386/pc/halt.c: Likewise.
29148 * commands/i386/pc/pxecmd.c: Likewise.
29149 * commands/i386/pc/vbeinfo.c: Likewise.
29150 * commands/i386/pc/vbetest.c: Likewise.
29151 * commands/ieee1275/suspend.c: Likewise.
29152 * commands/keystatus.c: Likewise.
29153 * commands/loadenv.c: Likewise.
29154 * commands/ls.c: Likewise.
29155 * commands/lsmmap.c: Likewise.
29156 * commands/lspci.c: Likewise.
29157 * commands/memrw.c: Likewise.
29158 * commands/minicmd.c: Likewise.
29159 * commands/parttool.c: Likewise.
29160 * commands/password.c: Likewise.
29161 * commands/probe.c: Likewise.
29162 * commands/read.c: Likewise.
29163 * commands/reboot.c: Likewise.
29164 * commands/search.c: Likewise.
29165 * commands/sleep.c: Likewise.
29166 * commands/test.c: Likewise.
29167 * commands/true.c: Likewise.
29168 * commands/usbtest.c: Likewise.
29169 * commands/videotest.c: Likewise.
29170 * commands/xnu_uuid.c: Likewise.
29171 * disk/loopback.c: Likewise.
29172 * hello/hello.c: Likewise.
29173 * loader/i386/bsd.c: Likewise.
29174 * term/i386/pc/serial.c: Likewise.
29175 * po/POTFILES: Add new files.
29176
da8d5c53
CW
291772010-01-02 Colin Watson <cjwatson@ubuntu.com>
29178
29179 * term/i386/pc/at_keyboard.c
29180 (keyboard_controller_wait_untill_ready): Rename to ...
29181 (keyboard_controller_wait_until_ready): ... this. Update all users.
29182
33937904 291832010-01-01 Carles Pina i Estany <carles@pina.cat>
29184
29185 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
29186 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
29187 string using string width.
29188 * normal/menu_text.c (grub_print_message_indented): Use
29189 grub_print_spaces and not print_spaces.
29190 (print_timeout): Likewise.
29191 (print_spaces): Move to...
29192 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
29193
3fd3b8d8
RM
291942010-01-01 Robert Millan <rmh.grub@aybabtu.com>
29195
29196 Import from Gnulib.
29197
29198 * gnulib/getdelim.c: New file.
29199 * gnulib/getline.c: Likewise.
29200
33433555
VS
292012009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
29202
29203 * include/grub/list.h (grub_assert_fail): Removed.
29204 (grub_bad_type_cast_real): New function.
29205 (grub_bad_type_cast): New macro.
29206 (GRUB_AS_LIST): Use grub_bad_type_cast.
29207 (GRUB_AS_LIST_P): Likewise.
e44721e8 29208 (GRUB_AS_NAMED_LIST): Likewise.
33433555 29209 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 29210 (GRUB_AS_PRIO_LIST): Likewise.
33433555 29211 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 29212 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 29213
f5a51306
VS
292142009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
29215
29216 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
29217 Fix syntax error.
29218
90d1e879
RM
292192009-12-29 Robert Millan <rmh.grub@aybabtu.com>
29220
29221 * configure.ac: Check for TARGET_CFLAGS initialization before we
29222 initialize it ourselves (sigh).
29223 Move a few modifications to TARGET_CFLAGS to be unconditional
29224 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
29225 eh_frame)
29226
29227 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
29228 * term/i386/pc/at_keyboard.c
29229 (keyboard_controller_wait_untill_ready): Likewise.
29230 (keyboard_controller_led): Rename `led_status' paramter to avoid
29231 name conflict.
29232
465b5a81 292332009-12-28 Carles Pina i Estany <carles@pina.cat>
29234
29235 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
29236 quotes.
29237
c181849b
VS
292382009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29239
29240 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
29241
9c8739a4
VS
292422009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29243
29244 * normal/menu_text.c (grub_print_message_indented): Prevent
29245 past-the-end-of-array dereference.
29246
3e74249c
VS
292472009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29248
29249 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
29250 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
29251
64fd18ed 292522009-12-27 Carles Pina i Estany <carles@pina.cat>
29253
29254 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
29255 * normal/main.c (grub_normal_read_line): Remove a space from the
29256 default prompt.
29257
714af9b9 292582009-12-27 Carles Pina i Estany <carles@pina.cat>
29259
29260 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
29261 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29262 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
29263 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
29264 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29265 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29266 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29267
82f3e412 292682009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 29269
29270 * video/readers/jpeg.c (cmd): Declare.
29271 (grub_cmd_jpegtest): Use `grub_command_t' type.
29272 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29273 Assign to `cmd'.
29274 (GRUB_MOD_FINI): Use `cmd' to unregister.
29275 * video/readers/png.c (cmd): Declare.
29276 (grub_cmd_pngtest): Use `grub_command_t' type.
29277 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29278 Assign to `cmd'.
29279 (GRUB_MOD_FINI): Use `cmd' to unregister.
29280 * video/readers/tga.c (cmd): Declare.
29281 (grub_cmd_tgatest): Use `grub_command_t' type.
29282 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29283 Assign to `cmd'.
29284 (GRUB_MOD_FINI): Use `cmd' to unregister.
29285
82f3e412 292862009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 29287
29288 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
29289 stops.
29290 * kern/corecmd.c (grub_register_core_commands): Likewise.
29291 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
29292 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
29293 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
29294 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29295 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
29296 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
29297 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
29298 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
29299 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29300 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29301 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29302 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
29303 * normal/handler.c (insert_handler): Likewise.
29304 * normal/main.c (GRUB_MOD_INIT): Likewise.
29305 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
29306
fdcdbb66 293072009-12-26 Carles Pina i Estany <carles@pina.cat>
29308
29309 * commands/help.c (grub_cmd_help): Print the command name before the
29310 summary.
29311 (GRUB_MOD_INIT): Remove command name from the summary.
29312 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 29313 string as summary.
fdcdbb66 29314 * lib/arg.c (find_long): Print the command name before the summary.
29315 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
29316 summary.
29317 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
29318 * commands/cat.c (GRUB_MOD_INIT): Likewise.
29319 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
29320 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
29321 * commands/crc.c (GRUB_MOD_INIT): Likewise.
29322 * commands/date.c (GRUB_MOD_INIT): Likewise.
29323 * commands/echo.c (GRUB_MOD_INIT): Likewise.
29324 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
29325 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29326 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29327 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
29328 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
29329 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
29330 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
29331 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29332 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
29333 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
29334 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
29335 * commands/ls.c (GRUB_MOD_INIT): Likewise.
29336 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29337 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29338 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29339 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
29340 * commands/password.c (GRUB_MOD_INIT): Likewise.
29341 * commands/probe.c (GRUB_MOD_INIT): Likewise.
29342 * commands/read.c (GRUB_MOD_INIT): Likewise.
29343 * commands/search.c (GRUB_MOD_INIT): Likewise.
29344 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
29345 * commands/test.c (GRUB_MOD_INIT): Likewise.
29346 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
29347 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
29348 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
29349 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
29350 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
29351 * lib/arg.c (GRUB_MOD_INIT): Likewise.
29352 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
29353 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
29354 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29355 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
29356 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
29357 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
29358 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
29359 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
29360
9c288be2
VS
293612009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29362
29363 Use search command for preliminar UUID search.
29364
29365 * commands/search.c: Split into ...
29366 * commands/search_wrap.c: ...this
29367 * commands/search.c: ...and this.
29368 * commands/search_file.c: New file.
29369 * commands/search_label.c: New file.
29370 * commands/search_uuid.c: New file.
29371 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
29372 Add commands/search_wrap.c, commands/search_file.c,
29373 commands/search_label.c and commands/search_uuid.c.
29374 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
29375 (search_mod_SOURCES): Set to commands/search_wrap.c.
29376 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
29377 search_label.mod.
29378 (search_fs_file_mod_SOURCES): New variable.
29379 (search_fs_file_mod_CFLAGS): Likewise.
29380 (search_fs_file_mod_LDFLAGS): Likewise.
29381 (search_label_mod_SOURCES): Likewise.
29382 (search_label_mod_CFLAGS): Likewise.
29383 (search_label_mod_LDFLAGS): Likewise.
29384 (search_fs_uuid_mod_SOURCES): New variable.
29385 (search_fs_uuid_mod_CFLAGS): Likewise.
29386 (search_fs_uuid_mod_LDFLAGS): Likewise.
29387 (fs_file_mod_SOURCES): Removed.
29388 (fs_file_mod_CFLAGS): Likewise.
29389 (fs_file_mod_LDFLAGS): Likewise.
29390 (fs_uuid_mod_SOURCES): Removed.
29391 (fs_uuid_mod_CFLAGS): Likewise.
29392 (fs_uuid_mod_LDFLAGS): Likewise.
29393 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
29394 Set to util/grub-install.in.
29395 * disk/fs_file.c: Removed.
29396 * disk/fs_uuid.c: Likewise.
29397 * include/grub/search.h: New file.
29398 * util/grub-install.in: Handle sparc64.
29399 Create and use load.cfg.
29400 * util/sparc64/ieee1275/grub-install.in: Removed.
29401
db943399
VS
294022009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29403
29404 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
29405 Ignore return status if CF is cleared.
29406 (grub_biosdisk_get_diskinfo_standard): Likewise.
29407
3fdae612
RM
294082009-12-25 Robert Millan <rmh.grub@aybabtu.com>
29409
29410 * term/i386/pc/at_keyboard.c
29411 (keyboard_controller_wait_untill_ready): New function.
29412 (grub_keyboard_controller_write, grub_keyboard_controller_read)
29413 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
29414 for keyboard polling, rather than duplicate the same loop. This
29415 saves a few bytes in code size.
29416
7ebaa2b4
VS
294172009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29418
29419 Support for (pxe[:server[:gateway]]) syntax and
29420 use environment variable for PXE.
29421
29422 * commands/i386/pc/pxecmd.c (options): Removed.
29423 (print_ip): Removed.
29424 (grub_cmd_pxe): Removed
29425 (grub_cmd_pxe_unload): New function.
29426 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
29427 (grub_pxe_your_ip): Made static.
29428 (grub_pxe_default_server_ip): Likewise.
29429 (grub_pxe_default_gateway_ip): Likewise.
29430 (grub_pxe_blksize): Likewise.
29431 (parse_ip): New function.
29432 (grub_pxe_open): Support server and gateway specification.
29433 (grub_pxe_close): Free disk->data.
29434 (grub_pxefs_open): Use disk->data.
29435 (grub_pxefs_read): Likewise.
29436 (grub_env_write_readonly): New function.
29437 (set_mac_env): Likewise.
29438 (set_env_limn_ro): Likewise.
29439 (parse_dhcp_vendor): Likewise.
29440 (grub_pxe_detect): Set the environment variables.
29441 (set_ip_env): New function.
29442 (write_ip_env): Likewise.
29443 (grub_env_write_pxe_default_server): Likewise.
29444 (grub_env_write_pxe_default_gateway): Likewise.
29445 (grub_env_write_pxe_blocksize): Likewise.
29446 (GRUB_MOD_INIT(pxe)): Set environment variables.
29447 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
29448 (grub_pxe_mac_addr_t): ... this. All users updated.
29449 (grub_pxe_your_ip): Removed.
29450 (grub_pxe_server_ip): Likewise.
29451 (grub_pxe_gateway_ip): Likewise.
29452 (grub_pxe_blksize): Likewise.
29453
ec5f98ab 294542009-12-25 Carles Pina i Estany <carles@pina.cat>
29455
29456 * commands/help.c: Include `<grub/i18n.h>'.
29457 (grub_cmd_help): Gettextizze.
29458 (GRUB_MOD_INIT): Likewise.
29459 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
29460 (GRUB_MOD_INIT): Gettextizze.
29461 * commands/search.c: Include `<grub/i18n.h>'.
29462 (options): Gettextizze.
29463 (GRUB_MOD_INIT): Gettextizze.
29464 * lib/arg.c: Include `<grub/i18n.h>'.
29465 (help_options): Gettextizze.
29466 (find_long): Likewise.
29467 (grub_arg_show_help): Likewise.
29468 * normal/dyncmd.c: Include `<grub/i18n.h>'.
29469 (read_command_list): Gettextizze.
29470 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 29471 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 29472
22815526
RM
294732009-12-25 Robert Millan <rmh.grub@aybabtu.com>
29474
29475 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
29476 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
29477 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
29478 (led_status): New variable.
29479 (keyboard_controller_led): New function.
29480 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
29481 update led status for caps lock, num lock and scroll lock.
29482
0ad46fd7
FZ
294832009-12-25 Felix Zielcke <fzielcke@z-51.de>
29484
29485 * util/hostdisk.c (open_device): Fix a comment.
29486
d0e158c2
RM
294872009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29488
29489 * util/grub-install.in (host_os): New variable.
29490 * util/i386/efi/grub-install.in (host_os): Likewise.
29491
401c0ad6
RM
294922009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29493
29494 * util/mkisofs/write.c (padblock_write): Abort when given an
29495 excedingly large embed image, instead of silently truncating it.
29496
d14d3370
RM
294972009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29498
29499 * include/multiboot.h: Indentation fixes.
29500
eeed10b4
RM
295012009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29502
29503 * include/multiboot.h (struct multiboot_aout_symbol_table)
29504 (struct multiboot_elf_section_header_table): New structure
29505 declarations (stolen from GRUB Legacy).
29506 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
29507 table information.
29508
29509 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
29510 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
29511 type aliases.
29512
681c70ab
RM
295132009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29514
29515 * include/multiboot.h: Make comments src2texi-friendly.
29516
e4d47d8d
RM
295172009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29518
29519 For consistency with [multiboot]/docs/boot.S.
29520
29521 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
29522 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
29523 (MULTIBOOT_MAGIC2): Rename from this ...
29524 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
29525
a0b70bda
RM
295262009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29527
29528 * include/multiboot.h: Remove `<grub/types.h>'.
29529 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
29530 types. Update all users.
29531
61ba42be 295322009-12-25 Carles Pina i Estany <carles@pina.cat>
29533
29534 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
29535 `couldn't' and `can not' by `cannot'.
29536 * commands/i386/pc/drivemap.c: Likewise.
29537 * disk/ata.c: Likewise.
29538 * disk/ieee1275/nand.c: Likewise.
29539 * fs/affs.c: Likewise.
29540 * fs/fat.c: Likewise.
29541 * fs/hfs.c: Likewise.
29542 * fs/hfsplus.c: Likewise.
29543 * fs/iso9660.c: Likewise.
29544 * fs/jfs.c: Likewise.
29545 * fs/minix.c: Likewise.
29546 * fs/reiserfs.c: Likewise.
29547 * fs/sfs.c: Likewise.
29548 * fs/udf.c: Likewise.
29549 * fs/ufs.c: Likewise.
29550 * fs/xfs.c: Likewise.
29551 * loader/powerpc/ieee1275/linux.c: Likewise.
29552 * loader/sparc64/ieee1275/linux.c: Likewise.
29553 * util/grub-probe.c: Likewise.
29554 * util/misc.c: Likewise.
29555
7fd0baee 295562009-12-24 Carles Pina i Estany <carles@pina.cat>
29557
29558 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
29559 grub_errno calls.
29560 * commands/acpi.c: Likewise.
29561 * commands/blocklist.c: Likewise.
29562 * commands/efi/loadbios.c: Likewise.
29563 * commands/i386/pc/drivemap.c: Likewise.
29564 * commands/loadenv.c: Likewise.
29565 * commands/memrw.c: Likewise.
29566 * commands/password.c: Likewise.
29567 * commands/videotest.c: Likewise.
29568 * disk/ata.c: Likewise.
29569 * disk/ata_pthru.c: Likewise.
29570 * disk/dmraid_nvidia.c: Likewise.
29571 * disk/ieee1275/nand.c: Likewise.
29572 * disk/ieee1275/ofdisk.c: Likewise.
29573 * disk/loopback.c: Likewise.
29574 * disk/lvm.c: Likewise.
29575 * disk/mdraid_linux.c: Likewise.
29576 * disk/raid.c: Likewise.
29577 * disk/raid6_recover.c: Likewise.
29578 * disk/scsi.c: Likewise.
29579 * efiemu/main.c: Likewise.
29580 * efiemu/mm.c: Likewise.
29581 * efiemu/pnvram.c: Likewise.
29582 * efiemu/symbols.c: Likewise.
29583 * font/font.c: Likewise.
29584 * fs/cpio.c: Likewise.
29585 * fs/hfsplus.c: Likewise.
29586 * fs/iso9660.c: Likewise.
29587 * fs/jfs.c: Likewise.
29588 * fs/minix.c: Likewise.
29589 * fs/ntfs.c: Likewise.
29590 * fs/ntfscomp.c: Likewise.
29591 * fs/reiserfs.c: Likewise.
29592 * fs/ufs.c: Likewise.
29593 * fs/xfs.c: Likewise.
29594 * gettext/gettext.c: Likewise.
29595 * include/grub/auth.h: Likewise.
29596 * kern/elf.c: Likewise.
29597 * kern/file.c: Likewise.
29598 * kern/ieee1275/init.c: Likewise.
29599 * kern/ieee1275/mmap.c: Likewise.
29600 * kern/ieee1275/openfw.c: Likewise.
29601 * kern/powerpc/dl.c: Likewise.
29602 * kern/sparc64/dl.c: Likewise.
29603 * lib/arg.c: Likewise.
29604 * loader/i386/bsd.c: Likewise.
29605 * loader/i386/bsdXX.c: Likewise.
29606 * loader/i386/efi/linux.c: Likewise.
29607 * loader/i386/efi/xnu.c: Likewise.
29608 * loader/i386/ieee1275/linux.c: Likewise.
29609 * loader/i386/linux.c: Likewise.
29610 * loader/i386/multiboot.c: Likewise.
29611 * loader/i386/pc/linux.c: Likewise.
29612 * loader/i386/pc/multiboot2.c: Likewise.
29613 * loader/i386/xnu.c: Likewise.
29614 * loader/ieee1275/multiboot2.c: Likewise.
29615 * loader/macho.c: Likewise.
29616 * loader/machoXX.c: Likewise.
29617 * loader/multiboot2.c: Likewise.
29618 * loader/multiboot_loader.c: Likewise.
29619 * loader/powerpc/ieee1275/linux.c: Likewise.
29620 * loader/sparc64/ieee1275/linux.c: Likewise.
29621 * loader/xnu.c: Likewise.
29622 * loader/xnu_resume.c: Likewise.
29623 * mmap/i386/pc/mmap.c: Likewise.
29624 * normal/menu_viewer.c: Likewise.
29625 * partmap/acorn.c: Likewise.
29626 * partmap/amiga.c: Likewise.
29627 * partmap/apple.c: Likewise.
29628 * script/lexer.c: Likewise.
29629 * term/gfxterm.c: Likewise.
29630 * term/i386/pc/serial.c: Likewise.
29631 * term/i386/pc/vga.c: Likewise.
29632 * term/ieee1275/ofconsole.c: Likewise.
29633 * term/terminfo.c: Likewise.
29634 * video/bitmap.c: Likewise.
29635 * video/efi_gop.c: Likewise.
29636 * video/efi_uga.c: Likewise.
29637 * video/fb/video_fb.c: Likewise.
29638 * video/i386/pc/vbe.c: Likewise.
29639 * video/readers/tga.c: Likewise.
29640 * video/video.c: Likewise.
29641
0ad46fd7 296422009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
29643
29644 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
29645 * commands/lspci.c: Likewise.
29646 * commands/probe.c: Likewise.
29647 * commands/xnu_uuid.c: Likewise.
29648 * conf/i386-coreboot.rmk: Likewise.
29649 * conf/i386-efi.rmk: Likewise.
29650 * conf/i386-ieee1275.rmk: Likewise.
29651 * conf/i386-pc.rmk: Likewise.
29652 * conf/powerpc-ieee1275.rmk: Likewise.
29653 * conf/sparc64-ieee1275.rmk: Likewise.
29654 * conf/x86_64-efi.rmk: Likewise.
29655 * fs/i386/pc/pxe.c: Likewise.
29656 * gettext/gettext.c: Likewise.
29657 * include/grub/efi/graphics_output.h: Likewise.
29658 * include/grub/i386/pc/memory.h: Likewise.
29659 * kern/env.c: Likewise.
29660 * kern/i386/qemu/startup.S: Likewise.
29661 * lib/i386/pc/biosnum.c: Likewise.
29662 * lib/i386/relocator.c: Likewise.
29663 * lib/i386/relocator_asm.S: Likewise.
29664 * lib/relocator.c: Likewise.
29665 * loader/i386/bsd.c: Likewise.
29666 * loader/i386/multiboot.c: Likewise.
29667 * loader/i386/pc/chainloader.c: Likewise.
29668 * loader/i386/xnu.c: Likewise.
29669 * loader/xnu.c: Likewise.
29670 * normal/main.c: Likewise.
29671 * normal/menu_text.c: Likewise.
29672 * util/getroot.c: Likewise.
29673 * util/grub-mkconfig_lib.in: Likewise.
29674 * util/grub.d/00_header.in: Likewise.
29675 * util/i386/pc/grub-mkimage.c: Likewise.
29676 * util/mkisofs/eltorito.c: Likewise.
29677 * util/mkisofs/exclude.h: Likewise.
29678 * util/mkisofs/hash.c: Likewise.
29679 * util/mkisofs/iso9660.h: Likewise.
29680 * util/mkisofs/joliet.c: Likewise.
29681 * util/mkisofs/mkisofs.c: Likewise.
29682 * util/mkisofs/mkisofs.h: Likewise.
29683 * util/mkisofs/multi.c: Likewise.
29684 * util/mkisofs/name.c: Likewise.
29685 * util/mkisofs/rock.c: Likewise.
29686 * util/mkisofs/tree.c: Likewise.
29687 * util/mkisofs/write.c: Likewise.
29688 * video/efi_gop.c: Likewise.
29689
009ec743
VS
296902009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
29691
29692 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
29693 size counting.
29694
0ad46fd7 296952009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
29696
29697 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
29698 * genmk.rb (class SCRIPT): Modify the target file instead of source.
29699
d3d30ea0
VS
297002009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29701
29702 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
29703 (GRUB_MOD_INIT(memrw)): Update help line.
29704
a34f5c70
VS
297052009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29706
29707 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
29708 Use grub_extcmd_t. All users updated.
29709 (options): New variable.
29710 (grub_cmd_read): Restructure for readability. Support "-v" option.
29711 (grub_cmd_write): Restructure for readability.
29712
0ad46fd7 297132009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
29714
29715 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
29716
0ad46fd7 297172009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
29718
29719 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
29720 with the actual contents of the correspondending make variable.
29721 * util/grub-mkrescue.in (pkglib_DATA): New variable.
29722 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
29723 specifying `*.lst' and `efiemu??.o'
29724
0ad46fd7 297252009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
29726
29727 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
29728 after function name.
29729 Noticed by Rene Engelhard <rene@debian.org>.
29730
dc77a799
VS
297312009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29732
29733 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
29734 (options): New variable.
29735 (iospace): Likewise.
29736 (grub_lspci_iter): List IO spaces if "-i" was given.
29737 (grub_cmd_lspci): Parse options.
29738 (GRUB_MOD_INIT(lspci)): Use extcmd.
29739 (GRUB_MOD_FINI(lspci)): Likewise.
29740
0ad46fd7 297412009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
29742
29743 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
29744 `function' keyword.
29745 Patch by Tony Mancill <tmancill@debian.org>.
29746
b5d5993b
VS
297472009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29748
29749 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
29750 (grub_uhci_portstatus): Likewise.
29751 (grub_uhci_portstatus): Add necessary delay.
11d18281 29752 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 29753
941903f2 297542009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 29755
941903f2 29756 * commands/acpi.c (options): Fix capitalizations and/or full stops.
29757 (GRUB_MOD_INIT): Likewise.
29758 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 29759 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
29760 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 29761 * commands/efi/loadbios.c (enable_rom_area): Likewise.
29762 (enable_rom_area): Likewise.
29763 (GRUB_MOD_INIT): Likewise.
29764 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29765 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
29766 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29767 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
29768 * commands/hexdump.c (options): Likewise.
29769 * commands/i386/cpuid.c (options): Likewise.
29770 (GRUB_MOD_INIT): Likewise.
29771 * commands/i386/pc/drivemap.c (options): Likewise.
29772 (GRUB_MOD_INIT): Likewise.
29773 * commands/i386/pc/halt (options): Likewise.
29774 (GRUB_MOD_INIT): Likewise.
29775 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29776 * commands/i386/pc/pxecmd.c (options): Likewise.
29777 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
29778 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
29779 * commands/keystatus.c (options): Likewise.
29780 (GRUB_MOD_INIT): Likewise.
29781 * commands/loadenv.c (options): Likewise.
29782 * commands/ls.c (options): Likewise.
29783 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29784 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29785 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29786 * commands/parttool.c (helpmsg): Likewise.
29787 * commands/probe.c (options): Likewise.
29788 * commands/read.c (GRUB_MOD_INIT): Likewise.
29789 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
29790 * commands/search.c (options): Likewise.
29791 * commands/sleep.c (options): Likewise.
29792 * commands/test.c (GRUB_MOD_INIT): Likewise.
29793 * commands/true.c (GRUB_MOD_INIT): Likewise.
29794 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
29795 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
29796 * lib/arg.c (help_options): Likewise.
e9bbb4e7 29797 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
29798 `$(XGETTEXT)'.
98a50553 29799 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 29800
0ad46fd7 298012009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 29802
ef3c2c3a 29803 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
29804 instead of specifying them explicit.
29805
7922f68b
RM
298062009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29807
29808 * NEWS: Add grub-probe support for GNU/Hurd.
29809
537ce47f
RM
298102009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29811
29812 * NEWS: gettext was added after 1.97.
29813
9b214e3a
RM
298142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29815
29816 * util/mkisofs/msdos_partition.h: New file (based on
29817 include/grub/msdos_partition.h).
29818 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
29819 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
29820 (ld_options, main): Recognize --protective-msdos-label.
29821 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
29822 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
29823 (padblock_write): If `use_protective_msdos_label' is set, patch a
29824 protective DOS-style label in the output image.
29825
29826 * util/grub-mkrescue.in: Use --protective-msdos-label.
29827
e9309813
RM
298282009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29829
29830 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
29831 boot.
29832
0ae56929
RM
298332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29834
29835 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
29836 variables.
29837 (ld_options, main): Recognize `--embedded-boot'.
29838 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
29839 declarations.
29840 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
29841 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
29842 (padblock_write): Likewise. Rewrite to support embedded boot image.
29843
29844 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
29845 for BIOS-based disk boot instead of only ElTorito.
29846
b15937b1
RM
298472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29848
29849 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
29850 build (not needed for bootstrap).
29851
52cc3ce0
RM
298522009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29853
29854 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
29855 from i386-pc build (not needed for bootstrap).
29856 Rewrite a pair of strings.
29857
36f5ff04
RM
298582009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29859
29860 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
29861
973c6c85 298622009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
29863
29864 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
29865
05d21547
AB
298662009-12-21 Andreas Born <futur.andy@googlemail.com>
29867
29868 * kern/env.c (grub_env_context_open): Mark exported variable for
29869 reexport.
29870
0175d51f
AB
298712009-12-21 Andreas Born <futur.andy@googlemail.com>
29872
29873 * kern/env.c (grub_env_export): Create nonexistent variables before
29874 exporting.
29875
7f39d92f 298762009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 29877
7f39d92f 29878 * include/grub/auth.h: Include `<grub/i18n.h>'.
29879 (GRUB_GET_PASSWORD): Gettextizze string.
29880 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
29881 menu_text.c.
29882 (grub_utf8_to_ucs4_alloc): Fix indentation.
29883 (grub_print_ucs4): Likewise.
29884 (grub_getstringwidth): Likewise.
29885 (print_message_indented): New declaration.
29886 * normal/auth.c: Include `<grub/i18n.h>'.
29887 (grub_auth_check_authentication): Gettexttize string.
29888 * normal/cmdline.c: Include `<grub/i18n.h>'.
29889 (grub_cmdline_get): Gettextizze.
29890 * normal/color.c: Include `<grub/i18n.h>'.
29891 (grub_parse_color_name_pair): Gettexttize strings.
29892 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
29893 string (use `print_message_indented').
29894 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
29895 `include/grub/normal.h'.
29896 (print_message_indented): Renamed to ...
29897 (grub_print_message_indented): ... this. Remove `static' qualifer (now
29898 used in normal/main.c).
29899 (print_message): Use `grub_print_message_indented' instead of
29900 `print_message_indented'.
29901 (print_timeout): Likewise.
29902 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
29903 (grub_normal_print_device_info): Gettexttize strings.
29904 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
29905
3041d898
VS
299062009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29907
29908 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
29909 of arguments. Return number of tokens and not arguments. All users
29910 updated.
29911
de15bf8e
VS
299122009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29913
29914 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
29915 non-MSDOS paritions.
29916
e0a6ca52
VS
299172009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
29918
29919 * include/grub/types.h (UNUSED): Removed since it conflicts with
29920 NetBSD headers. All users changed to direct __attribute__ ((unused)).
29921 Reported by Grégoire Sutre.
29922
b99518d1 299232009-12-19 Carles Pina i Estany <carles@pina.cat>
29924
29925 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
29926 (grub_print_ucs4_alloc): Likewise.
29927 (grub_getstringwidth): Likewise.
29928 * normal/main.c (grub_normal_init_page): Gettextize version string.
29929 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
29930 (getstringwidth): Renamed to ...
29931 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
29932 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
29933 (grub_print_ucs4): Remove `static' qualifer (now used in
29934 normal/main.c).
29935 * po/POTFILES: Add normal/main.c.
29936
bfd5e52b 299372009-12-19 Carles Pina i Estany <carles@pina.cat>
29938
29939 * normal/menu_text.c (STANDARD_MARGIN): New macro.
29940 (print_message_indented): Add `margin_left' and `margin_right'
29941 parameters.
29942 (print_message): Update `print_message_indented' calls. Adds '\n' to the
29943 strings.
29944 (print_timeout): Use `print_message_indented' to print the message.
29945 Deletes `second_stage' parameter.
29946 (run_menu): Update `print_timeout' calls.
29947
5a1ad2b9
VS
299482009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29949
29950 Fix console palette on OpenFirmware.
29951
29952 * term/ieee1275/ofconsole.c (MAX): Removed.
29953 (colors): Redone based on VGA palette.
29954 (grub_ofconsole_setcolor): Discard brightness bit since only 8
29955 colors are supported.
29956 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
29957
b045f00a
VS
299582009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29959
29960 Fix potential EfiEmu double prepare.
29961
29962 * efiemu/main.c (prepared): New variable
29963 (grub_efiemu_unload): Set prepare to '0'.
29964 (grub_efiemu_prepare): Return if already prepared. Set prepared.
29965
29966 set_virtual_address_map support.
29967
29968 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
29969 prototype.
29970 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
29971 prototype.
29972 (grub_efiemu_crc32): Likewise.
29973 (grub_efiemu_crc64): Likewise.
29974 (grub_efiemu_set_virtual_address_map): Likewise.
29975 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
29976 New definition.
29977 (grub_autoefi_set_virtual_address_map): Likewise.
29978 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
29979 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
29980 Restructure flow to accomodate it.
29981 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
29982 (grub_efiemu_crc): Recompute CRC32.
29983 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
29984 (efiemu_ptv_relocated): ... this. Made global. All users updated.
29985 * efiemu/symbols.c (relocated_handle): New variable.
29986 (grub_efiemu_free_syms): Free relocated_handle.
29987 (grub_efiemu_alloc_syms): Allocate relocated_handle.
29988 (grub_efiemu_write_sym_markers): New function.
29989 (grub_efiemu_set_virtual_address_map): Likewise.
29990
29991 Newer XNU parameters.
29992
29993 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
29994 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
29995 (grub_xnu_fill_devicetree): New prototype.
29996 (grub_xnu_heap_real_start): New variable.
29997 * loader/xnu.c (get_name_ptr): New function.
29998 (grub_xnu_load_driver): Fill namelen and name.
29999
30000 64-bit xnu support.
30001
30002 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
30003 and 'loader/macho64.c'.
30004 * conf/i386-pc.rmk: Likewise.
30005 * conf/x86_64-efi.rmk: Likewise.
30006 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
30007 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
30008 * include/grub/macho.h (grub_macho_segment64): New structure.
30009 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
30010 (grub_macho_size32): ... to this.
30011 (grub_macho32_get_entry_point): Renamed from ...
30012 (grub_macho_get_entry_point32): ... to this.
30013 (grub_macho_contains_macho64): New prototype.
30014 (grub_macho_size64): Likewise.
30015 (grub_macho_get_entry_point64): Likewise.
30016 (grub_macho32_load): Renamed from ...
30017 (grub_macho_load32): ... to this.
30018 (grub_macho32_filesize): Renamed from ...
30019 (grub_macho_filesize32): ... to this.
30020 (grub_macho32_readfile): Renamed from ...
30021 (grub_macho_readfile32): ... to this.
30022 (grub_macho_filesize64): New prototype.
30023 (grub_macho_readfile64): Likewise.
30024 (grub_macho_parse32): Likewise.
30025 (grub_macho_parse64): Likewise.
30026 * loader/macho.c: Split into ...
30027 * loader/machoXX.c: ... and this. Replace 32 with XX.
30028 * loader/macho32.c: New file.
30029 * loader/macho64.c: Likewise.
30030 * loader/xnu.c (grub_xnu_is_64bit): New variable.
30031 (grub_cmd_xnu_kernel): Make 32-bit only.
30032 (grub_cmd_xnu_kernel64): New function.
30033 (grub_xnu_load_driver): Support Mach-O 64.
30034 (grub_cmd_xnu_mkext): Likewise.
30035 * util/grub.d/30_os-prober.in (osx_entry): New function.
30036 Generate entries for 64-bit boot too.
30037
30038 Eliminate ad-hoc tree format in XNU and EfiEmu.
30039
30040 * efiemu/main.c (grub_efiemu_prepare): Update comment.
30041 * efiemu/pnvram.c: Rewritten to use environment variables.
30042 All users updated.
30043
30044 Inline utf16_to_utf8.
30045
30046 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
30047 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
30048 All users updated.
30049 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
30050
30051 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
30052 * commands/usbtest.c (grub_usb_get_string): ... move here.
30053 (usb_print_str): Fix error handling.
30054 * include/grub/usb.h (grub_usb_get_string): Remove.
30055
30056 UTF-8 to UTF-16 transformation.
30057
30058 * conf/common.rmk (pkglib_MODULES): Add charset.mod
30059 (charset_mod_SOURCES): New variable.
30060 (charset_mod_CFLAGS): Likewise.
30061 (charset_mod_LDFLAGS): Likewise.
30062 * include/grub/utf.h: New file.
30063 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
30064
30065 Support for device properties.
30066
30067 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
30068 (grub_xnu_devprop_device_header): Likewise.
30069 (grub_xnu_devprop_device_descriptor): Likewise.
30070 (grub_xnu_devprop_add_device): New prototype.
30071 (grub_xnu_devprop_remove_device): Likewise.
30072 (grub_xnu_devprop_remove_property): Likewise.
30073 (grub_xnu_devprop_add_property_utf8): Likewise.
30074 (grub_xnu_devprop_add_property_utf16): Likewise.
30075 (grub_cpu_xnu_init): Likewise.
30076 (grub_cpu_xnu_fini): Likewise.
30077 (grub_cpu_xnu_unload): Likewise.
30078 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
30079 (property_descriptor): Likewise.
30080 (devices): New variable.
30081 (grub_xnu_devprop_remove_property): New function.
30082 (grub_xnu_devprop_add_device): Likewise.
30083 (grub_xnu_devprop_remove_device): Likewise.
30084 (grub_xnu_devprop_add_property): Likewise.
30085 (grub_xnu_devprop_add_property_utf8): Likewise.
30086 (grub_xnu_devprop_add_property_utf16): Likewise.
30087 (hextoval): Likewise.
30088 (grub_cpu_xnu_fill_devprop): Likewise.
30089 (grub_cmd_devprop_load): Likewise.
30090 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
30091 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
30092 (cmd_devprop_load): New variable.
30093 (grub_cpu_xnu_init): New function.
30094 (grub_cpu_xnu_fini): Likewise.
30095 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
30096 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
30097 (grub_cmd_xnu_devtree): Likewise.
30098 (hextoval): New function.
30099 (unescape): Likewise.
30100 (grub_xnu_fill_devicetree): Likewise.
30101
30102 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
30103 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
30104
0945f181
VS
301052009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
30106
30107 Workaround for broken ATI VBE.
30108
30109 * video/i386/pc/vbe.c (last_set_mode): New variable.
30110 (grub_vbe_set_video_mode): Set 'last_set_mode'.
30111 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
30112 (grub_video_vbe_setup): Don't check for reserved flag.
30113
0ad46fd7 301142009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
30115
30116 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
30117 the `find' command.
30118
c179ebe4
VS
301192009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
30120
30121 UUID support for HFS.
30122
30123 * fs/hfs.c (grub_hfs_uuid): New function.
30124 (grub_hfs_fs): New value .uuid.
30125 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
30126
0ad46fd7 301272009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
30128
30129 Fix a segfault with parsing unknown long options.
30130
30131 * util/grub-mkrelpath.c (options): Zero terminate it.
30132
c4a3e41a
CPE
301332009-12-13 Carles Pina i Estany <carles@pina.cat>
30134
30135 * include/grub/misc.h (grub_puts): New declaration.
30136 (grub_puts_): Likewise.
a22008a6 30137 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
30138 (grub_puts_): Likewise.
30139
2e8a7602
RM
301402009-12-13 Robert Millan <rmh.grub@aybabtu.com>
30141
30142 * util/grub-probe.c (probe): Improve error message.
30143
b50b77b9
RM
301442009-12-13 Robert Millan <rmh.grub@aybabtu.com>
30145
30146 * loader/i386/multiboot_elfxx.c
30147 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
30148 initialization.
30149
301502009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
30151
30152 Relocator framework
30153
30154 * loader/i386/xnu_helper.S: Removed. All users updated.
30155 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
30156 (relocator_mod_SOURCES): New variable.
30157 (relocator_mod_CFLAGS): Likewise.
30158 (relocator_mod_LDFLAGS): Likewise.
30159 (relocator_mod_ASFLAGS): Likewise.
30160 * conf/x86_64.rmk: Likewise.
30161 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
30162 (grub_multiboot_payload_entry_offset): Likewise.
30163 (grub_multiboot_forward_relocator): Likewise.
30164 (grub_multiboot_forward_relocator_end): Likewise.
30165 (grub_multiboot_backward_relocator): Likewise.
30166 (grub_multiboot_backward_relocator_end): Likewise.
30167 (grub_multiboot_payload_eip): New variable.
30168 (grub_multiboot_payload_orig): Likewise.
30169 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
30170 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
30171 * include/grub/i386/memory.h
30172 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
30173 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
30174 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
30175 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
30176 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
30177 * include/grub/i386/relocator.h: New file.
30178 * include/grub/x86_64/relocator.h: Likewise.
30179 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
30180 (XNU_RELOCATOR): New macro.
30181 (grub_xnu_launcher_start): Remove.
30182 (grub_xnu_launcher_end): Likewise.
30183 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
30184 (grub_xnu_heap_real_start): Remove.
30185 (grub_xnu_heap_start): Change to void *. All users updated.
30186 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
30187 * lib/i386/relocator.c: New file.
30188 * lib/i386/relocator_asm.S: Likewise.
30189 * lib/i386/relocator_backward.S: Likewise.
30190 * lib/mips/relocator.c: Likewise.
30191 * lib/mips/relocator_asm.S: Likewise.
30192 * lib/relocator.c: Likewise.
30193 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
30194 (entry): Removed.
30195 (playground): Likewise.
30196 (grub_multiboot_payload_orig): New variable.
30197 (grub_multiboot_payload_dest): Likewise.
30198 (grub_multiboot_payload_size): Likewise.
30199 (grub_multiboot_payload_eip): Likewise.
30200 (grub_multiboot_payload_esp): Likewise.
30201 (grub_multiboot_boot): Use grub_relocator32_boot.
30202 (grub_multiboot_unload): Free relocators.
30203 (grub_multiboot): Setup stack. Use relocators.
30204 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
30205 (grub_multiboot_load_elfXX): Use relocators.
30206 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
30207 (grub_multiboot_payload_size): Likewise.
30208 (grub_multiboot_payload_dest): Likewise.
30209 (grub_multiboot_payload_entry_offset): Likewise.
30210 (grub_multiboot_forward_relocator): Likewise.
30211 (grub_multiboot_backward_relocator): Likewise.
30212 (grub_multiboot_real_boot): Likewise.
30213 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
30214 (grub_xnu_entry_point): Likewise.
30215 (grub_xnu_arg1): Likewise.
30216 (grub_xnu_stack): Likewise.
30217 (grub_xnu_launch): Removed.
30218 (grub_xnu_boot_resume): New function.
30219 (grub_xnu_boot): Use relocators.
30220 * loader/i386/xnu_helper.S: Removed.
30221 * loader/xnu.c (grub_xnu_heap_start): New variable.
30222 (grub_xnu_heap_size): Likewise.
30223 (grub_xnu_heap_malloc): Use relocators.
30224 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
30225
29eb90c6
VS
302262009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
30227
30228 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
30229 anything.
30230
31027430
CPE
302312009-12-13 Carles Pina i Estany <carles@pina.cat>
30232
30233 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
30234 GRUB_ERR_NONE before calling grub_env_set.
30235
dc0c71d9
RM
302362009-12-12 Robert Millan <rmh@aybabtu.com>
30237
30238 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
30239 * genmk.rb (video): New variable.
30240 (CLEANFILES, VIDEOFILES): Add #{video}.
30241 (#{video}): New target rule.
30242 * genvideolist.sh: New file.
30243 * Makefile.in (pkglib_DATA): Add video.lst.
30244 (video.lst): New target rule.
30245 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
30246 `video.lst'.
30247 * util/grub.d/30_os-prober.in: Replace `vbe' with
30248 ${GRUB_VIDEO_BACKEND}.
30249
2a4bfcf0
RM
302502009-12-11 Robert Millan <rmh.grub@aybabtu.com>
30251
30252 * THANKS: Add David Miller.
30253
2a3aa4d5
RM
302542009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
30255
30256 libpciaccess support.
30257
30258 * Makefile.in (LIBPCIACCESS): New variable.
30259 (enable_grub_emu_pci): Likewise.
30260 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
30261 util/pci.c and commands/lspci.c.
30262 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
30263 * configure.ac (grub-emu-pci): New option.
30264 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
30265 (grub_pci_device_unmap_range): Likewise.
30266 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
30267 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
30268 (grub_pci_address_t) [!GRUB_UTIL]: New type.
30269 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
30270 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
30271 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
30272 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
30273 * include/grub/pciutils.h: New file.
30274 * util/pci.c: Likewise.
30275
0ad46fd7 302762009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
30277
30278 * util/misc.c: Don't include <errno.h> twice.
30279
0ad46fd7 302802009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
30281
30282 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
30283 name in an error message.
30284 (grub_biosdisk_rw): Likewise.
30285
2e59983c
VS
302862009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30287
30288 Eliminate NTFS 4Gib barrier.
30289
30290 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
30291 (read_run_data): Likewise.
30292 (grub_ntfs_read_run_list): Likewise.
30293 (grub_ntfs_read_block): Likewise.
30294 (grub_ntfs_iterate_dir): Likewise.
30295 (read_mft): Likewise.
30296 (read_data): Likewise.
30297 Use COM_LOG_LEN.
30298 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
30299 to avoid 64-bit division
30300 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
30301 (grub_ntfs_rlst): Use grub_disk_addr_t.
30302
71ee178a
VS
303032009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30304
30305 Eliminate grub-fstest 4Gib barrier.
30306
30307 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
30308 (read_file): Fix error reporting.
30309
2520d4b8
VS
303102009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30311
30312 Eliminate hexdump 4Gib barrier.
30313
30314 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
30315 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
30316
e1f27065
VS
303172009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30318
30319 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
30320 Fixes amarsh bug.
30321
1a0f7f45
RM
303222009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
30323
30324 Remove miscellaneous files in distclean target.
30325
30326 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
30327
c631d9fb
CW
303282009-12-09 Colin Watson <cjwatson@ubuntu.com>
30329
30330 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
30331 if they're already set. This resolves the conflict between my
30332 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
30333 fixing the --grub-probe option again.
30334 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
30335 change on 2009-10-06, so that we now once again source
30336 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30337
7c7b6106
RM
303382009-12-08 Robert Millan <rmh.grub@aybabtu.com>
30339
30340 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
30341 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
30342 `util/devicemap.c'.
30343
e3069ec1
CPE
303442009-12-08 Carles Pina i Estany <carles@pina.cat>
30345
30346 * include/grub/misc.h (grub_printf_): New declaration.
30347 * kern/misc.c (grub_printf_): New definition.
30348 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
30349 instead of `grub_printf' and `_'.
30350 * normal/menu_entry.c (store_completion): Likewise.
30351 (run): Likewise.
30352 (grub_menu_entry_run): Likewise.
30353 * normal/menu_text.c (grub_wait_after_message): Likewise.
30354 (notify_booting): Likewise.
30355 (notify_fallback): Likewise.
30356 (notify_execution_failure): Likewise.
30357
d6ceebf1
CW
303582009-12-07 Colin Watson <cjwatson@ubuntu.com>
30359
30360 * configure.ac: Check for vasprintf.
30361 * util/misc.c (asprintf): Move allocation from here ...
30362 (vasprintf): ... to here. New function.
30363 (xasprintf): New function.
30364 * include/grub/util/misc.h (vasprintf, xasprintf): Add
30365 prototypes.
30366 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
30367 * util/grub-mkfont.c (write_font): Likewise.
30368 * util/grub-probe.c (probe): Likewise.
30369 * util/hostdisk.c (make_device_name): Likewise.
30370
de6daa8b
DM
303712009-12-06 David S. Miller <davem@sunset.davemloft.net>
30372
30373 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
30374 anything even prefixed with 'cdrom' as a cdrom.
30375
0ad46fd7 303762009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
30377
30378 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
30379 mount points.
30380
98d3dc02
CPE
303812009-12-05 Carles Pina i Estany <carles@pina.cat>
30382
30383 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
30384 grub_gettext_msg_list.
30385 (grub_gettext_gettranslation_from_position): Return const char *
30386 and not char *.
a2c1332b 30387 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
30388 returns from the list if existing there.
30389 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
30390 (grub_gettext_delete_list): Delete the list.
30391 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
30392 lang environment variable is changed.
30393 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
30394
b283f108
VS
303952009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
30396
30397 Rename kernel.mod to kernel.img.
30398
30399 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
30400 (kernel_mod_EXPORTS): Rename to ...
30401 (kernel_img_EXPORTS): ... this.
30402 (kernel_mod_SOURCES): Rename to ...
30403 (kernel_img_SOURCES): ... this.
30404 (kernel_mod_HEADERS): Rename to ...
30405 (kernel_img_HEADERS): ... this. All users updated.
30406 (kernel_mod_CFLAGS): Rename to ...
30407 (kernel_img_CFLAGS): ... this.
30408 (kernel_mod_ASFLAGS): Rename to ...
30409 (kernel_img_ASFLAGS): ... this.
30410 (kernel_mod_LDFLAGS): Rename to ...
30411 (kernel_img_LDFLAGS): ... this.
30412 * conf/x86_64-efi.rmk: Likewise.
30413 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
30414 (read_kernel_image): ... this. All users updated.
30415 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
30416
69055f8a
CPE
304172009-12-05 Carles Pina i Estany <carles@pina.cat>
30418
30419 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
30420 (print_spaces): New function.
30421 (grub_print_ucs4): New function.
30422 (getstringwidth): New function.
30423 (print_message_indented): New function.
30424 (print_message): Gettexttize strings using print_message_indented.
30425 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
30426 width.
30427 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 30428 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
30429 Gettextize.
30430 * normal/menu_entry.c (store_completion): Cleanup the gettextized
30431 string.
30432 (run): Likewise.
30433 (grub_menu_entry_run): Likewise.
30434 * PO/POTFILES: Add normal/menu_entry.c.
30435
f616f51c
VS
304362009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
30437
30438 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
30439
57bbe3be
CPE
304402009-12-05 Carles Pina i Estany <carles@pina.cat>
30441
30442 * util/grub-install.in: Install gettext .mo files.
30443 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
30444
013d67a1
CPE
304452009-12-05 Carles Pina i Estany <carles@pina.cat>
30446
30447 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
30448 grub_dprintf.
30449
fb954db0
RM
304502009-12-05 Robert Millan <rmh.grub@aybabtu.com>
30451
30452 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
30453 non-firmware-dependant one in realmode.S takes precedence.
30454
6b8474f8
RM
304552009-12-04 Robert Millan <rmh.grub@aybabtu.com>
30456
30457 * commands/halt.c: Replace misc arch-specific headers with
30458 `<grub/misc.h>'.
30459 * commands/reboot.c: Likewise.
30460 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
30461 `<grub/misc.h>'.
30462 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
30463 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
30464 (kernel_img_SOURCES): ... to here.
30465
30466 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
30467 * include/grub/i386/pc/init.h: Likewise.
30468 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
30469 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30470
30471 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
30472
30473 * include/grub/i386/halt.h: Remove.
30474 * include/grub/i386/reboot.h: Likewise.
30475
30476 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
30477
4b2e6ca2
DM
304782009-12-03 David S. Miller <davem@sunset.davemloft.net>
30479
30480 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
30481 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
30482 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
30483 "progname.h"
30484 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
30485 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30486 (usage): Add missing comma in printf.
30487
5239348f
RM
304882009-12-02 Robert Millan <rmh.grub@aybabtu.com>
30489
30490 Use the same reboot approach on i386 coreboot and qemu as we do on
30491 BIOS.
30492
30493 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
30494 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
30495 * kern/i386/reboot.c: Remove.
30496 * include/grub/i386/reboot.h (grub_reboot): Export function.
30497 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
30498 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
30499 0xf000:0xfff0 instead of 0xffff:0x0000.
30500 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
30501 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
30502
ef34cbd4
RM
305032009-11-30 Robert Millan <rmh.grub@aybabtu.com>
30504
30505 Fix $srcdir != $objdir build.
30506
30507 * Makefile.in (po/%.po): Rewrite as ...
30508 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
30509
dc9837ea
ST
305102009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
30511
30512 Fix GNU/Hurd grub-install crash.
30513 * util/grub-probe.c (probe): Try to access `path' only when it is not
30514 NULL.
30515
2f857f98
VS
305162009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30517
30518 Correct module naming.
30519
30520 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
30521 (GRUB_MOD_INIT(efi_uga)): ... to this
30522 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
30523 (GRUB_MOD_FINI(efi_uga)): ... to this
30524 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
30525 (GRUB_MOD_INIT(efi_gop)): ... to this
30526 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
30527 (GRUB_MOD_FINI(efi_gop)): ... to this
30528
c5448046
RM
305292009-11-28 Robert Millan <rmh.grub@aybabtu.com>
30530
30531 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
30532 translatable.
30533 (usage): Translate `arg' strings using gettext().
30534 Thanks to Jordi Mallach for the suggestion.
30535
c85184ad
VS
305362009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30537
30538 GOP support. Based on patch from Bean
30539 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30540
30541 * video/efi_gop.c: New file.
30542 * include/grub/efi/graphics_output.h: Likewise.
30543 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
30544 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30545 variables.
30546 * conf/x86_64-efi.rmk: Likewise.
30547
8a4c48d8
VS
305482009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30549
30550 Rename efi_fb to efi_uga.
30551
30552 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30553 'efi_uga.mod'.
30554 (efi_fb_mod_SOURCES): Rename this ...
30555 (efi_uga_mod_SOURCES): ... to this.
30556 (efi_fb_mod_CFLAGS): Rename this ...
30557 (efi_uga_mod_CFLAGS): ... to this.
30558 (efi_fb_mod_LDFLAGS): Rename this ...
30559 (efi_uga_mod_LDFLAGS): ... to this.
30560 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30561 'efi_uga.mod'.
30562 (efi_fb_mod_SOURCES): Rename this ...
30563 (efi_uga_mod_SOURCES): ... to this.
30564 (efi_fb_mod_CFLAGS): Rename this ...
30565 (efi_uga_mod_CFLAGS): ... to this.
30566 (efi_fb_mod_LDFLAGS): Rename this ...
30567 (efi_uga_mod_LDFLAGS): ... to this.
30568 * video/efi_fb.c: Move this ...
30569 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
30570
fb6c1a7b
RM
305712009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30572
30573 * po/README: New file. Explain our PO file workflow.
30574
3bc7896c
RM
305752009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30576
30577 * po/ChangeLog: Remove. Move relevant entries back to ...
30578 * ChangeLog: ... here.
30579 * po/ca.po: Remove (now handled by TLP).
30580 * po/id.po: Likewise.
30581 * po/zh_CN.po: Likewise.
30582 * Makefile.in (LINGUAS): Initialize in a way that supports
30583 empty set.
30584
9ed4841d
RM
305852009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30586
30587 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
30588 reliing on po/LINGUAS.
30589 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
30590 (po/%.po): ... this.
30591
0ad46fd7 305922009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
30593
30594 * util/i386/efi/grub-mkimage.c: Include "progname.h".
30595 (main): Use `program_name' instead of nonexistent `progname'.
30596
e30dd392
FZ
305972009-11-26 Felix Zielcke <fzielcke@z-51.de>
30598
30599 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30600 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
30601
7656de4f
RM
306022009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30603
30604 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
30605 commit.
30606 * conf/i386-efi.rmk: Likewise.
30607 * conf/i386-ieee1275.rmk: Likewise.
30608 * conf/powerpc-ieee1275.rmk: Likewise.
30609 * conf/sparc64-ieee1275.rmk: Likewise.
30610 * conf/x86_64-efi.rmk: Likewise.
30611
db77c4d4
FZ
306122009-11-26 Felix Zielcke <fzielcke@z-51.de>
30613
30614 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
30615
a755bb04
FZ
306162009-11-26 Felix Zielcke <fzielcke@z-51.de>
30617
30618 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
30619
8a4c07fd
RM
306202009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30621
30622 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
30623 (grub_mkdevicemap_SOURCES): New variable.
30624 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
30625 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
30626 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
30627 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
30628 (grub_mkdevicemap_SOURCES): Remove.
30629 * conf/i386-efi.rmk: Likewise.
30630 * conf/i386-ieee1275.rmk: Likewise.
30631 * conf/i386-pc.rmk: Likewise.
30632 * conf/powerpc-ieee1275.rmk: Likewise.
30633 * conf/sparc64-ieee1275.rmk: Likewise.
30634 * conf/x86_64-efi.rmk: Likewise.
30635 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
30636 (usage): Fix strings to use `program_name'.
30637 (main): Initialize gettext.
30638 * util/grub-editenv.c: Likewise.
30639 * util/grub-emu.c: Likewise.
30640 * util/grub-fstest.c: Likewise.
30641 * util/grub-mkdevicemap.c: Likewise.
30642 * util/grub-mkfont.c: Likewise.
30643 * util/grub-mkrelpath.c: Likewise.
30644 * util/grub-pe2elf.c: Likewise.
30645 * util/grub-probe.c: Likewise.
30646 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30647 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
30648 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30649
30650 * util/misc.c: Include `"progname.h"'.
30651 (progname): Remove variable.
30652 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
30653
6f61ed55
FZ
306542009-11-25 Felix Zielcke <fzielcke@z-51.de>
30655
30656 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
30657 printf and print a newline after the menuentry header line.
30658 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30659
f022876b
FZ
306602009-11-25 Felix Zielcke <fzielcke@z-51.de>
30661
30662 autoconf >= 2.60 support $(localedir).
30663
30664 * INSTALL: Note that autoconf 2.60 is required.
30665 * configure.ac (AC_PREREQ): Bump to 2.60.
30666 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
30667 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
30668
6717926e
YB
306692009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
30670
30671 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
30672 aclocal is run.
30673
08806a54
RM
306742009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30675
30676 * normal/main.c (grub_normal_read_line): Fix off-by-one
30677 buffer overflow.
30678
13b33fba
RM
306792009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30680
30681 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
30682 "parser.grub" in grub_command_execute() call.
30683
4a8572e9
CPE
306842009-11-24 Carles Pina i Estany <carles@pina.cat>
30685
30686 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
30687 * conf/i386-efi.rmk: Likewise.
30688 * conf/i386-ieee1275.rmk: Likewise.
30689 * conf/i386-pc.rmk: Likewise.
30690 * conf/powerpc-ieee1275.rmk: Likewise.
30691 * conf/sparc64-ieee1275.rmk: Likewise.
30692 * conf/x86_64-efi.rmk: Likewise.
30693 * gettext/gettex.c: Include <grub/i18n.h>.
30694 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
30695 here ...
30696 * include/grub/i18n.h: ... to here
30697 * include/grub/i18n.h: ... to here.
30698 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 30699 (grub_gettext_dummy): Move above user.
4a8572e9 30700
bee48093
FZ
307012009-11-24 Felix Zielcke <fzielcke@z-51.de>
30702
30703 * util/Makefile.in (install-local): Convert a `for' into a normal
30704 shell expansion.
30705
a031e91c
RM
307062009-11-24 Robert Millan <rmh.grub@aybabtu.com>
30707
30708 * autogen.sh: Add automake call.
30709 * config.guess: Remove.
30710 * config.sub: Likewise.
30711 * install-sh: Likewise.
30712
26bec39d
FZ
307132009-11-24 Felix Zielcke <fzielcke@z-51.de>
30714
30715 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
30716
8e2532fd
FZ
307172009-11-24 Felix Zielcke <fzielcke@z-51.de>
30718
30719 * util/Makefile.in (install-local): Convert a make `$(foreach)'
30720 function to a normal shell `for'.
30721
fefa1b7d
FZ
307222009-11-24 Felix Zielcke <fzielcke@z-51.de>
30723
30724 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30725
4501250b
FZ
307262009-11-24 Felix Zielcke <fzielcke@z-51.de>
30727
30728 * util/grub-mkrelpath.c: New file.
30729 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
30730 (grub_mkrelpath_SOURCES): New variable.
30731 * include/grub/util/misc.h: New function prototype.
30732 * util/misc.c (make_system_path_relative_to_its_root): New function.
30733
30734 * util/grub-mkconfig_lib.in (bindir): New variable.
30735 (grub_mkrelpath): Likewise.
30736 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
30737
30738 * util/probe.c (probe): Make the file path relative to its root.
30739 Change a info message to use the GRUB path. Enable again the
30740 check if we can read the file with GRUB facilities.
30741
30742 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
30743 to its root.
30744
11d9778b
FZ
307452009-11-24 Felix Zielcke <fzielcke@z-51.de>
30746
30747 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
30748 platform.
30749
4465287d
FZ
307502009-11-24 Felix Zielcke <fzielcke@z-51.de>
30751
30752 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
30753 strncmp().
30754
62b47f22
FZ
307552009-11-24 Felix Zielcke <fzielcke@z-51.de>
30756
30757 * util/getroot.c (grub_util_is_dmraid): New function.
30758 (grub_util_get_dev_abstraction): Treat dmraid and multipath
30759 devices as normal ones, not as LVM.
30760
1eafb9b9 307612009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
30762
30763 * conf/common.rmk: Add grub-gettext_lib target and updates
30764 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
30765 LDFLAGS.
30766 * gettext/gettext.c: New file. (Reads mo files).
30767 * include/grub/file.h (grub_file_pread): New prototype.
30768 * include/grub/i18n.h (_): New prototype.
30769 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
30770 prototypes.
30771 * kern/misc.c (grub_gettext_dummy): New function.
30772 * normal/menu_text.c: Include <grub/i18n.h>.
30773 * normal/menu_text.c (print_timeout): Gettexttize string.
30774 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
30775 * po/POTFILES: Add `normal/menu_text.c'.
30776 * po/ca.po: Add new translations.
c3ea6bd4
CPE
30777 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
30778 gettext module and defines locale_dir and lang in grub.cfg.
30779 * NEWS: Add gettext support.
30780
0fdb2568
RM
307812009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30782
30783 * util/hostdisk.c: Include `<grub/i18n.h>'.
30784 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
30785 (make_device_name): Rewrite using asprintf.
30786 (convert_system_partition_to_system_disk): Replace 0 with NULL.
30787 (find_system_device): If a device is not found, generate one just
30788 by reusing the OS path name.
30789 (read_device_map): Make it permissible for device.map not to exist.
30790
f515aa62
RM
307912009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30792
30793 * script/sh/execute.c: Move from here ...
30794 * script/execute.c: ... to here. Update all users.
30795 * script/sh/function.c: Move from here ...
30796 * script/function.c: ... to here. Update all users.
30797 * script/sh/lexer.c: Move from here ...
30798 * script/lexer.c: ... to here. Update all users.
30799 * script/sh/main.c: Move from here ...
30800 * script/main.c: ... to here. Update all users.
30801 * script/sh/parser.y: Move from here ...
30802 * script/parser.y: ... to here. Update all users.
30803 * script/sh/script.c: Move from here ...
30804 * script/script.c: ... to here. Update all users.
30805
f84b481b
RM
308062009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30807
30808 * configure.ac: Detect all `emu' platforms. Define
30809 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
30810 --enable-grub-emu logic. Disable include/grub/machine
30811 symlink on `emu' platforms.
30812
30813 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
30814 * gensymlist.sh.in: Likewise.
30815
30816 * include/grub/i386/coreboot/machine.h: Remove file.
30817 * include/grub/i386/efi/machine.h: Likewise.
30818 * include/grub/i386/ieee1275/machine.h: Likewise.
30819 * include/grub/i386/pc/machine.h: Likewise.
30820 * include/grub/i386/qemu/machine.h: Likewise.
30821 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30822 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30823 * include/grub/x86_64/efi/machine.h: Likewise.
30824
30825 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
30826 * commands/halt.c: Likewise.
30827 * commands/reboot.c: Likewise.
30828 * include/grub/autoefi.h: Likewise.
30829 * include/grub/i386/at_keyboard.h: Likewise.
30830 * include/grub/i386/kernel.h: Likewise.
30831 * include/grub/i386/loader.h: Likewise.
30832 * include/grub/i386/pc/memory.h: Likewise.
30833 * kern/dl.c: Likewise.
30834 * kern/i386/coreboot/init.c: Likewise.
30835 * loader/i386/bsd.c: Likewise.
30836 * loader/i386/linux.c: Likewise.
30837 * loader/multiboot_loader.c: Likewise.
30838 * term/i386/pc/serial.c: Likewise.
30839 * term/usb_keyboard.c: Likewise.
30840
30841 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
30842 `<grub/machine/machine.h>'
30843 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
30844 * util/misc.c: Remove `<grub/machine/machine.h>' and
30845 `<grub/machine/time.h>'.
30846
30847 * Makefile.in (enable_grub_emu): Remove variable.
30848 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
30849
30850 * conf/any-emu.rmk: New file.
30851 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
30852 (grub_emu_init.c): Move from here ...
30853 * conf/any-emu.rmk: ... to here.
30854
30855 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
30856 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
30857 * conf/any-emu.rmk: ... to here.
30858
4efeab03
RM
308592009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30860
30861 * include/grub/parser.h (grub_parser_register): Document need
30862 of `name' parameter.
30863 * normal/main.c (grub_normal_read_line): Simplify prompt string.
30864 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
30865 "sh" to "grub".
30866
ea1dd8bf
RM
308672009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30868
30869 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
30870 `$(XGETTEXT)'.
30871 * include/grub/i18n.h (N_): New macro.
30872 * util/mkisofs/mkisofs.h: Likewise.
30873 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
30874 around N_().
30875 (usage): Use gettext() to translate help strings when printing them.
30876
0c140626
RM
308772009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30878
30879 Based on patch from Bean
30880 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30881
30882 * video/efi_fb.c: New file.
30883 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
30884 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30885 variables.
30886 * conf/x86_64-efi.rmk: Likewise.
30887
87d58298
RM
308882009-11-22 Robert Millan <rmh.grub@aybabtu.com>
30889
30890 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
30891 * util/i386/pc/grub-setup.c: Likewise.
30892
994cc3a3
ST
308932009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
30894
30895 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
30896 <hurd/fs.h>
30897 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
30898 file_get_storage_info to implement grub_guess_root_device.
30899
26a61d6a
FZ
309002009-11-21 Felix Zielcke <fzielcke@z-51.de>
30901
30902 * Makefile.in (target): Use make's builtin $(shell) function
30903 instead of calling directly $(SHELL) to create the locale directories,
30904 inside the $(foreach) function.
30905
74ff1dd5
FZ
309062009-11-21 Felix Zielcke <fzielcke@z-51.de>
30907
30908 * util/grub-mkrescue.in: Print an error and usage if output option
30909 has not been given.
30910
0b787d0e
FZ
309112009-11-21 Felix Zielcke <fzielcke@z-51.de>
30912
30913 Patch from Loïc Minier <loic.minier@ubuntu.com>.
30914 * util/grub.d/30_os-prober.in: Cope with Linux entries where
30915 root and /boot are on different devices.
30916
1164b270
RM
309172009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30918
30919 Fix build for srcdir != objdir.
30920
30921 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
30922 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
30923 $(srcdir).
30924 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
30925 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
30926 reference for input.
30927
13774a2f
RM
309282009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30929
30930 * util/grub-mkrescue.in: Use source directory direcly (without copiing
30931 or hardlinking it). Remove -J option, Joliet is not compatible with
30932 multiple source directories.
30933
efda854e
RM
309342009-11-21 Carles Pina i Estany <carles@pina.cat>
309352009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30936
30937 * util/grub-mkrescue.in: Recognize `--override-directory' option.
30938 (process_input_dir): New function. Process an arbitrary input
30939 directory.
30940 Misc adjustments to support both "override mode" and system-wide mode.
30941
6c09890c
FZ
309422009-11-20 Felix Zielcke <fzielcke@z-51.de>
30943
30944 * configure.ac (UNIFONT_BDF): Rename to ...
30945 (FONT_SOURCE): ... this. Update all users.
30946
a797824f
FZ
309472009-11-20 Felix Zielcke <fzielcke@z-51.de>
30948
30949 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
30950 to the list of unifont files to look for.
30951
cd4f42b0
RM
309522009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30953
30954 Patch from Joe Auricchio <jauricchio@gmail.com>
30955 * commands/minicmd.c (grub_mini_cmd_clear): New function.
30956 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
30957 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
30958
393c783d
FZ
309592009-11-19 Felix Zielcke <fzielcke@z-51.de>
30960
30961 * Makefile.in (install-local): Add a missing backslash.
30962
b2f1e327
FZ
309632009-11-19 Felix Zielcke <fzielcke@z-51.de>
30964
30965 * include/grub/x86_64/io.h: New file.
30966
f577f7a0
RM
309672009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30968
30969 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
30970 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
30971 Include `"progname.h"'.
30972 (main): Initialize gettext.
30973 * util/i386/pc/grub-setup.c: Gettexttize.
30974 * util/i386/pc/grub-mkimage.c: Likewise.
30975
30976 * Makefile.in (po/*.po): Redefine as ...
30977 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
30978
3bc7896c
RM
30979 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
30980
c37943b6
RM
309812009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30982
30983 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
30984 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
30985 (program_name): Remove.
30986 (main): Initialize gettext support.
6323f705
RM
30987 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
30988 Include `<libintl.h>'.
30989 (_): New macro.
c37943b6
RM
30990
30991 * util/mkisofs/eltorito.c: Gettexttize.
30992 * util/mkisofs/joliet.c: Likewise.
30993 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
30994 * util/mkisofs/multi.c: Likewise.
30995 * util/mkisofs/rock.c: Likewise.
30996 * util/mkisofs/tree.c: Likewise.
30997 * util/mkisofs/write.c: Likewise.
30998
3bc7896c
RM
30999 * po/POTFILES: Update with new files.
31000
5ce77c6e
RM
310012009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31002
31003 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
31004 * util/mkisofs/iso9660.h: Likewise.
31005 * util/mkisofs/joliet.c: Likewise.
31006 * util/mkisofs/mkisofs.c: Likewise.
31007 * util/mkisofs/mkisofs.h: Likewise.
31008 * util/mkisofs/rock.c: Likewise.
31009 * util/mkisofs/tree.c: Likewise.
31010 * util/mkisofs/write.c: Likewise.
31011
31012 * util/mkisofs/eltorito.c (rcsid): Remove.
31013 * util/mkisofs/hash.c: Likewise.
31014 * util/mkisofs/joliet.c: Likewise.
31015 * util/mkisofs/name.c: Likewise.
31016 * util/mkisofs/rock.c: Likewise.
31017 * util/mkisofs/tree.c: Likewise.
31018 * util/mkisofs/write.c: Likewise.
31019
1dabbc77
RM
310202009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31021
31022 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
31023 instead of static allocation.
31024 * util/mkisofs/match.h: Likewise.
31025
633877cb
RM
310262009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31027
3bc7896c
RM
31028 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
31029 and `util/grub.d/10_linux.in'.
633877cb
RM
31030 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
31031 translatable Shell files.
31032
af1c0c85
RM
310332009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31034
31035 * Makefile.in ($(srcdir)/aclocal.m4): New target.
31036
769ae37b
RM
310372009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31038
31039 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 31040 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
31041 * util/grub.d/10_kfreebsd.in (bindir): New variable.
31042 Add gettext initialization.
31043 (kfreebsd_entry): Make menuentry output translatable.
31044
310452009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31046
31047 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
31048 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
31049 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
31050 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
31051 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 31052 * po/LINGUAS: New file.
769ae37b
RM
31053
310542009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31055
31056 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
31057 other things).
31058 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
31059 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
31060 bindtextdomain() calls for gettext initialization.
31061
310622009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31063
31064 * gnulib/progname.c: New file (imported from Gnulib).
31065 * gnulib/progname.h: Likewise.
31066 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31067 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
31068 (usage): Replace `progname' with `program_name'.
31069 (main): Use set_program_name() for program name initialization.
31070
310712009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31072
31073 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
31074 from here ...
31075 * Makefile.in (CPPFLAGS): ... to here.
31076
310772009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31078
31079 * aclocal.m4: Move from here ...
31080 * acinclude.m4: ... to here.
31081 * autogen.sh: Add call to `aclocal'.
31082 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
31083
310842009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31085
31086 * Makefile.in (CLEANFILES): Add `po/*.mo'.
31087 (LINGUAS): New variable.
31088 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
31089 (install-local): Install MO files.
31090 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
31091 * include/grub/i18n.h: New file.
3bc7896c
RM
31092 * po/POTFILES: New file.
31093 * po/ca.po: New file.
769ae37b
RM
31094 * util/grub.d/10_linux.in (bindir): New variable.
31095 Add gettext initialization.
31096 (linux_entry): Make menuentry output translatable.
31097 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
31098 (usage): Make --help output translatable.
31099 (main): Initialize gettext.
31100
02c0a6ad
RM
311012009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31102
31103 * import_gcry.py: New file (written by Vladimir with minor
31104 adjustments).
31105 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
31106 ciphers.
31107 * INSTALL: Document that Python is required for bootstrap.
31108
311092009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31110
31111 Import ciphers from libgcrypt 1.4.4.
31112
31113 * lib/libgcrypt/cipher/ChangeLog
31114 * lib/libgcrypt/cipher/ac.c
31115 * lib/libgcrypt/cipher/arcfour.c
31116 * lib/libgcrypt/cipher/bithelp.h
31117 * lib/libgcrypt/cipher/blowfish.c
31118 * lib/libgcrypt/cipher/camellia-glue.c
31119 * lib/libgcrypt/cipher/camellia.c
31120 * lib/libgcrypt/cipher/camellia.h
31121 * lib/libgcrypt/cipher/cast5.c
31122 * lib/libgcrypt/cipher/cipher.c
31123 * lib/libgcrypt/cipher/crc.c
31124 * lib/libgcrypt/cipher/des.c
31125 * lib/libgcrypt/cipher/dsa.c
31126 * lib/libgcrypt/cipher/ecc.c
31127 * lib/libgcrypt/cipher/elgamal.c
31128 * lib/libgcrypt/cipher/hash-common.c
31129 * lib/libgcrypt/cipher/hash-common.h
31130 * lib/libgcrypt/cipher/hmac-tests.c
31131 * lib/libgcrypt/cipher/md.c
31132 * lib/libgcrypt/cipher/md4.c
31133 * lib/libgcrypt/cipher/md5.c
31134 * lib/libgcrypt/cipher/primegen.c
31135 * lib/libgcrypt/cipher/pubkey.c
31136 * lib/libgcrypt/cipher/rfc2268.c
31137 * lib/libgcrypt/cipher/rijndael-tables.h
31138 * lib/libgcrypt/cipher/rijndael.c
31139 * lib/libgcrypt/cipher/rmd.h
31140 * lib/libgcrypt/cipher/rmd160.c
31141 * lib/libgcrypt/cipher/rsa.c
31142 * lib/libgcrypt/cipher/seed.c
31143 * lib/libgcrypt/cipher/serpent.c
31144 * lib/libgcrypt/cipher/sha1.c
31145 * lib/libgcrypt/cipher/sha256.c
31146 * lib/libgcrypt/cipher/sha512.c
31147 * lib/libgcrypt/cipher/tiger.c
31148 * lib/libgcrypt/cipher/twofish.c
31149 * lib/libgcrypt/cipher/whirlpool.c
31150
af2f93ac
RM
311512009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31152
31153 Fix build for systems without error().
31154
31155 * gnulib/error.c: New file (imported from Gnulib).
31156 * gnulib/error.h: Likewise.
31157 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
31158 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
31159 (this variable is now used by error()).
31160
73fb3dd5
FZ
311612009-11-16 Felix Zielcke <fzielcke@z-51.de>
31162
814f5e96
FZ
31163 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
31164 instead of relying that char is signed.
73fb3dd5 31165
a691ca33
VS
311662009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
31167
31168 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
31169 blocksize different from specified.
31170 (grub_pxefs_read): Likewise.
31171
2af8f0f4
FZ
311722009-11-16 Felix Zielcke <fzielcke@z-51.de>
31173
31174 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
31175
31176 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
31177 (grub_ata_readwrite): Likewise. Update 2 format strings.
31178 (grub_atapi_read): Likewise.
31179
31180 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
31181 * conf/i386.rmk (pkglib_MODULES): ... to here ...
31182 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
31183 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
31184 (ata_mod_LDFLAGS): Move from here ...
31185 * conf/i386.rmk: ... to here ...
31186 * conf/x86_64-efi.rmk: ... and here.
31187 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
31188 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
31189
83bdecaf
RM
311902009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31191
31192 Relicense multiboot.h, with RMS' blessing.
31193
31194 * include/multiboot.h: Change to X11 license.
31195
fd6fd3d7
RM
311962009-11-15 Robert Millan <rmh.grub@aybabtu.com>
31197
31198 Support --version in grub-mkisofs.
31199
31200 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
31201 (OPTION_VERSION): New macro.
31202 (ld_options): Recognize --version.
31203 (usage): Move `program_name' from here ...
31204 (program_name): ... to here. Add `static' qualifier.
31205 (main): Recognize `OPTION_VERSION'.
31206
16a88c49
FZ
312072009-11-15 Felix Zielcke <fzielcke@z-51.de>
31208
31209 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
31210 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
31211
a4158476
RM
312122009-11-14 Robert Millan <rmh.grub@aybabtu.com>
31213
31214 Fix help2man generation for mkisofs.
31215
31216 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
31217 (usage): Send output to stdout (rather than stderr).
31218
fc2208b0
RM
312192009-11-14 Robert Millan <rmh.grub@aybabtu.com>
31220
31221 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
31222 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
31223 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
31224 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
31225 (bin_SCRIPTS): Add `grub-mkfloppy'.
31226 (grub_mkfloppy_SOURCES): New variable.
31227
31228 * util/grub-mkrescue.in: New file.
31229 * util/i386/pc/grub-mkfloppy.in: New file.
31230
31231 * util/i386/coreboot/grub-mkrescue.in: Remove.
31232 * util/i386/pc/grub-mkrescue.in: Remove.
31233
8d0edf4a
RM
312342009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31235
31236 * include/grub/multiboot.h (struct grub_multiboot_header): Move
31237 from here ...
31238 * include/multiboot.h (struct multiboot_header): ... to here. Update
31239 all users.
31240 * include/grub/multiboot.h (struct grub_multiboot_info): Move
31241 from here ...
31242 * include/multiboot.h (struct multiboot_info): ... to here. Update
31243 all users.
31244 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
31245 from here ...
31246 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
31247 Update all users.
31248 * include/grub/multiboot.h (struct grub_mod_list): Move
31249 from here ...
31250 * include/multiboot.h (struct multiboot_mod_list): ... to here.
31251 Update all users.
31252
a73f5969
RM
312532009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31254
31255 * include/multiboot2.h (multiboot_word): Rename from this ...
31256 (multiboot2_word): ... to this. Update all users.
31257 (multiboot_header): Rename from this ...
31258 (multiboot2_header): ... to this. Update all users.
31259 (multiboot_tag_header): Rename from this ...
31260 (multiboot2_tag_header): ... to this. Update all users.
31261 (multiboot_tag_start): Rename from this ...
31262 (multiboot2_tag_start): ... to this. Update all users.
31263 (multiboot_tag_name): Rename from this ...
31264 (multiboot2_tag_name): ... to this. Update all users.
31265 (multiboot_tag_module): Rename from this ...
31266 (multiboot2_tag_module): ... to this. Update all users.
31267 (multiboot_tag_memory): Rename from this ...
31268 (multiboot2_tag_memory): ... to this. Update all users.
31269 (multiboot_tag_unused): Rename from this ...
31270 (multiboot2_tag_unused): ... to this. Update all users.
31271 (multiboot_tag_end): Rename from this ...
31272 (multiboot2_tag_end): ... to this. Update all users.
31273
1c8927f0
RM
312742009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31275
31276 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
31277 this platform we should support Multiboot1 first.
31278
31279 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
31280 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
31281 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
31282
6e1e0d89
RM
312832009-11-12 Robert Millan <rmh.grub@aybabtu.com>
31284
31285 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
31286 of write calls (converting them to fwrite() if they aren't already).
31287 (get_torito_desc): Likewise.
31288 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
31289
7f2b34d8
RM
312902009-11-12 Robert Millan <rmh.grub@aybabtu.com>
31291
31292 * util/i386/pc/grub-install.in: Move from here ...
31293 * util/grub-install.in: ... to here. Update all users.
31294
c0ef3311
CW
312952009-11-11 Colin Watson <cjwatson@ubuntu.com>
31296
31297 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
31298
e1f240ff
RM
312992009-11-11 Robert Millan <rmh.grub@aybabtu.com>
31300
31301 Support for El Torito without floppy emulation.
31302
31303 * util/mkisofs/eltorito.c: Include `<errno.h>'.
31304 (init_boot_catalog): Improve error handling.
31305 (get_torito_desc): Don't use floppy emulation unless requested by
31306 user. Patch boot information table when requested via
31307 `-boot-info-table'.
31308 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
31309 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
31310 (use_boot_info_table): New variables.
31311 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
31312 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
31313 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
31314 `--eltorito-emul-floppy'.
31315 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
31316 and `OPTION_ELTORITO_EMUL_FLOPPY'.
31317 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
31318 (use_boot_info_table, get_731): New prototypes.
31319 * util/mkisofs/write.c (get_731): New function.
31320
af7d4de5
FZ
313212009-11-11 Felix Zielcke <fzielcke@z-51.de>
31322
31323 Fix the generation of the man page.
31324
31325 * util/pc/i386/grub-install.in: Source
31326 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31327
2c55dbc0
RM
313282009-11-11 Robert Millan <rmh.grub@aybabtu.com>
31329
31330 Large file support for grub-mkisofs.
31331
31332 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
31333 * util/mkisofs/mkisofs.c (next_extent, last_extent)
31334 (session_start): Upgrade type to `uint64_t'. Update all users.
31335 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
31336 (struct directory_entry): Upgrade type of `starting_block' and
31337 `size' to `uint64_t'. Update all users.
31338 (struct deferred): Remove unused structure.
31339 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
31340 Update all users.
31341 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
31342 file is larger than `UINT32_MAX'.
31343 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
31344 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
31345 return value.
31346 (struct deferred_write): Upgrade type of `extent' and `size' to
31347 `uint64_t'. Update all users.
31348 (last_extent_written): Upgrade type to `uint64_t'. Update all
31349 users.
31350 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
31351 Update all users. Upgrade type of `remain' to `int64_t' and
31352 `use' to `size_t'. Use error() to handle fread() errors.
31353 (write_files): Rely on write_one_file() rather than calling
31354 xfwrite() directly.
31355
6a9cead5
FZ
313562009-11-09 Felix Zielcke <fzielcke@z-51.de>
31357
31358 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
31359
4825d790
RM
313602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31361
31362 * util/mkisofs/fnmatch.c: Remove.
31363 * util/mkisofs/getopt1.c: Likewise.
31364 * util/mkisofs/getopt.c: Likewise.
31365 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
31366 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
31367 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
31368 `gnulib/getopt1.c' and `gnulib/getopt.c'.
31369 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
31370
31371 * configure.ac: Detect `mingw32msvc' host_os.
31372 Check for lstat(), getuid() and getgid().
31373
31374 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
31375 instances of `u_char' with `uint8_t'.
31376
31377 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
31378 [!HAVE_GETUID] (getuid): New function (stub).
31379 [!HAVE_GETGID] (getgid): Likewise.
31380 [!HAVE_LSTAT] (lstat): Likewise.
31381 [!S_IROTH] (S_IROTH): New macro (dummy).
31382 [!S_IRGRP] (S_IRGRP): Likewise.
31383
84b860d8
RM
313842009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31385
31386 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
31387 conditional expression).
31388
66e9b712
RM
313892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31390
31391 Import from Gnulib.
31392
31393 * gnulib/fnmatch.c: New file.
31394 * gnulib/fnmatch.h: Likewise.
31395 * gnulib/fnmatch_loop.c: Likewise.
31396 * gnulib/getopt.c: Likewise.
31397 * gnulib/getopt.h: Likewise.
31398 * gnulib/getopt1.c: Likewise.
31399 * gnulib/getopt_int.h: Likewise.
31400 * gnulib/gettext.h: Likewise.
31401
34f4a5b0
RM
314022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31403
31404 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
31405 * normal/handler.c (read_handler_list): Likewise.
31406
ac451143
RM
314072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31408
31409 Misc cleanup.
31410
31411 * kern/command.c (grub_register_command_prio): Use
31412 grub_zalloc() instead of explicitly zeroing data.
31413 * kern/list.c: Include `<grub/mm.h>'.
31414 (grub_named_list_find): Replace `0' with `NULL'.
31415 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
31416 (fs_module_list): Change type to `grub_named_list_t'. Update all
31417 users.
31418 * normal/dyncmd.c (read_command_list): Add space between function
31419 call and parenthesis.
31420 * normal/handler.c (read_handler_list): Likewise.
31421
4089b167
RM
314222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31423
31424 * normal/auth.c (punishment_delay): Moved from here ...
31425 (grub_auth_strcmp): ... to here (inside function).
31426
325f5037
RM
314272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31428
31429 * include/grub/list.h (struct grub_named_list): Remove `const'
31430 qualifier from `name'.
31431 (struct grub_prio_list): Likewise.
31432
7aea29a3
RM
314332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31434
31435 * normal/auth.c: Include `<grub/time.h>'.
31436 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
31437
3fd6f044
RM
314382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31439
31440 * normal/auth.c (punishment_delay): New variable.
31441 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
31442 (grub_auth_check_authentication): Punish failed login attempts with
31443 an incremental (2^N) delay.
31444
a4cd68e4
RM
314452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31446
31447 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
31448 path with $(srcdir).
31449
7ad12f43
VS
314502009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
31451
31452 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
31453
c1129f03
RM
314542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31455
31456 * util/i386/coreboot/grub-mkrescue.in: New file.
31457 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
31458 variables.
31459
31460 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
31461 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
31462 * configure.ac: Add header and function checks to satisfy grub-mkisofs
31463 requirements.
31464 * util/mkisofs/defaults.h: New file.
31465 * util/mkisofs/eltorito.c: Likewise.
31466 * util/mkisofs/exclude.h: Likewise.
31467 * util/mkisofs/fnmatch.c: Likewise.
31468 * util/mkisofs/getopt.c: Likewise.
31469 * util/mkisofs/getopt1.c: Likewise.
31470 * util/mkisofs/hash.c: Likewise.
31471 * util/mkisofs/include/fctldefs.h: Likewise.
31472 * util/mkisofs/include/mconfig.h: Likewise.
31473 * util/mkisofs/include/prototyp.h: Likewise.
31474 * util/mkisofs/include/statdefs.h: Likewise.
31475 * util/mkisofs/iso9660.h: Likewise.
31476 * util/mkisofs/joliet.c: Likewise.
31477 * util/mkisofs/match.c: Likewise.
31478 * util/mkisofs/match.h: Likewise.
31479 * util/mkisofs/mkisofs.c: Likewise.
31480 * util/mkisofs/mkisofs.h: Likewise.
31481 * util/mkisofs/multi.c: Likewise.
31482 * util/mkisofs/name.c: Likewise.
31483 * util/mkisofs/rock.c: Likewise.
31484 * util/mkisofs/tree.c: Likewise.
31485 * util/mkisofs/write.c: Likewise.
31486
ec8bb77d
VS
314872009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
31488
31489 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
31490 being insecure.
31491
3716b12c
RM
314922009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31493
31494 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
31495 `grub-mkimage' (and use $0 when possible).
31496
b97b7b91
RM
314972009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31498
31499 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
31500 error message for excessively large memory map.
31501
04114812
RM
315022009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31503
31504 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
31505 executable bit.
31506
e4eb2373
RM
315072009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31508
31509 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
31510 message for coreboot users.
31511
c926e1d5 315122009-11-07 Robert Millan <rmh.grub@aybabtu.com>
31513
31514 Fix build with GNU gold.
31515
31516 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
31517 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
31518 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
31519 link addresses.
31520 * aclocal.m4: Likewise.
31521
86e5b1db 315222009-11-04 Felix Zielcke <fzielcke@z-51.de>
31523
31524 * configure.ac (AC_PREREQ): Bump to 2.59d.
31525 * INSTALL: Make it more clear when Autoconf and Ruby are
31526 needed and when to run `./autogen.sh'.
31527
246cd78f 315282009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
31529
31530 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
31531 OSes.
31532
4f9dfb37 315332009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31534
31535 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
31536
b82bd5e1 315372009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31538
31539 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
31540 giving it to GNU Mach.
31541
ff1a9bca 315422009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31543
31544 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
31545 GNU partition number to get internal GRUB partition number.
31546
61697d9c 315472009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31548
31549 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
31550 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
31551
a50569e1 315522009-11-01 Robert Millan <rmh.grub@aybabtu.com>
31553
31554 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
31555 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
31556 case.
31557
5b153867 315582009-11-01 Felix Zielcke <fzielcke@z-51.de>
31559
31560 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
31561
d9e2cd70 315622009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31563
31564 Fix build problem.
31565
31566 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
31567 `-isystem=$(srcdir)/include'.
31568
805111a4 315692009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31570
31571 * util/i386/pc/grub-install.in: Remove hint that device.map should be
31572 checked (grub-install doesn't currently rely on it).
31573
fa6e945f 315742009-10-29 Robert Millan <rmh.grub@aybabtu.com>
31575
31576 Revert SVN r2660.
31577
31578 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
31579 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31580 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
31581 * conf/i386-ieee1275.rmk: Likewise.
31582 * conf/i386-pc.rmk: Likewise.
31583 * conf/powerpc-ieee1275.rmk: Likewise.
31584 * conf/sparc64-ieee1275.rmk: Likewise.
31585 * conf/x86_64-efi.rmk: Likewise.
31586
cee15086 315872009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31588
31589 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
31590
95b9239e 315912009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31592
31593 * include/grub/misc.h: Stop checking for APPLE_CC.
31594
2ed19dfd 315952009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31596
31597 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
31598 doesn't cause an infinite call loop.
31599
fdcdde19 316002009-10-28 Felix Zielcke <fzielcke@z-51.de>
31601
31602 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
31603 strings.
31604
cefabfe1 316052009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31606
31607 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
31608 variable.
31609 * Makefile.in: Likewise.
31610
ed96ab6d 316112009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31612
31613 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
31614
0579b753 316152009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31616
31617 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
31618
478df409 316192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31620
31621 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
31622
083d1679 316232009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31624
31625 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
31626 from here ...
31627 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
31628
5947ae32 316292009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31630
31631 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
31632 in $(MAKEINFO) invocation. This makes it clear in output that
31633 errors are being ignored.
31634
94180ff6 316352009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31636
31637 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
31638 from here ...
31639 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31640 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
31641 * conf/i386-ieee1275.rmk: Likewise.
31642 * conf/i386-pc.rmk: Likewise.
31643 * conf/powerpc-ieee1275.rmk: Likewise.
31644 * conf/sparc64-ieee1275.rmk: Likewise.
31645 * conf/x86_64-efi.rmk: Likewise.
31646
9031b03a 316472009-10-26 Colin Watson <cjwatson@ubuntu.com>
31648
31649 * util/grub-editenv.c (main): If only a command is given, use
31650 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
31651 (usage): FILENAME is now optional and has a default.
31652
e4f6809b 316532009-10-26 Colin Watson <cjwatson@ubuntu.com>
31654
31655 Improve grub-mkconfig performance when there are several menu
31656 entries on a single filesystem.
31657
31658 * util/grub.d/10_linux.in (linux_entry): Cache the output of
31659 prepare_grub_to_access_device.
31660 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31661 * util/grub.d/30_os-prober.in: Likewise.
31662
67937d4d 316632009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31664
31665 * util/grub.d/10_freebsd.in: Remove.
31666 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
31667 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
31668
ee3756cc 316692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31670
5c35048e 31671 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 31672
4dea1c6f 316732009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31674
31675 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
31676 grub_util_error() call.
31677
042484d7 316782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31679
31680 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
31681 `reserved_first_sector' member.
31682 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
31683 `reserved_first_sector' to 1.
31684 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
31685 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
31686 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
31687 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
31688 filesystems which begin at first sector.
31689 (options): New option --skip-fs-probe.
31690 (main): Handle --skip-fs-probe and pass it to setup().
31691
d64448a7 316922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31693
31694 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
31695 (memset): Fix function prototype.
31696
508d42ec 316972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
316982009-10-25 Vasily Averin <vvs@parallels.com>
31699
31700 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
31701 `dirent.direntlen == 0'.
31702
b240e30c 317032009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31704
31705 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
31706 `cpio'.
31707 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
31708
346e7fbe 317092009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31710
31711 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
31712 `__trampoline_setup' and `__ucmpdi2'.
31713 * include/grub/powerpc/libgcc.h: Only export symbols for functions
31714 that libgcc provides.
31715
cdb308b0 317162009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31717
31718 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
31719 * include/grub/sparc64/libgcc.h (memset): Likewise.
31720 * include/grub/misc.h (memset, memcmp): New function prototypes.
31721
fb26abc2 317222009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31723
31724 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
31725 `cpio'.
31726 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
31727
f6693890 317282009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31729
31730 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
31731 * docs/grub.cfg: Compensate for recent change in multiboot
31732 loader (since 2009-08-14 it won't pass filename to payload).
31733 * util/grub.d/10_hurd.in: Likewise.
31734
0933cdc0 317352009-10-21 Felix Zielcke <fzielcke@z-51.de>
31736
31737 * config.guess: Update to latest version from config git
31738 repository.
31739 * config.sub: Likewise.
31740
3b2fe8c2 317412009-10-20 Robert Millan <rmh.grub@aybabtu.com>
31742
31743 Fix build on sparc64.
31744
31745 * configure.ac: Perform checks for libgcc symbols before
31746 adding `-nostdlib' to LDFLAGS.
31747
46695a62 317482009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31749
31750 Let user specify OpenBSD root device.
31751
31752 * loader/i386/bsd.c (openbsd_root): New variable.
31753 (openbsd_opts): New option 'root'.
31754 (OPENBSD_ROOT_ARG): New macro.
31755 (grub_openbsd_boot): Use 'openbsd_root'.
31756 (grub_cmd_openbsd): Fill 'openbsd_root'.
31757
d2b6b7fc 317582009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31759
31760 * NEWS: Misc adjustments.
31761
421bd7ac 317622009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31763
31764 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
31765
f1d29d87 317662009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31767
31768 * configure.ac: Bump version to 1.97.
31769
6f3cd880 317702009-10-16 Colin Watson <cjwatson@ubuntu.com>
31771
31772 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
31773 -mno-3dnow on x86 architectures. Some toolchains enable these
31774 features by default, but they rely on registers that aren't enabled
31775 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
31776
035f7122 317772009-10-15 Robert Millan <rmh.grub@aybabtu.com>
31778
31779 Make entry text a bit more readable.
31780
31781 * util/grub.d/10_linux.in: Add `with' before `Linux'.
31782
44998e58 317832009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31784
31785 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
31786
cd2851b3 317872009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31788
31789 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
31790 operations.
31791
c6f3b249 317922009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31793
31794 * configure.ac: Add missing dollar.
31795
6b5886ba 317962009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31797
31798 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
31799
31800 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
31801 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
31802 exports.
31803 * include/grub/sparc64/libgcc.h: Likewise. Use
31804 preprocessor conditionals.
31805
e9d66f6d 318062009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31807
31808 * conf/common.rmk (grub-dumpbios): Remove rule.
31809 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
31810 * util/grub-dumpbios.in: Remove file.
31811
9155bc17 318122009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31813
31814 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
31815 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
31816
31817 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
31818 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
31819 users.
31820
31821 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
31822 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
31823 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
31824 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
31825 users.
31826
bf7f7a18 318272009-10-12 Robert Millan <rmh.grub@aybabtu.com>
31828
31829 * term/tparm.c: Switch to GPLv3.
31830
86564c26 318312009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31832
31833 * include/grub/i386/cpuid.h: Add header protection.
31834
5c936493 318352009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31836
31837 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
31838
31839 * include/grub/i386/cpuid.h: New file.
31840 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
31841 (has_longmode): Rename to ...
31842 (grub_cpuid_has_longmode): ... this. Update all users. Remove
31843 `static' attribute.
31844 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
31845 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
31846 on a CPU that doesn't implement AMD64 instruction set.
31847
186e7cf2 318482009-10-06 Colin Watson <cjwatson@ubuntu.com>
31849
31850 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
31851 that version.texi is rebuilt on version number changes.
31852
83b65c4a 318532009-10-06 Colin Watson <cjwatson@ubuntu.com>
31854
31855 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
31856 Fixes bug #27602.
31857
d244281c 318582009-10-06 Colin Watson <cjwatson@ubuntu.com>
31859
31860 * util/i386/pc/grub-install.in: Source
31861 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
31862 that the --grub-probe option will work.
31863 * util/sparc64/ieee1275/grub-install.in: Likewise.
31864
da25306d 318652009-10-05 Robert Millan <rmh.grub@aybabtu.com>
31866
31867 * configure.ac: Bump version to 1.97~beta4.
31868
e8ee83c0 318692009-10-03 Robert Millan <rmh.grub@aybabtu.com>
31870
31871 Resync grub-mkdevicemap in x86_64-efi.
31872
31873 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
31874 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
31875 `util/devicemap.c'.
31876
50dcabcf 318772009-10-01 Colin Watson <cjwatson@ubuntu.com>
31878
31879 * util/grub-editenv.c (create_envblk_file): Write new block with a
31880 .new suffix and then rename it into place, to ensure atomic
31881 creation.
31882
0e51c3a7 318832009-09-28 Robert Millan <rmh.grub@aybabtu.com>
31884
31885 Do not automatically install headers.
31886
31887 * Makefile.in (include_DATA): Remove. Update all users.
31888
31299a95 318892009-09-26 Robert Millan <rmh.grub@aybabtu.com>
31890
31891 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
31892 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
31893
31894 * util/osdetect.lua: Remove.
31895 * script/lua/lauxlib.c: Likewise.
31896 * script/lua/ldebug.c: Likewise.
31897 * script/lua/grub_main.c: Likewise.
31898 * script/lua/lauxlib.h: Likewise.
31899 * script/lua/ldebug.h: Likewise.
31900 * script/lua/ltablib.c: Likewise.
31901 * script/lua/liolib.c: Likewise.
31902 * script/lua/lstrlib.c: Likewise.
31903 * script/lua/lualib.h: Likewise.
31904 * script/lua/ldo.c: Likewise.
31905 * script/lua/ldump.c: Likewise.
31906 * script/lua/ldo.h: Likewise.
31907 * script/lua/loslib.c: Likewise.
31908 * script/lua/lundump.c: Likewise.
31909 * script/lua/grub_lib.c: Likewise.
31910 * script/lua/ldblib.c: Likewise.
31911 * script/lua/lundump.h: Likewise.
31912 * script/lua/lmem.c: Likewise.
31913 * script/lua/grub_lib.h: Likewise.
31914 * script/lua/lmathlib.c: Likewise.
31915 * script/lua/lstate.c: Likewise.
31916 * script/lua/ltm.c: Likewise.
31917 * script/lua/lvm.c: Likewise.
31918 * script/lua/lmem.h: Likewise.
31919 * script/lua/lstate.h: Likewise.
31920 * script/lua/ltm.h: Likewise.
31921 * script/lua/ltable.c: Likewise.
31922 * script/lua/lvm.h: Likewise.
31923 * script/lua/llex.c: Likewise.
31924 * script/lua/lgc.c: Likewise.
31925 * script/lua/grub_lua.h: Likewise.
31926 * script/lua/loadlib.c: Likewise.
31927 * script/lua/lfunc.c: Likewise.
31928 * script/lua/lopcodes.c: Likewise.
31929 * script/lua/lparser.c: Likewise.
31930 * script/lua/ltable.h: Likewise.
31931 * script/lua/llex.h: Likewise.
31932 * script/lua/lgc.h: Likewise.
31933 * script/lua/lfunc.h: Likewise.
31934 * script/lua/lbaselib.c: Likewise.
31935 * script/lua/lopcodes.h: Likewise.
31936 * script/lua/lparser.h: Likewise.
31937 * script/lua/lzio.c: Likewise.
31938 * script/lua/linit.c: Likewise.
31939 * script/lua/lobject.c: Likewise.
31940 * script/lua/llimits.h: Likewise.
31941 * script/lua/lstring.c: Likewise.
31942 * script/lua/lzio.h: Likewise.
31943 * script/lua/lapi.c: Likewise.
31944 * script/lua/lcode.c: Likewise.
31945 * script/lua/lua.h: Likewise.
31946 * script/lua/lobject.h: Likewise.
31947 * script/lua/lstring.h: Likewise.
31948 * script/lua/lapi.h: Likewise.
31949 * script/lua/lcode.h: Likewise.
31950 * script/lua/luaconf.h: Likewise.
31951
cb8a2c38 319522009-09-26 Colin Watson <cjwatson@ubuntu.com>
31953
31954 * docs/grub.texi (Command-line and menu entry commands): Document
31955 date and echo commands.
31956
6b9b6276 319572009-09-24 Pavel Roskin <proski@gnu.org>
31958
31959 * include/grub/kernel.h (struct grub_module_header): Remove
31960 `grub_module_header_types'. Make `type' unsigned. Make `size'
31961 32-bit on all platforms.
31962 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
31963 8-bit field. Use grub_host_to_target32() for `size'.
31964 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
31965 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
31966 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
31967
4e5a02a7 319682009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31969
31970 Fix "lost keypress" bug in at_keyboard.
31971
31972 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
31973 Checks for readyness of input buffer (without flushing it).
31974 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
31975 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
31976
c6dcedf6 319772009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31978
31979 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
31980 size check within GRUB_MACHINE_PCBIOS section.
31981
74c958b1 319822009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31983
31984 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
31985 return value.
31986 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
31987 KEYBOARD_ISREADY check.
31988 (grub_at_keyboard_checkkey): Rename to ...
31989 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
31990 Remove gratuitous cast.
31991
ff420223 319922009-09-23 Colin Watson <cjwatson@ubuntu.com>
31993
31994 * configure.ac: Call AC_PROG_MKDIR_P.
31995 * Makefile.in (docs/stamp-vti): Create docs directory. Create
31996 version.texi in $(builddir) rather than $(srcdir).
31997 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
31998 to makeinfo's @include search path.
31999
d96875df 320002009-09-23 Felix Zielcke <fzielcke@z-51.de>
32001
32002 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
32003
9b3f8365 320042009-09-23 Felix Zielcke <fzielcke@z-51.de>
32005
32006 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
32007 for `*.dpkg-new'.
32008
c44c90db 320092009-09-21 Colin Watson <cjwatson@ubuntu.com>
32010
32011 Build info documentation. Some code borrowed from Automake.
32012
32013 * configure.ac: Check for makeinfo.
32014 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
32015 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
32016 docs/version.texi.
32017 (MOSTLYCLEANFILES): Add vti.tmp.
32018 (docs/version.texi, docs/stamp-vti): Update automatically.
32019 (docs/grub.info): Build info documentation. Use --force and ignore
32020 errors for now.
32021 (all-local): Add $(INFOS).
32022 (install-local): Install info files.
32023 (uninstall): Uninstall info files.
32024 * docs/version.texi: Remove from revision control. This file is
32025 automatically generated on build now.
32026 * gendistlist.sh: Add `*.info'.
32027
e0b37bb5 320282009-09-21 Felix Zielcke <fzielcke@z-51.de>
32029
32030 * kern/term.c: Fix indentation.
32031
5a78865b 320322009-09-21 Felix Zielcke <fzielcke@z-51.de>
32033
32034 * util/hostdisk.c: Fix a comment.
32035
dace7e8a 320362009-09-20 Robert Millan <rmh.grub@aybabtu.com>
32037
32038 Fix regression introduced in r2539.
32039
32040 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
32041 to 0xA1.
32042
a83d079b 320432009-09-19 Colin Watson <cjwatson@ubuntu.com>
32044
32045 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 32046 os-prober. Under normal operation, it does not print anything to
32047 stderr; if it does, we need to debug it, and throwing away stderr
32048 makes that excessively difficult.
a83d079b 32049
be94a509 320502009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
32051
32052 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
32053
63f745e8 320542009-09-16 Robert Millan <rmh.grub@aybabtu.com>
32055
32056 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
32057 AC_LANG_PROGRAM from autoconf.
32058 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
32059 prototypes (fixes warning).
32060
32061 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
32062 `--disable-werror' was used.
32063
bbb2a70f 320642009-09-16 Robert Millan <rmh.grub@aybabtu.com>
32065
32066 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
32067 uninitialized `lastaddr'.
32068
77c24f1d 320692009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
32070
0f0b8c87 32071 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 32072
07197f23 320732009-09-14 Colin Watson <cjwatson@ubuntu.com>
32074
32075 * commands/test.c (get_fileinfo): Return immediately if
32076 grub_fs_probe fails.
32077
dabf1798 320782009-09-14 José Martínez <xosemp@gmail.com>
32079
32080 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
32081
d52109a7 320822009-09-14 Colin Watson <cjwatson@ubuntu.com>
32083
32084 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
32085 output.
32086
56532179 320872009-09-13 Robert Millan <rmh.grub@aybabtu.com>
32088
32089 * configure.ac: Remove --enable-grub-pe2elf. Only build
32090 grub-pe2elf when needed by the build system itself.
32091 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
32092
8ef070f5 320932009-09-12 Robert Millan <rmh.grub@aybabtu.com>
32094
32095 * configure.ac: Bump version to 1.97~beta3.
32096 * docs/version.texi: Likewise.
32097
61229557 320982009-09-12 Robert Millan <rmh.grub@aybabtu.com>
32099
32100 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
32101 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
32102 from here ...
32103 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
32104 (grub_linux_setup_video): ... to here (with some adjustments).
32105
5c9f8d84 321062009-09-12 Robert Millan <rmh.grub@aybabtu.com>
32107
32108 Fix memory corruption issue (spotted by Colin Watson).
32109
32110 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
32111 causing returned size to be stored in an incorrect memory location.
32112 Fix use of uninitialized value when storing the returned size.
32113
e8f5d6e9 321142009-09-12 Yves Blusseau <blusseau@zetam.org>
32115
32116 Change clean rules to properly remove files
32117
32118 * genmk.rb: add new clean rules
32119 * Makefile.in (clean): add the new targets
32120 (mostlyclean): likewise
32121
cda2a409 321222009-09-11 Colin Watson <cjwatson@ubuntu.com>
32123
32124 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
32125 to grub_uint64_t.
32126 * fs/ntfs.c (init_file): Understand 64-bit sizes for
32127 non-resident files.
32128
86695375 321292009-09-11 Colin Watson <cjwatson@ubuntu.com>
32130
32131 * configure.ac: Don't look for help2man when cross-compiling. Fixes
32132 part of bug #27349.
32133
8aa1541a 321342009-09-10 Felix Zielcke <fzielcke@z-51.de>
32135
32136 * util/grub-mkconfig.in: Make the created config mode 400 and
32137 print a warning if it fails.
32138
48d9bb0a 321392009-09-10 Robert Millan <rmh.grub@aybabtu.com>
32140
32141 * util/grub.d/40_custom.in: Ask user to type custom entries below
32142 comment, rather than below 'exec tail' line.
32143
3b0521be 321442009-09-10 Colin Watson <cjwatson@ubuntu.com>
32145
32146 * util/grub.d/40_custom.in: Make sure that the explanatory text is
32147 visible in grub.cfg.
32148
50051d55 321492009-09-10 Colin Watson <cjwatson@ubuntu.com>
32150
32151 * util/grub.d/40_custom.in: Make it a little clearer how to use this
32152 file.
32153
c0d34387 321542009-09-10 Felix Zielcke <fzielcke@z-51.de>
32155
32156 * docs/grub.cfg: Add an example menu entry for memtest86+.
32157
80a608f3 321582009-09-09 Felix Zielcke <fzielcke@z-51.de>
32159
a2094832 32160 * config.guess: Update to latest version from config git.
80a608f3 32161 * config.sub: Likewise.
32162
99423078 321632009-09-08 Colin Watson <cjwatson@ubuntu.com>
32164
32165 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
32166 unknown-command case. Fixes bug #27320.
32167
44454e4c 321682009-09-08 Felix Zielcke <fzielcke@z-51.de>
32169
32170 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
32171 `help' if the command exists.
32172
e30d87ad 321732009-09-06 Robert Millan <rmh.grub@aybabtu.com>
32174
32175 * INSTALL: Require GCC 4.1.3 or later.
32176
9a86f1ec 321772009-09-06 Yves Blusseau <blusseau@zetam.org>
32178
32179 * Makefile.in (RMKFILES): add i386-qemu.rmk
32180 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
32181 $(srcdir)/stamp-h.in
32182
7f26d466 321832009-09-05 Robert Millan <rmh.grub@aybabtu.com>
32184
32185 * util/grub-probe.c (probe): Comment out buggy codepath, which
32186 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
32187 should be re-enabled after 1.97.
32188
3a613259 321892009-09-05 Felix Zielcke <fzielcke@z-51.de>
32190
32191 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
32192 find searches for.
32193
197f76c7 321942009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
32195
32196 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
32197 unnecessary calls to grub_error.
32198
70ba68ce 321992009-09-04 Colin Watson <cjwatson@ubuntu.com>
32200
32201 * NEWS: Mention `keystatus' and Unicode fonts.
32202
4ff0d7a4 322032009-09-04 Robert Millan <rmh.grub@aybabtu.com>
32204
32205 * configure.ac: Bump version to 1.97~beta2.
32206 * docs/version.texi: Likewise.
32207
77c55a87 322082009-09-03 Colin Watson <cjwatson@ubuntu.com>
32209
32210 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
32211 containing unwind information in some cases where it previously did
32212 not. Use -fno-dwarf2-cfi-asm if available to restore the old
32213 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
32214 discussion.
32215
f79572cd 322162009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
32217
32218 Embedding loadenv module into grub-emu
32219
32220 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
32221 commands/loadenv.c
32222 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
32223 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
32224 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
32225 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
32226 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
32227 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
32228
93a81088 322292009-09-03 Magnus Granberg <zorry@ume.nu>
32230
32231 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
32232 include -fPIE in the default specs.
32233 * configure.ac: Check if pie_possible is yes and add -fno-PIE
32234 to TARGET_CFLAGS.
32235
160034b2 322362009-09-03 Felix Zielcke <fzielcke@z-51.de>
32237
32238 * INSTALL: Note that GNU Bison 2.3 or later is required.
32239
087c07c4 322402009-09-03 Colin Watson <cjwatson@ubuntu.com>
32241
32242 * kern/i386/pc/startup.S: Fix typo.
32243
cbf978c0 322442009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
32245
32246 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
32247 according to GCS.
32248
322492009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 32250
32251 * docs/grub.texi (Naming convention): Describe one-based partition
32252 numbering.
32253 (Device syntax): Likewise.
32254 (File name syntax): Likewise.
32255 (Block list syntax): Likewise.
32256 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
32257 menu.lst.
32258 (File name syntax): Likewise.
32259 (Command-line and menu entry commands): Document acpi, blocklist,
32260 crc, export, insmod, keystatus, ls, set, and unset commands.
32261
f3e8cdfd 322622009-09-02 Colin Watson <cjwatson@ubuntu.com>
32263
32264 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
32265 to avoid implying that only one of --shift, --ctrl, or --alt may be
32266 used.
32267
c0bc232b 322682009-09-02 Colin Watson <cjwatson@ubuntu.com>
32269
32270 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
32271 rather than comparing against S_IFREG, which will almost never work.
32272
aa0f752d 322732009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
32274
32275 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
32276 (write_blocklists): Likewise.
32277
ecb3166a 322782009-09-01 Colin Watson <cjwatson@ubuntu.com>
32279
32280 * script/lua/grub_lua.h (fputs): Supply a format string as the first
32281 argument to grub_printf.
32282
c403a125 322832009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 32284
32285 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 32286 non GNU test.
31aba781 32287
b5e7312c 322882009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
32289
32290 * kern/file.c (grub_file_read): Spelling fix
32291
fe00f472 322922009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
32293
32294 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
32295 loading of headers in some cases.
32296
cc55302e 322972009-08-30 Robert Millan <rmh.grub@aybabtu.com>
32298
32299 * configure.ac: Bump version to 1.97~beta1.
32300 * docs/version.texi: Likewise.
32301
5c90cdd2 323022009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 32303
32304 * include/grub/i386/xnu.h: Add license header.
32305 include grub/err.h explicitly.
32306
c90edae4 323072009-08-29 Robert Millan <rmh.grub@aybabtu.com>
32308
32309 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
32310 to `ufs' in the vfs.root.mountfrom kernel parameter.
32311
d8888b5c 323122009-08-29 Robert Millan <rmh.grub@aybabtu.com>
32313
32314 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
32315
32316 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
32317 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
32318
32319 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
32320 `ARRAY_SIZE' macro.
32321
6f07b921 323222009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32323
32324 * kern/file.c (grub_file_read): Check offset.
32325 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
32326 * fs/jfs.c (grub_jfs_read_file): Likewise.
32327 * fs/ntfs.c (grub_ntfs_read): Likewise.
32328 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
32329 * fs/minix.c (grub_minix_read_file): Correct offset check.
32330 * fs/ufs.c (grub_ufs_read_file): Likewise.
32331
b4f34077 323322009-08-28 Colin Watson <cjwatson@ubuntu.com>
32333
32334 * term/i386/pc/console.c (bios_data_area): Cast
32335 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
32336
e7c69859 323372009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32338
32339 1-bit optimised blitters.
32340
32341 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
32342 prototype.
32343 (grub_video_fbblit_replace_24bit_1bit): Likewise.
32344 (grub_video_fbblit_replace_16bit_1bit): Likewise.
32345 (grub_video_fbblit_replace_8bit_1bit): Likewise.
32346 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
32347 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
32348 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
32349 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
32350 function.
32351 (grub_video_fbblit_replace_24bit_1bit): Likewise.
32352 (grub_video_fbblit_replace_16bit_1bit): Likewise.
32353 (grub_video_fbblit_replace_8bit_1bit): Likewise.
32354 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
32355 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
32356 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
32357 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
32358 when possible.
32359 * video/video.c (grub_video_get_blit_format): Return
32360 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
32361
a57da43f 323622009-08-28 Colin Watson <cjwatson@ubuntu.com>
32363
32364 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
32365 the first argument to grub_printf.
32366
4cbe67e5 323672009-08-28 Colin Watson <cjwatson@ubuntu.com>
323682009-08-28 Robert Millan <rmh.grub@aybabtu.com>
32369
32370 Add `getkeystatus' terminal method. Add a new `keystatus' command
32371 to query it.
32372
32373 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
32374 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
32375 modifier key bitmasks.
32376 (struct grub_term_input): Add `getkeystatus' member.
32377 (grub_getkeystatus): Add prototype.
32378 * kern/term.c (grub_getkeystatus): New function.
32379
32380 * include/grub/i386/pc/memory.h
32381 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
32382 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
32383 Data Area layout.
32384 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
32385 (grub_console_term_input): Set `getkeystatus' member.
32386 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
32387 constants.
32388 (grub_usb_keyboard_getreport): Likewise.
32389 (grub_usb_keyboard_checkkey): Likewise.
32390 (grub_usb_keyboard_getkeystatus): New function.
32391 (grub_usb_keyboard_term): Set `getkeystatus' member.
32392
32393 * commands/keystatus.c: New file.
32394 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
32395 (keystatus_mod_SOURCES): New variable.
32396 (keystatus_mod_CFLAGS): Likewise.
32397 (keystatus_mod_LDFLAGS): Likewise.
32398 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
32399 commands/keystatus.c.
32400 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32401 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32402 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32404 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32405 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 32406
6e2a9085 324072009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32408
32409 Split befs.mod and afs.mod into *_be.mod and *.mod
32410
32411 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
32412 (grub_fstest_SOURCES): Likewise.
32413 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
32414 (afs_be_mod_SOURCES): New variable.
32415 (afs_be_mod_CFLAGS): Likewise.
32416 (afs_be_mod_LDFLAGS): Likewise.
32417 (befs_be_mod_SOURCES): Likewise.
32418 (befs_be_mod_CFLAGS): Likewise.
32419 (befs_be_mod_LDFLAGS): Likewise.
32420 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
32421 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32422 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32423 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
32424 (grub_emu_SOURCES): Likewise.
32425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32426 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32427 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32428 * fs/afs_be.c: New file.
32429 * fs/befs_be.c: New file.
32430 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
32431 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
32432 (U16): Replaced with ...
32433 (grub_afs_to_cpu16): ...this. All users updated.
32434 (U32): Replaced with ...
32435 (grub_afs_to_cpu32): ...this. All users updated.
32436 (U64): Replaced with ...
32437 (grub_afs_to_cpu64): ...this. All users updated.
32438 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
32439 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 32440 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 32441 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
32442 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
32443 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
32444 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
32445 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
32446 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
32447 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
32448 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
32449
32a71655 324502009-08-26 Bean <bean123ch@gmail.com>
32451
32452 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
32453 64-bit number.
32454 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
32455 (grub_xfs_inode_block): Change return type to grub_uint64_t.
32456 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
32457
552bf6c5 324582009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32459
32460 NetBSD memory map support.
32461
32462 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
32463 (grub_netbsd_btinfo_mmap_header): New structure.
32464 (grub_netbsd_btinfo_mmap_entry): Likewise.
32465 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
32466
1ae2078c 324672009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32468
32469 Enable bsd.mod on coreboot.
32470
32471 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
32472 (bsd_mod_SOURCES): New variable.
32473 (bsd_mod_CFLAGS): Likewise.
32474 (bsd_mod_LDFLAGS): Likewise.
32475 (bsd_mod_ASFLAGS): Likewise.
32476 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
32477 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
32478
beefc598 324792009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32480
32481 Cleanup NetBSD root support.
32482
32483 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
32484 grub_bsd_get_device.
32485 Fix typo.
32486
3b76e68b 324872009-08-25 Felix Zielcke <fzielcke@z-51.de>
32488
32489 * util/grub.d/00_header.in: Move check for the video backend of
32490 gfxterm from here ...
32491 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
32492 a suitable video backend.
32493
aea664ea 324942009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32495
32496 Fix breakage in grub-setup.
32497
32498 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
32499 "msdos_partition_map".
32500
ff747d50 325012009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32502
32503 Fix breakage in normal/auth.c.
32504
32505 * normal/auth.c (grub_iswordseparator): New function.
32506
e7e1f93f 325072009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32508
32509 Authentication support.
32510
32511 * commands/password.c: New file.
32512 * conf/common.rmk (pkglib_MODULES): Add password.mod.
32513 (password_mod_SOURCES): New variable.
32514 (password_mod_CFLAGS): Likewise.
32515 (password_mod_LDFLAGS): Likewise.
32516 (normal_mod_SOURCES): Add normal/auth.c.
32517 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
32518 normal/auth.c.
32519 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32520 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32521 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32523 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32524 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32525 * include/grub/auth.h: New file.
32526 * include/grub/err.h (grub_err_t): New enum value
32527 GRUB_ERR_ACCESS_DENIED.
32528 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
32529 'users'.
32530 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
32531 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
32532 users updated.
32533 * normal/auth.c: New file.
32534 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
32535 (grub_cmdline_run): Don't allow to go to command line without
32536 authentication.
32537 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
32538 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
32539 menuentry without superuser rights.
32540 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
32541 user isn't a superuser.
32542
70f1161d 325432009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32544
32545 Save space by inlining misc.c functions.
32546
32547 * kern/misc.c (grub_iswordseparator): Made static.
32548 * kern/misc.c (grub_strcat): Moved from here ...
32549 * include/grub/misc.h (grub_strcat): ... here. Inlined.
32550 * kern/misc.c (grub_strncat): Moved from here ...
32551 * include/grub/misc.h (grub_strncat): ... here. Inlined.
32552 * kern/misc.c (grub_strcasecmp): Moved from here ...
32553 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
32554 * kern/misc.c (grub_strncasecmp): Moved from here ...
32555 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
32556 * kern/misc.c (grub_isalpha): Moved from here ...
32557 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
32558 * kern/misc.c (grub_isdigit): Moved from here ...
32559 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
32560 * kern/misc.c (grub_isgraph): Moved from here ...
32561 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
32562 * kern/misc.c (grub_tolower): Moved from here ...
32563 * include/grub/misc.h (grub_tolower): ... here. Inlined.
32564
48e40bff 325652009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32566
32567 * script/sh/function.c (grub_script_function_find): Cut error message
32568 not to flood terminal.
32569 * script/sh/lexer.c (grub_script_yylex): Remove command line length
32570 limit.
32571 * script/sh/script.c (grub_script_arg_add): Duplicate string.
32572
c385bfc3 325732009-08-24 Colin Watson <cjwatson@ubuntu.com>
32574
32575 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
32576 `report' grub_uint8_t *.
32577 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
32578 Use a 50-millisecond timeout rather than just repeating
32579 grub_usb_keyboard_getreport 50 times.
32580 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
32581
2d21e3e8 325822009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32583
32584 Rename *_partition_map to part_*
32585
32586 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
32587 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
32588 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
32589 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
32590 All users updated.
32591 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
32592 All users updated.
32593 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
32594 * util/grub-probe.c (probe_partmap): Don't transform partition name
32595 to get module name.
32596
dd103c4e 325972009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32598
32599 Fix OpenBSD and NetBSD support.
32600
32601 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
32602 memory address conflict.
32603 (OPENBSD_MMAP_ACPI): New definition.
32604 (OPENBSD_MMAP_NVS): Likewise.
32605 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
32606 and OPENBSD_MMAP_NVS.
32607 Add memory map terminator
32608 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 32609 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 32610
16c84d74 326112009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32612
32613 Let user specify NetBSD root device.
32614
32615 * loader/i386/bsd.c (netbsd_root): New variable.
32616 (netbsd_opts): New option 'root'.
32617 (NETBSD_ROOT_ARG): New macro.
32618 (grub_netbsd_boot): Use 'netbsd_root'.
32619 (grub_bsd_unload): Free 'netbsd_root'.
32620 (grub_cmd_netbsd): Fill 'netbsd_root'.
32621
adb29902 326222009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32623
32624 Support for 64-bit NetBSD.
32625
32626 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
32627 point when booting non-FreeBSD.
32628
f5ae9f74 326292009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32630
32631 Support --no-smp and --no-acpi for NetBSD.
32632
32633 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
32634 (NETBSD_AB_NOACPI): Likewise.
32635 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
32636 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
32637
de74f136 326382009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32639
32640 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
32641 errors.
32642 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
32643 errors. Call grub_error when needed.
32644
e9a925da 326452009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32646
32647 * commands/search.c (search_fs): Try searching without autoload first.
32648 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
32649 filesystem module explicitly for faster booting.
32650
5174302b 326512009-08-23 Colin Watson <cjwatson@ubuntu.com>
32652
32653 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
32654
c8c80635 326552009-08-23 Colin Watson <cjwatson@ubuntu.com>
32656
32657 * util/grub.d/30_os-prober.in: Disable os-prober if
32658 `GRUB_DISABLE_OS_PROBER' was set to true.
32659
71acf5e5 326602009-08-23 Robert Millan <rmh.grub@aybabtu.com>
32661
32662 * partmap/pc.c: Rename to ...
32663 * partmap/msdos.c: ... this. Update all users.
32664 (grub_pc_partition_map): Rename to ...
32665 (grub_msdos_partition_map): ... this. Update all users.
32666
32667 * parttool/pcpart.c: Rename to ...
32668 * parttool/msdospart.c: ... this. Update all users.
32669
32670 * include/grub/pc_partition.h: Rename to ...
32671 * include/grub/msdos_partition.h: ... this. Update all users.
32672 (grub_pc_partition_bsd_entry): Rename to ...
32673 (grub_msdos_partition_bsd_entry): ... this. Update all users.
32674 (grub_pc_partition_disk_label): Rename to ...
32675 (grub_msdos_partition_disk_label): ... this. Update all users.
32676 (grub_pc_partition_entry): Rename to ...
32677 (grub_msdos_partition_entry): ... this. Update all users.
32678 (grub_pc_partition_mbr): Rename to ...
32679 (grub_msdos_partition_mbr): ... this. Update all users.
32680 (grub_pc_partition): Rename to ...
32681 (grub_msdos_partition): ... this. Update all users.
32682 (grub_pc_partition_is_empty): Rename to ...
32683 (grub_msdos_partition_is_empty): ... this. Update all users.
32684 (grub_pc_partition_is_extended): Rename to ...
32685 (grub_msdos_partition_is_extended): ... this. Update all users.
32686 (grub_pc_partition_is_bsd): Rename to ...
32687 (grub_msdos_partition_is_bsd): ... this. Update all users.
32688
32689 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
32690 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
32691 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
32692 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
32693 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
32694 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
32695 (gpt_mod_LDFLAGS): Rename to ...
32696 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
32697 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
32698 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
32699 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
32700 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
32701 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
32702 (part_gpt_mod_LDFLAGS): ... this.
32703 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
32704 `pcpart.mod' to `msdospart.mod'.
32705 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
32706 to ...
32707 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
32708 (msdospart_mod_LDFLAGS): ... this.
32709
c11fded5 327102009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32711
32712 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
32713 (openbsd_opts): Likewise.
32714 (netbsd_opts): Likewise.
32715 (freebsd_flags): Added 0 terminator.
32716 (openbsd_flags): Likewise.
32717 (netbsd_flags): Likewise.
32718 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
32719 (grub_cmd_freebsd): Transformed into extended command.
32720 (grub_cmd_openbsd): Likewise.
32721 (grub_cmd_netbsd): Likewise.
32722 (cmd_freebsd): Changed type to grub_extcmd_t.
32723 (cmd_openbsd): Likewise.
32724 (cmd_netbsd): Likewise.
32725 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
32726 grub_cmd_openbsd as extended commands.
32727 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
32728 cmd_netbsd and cmd_openbsd
32729
11d1c769 327302009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
32731
32732 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
32733
7a9094e5 327342009-08-21 Pavel Roskin <proski@gnu.org>
32735
5496c37e 32736 * Makefile.in (install-local): When checking if a file is in the
32737 build directory, use "test -e" to detect symlinks.
32738
7a9094e5 32739 * Makefile.in (install-local): Remove all files in
32740 $(DESTDIR)$(pkglibdir) before installing new files there.
32741
e53cea11 327422009-08-18 Felix Zielcke <fzielcke@z-51.de>
32743
32744 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
32745 grub-mkelfimage.
32746
9aced544 327472009-08-18 Felix Zielcke <fzielcke@z-51.de>
32748
32749 * util/grub-mkconfig.in: Don't use gfxterm by default if not
32750 explicitly specified by the user.
32751
b7da6bab 327522009-08-18 Pavel Roskin <proski@gnu.org>
32753
32754 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
32755 grub_uint8_t pointer for data.
32756 * include/grub/fbutil.h (struct grub_video_fbblit_info):
32757 Likewise.
32758 * video/fb/fbutil.c: Remove unnecessary casts.
32759
19f1b335 327602009-08-17 Michal Suchanek <hramrach@centrum.cz>
32761
32762 VBE cleanup.
32763
32764 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
32765 (grub_vbe_set_video_mode): Save active mode info
32766 only after setting the mode.
32767 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
32768 second argument.
32769
2f467aa9 327702009-08-17 Michal Suchanek <hramrach@centrum.cz>
32771
32772 Rename variables for clarity.
32773
32774 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
32775 (active_vbe_mode_info): ... this. All users updated.
32776 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
32777 All users updated.
32778 (initial_mode): Rename to ...
32779 (initial_vbe_mode): ... this. All users updated.
32780 (mode_in_use): Rename to ..
32781 (vbe_mode_in_use): ... this. All users updated.
32782 (mode_list): Rename to ..
32783 (vbe_mode_list): ... this. All users updated.
32784 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
32785 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
32786 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
32787 'mode_list_size' to 'vbe_mode_list_size'.
32788 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
32789 'best_mode_info' to 'best_vbe_mode_info' and
32790 'best_mode' to 'best_vbe_mode'
32791
6025fcd7 327922009-08-17 Michal Suchanek <hramrach@centrum.cz>
32793
32794 Remove duplicate grub_video_fb_get_video_ptr.
32795
32796 * include/grub/fbutil.h (get_data_ptr): Rename to ...
32797 (grub_video_fb_get_video_ptr): ... this.
32798 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
32799 * video/fb/fbutil.c: Add comment about addressing.
32800 (get_data_ptr): Rename to ...
32801 (grub_video_fb_get_video_ptr): ... this. All users updated.
32802 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
32803
cc8c6faf 328042009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32805
32806 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
32807 grub_dprintf() that was just added.
32808
08aa61f0 328092009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32810
32811 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
32812 (DEFAULT_VIDEO_MODE): Remove macros.
32813 (grub_linux_boot): Remove assumption that Linux has FB support,
32814 and use "text" as default video mode.
32815
7cef4f75 328162009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
32817
32818 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
32819 grub_dprintf.
32820 * fs/fat.c (grub_fat_read_data): Likewise.
32821
e1f39873 328222009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32823
32824 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
32825 payload.
32826 (grub_module): Likewise.
32827
c166d79e 328282009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32829
32830 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
32831 mbi->cmdline but free playground.
32832
c60cee8e 328332009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32834
32835 Handle group offset on UFS1.
32836
32837 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
32838 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
32839
c0d8b5d4 328402009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32841
32842 Split ufs.mod into ufs1.mod and ufs2.mod.
32843
32844 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
32845 (grub_fstest_SOURCES): Likewise.
32846 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
32847 (ufs_mod_SOURCES): Remove.
32848 (ufs_mod_CFLAGS): Likewise.
32849 (ufs_mod_LDFLAGS): Likewise.
32850 (ufs1_mod_SOURCES): New variable.
32851 (ufs1_mod_CFLAGS): Likewise.
32852 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 32853 (ufs2_mod_SOURCES): New variable.
32854 (ufs2_mod_CFLAGS): Likewise.
32855 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 32856 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
32857 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32858 Likewise.
32859 (grub_emu_SOURCES): Likewise.
32860 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32861 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32862 (grub_setup_SOURCES): Likewise.
32863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32864 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
32865 (grub_setup_SOURCES): Likewise.
32866 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32867 Likewise.
32868 * fs/ufs2.c: New file.
32869 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
32870
d3539132 328712009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32872
32873 Framebuffer split.
32874
32875 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
32876 subsystem at the end.
32877 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
32878 (video_fb_mod_SOURCES): New variable.
32879 (video_fb_mod_CFLAGS): Likewise.
32880 (video_fb_mod_LDFLAGS): Likewise.
32881 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
32882 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
32883 * video/i386/pc/vbeblit.c: Moved from here ...
32884 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
32885 * video/i386/pc/vbefill.c: Moved from here ...
32886 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
32887 * video/i386/pc/vbeutil.c: Moved from here ...
32888 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
32889 * include/grub/i386/pc/vbeblit.h: Moved from here ...
32890 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
32891 * include/grub/i386/pc/vbefill.h: Moved from here ...
32892 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
32893 * include/grub/i386/pc/vbeutil.h: Moved from here ...
32894 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
32895 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
32896 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
32897 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
32898 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
32899 (grub_video_adapter): Added 'get_info_and_fini'.
32900 (grub_video_get_info_and_fini): New prototype.
32901 (grub_video_set_mode): make modestring const char *.
32902 * loader/i386/linux.c (grub_linux_setup_video): Use
32903 grub_video_get_info_and_fini.
32904 (grub_linux_boot): Move modesetting just before booting.
32905 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
32906 grub_video_get_info_and_fini.
32907 * video/i386/pc/vbe.c: Moved framebuffer part ...
32908 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
32909 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
32910 grub_video_fbstd_colors and grub_video_fb_set_palette.
32911 (grub_video_vbe_init): Clear 'framebuffer' variable and use
32912 grub_video_fb_init.
32913 (grub_video_vbe_fini): Use grub_video_fb_fini.
32914 (grub_video_vbe_setup): Use framebuffer.render_target instead of
32915 render_target and use grub_video_fb_set_active_render_target and
32916 grub_video_fb_set_palette.
32917 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
32918 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
32919 (grub_video_vbe_adapter): Use framebuffer.
32920 * video/video.c (grub_video_get_info_and_fini): New function.
32921 (grub_video_set_mode): Make modestring const char *.
32922 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
32923 values are already initialised.
32924
d404ee56 329252009-08-14 Pavel Roskin <proski@gnu.org>
32926
32927 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
32928 ABS and APPLE_CC.
32929 * boot/i386/pc/diskboot.S: Likewise.
32930 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
32931 sectors allow compilation on MacOSX.
32932 * conf/i386-pc.rmk: Enable unconditional compilation of
32933 lnxboot.img.
32934
9a10df16 329352009-08-13 Colin Watson <cjwatson@ubuntu.com>
32936
32937 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
32938 * util/grub.d/00_header.in: Enter interruptible sleep if
32939 GRUB_HIDDEN_TIMEOUT is set.
32940
be3c9ca7 329412009-08-13 Yves Blusseau <blusseau@zetam.org>
32942
32943 * include/grub/symbol.h: Add the LOCAL macro.
32944 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
32945 starting with "L_".
32946
1f9e557e 329472009-08-13 Pavel Roskin <proski@gnu.org>
32948
9ca62843 32949 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
32950 any modern compilers we support.
32951
1f9e557e 32952 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
32953 Use local labels starting with "L_" so that Apple assembler
32954 knows they are local.
32955
81623db6 329562009-08-10 Robert Millan <rmh.grub@aybabtu.com>
32957
32958 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
32959 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
32960 (bsd_kernel_types): ... this enum.
32961
32962 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
32963 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
32964 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
32965
32966 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
32967 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
32968 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
32969 messages.
32970
f5d35e7a 329712009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32972
32973 * util/grub-dumpdevtree: Moved from here ...
32974 * util/i386/efi/grub-dumpdevtree: ... to here.
32975 (hexify): New function. Converts a string to its hex version.
32976 Generate hex versions of "efi" and "device-properties" by calling
32977 hexify() on the ASCII strings rather than by hardcoding numbers.
32978
d1e1d527 329792009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32980
32981 * fs/jfs.c: Update copyright year.
32982
1ebbe064 329832009-08-08 Felix Zielcke <fzielcke@z-51.de>
32984
32985 * util/grub.d/00_header.in: Fix a comment.
32986 * util/grub.d/10_linux.in: Likewise.
32987 * util/grub.d/10_windows.in: Likewise.
32988 * util/grub.d/10_hurd.in: Likewise.
32989
a78c8d24 329902009-08-08 Felix Zielcke <fzielcke@z-51.de>
32991
32992 * util/grub-mkconfig.in: Allow the user to specify the used font
32993 with GRUB_FONT.
32994
29a6b9e8 329952009-08-08 Pavel Roskin <proski@gnu.org>
32996
b5f16cc4 32997 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
32998 available, xfs.mod needs it now.
32999
2f5cb827 33000 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
33001 the "g" modifier in sed when the intention is to strip something
33002 once. This fixes comparison of kernels with multiple dashes.
33003
29a6b9e8 33004 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
33005 on it. Add missing space before closing bracket. Fix
33006 misleading formatting.
33007
892a3d98 330082009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33009
33010 * docs/grub.texi: Major overhaul. Remove all sections that are
33011 specific to GRUB Legacy, or mostly composed of Legacy-specific
33012 information.
33013
ed94253f 330142009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33015
33016 * docs/version.texi: New file. Provides version information for
33017 grub.texi.
33018
126d6628 330192009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33020
33021 * docs/grub.texi: Update CVS information to SVN.
33022 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
33023
998b5aa9 330242009-08-07 Felix Zielcke <fzielcke@z-51.de>
33025
33026 * util/grub-mkconfig.in: Remove a wrong `fi'.
33027
818e094a 330282009-08-07 Felix Zielcke <fzielcke@z-51.de>
33029
33030 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
33031 (grub_jfs_uuid): New function.
33032 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
33033
b969c52f 330342009-08-07 Felix Zielcke <fzielcke@z-51.de>
33035
33036 * util/grub-mkconfig_lib.in (font_path): Move the functionality
33037 of it to ...
33038 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
33039 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
33040
7a4894cc 330412009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33042
33043 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
33044 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
33045 Update all users.
33046
33047 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
33048 not just "vmlinu[zx]".
33049 Moved from here ...
33050 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
33051 all users.
33052
33053 * util/grub.d/10_linux.in (find_latest): Moved from here ...
33054 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
33055 all users.
33056
4e2171f8 330572009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33058
33059 * util/grub.d/10_freebsd.in: Use an absolute device path for
33060 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
33061
6dcfcb32 330622009-08-06 Felix Zielcke <fzielcke@z-51.de>
33063
33064 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
33065 handling of multiple abstraction modules.
33066
f56a8756 330672009-08-04 Robert Millan <rmh.grub@aybabtu.com>
33068
33069 Fix a bug resulting in black screen when loading Linux using a
33070 packed video mode.
33071
33072 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
33073 function.
33074
33075 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
33076 (grub_vbe_bios_getset_dac_palette_width): New function.
33077 (grub_vbe_bios_get_dac_palette_width)
33078 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
33079 grub_vbe_bios_getset_dac_palette_width()).
33080
33081 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
33082 check for return status.
33083 (grub_vbe_get_video_mode_info): When getting information for a packed
33084 mode (<= 8 bpp), obtain DAC palette width using
33085 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
33086 {red,green,blue}_mark_size.
33087
222671b2 330882009-08-04 Felix Zielcke <fzielcke@z-51.de>
33089
ecb1a6d9 33090 * commands/search.c (options): Fix help output to match actual code.
222671b2 33091
f84114f5 330922009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
33093
33094 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
33095 of homegrown code.
33096
bd288a20 330972009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 33098
33099 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
33100 on XFS or ReiserFS.
33101
8aab5e25 331022009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
33103
33104 Support Apple partition map with sector size different from 512 bytes.
33105
33106 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
33107 (apple_partition_map_iterate): Respect 'aheader.blocksize'
33108 and 'apart.partmap_size'.
33109
6ad6258a 331102009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
331112009-08-01 Robert Millan <rmh.grub@aybabtu.com>
33112
33113 Fix cpuid command.
33114
33115 * commands/i386/cpuid.c (options): New variable.
33116 (grub_cmd_cpuid): Return real error.
33117 (GRUB_MOD_INIT(cpuid)): Declare options.
33118
67459bc6 331192009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
33120
33121 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
33122 valid.
33123
fbc6ab54 331242009-07-31 Bean <bean123ch@gmail.com>
33125
33126 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
33127 log2_inode.
33128 (grub_fshelp_node): Move inode field to the end.
33129 (grub_xfs_data): Remove inode field.
33130 (grub_xfs_inode_block): Calculate inode size using sblock.
33131 (grub_xfs_inode_offset): Likewise.
33132 (grub_xfs_read_inode): Calculate inode size using sblock.
33133 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
33134 (grub_xfs_iterate_dir): Calculate inode size using sblock.
33135 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
33136 to match inode size.
33137 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
33138 not accessible when data is null.
33139 (grub_xfs_open): Likewise.
33140
f45d6cfc 331412009-07-31 Bean <bean123ch@gmail.com>
33142
33143 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
33144 Don't change pv->disk if it's already set.
33145
33146 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
33147 (grub_raid_register): ... here.
33148 (grub_raid_rescan): Removed.
33149
33150 * include/grub/raid.h (grub_raid_rescan): Removed.
33151
33152 * util/grub-fstest.c: Remove include file <grub/raid.h>.
33153 (fstest): Replace grub_raid_rescan with module fini function followed
33154 by init function.
33155
33156 * util/grub-probe.c: Add include file <grub/raid.h>.
33157 (probe_raid_level): New function.
33158 (probe): Detect abstraction by walking the disk device, support two
33159 level of abstraction (LVM on RAID) when detecting partition map.
33160
24443b5a 331612009-07-31 Pavel Roskin <proski@gnu.org>
33162
33163 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
33164 to grub_zalloc(), it was erroneous.
33165 Reported by Bean <bean123ch@gmail.com>
33166
a275d9e7 331672009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
33168
33169 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 33170 embedding zone, not only the first one.
a275d9e7 33171
56c5a47f 331722009-07-29 Joe Auricchio <jauricchio@gmail.com>
33173
33174 * term/gfxterm.c (clear_char): New function.
33175 (grub_virtual_screen_setup): Use clear_char.
33176 (scroll_up): Likewise.
33177 (grub_virtual_screen_cls): Likewise.
33178
67bb323a 331792009-07-29 Felix Zielcke <fzielcke@z-51.de>
33180
33181 * util/deviceiter.c (get_acceleraid_disk_name): New static
33182 function.
33183 (grub_util_iterate_devices): Handle Accelraid devices.
33184 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
33185
388a7c75 331862009-07-28 Robert Millan <rmh.grub@aybabtu.com>
33187
33188 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
33189 separator for the suggested gfxpayload string (';' collides with the
33190 parser and needs escaping).
33191
3bb7abcf 331922009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
33193
33194 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
33195 Clear direction flag before jumping to OS.
33196 (grub_multiboot2_real_boot): Likewise.
33197
2ddd36d7 331982009-07-28 Felix Zielcke <fzielcke@z-51.de>
33199
33200 * util/i386/pc/grub-install: Fix parsing of --disk-module
33201 option.
33202
c521b62b 332032009-07-28 Felix Zielcke <fzielcke@z-51.de>
33204
33205 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
33206 when embedding.
33207
880e0a0c 332082009-07-26 Felix Zielcke <fzielcke@z-51.de>
33209
33210 * util/grub-mkconfig.in (package_version): New variable.
33211 Use it do display the version.
33212
2366e356 332132009-07-25 Felix Zielcke <fzielcke@z-51.de>
33214
33215 * kern/file.c (grub_file_open): Revert to previous check with
33216 grub_errno.
33217
7ad8c80e 332182009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
33219
33220 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
33221 from help line. It's out of sync with code.
33222
72b9658b 332232009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
33224
33225 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
33226 entries on failed boot.
33227
77435277 332282009-07-25 Felix Zielcke <fzielcke@z-51.de>
33229
33230 * kern/file.c (grub_file_open): Fix an error check.
33231
fcaa8b21 332322009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
33233
35d16c74 33234 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
33235 partition map couldn't be identified.
fcaa8b21 33236
48904cd1 332372009-07-23 Pavel Roskin <proski@gnu.org>
33238
ef3c317f 33239 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
33240 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
33241 case of little endian words becomes just an optimization.
33242 Respect const modifier.
ad8ea1f4 33243 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 33244
48904cd1 33245 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
33246 to avoid loss of upper bits if align is unsigned and shorter
33247 than addr.
33248
260c9a89 332492009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
33250
33251 UUID support for UFS
33252
33253 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
33254 (grub_ufs_uuid): New function.
33255 (grub_ufs_fs): add .uuid
33256
f76ce889 332572009-07-21 Pavel Roskin <proski@gnu.org>
33258
33259 * kern/dl.c (grub_dl_check_header): Make static.
33260
6a6cbcaf 332612009-07-21 Felix Zielcke <fzielcke@z-51.de>
33262
33263 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
33264 add drivemap for Vista. It breaks Windows 7.
33265
cffcddb2 332662009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
33267
33268 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
33269 128 bytes
33270
1ef44b80 332712009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33272
33273 Add BFS support
33274
33275 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
33276 (grub_fstest_SOURCES): Likewise.
33277 (pkglib_MODULES): Add befs.mod.
33278 (befs_mod_SOURCES): New variable.
33279 (befs_mod_CFLAGS): Likewise.
33280 (befs_mod_LDFLAGS): Likewise.
33281 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33282 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33283 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33284 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33285 (grub_setup_SOURCES): Likewise.
33286 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33287 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33288 (grub_setup_SOURCES): Likewise.
33289 * fs/befs.c: New file.
33290 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
33291 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
33292 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
33293 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
33294 (B_KEY_INDEX_ALIGN): New declaration.
33295 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
33296 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
33297 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
33298 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
33299 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
33300 (grub_afs_mount) [MODE_BFS]: Likewise.
33301 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
33302 (grub_afs_fs): Use GRUB_AFS_FSNAME
33303 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
33304 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
33305 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
33306 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
33307
4f253044 333082009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
33309
33310 * util/getroot.c (find_root_device): Add support for MacOSX.
33311 * util/hostdisk.c: Likewise.
33312
57a55913 333132009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33314
33315 * font/font.c (find_glyph): Check whether a font is present to avoid
33316 segmentation fault.
75421ca9 33317
333182009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 33319
33320 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
33321
e98cd0c2 333222009-07-20 Pavel Roskin <proski@gnu.org>
33323
33324 * configure.ac: Trim excessively wordy excuses.
33325
1d2d169a 333262009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33327
33328 Add symlink, mtime and label support to AtheFS.
33329
33330 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
33331 (grub_afs_iterate_dir): Handle symlinks.
33332 (grub_afs_open): Use grub_afs_read_symlink.
33333 (grub_afs_dir): Likewise.
33334 Pass mtime.
33335 (grub_afs_label): New function.
33336 (grub_afs_fs): Add grub_afs_label.
33337 (grub_afs_read_symlink): New function.
33338
186f3189 333392009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33340
33341 Fix AtheFS support.
33342
33343 * fs/afs.c: Fix comments style.
33344 (grub_afs_blockrun): Declare as packed.
33345 (grub_afs_datastream): Likewise.
33346 (grub_afs_bnode): Likewise.
33347 (grub_afs_btree): Likewise.
33348 (grub_afs_sblock): Likewise.
33349 Declare `name' as char.
33350 (grub_afs_inode): Declare as packed.
33351 Change void *vnode to grub_uint32_t unused.
33352 (grub_afs_iterate_dir): Check that key_size is positive.
33353 (grub_afs_mount): Don't read superblock twice.
75421ca9 33354 (grub_afs_dir): Don't free node in case of error,
186f3189 33355 grub_fshelp_find_file already handles this.
33356 (grub_afs_open): Likewise.
33357
5680109e 333582009-07-19 Pavel Roskin <proski@gnu.org>
33359
33360 * Makefile.in: Remove LIBLZO and enable_lzo.
33361 * conf/i386-pc.rmk: Remove lzo support.
33362 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
33363 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
33364 support.
33365 * kern/i386/pc/lzo1x.S: Remove.
33366 * kern/i386/pc/startup.S: Remove lzo support.
33367 * util/i386/pc/grub-mkimage.c: Likewise.
33368
ac70fa32 333692009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
33370
33371 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
33372 * fs/xfs.c (grub_xfs_dir): Likewise.
33373 * fs/afs.c (grub_afs_dir): Likewise.
33374 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
33375 (grub_iso9660_open): Likewise.
33376 * fs/jfs.c (grub_jfs_open): Likewise.
33377 * fs/ext2.c (grub_ext2_dir): Likewise.
33378 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
33379 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 33380
eab58da2 333812009-07-16 Pavel Roskin <proski@gnu.org>
33382
d2838156 33383 * configure.ac: Never add "-c" to CFLAGS.
33384
55c70904 33385 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
33386
43e6200c 33387 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
33388 grub_cv_cc_efiemu should be used.
33389
ce7a733d 33390 * configure.ac: Typo fixes.
33391
eab58da2 33392 * kern/mm.c (grub_zalloc): New function.
33393 (grub_debug_zalloc): Likewise.
33394 * include/grub/mm.h: Declare grub_zalloc() and
33395 grub_debug_zalloc().
33396 * util/misc.c (grub_zalloc): New function.
33397 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
33398 instead of grub_malloc(), remove unneeded initializations.
33399 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
33400 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
33401 * commands/parttool.c (grub_cmd_parttool): Likewise.
33402 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
33403 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
33404 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
33405 * disk/usbms.c (grub_usbms_finddevs): Likewise.
33406 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
33407 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
33408 (grub_cmd_efiemu_pnvram): Likewise.
33409 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
33410 * fs/iso9660.c (grub_iso9660_mount): Likewise.
33411 (grub_iso9660_iterate_dir): Likewise.
33412 * fs/jfs.c (grub_jfs_opendir): Likewise.
33413 * fs/ntfs.c (list_file): Likewise.
33414 (grub_ntfs_mount): Likewise.
33415 * kern/disk.c (grub_disk_open): Likewise.
33416 * kern/dl.c (grub_dl_load_core): Likewise.
33417 * kern/elf.c (grub_elf_file): Likewise.
33418 * kern/env.c (grub_env_context_open): Likewise.
33419 (grub_env_set): Likewise.
33420 (grub_env_set_data_slot): Likewise.
33421 * kern/file.c (grub_file_open): Likewise.
33422 * kern/fs.c (grub_fs_blocklist_open): Likewise.
33423 * loader/i386/multiboot.c (grub_module): Likewise.
33424 * loader/xnu.c (grub_xnu_create_key): Likewise.
33425 (grub_xnu_create_value): Likewise.
33426 * normal/main.c (grub_normal_add_menu_entry): Likewise.
33427 (read_config_file): Likewise.
33428 * normal/menu_entry.c (make_screen): Likewise.
33429 * partmap/sun.c (sun_partition_map_iterate): Likewise.
33430 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
33431 * script/sh/script.c (grub_script_parse): Likewise.
33432 * video/bitmap.c (grub_video_bitmap_create): Likewise.
33433 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
33434 * video/readers/png.c (grub_png_output_byte): Likewise.
33435 (grub_video_reader_png): Likewise.
33436
830afef7 334372009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 33438
33439 Enable all targets that can be built by default
33440
830afef7 33441 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 33442 grub-mkfont and grub-fstest if they can be built
33443
ee293aee 334442009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33445
33446 Fix hang and segmentation fault in grub-emu-usb
33447
33448 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
33449 * util/usb.c (grub_libusb_devices): likewise
33450 (grub_libusb_init): rename to ...
33451 (GRUB_MOD_INIT (libusb)):...this
33452 (grub_libusb_fini): rename to ..
33453 (GRUB_MOD_FINI (libusb)):...this
33454 * disk/usbms.c (grub_usbms_transfer): fix retry logic
33455 * include/grub/disk.h (grub_raid_init): removed, it's useless
33456 (grub_raid_fini): likewise
33457 (grub_lvm_init): likewise
33458 (grub_lvm_fini): likewise
33459 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
33460 by grub_init_all
33461
94414221 334622009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33463
33464 Fix libusb
33465
33466 * Makefile.in (LIBUSB): new macro
33467 * genmk.rb (Utility/print_tail): new method
33468 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
33469 (top level): call util.print_tail at the end.
33470
59ade63d 334712009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33472
33473 Make FreeBSD accept zpool.cache
33474
33475 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
33476 type is /boot/zfs/zpool.cache
33477
a58da8c7 334782009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33479
33480 Fix 64-bit efiemu
33481
33482 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
33483 correct wrong typedef
33484 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
33485
20591577 334862009-07-15 Pavel Roskin <proski@gnu.org>
33487
560ca572 33488 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
33489 * kern/disk.c (struct grub_disk_cache): Likewise.
33490
e8e8e4fd 33491 * commands/probe.c (options): Typo fix.
33492
fde24e10 33493 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
33494 Increase to 0x5a to accommodate FAT32. Adjust other offsets
33495 accordingly.
33496 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
33497
379c54c1 33498 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
33499 the end of "Error" to make the message more readable.
33500
7bd8f5bf 33501 * boot/i386/pc/boot.S (kernel_segment): Remove.
33502 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
33503 for destination.
33504
40b132c5 33505 * boot/i386/pc/boot.S (boot_version): Remove.
33506 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
33507 Remove.
33508
20591577 33509 * include/grub/i386/pc/boot.h: Sort all offsets.
33510 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
33511 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
33512 * boot/i386/pc/boot.S: Assert location of every offset listed in
33513 include/grub/i386/pc/boot.h.
33514
2df32b2c 335152009-07-13 Pavel Roskin <proski@gnu.org>
33516
44b5d879 33517 * include/grub/i386/coreboot/machine.h: Rename
33518 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
33519 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
33520 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
33521
17dc3751 33522 * kern/dl.c: Force native word size to suppress warnings when
33523 compiling grub-emu.
33524
2df32b2c 33525 * kern/device.c (grub_device_iterate): Change struct part_ent to
33526 hold the name, not a pointer to it. Use one grub_malloc() per
33527 partition, not two. Free partition_name if grub_malloc() fails.
33528 Set ents to NULL only before grub_partition_iterate() is called.
33529
75c59f59 335302009-07-11 Bean <bean123ch@gmail.com>
33531
33532 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
33533 childname.
33534
0ae1bf88 335352009-07-10 Bean <bean123ch@gmail.com>
335362009-07-10 Robert Millan <rmh.grub@aybabtu.com>
33537
33538 * kern/ieee1275/openfw.c (grub_children_iterate)
33539 (grub_devalias_iterate): Fix size evaluation for property or path
33540 strings, which was broken since r2132.
33541
8279cade 335422009-07-07 Pavel Roskin <proski@gnu.org>
33543
7d8a52d3 33544 * commands/search.c (search_file): Merge into ...
33545 (search_fs): ... this. Accept search type as argument.
33546 (grub_cmd_search): Pass search type to search_fs().
33547
25f9a05a 33548 * include/grub/util/console.h: New file.
33549 * util/console.c: Use it instead of grub/machine/console.h.
33550 * util/grub-emu.c: Likewise.
33551
8279cade 33552 * lib/arg.c (find_long_option): Remove.
33553 (find_long): Add `len' argument, make `s' const char *.
33554 (grub_arg_parse): Parse long options in place, not in a
33555 temporary buffer.
33556
4a11b60f 335572009-07-06 Pavel Roskin <proski@gnu.org>
33558
99f68041 33559 * commands/search.c (search_fs): Fix potential NULL pointer
33560 dereference.
33561
4a11b60f 33562 * commands/search.c (search_fs): Replace QUID macro with quid_fn
33563 function pointer.
33564
e110f4de 335652009-07-06 Daniel Mierswa <impulze@impulze.org>
33566
33567 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
33568 comparison.
33569
46eeb6a2 335702009-07-05 Pavel Roskin <proski@gnu.org>
33571
bab74958 33572 * include/grub/i386/linux.h (struct linux_kernel_params):
33573 Restore padding3, it's still needed.
33574
46eeb6a2 33575 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
33576 FreeBSD.
33577 * util/osdetect.lua: Likewise.
33578
b4a1dc79 335792009-07-05 Bean <bean123ch@gmail.com>
33580
33581 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
33582
33583 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
33584 (grub_lua_getenv): Likewise.
33585 (grub_lua_setenv): Likewise.
33586 (save_errno): New function.
33587 (push_result): Likewise.
33588 (grub_lua_enum_device): Likewise.
33589 (grub_lua_enum_file): Likewise.
33590 (grub_lua_file_open): Likewise.
33591 (grub_lua_file_close): Likewise.
33592 (grub_lua_file_seek): Likewise.
33593 (grub_lua_file_read): Likewise.
33594 (grub_lua_file_getline): Likewise.
33595 (grub_lua_file_getsize): Likewise.
33596 (grub_lua_file_getpos): Likewise.
33597 (grub_lua_file_eof): Likewise.
33598 (grub_lua_file_exist): Likewise.
33599 (grub_lua_add_menu): Likewise.
33600
33601 * script/lua/grub_lua.h (isupper): New inline function.
33602 (islower): Likewise.
33603 (ispunct): Likewise.
33604 (isxdigit): Likewise.
33605 (strcspn): Change to normal function.
33606 (strpbkr): New function declaration.
33607 (memchr): Likewise.
33608
33609 * script/lua/grub_main.c (scan_str): New function.
33610 (strcspn): Likewise.
33611 (strpbrk): Likewise.
33612 (memchr): Likewise.
33613
33614 * script/lua/linit.c (lualibs): Enable the string library.
33615
33616 * util/osdetect.lua: New file.
33617
2da92295 336182009-07-04 Robert Millan <rmh.grub@aybabtu.com>
33619
33620 * include/grub/i386/linux.h (struct linux_kernel_params): Add
33621 `capabilities' member.
33622
b2582ec9 336232009-07-02 Pavel Roskin <proski@gnu.org>
33624
33625 * genparttoollist.sh: Add missing newline at the end.
33626
32622956 336272009-07-01 Pavel Roskin <proski@gnu.org>
33628
87a7339e 33629 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
33630
d23af54e 33631 * util/hostdisk.c (open_device): Remove `const' from
33632 `sysctl_size', as sysctlbyname() can change it (in this case it
33633 doesn't actually happen).
33634
c94b18a9 33635 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
33636 using signed long int constants.
33637
c6cd3ef0 33638 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
33639 constant to avoid a warning on FreeBSD.
33640
0df63420 33641 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
33642 where it's needed.
33643
999577f1 33644 * Makefile.in: Install include/grub/machine symlink.
33645
6f41557f 33646 * Makefile.in: When installing symlinks, use "cp -fR", which
33647 works on FreeBSD and MacOSX.
33648 From Yves Blusseau <cl7m42e02@sneakemail.com>
33649
c8d22988 33650 * kern/dl.c (grub_dl_resolve_symbol): Make static.
33651 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
33652
1b96e952 33653 * util/misc.c: Move grub_reboot() and grub_halt() ...
33654 * util/grub-emu.c: ... here. Make main_env static.
33655 * include/grub/util/misc.h: Remove main_env.
33656
2ef0084d 33657 * kern/mm.c: Use correct format to print size_t.
33658
32622956 33659 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
33660 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
33661 * kern/powerpc/dl.c: Likewise.
33662 * kern/sparc64/dl.c: Likewise.
33663 * kern/x86_64/dl.c: Likewise.
33664
3f7f0cd0 336652009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33666
33667 Fix grub-emu build on sparc64-ieee1275.
33668
75421ca9 33669 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 33670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
33671
211d06b5 336722009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33673
33674 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
33675 (grub_reboot, grub_halt): New functions.
33676
33677 * util/i386/pc/misc.c: Delete. Update all users.
33678 * util/sparc64/ieee1275/misc.c: Likewise.
33679 * util/powerpc/ieee1275/misc.c: Likewise.
33680
aaf53e3c 336812009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33682
33683 * conf/i386.rmk (setjmp_mod_SOURCES)
33684 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
33685 * conf/common.rmk (setjmp_mod_SOURCES)
33686 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
33687 to use $(target_cpu).
33688 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
33689 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
33690 * conf/powerpc-ieee1275.rmk: Likewise.
33691 * conf/sparc64-ieee1275.rmk: Likewise.
33692
33693 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
33694 $(target_cpu) for kern/$(target_cpu)/dl.c.
33695 * conf/i386-efi.rmk: Likewise.
33696 * conf/i386-ieee1275.rmk: Likewise.
33697 * conf/x86_64-efi.rmk: Likewise.
33698 * conf/i386-coreboot.rmk: Likewise.
33699 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
33700 $(target_cpu) for kern/$(target_cpu)/dl.c and for
33701 kern/$(target_cpu)/cache.S.
33702 * conf/sparc64-ieee1275.rmk: Likewise.
33703
a337130b 337042009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33705
33706 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
33707 type to `grub_uint8_t', and adjust `padding9' accordingly.
33708
c6fe4d53 337092009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33710
b09db61d 33711 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
33712
c6fe4d53 33713 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
33714 assembly in final jump, using register constraints.
33715
b09db61d 33716 (grub_linux_boot): For text mode, initialize `have_vga' using
33717 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
33718
33719 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
33720 right before the final jump.
33721
33722 Set `video_mode' to 0x3.
33723
33724 Document initialization of `video_page', `video_mode' and
33725 `video_ega_bx'.
33726
28333ad0 337272009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33728
33729 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
33730 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 33731 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 33732
02164e1b 337332009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33734
33735 Fix build on Debian / sparc.
33736
33737 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
33738
18b6c557 337392009-06-28 Pavel Roskin <proski@gnu.org>
33740
85f2aab6 33741 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
33742 fix a warning.
33743
18b6c557 33744 * util/grub.d/10_linux.in: Match SUSE style initrd names.
33745
ad760f81 337462009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33747
33748 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
33749 `err'.
33750
87a4623b 337512009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33752
33753 Revert r2338.
33754
33755 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
33756 file can't be opened. grub_file_open() is already supposed to set
75421ca9 33757 grub_errno / grub_errmsg appropriately.
87a4623b 33758 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33759
8231fb77 337602009-06-27 Pavel Roskin <proski@gnu.org>
337612009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33762
33763 * include/grub/dl.h: Include grub/elf.h.
33764 (struct grub_dl): Add symtab field.
33765 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
33766 GRUB_MODULES_MACHINE_READONLY.
33767 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
33768 of the header for read-only modules.
33769 (grub_dl_unload): Free mod->symtab for read-only modules.
33770 * kern/i386/dl.c: Use mod->symtab.
33771 * kern/powerpc/dl.c: Likewise.
33772 * kern/sparc64/dl.c: Likewise.
33773 * kern/x86_64/dl.c: Likewise.
33774
33775 * conf/i386-qemu.rmk: New file.
33776 * kern/i386/qemu/startup.S: Likewise.
33777 * kern/i386/qemu/mmap.c: Likewise.
33778 * boot/i386/qemu/boot.S: Likewise.
33779 * include/grub/i386/qemu/time.h: Likewise.
33780 * include/grub/i386/qemu/serial.h: Likewise.
33781 * include/grub/i386/qemu/kernel.h: Likewise.
33782 * include/grub/i386/qemu/console.h: Likewise.
33783 * include/grub/i386/qemu/boot.h: Likewise.
33784 * include/grub/i386/qemu/init.h: Likewise.
33785 * include/grub/i386/qemu/machine.h: Likewise.
33786 * include/grub/i386/qemu/loader.h: Likewise.
33787 * include/grub/i386/qemu/memory.h: Likewise.
33788
33789 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
33790 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
33791 [qemu] (pkglib_IMAGES): Add `boot.img'.
33792 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
33793 [qemu] (boot_img_FORMAT): New variables.
33794 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
33795 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
33796 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
33797 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
33798 [qemu] (kernel_img_FORMAT): New variables.
33799
33800 * configure.ac: Recognise `i386-qemu'.
33801
33802 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
33803 (for no compression).
33804 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
33805 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
33806 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
33807 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
33808 ifdefs).
33809
97fe384e 338102009-06-27 Pavel Roskin <proski@gnu.org>
33811
33812 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
33813 read.
33814 * efiemu/prepare32.c: Likewise.
33815 * efiemu/prepare64.c: Likewise.
33816
c402ab17 338172009-06-26 Pavel Roskin <proski@gnu.org>
33818
33819 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
33820 * include/grub/elf.h: Define symbols without "32" or "64" based
33821 on GRUB_TARGET_WORDSIZE.
33822 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
33823 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
33824 ELF definitions.
33825 * efiemu/loadcore64.c: Likewise.
33826 * loader/i386/bsd32.c: Likewise.
33827 * loader/i386/bsd64.c: Likewise.
33828 * kern/dl.c: Remove own ELF definitions.
33829 * util/i386/efi/grub-mkimage.c: Likewise.
33830
9bbdfd4d 338312009-06-23 Robert Millan <rmh.grub@aybabtu.com>
33832
33833 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
33834 segment 0x0 unconditionally, because the reference generated by
33835 GAS is an absolute address.
33836
a42ce6e9 338372009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33838
33839 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
33840 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
33841
c952cf92 338422009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33843
33844 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
33845 indexes. Check for -f explicitly.
cc3752ad 33846 (search_file): Improve error message.
33847 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 33848
132a0a59 338492009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33850
33851 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
33852 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
33853
387a140c 338542009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33855
33856 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
33857 * conf/i386-ieee1275.rmk: Likewise.
33858 * conf/i386-coreboot.rmk: Likewise.
33859
33860 * kern/i386/pc/startup.S (grub_stop): Remove function.
33861 * kern/i386/ieee1275/startup.S: Likewise.
33862 * kern/i386/coreboot/startup.S: Likewise.
33863 * kern/i386/misc.S (grub_stop): New function.
33864
41da9665 338652009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33866
33867 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
33868 * kern/i386/realmode.S (real_to_prot): ... to here.
33869
bf337234 338702009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33871
33872 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
33873 with `kernel.img'.
33874 (kernel_elf_SOURCES): Rename to ...
33875 (kernel_img_SOURCES): ... this.
33876 (kernel_elf_HEADERS): Rename to ...
33877 (kernel_img_HEADERS): ... this. Update all users.
33878 (kernel_elf_ASFLAGS): Rename to ...
33879 (kernel_img_ASFLAGS): ... this.
33880 (kernel_elf_CFLAGS): Rename to ...
33881 (kernel_img_CFLAGS): ... this.
33882 (kernel_elf_LDFLAGS): Rename to ...
33883 (kernel_img_LDFLAGS): ... this.
33884 * conf/i386-coreboot.rmk: Likewise.
33885 * conf/powerpc-ieee1275.rmk: Likewise.
33886
33887 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
33888 with "kernel.img".
33889
f52196ff 338902009-06-21 Pavel Roskin <proski@gnu.org>
33891
c3cee413 33892 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
33893 to match nested functions.
33894 * loader/sparc64/ieee1275/linux.c: Likewise.
33895
f52196ff 33896 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
33897
58750afc 338982009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33899
33900 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
33901 all i386 platforms.
33902
15355c7d 339032009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33904
33905 Fix asm file handling on ELF, and remove workarounds.
33906
33907 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 33908 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 33909 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
33910 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
33911
3f3ec72b 339122009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
33913
33914 Load BSD ELF modules
33915
33916 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
33917 and loader/i386/bsd64.c
33918 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
33919 (FREEBSD_MODTYPE_ELF_MODULE): New definition
33920 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
33921 (grub_freebsd_load_elfmodule32): New declaration
33922 (grub_freebsd_load_elfmoduleobj64): Likewise
33923 (grub_freebsd_load_elf_meta32): Likewise
33924 (grub_freebsd_load_elf_meta64): Likewise
33925 (grub_freebsd_add_meta): Likewise
33926 (grub_freebsd_add_meta_module): Likewise
33927 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
33928 (grub_freebsd_add_meta_module): Likewise and move module-specific
33929 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
33930 (grub_cmd_freebsd): Add elf-kernel specific parts
33931 based on grub_freebsd_add_meta_module
33932 (grub_cmd_freebsd_module): Add type parsing moved from
33933 grub_freebsd_add_meta_module
33934 (grub_cmd_freebsd_module_elf): New function
33935 (cmd_freebsd_module_elf): New variable
33936 (GRUB_MOD_INIT): Register freebsd_module_elf
33937 * loader/i386/bsd32.c: New file
33938 * loader/i386/bsd64.c: Likewise
33939 * loader/i386/bsdXX.c: Likewise
33940 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
33941 (grub_elf64_load): Likewise
33942 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
33943 All users updated
33944 (grub_elf64_load_hook_t): Likewise
33945
0db15301 339462009-06-21 Colin Watson <cjwatson@ubuntu.com>
33947
33948 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
33949 variable.
33950 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
33951 don't write a menu entry for recovery mode.
33952
546796c1 339532009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33954
33955 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
33956 after it's no longer needed.
33957
cd7310d5 339582009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33959
33960 * include/grub/i386/loader.h (grub_linux_prot_size)
33961 (grub_linux_tmp_addr, grub_linux_real_addr)
33962 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
33963 GRUB_MACHINE_PCBIOS.
33964 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
33965 common grub_util_info() call to ...
33966 (generate_image): ... here.
33967 Fix use of uninitialized memory, comparison of signed with
33968 unsigned integers and memory leak.
33969 Remove bogus module address message.
33970
ab32d3b5 339712009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
33972
33973 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
33974 grub_raid_register
33975 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
33976
024ef597 339772009-06-19 Pavel Roskin <proski@gnu.org>
33978
33979 * configure.ac: Remove stray AC_MSG_CHECKING.
33980
3ac72b51 339812009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
33982
33983 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 33984
e14cd814 339852009-06-18 Pavel Roskin <proski@gnu.org>
33986
33987 * conf/common.rmk: Add fs_file.mod.
33988 * disk/fs_file.c: New file.
33989 * include/grub/disk.h (enum grub_disk_dev_id): Add
33990 GRUB_DISK_DEVICE_FILE_ID.
33991
26586d98 339922009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33993
33994 Fix build with Apple's toolchain. Part 2
33995
33996 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
33997 a fake start
33998
26de2bcd 339992009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34000
34001 Fix build with Apple's toolchain. Part 1
34002
34003 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
34004 for long calls
34005 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 34006 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 34007 Apple's toolchain
34008
09b3490b 340092009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34010
34011 Fix warnings
34012
34013 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
34014 (decomp_block): initialize ch
34015 use grub_memcpy instead of memcpy
34016
c22a006a 340172009-06-17 Pavel Roskin <proski@gnu.org>
34018
d3638678 34019 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
34020 version, use declarations needed to use vga_text as the startup
34021 console.
34022
c22a006a 34023 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
34024 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
34025 the kernel.
34026 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
34027 and grub_at_keyboard_fini(), it's done on module load and
34028 unload.
34029
05b129e0 340302009-06-17 Felix Zielcke <fzielcke@z-51.de>
34031
34032 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
34033 file can't be found.
34034 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34035
cf24ed9e 340362009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
34037
34038 Fix newline handling
34039
34040 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 34041 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 34042 (grub_script_yylex): don't segfault on unterminated script
34043 newline terminates command and variable
34044
74aa8e4b 340452009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
34046
34047 avoid double grub_adjust_range call. Bug reported by David Simner
34048
34049 * kern/disk.c (grub_disk_write): change to raw disk access before
34050 calling disk_read
34051
1bd265f3 340522009-06-17 Colin Watson <cjwatson@ubuntu.com>
34053
34054 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
34055 spaces, for the benefit of help2man.
34056 * util/i386/efi/grub-mkimage.c (usage): Likewise.
34057
a2d08c06 340582009-06-16 Pavel Roskin <proski@gnu.org>
34059
34060 * kern/i386/halt.c: Include grub/machine/init.h.
34061 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
34062
b97bcb19 340632009-06-16 Felix Zielcke <fzielcke@z-51.de>
34064
34065 * util/grub.d/30_os-prober.in: Use ${root} in the generated
34066 drivemap menuentry.
34067
0644f96c 340682009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
34069
34070 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
34071 `echo' command.
34072
3ef17a2e 340732009-06-16 Pavel Roskin <proski@gnu.org>
34074
34075 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
34076 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
34077 save %dx, we only need %dl and we never change it.
34078 * boot/i386/pc/cdboot.S: Don't set the root drive.
34079 * boot/i386/pc/pxeboot.S: Likewise.
34080 * include/grub/i386/pc/boot.h: Remove
34081 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
34082 GRUB_BOOT_MACHINE_DRIVE_CHECK.
34083 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
34084 * kern/i386/pc/init.c (make_install_device): Remove references
34085 to grub_root_drive.
34086 * kern/i386/pc/startup.S: Likewise.
34087 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
34088
693fe637 340892009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
34090
34091 xnu_uuid command
34092
34093 * commands/xnu_uuid.c: new file
34094 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
34095 (xnu_uuid_mod_SOURCES): new variable
34096 (xnu_uuid_mod_CFLAGS): likewise
34097 (xnu_uuid_mod_LDFLAGS): likewise
34098 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
34099 * conf/i386-ieee1275.rmk: likewise
34100 * conf/i386-pc.rmk: likewise
34101 * conf/powerpc-ieee1275.rmk: likewise
34102 * conf/sparc64-ieee1275.rmk: likewise
34103 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
34104
c9da87d0 341052009-06-16 Pavel Roskin <proski@gnu.org>
34106
34107 * configure.ac: Avoid '==' in test command, it's not portable.
34108
9c6f4596 341092009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
34110
34111 Probe command
34112
34113 * commands/probe.c: new file
34114 * conf/common.rmk (pkglib_MODULES): add probe.mod
34115 (probe_mod_SOURCES): new variable
34116 (probe_mod_CFLAGS): likewise
34117 (probe_mod_LDFLAGS): likewise
34118 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
34119 * conf/i386-ieee1275.rmk: likewise
34120 * conf/i386-pc.rmk: likewise
34121 * conf/powerpc-ieee1275.rmk: likewise
34122 * conf/sparc64-ieee1275.rmk: likewise
34123
70b7f9fd 341242009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
34125
34126 Fix handling of string like \"hello\" and "a
34127 b"
34128
34129 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
34130 (grub_script_yylex): fix parsing of quoting, escaping and newline
34131
71c79a6b 341322009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
34133
dd74360c 34134 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 34135 handling
dd74360c 34136
0644f96c 341372009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 34138
34139 * util/grub-mkconfig.in: Fix parsing of --output option.
34140
e40893c3 341412009-06-12 Pavel Roskin <proski@gnu.org>
34142
34143 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
34144 genmk.rb don't need to be generated or installed.
34145
3a1acfe2 341462009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
34147
34148 * commands/i386/pc/drivemap_int13h.S: add more comments
34149
3a4575d4 341502009-06-11 Pavel Roskin <proski@gnu.org>
34151
0658e928 34152 * Makefile.in (uninstall): Uninstall manuals.
34153
ca0388f0 34154 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
34155 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
34156 and update-grub_lib in two places.
34157 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
34158
e3b27c39 34159 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
34160 a compiler warning.
34161
3a4575d4 34162 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
34163 `entry_lo' to fix variable shadowing.
34164
af1f4f55 341652009-06-11 Christian Franke <franke@computer.org>
34166
34167 * kern/misc.c (__enable_execute_stack): Add missing return type
34168 to prevent gcc warning.
34169
5225e649 341702009-06-11 Felix Zielcke <fzielcke@z-51.de>
34171
34172 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
34173
7d83bd47 341742009-06-11 Pavel Roskin <proski@gnu.org>
34175
c1cb63ba 34176 * Makefile.in: Don't rely on any scripts being executable.
34177 Always use $(SHELL) to run shell scripts.
34178
7d83bd47 34179 * configure.ac: Always define ___main if using -nostdlib. This
34180 fixes tests on Cygwin.
34181
948f48e7 341822009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
34183
34184 UDF fix
34185
7d83bd47 34186 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 34187 is in bytes and not in blocks
7d83bd47 34188
8ada9bc1 341892009-06-11 Pavel Roskin <proski@gnu.org>
34190
34191 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
34192 warning.
34193
25ad2323 341942009-06-11 Felix Zielcke <fzielcke@z-51.de>
34195
34196 * util/grub.d/30_os-prober.in: Fix a comment. Source
34197 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
34198 to set the root device. Place drivemap command in the generated
34199 chain entry.
34200
e65acb0c 342012009-06-11 Pavel Roskin <proski@gnu.org>
34202
34203 * configure.ac: Remove host_m32. Issues with 64-bit utilities
34204 have long been resolved.
34205
f285fe2d 342062009-06-11 Colin Watson <cjwatson@ubuntu.com>
34207
bd47b0b5 34208 * util/grub.d/10_linux.in: Capitalise "Linux".
34209
f285fe2d 34210 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
34211
a0c62e4e 342122009-06-11 Pavel Roskin <proski@gnu.org>
34213
b6783cb2 34214 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
34215 fix a gcc warning and ensure that the function won't ever exit.
34216
dde032e8 34217 * kern/i386/ieee1275/init.c: Add missing prototype for
34218 grub_stop_floppy().
34219
22cd079d 34220 * loader/ieee1275/multiboot2.c [__i386__]: Include
34221 grub/cpu/multiboot.h.
34222
a0c62e4e 34223 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
34224 casts to short - they are not portable and cause warnings. Fix
34225 use of uninitialized values in input_buf. Use ARRAY_SIZE.
34226
63963d17 342272009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
34228
34229 Drivemap fixes
34230
34231 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
34232 new function
34233 (grub_get_root_biosnumber_saved): new variable
34234 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
34235 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 34236 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 34237 %dx after the call if necessary
34238 * conf/common.rmk (pkglib_MODULES): remove boot.mod
34239 (boot_mod_SOURCES): remove
34240 (boot_mod_CFLAGS): remove
34241 (boot_mod_LDFLAGS): remove
34242 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
34243 (boot_mod_SOURCES): new variable
34244 (boot_mod_CFLAGS): likewise
34245 (boot_mod_LDFLAGS): likewise
34246 * conf/i386-efi.rmk: likewise
34247 * conf/i386-ieee1275.rmk: likewise
34248 * conf/i386-pc.rmk: likewise
34249 * conf/powerpc-ieee1275.rmk: likewise
34250 * conf/sparc64-ieee1275.rmk: likewise
34251 * conf/x86_64-efi.rmk: likewise
34252 * include/grub/i386/pc/biosnum.h: new file
34253 * lib/i386/pc/biosnum.c: likewise
34254 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
34255 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
34256 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 34257
33abf7ae 342582009-06-10 Pavel Roskin <proski@gnu.org>
34259
5ac35b35 34260 * io/gzio.c (test_header): Don't reuse one buffer for all data.
34261 Use separate variables. Read only the file size at the end, but
34262 not the checksum that we don't use.
34263
5c5215d5 34264 * kern/file.c (grub_file_read): Use void pointer for the buffer.
34265 Adjust all callers.
34266
27d5fef7 34267 * kern/ieee1275/openfw.c: Remove libc includes.
34268 * kern/ieee1275/cmain.c: Likewise.
34269 * include/grub/ieee1275/ieee1275.h: Likewise.
34270
33abf7ae 34271 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
34272 compiler warnings.
34273
19d50c2b 342742009-06-10 Felix Zielcke <fzielcke@z-51.de>
34275
34276 * Makefile.in: Remove all trailing whitespace.
34277 * conf/i386-pc.rmk: Likewise.
34278 * conf/powerpc-ieee1275.rmk: Likewise.
34279 * conf/sparc64-ieee1275.rmk: Likewise.
34280 * docs/grub.texi: Likewise.
34281 * docs/texinfo.tex: Likewise.
34282 * disk/fs_uuid.c: Likewise.
34283 * disk/lvm.c: Likewise.
34284 * disk/scsi.c: Likewise.
34285 * disk/ata.c: Likewise.
34286 * disk/ieee1275/ofdisk.c: Likewise.
34287 * disk/i386/pc/biosdisk.c: Likewise.
34288 * disk/host.c: Likewise.
34289 * disk/raid.c: Likewise.
34290 * disk/efi/efidisk.c: Likewise.
34291 * disk/usbms.c: Likewise.
34292 * disk/memdisk.c: Likewise.
34293 * disk/loopback.c: Likewise.
34294 * kern/powerpc/dl.c: Likewise.
34295 * kern/device.c: Likewise.
34296 * kern/dl.c: Likewise.
34297 * kern/sparc64/dl.c: Likewise.
34298 * kern/ieee1275/ieee1275.c: Likewise.
34299 * kern/term.c: Likewise.
34300 * kern/fs.c: Likewise.
34301 * kern/i386/dl.c: Likewise.
34302 * kern/i386/pc/startup.S: Likewise.
34303 * kern/i386/pc/init.c: Likewise.
34304 * kern/i386/pc/mmap.c: Likewise.
34305 * kern/i386/pc/lzo1x.S: Likewise.
34306 * kern/i386/ieee1275/init.c: Likewise.
34307 * kern/i386/realmode.S: Likewise.
34308 * kern/i386/tsc.c: Likewise.
34309 * kern/partition.c: Likewise.
34310 * kern/corecmd.c: Likewise.
34311 * kern/file.c: Likewise.
34312 * kern/efi/efi.c: Likewise.
34313 * kern/efi/init.c: Likewise.
34314 * kern/efi/mm.c: Likewise.
34315 * kern/main.c: Likewise.
34316 * kern/err.c: Likewise.
34317 * kern/env.c: Likewise.
34318 * kern/disk.c: Likewise.
34319 * kern/generic/millisleep.c: Likewise.
34320 * kern/generic/rtc_get_time_ms.c: Likewise.
34321 * kern/misc.c: Likewise.
34322 * kern/parser.c: Likewise.
34323 * genmk.rb: Likewise.
34324 * configure.ac: Likewise.
34325 * boot/i386/pc/diskboot.S: Likewise.
34326 * boot/i386/pc/pxeboot.S: Likewise.
34327 * boot/i386/pc/boot.S: Likewise.
34328 * boot/i386/pc/lnxboot.S: Likewise.
34329 * boot/i386/pc/cdboot.S: Likewise.
34330 * parttool/pcpart.c: Likewise.
34331 * video/readers/tga.c: Likewise.
34332 * video/video.c: Likewise.
34333 * video/bitmap.c: Likewise.
34334 * lib/envblk.c: Likewise.
34335 * lib/i386/setjmp.S: Likewise.
34336 * fs/xfs.c: Likewise.
34337 * fs/afs.c: Likewise.
34338 * fs/fat.c: Likewise.
34339 * fs/ntfs.c: Likewise.
34340 * fs/udf.c: Likewise.
34341 * fs/affs.c: Likewise.
34342 * fs/iso9660.c: Likewise.
34343 * fs/hfs.c: Likewise.
34344 * fs/fshelp.c: Likewise.
34345 * fs/ext2.c: Likewise.
34346 * fs/jfs.c: Likewise.
34347 * fs/reiserfs.c: Likewise.
34348 * fs/hfsplus.c: Likewise.
34349 * fs/minix.c: Likewise.
34350 * fs/cpio.c: Likewise.
34351 * fs/sfs.c: Likewise.
34352 * fs/ufs.c: Likewise.
34353 * efiemu/prepare.c: Likewise.
34354 * efiemu/loadcore_common.c: Likewise.
34355 * efiemu/runtime/efiemu.sh: Likewise.
34356 * efiemu/runtime/efiemu.S: Likewise.
34357 * efiemu/runtime/efiemu.c: Likewise.
34358 * efiemu/pnvram.c: Likewise.
34359 * efiemu/main.c: Likewise.
34360 * efiemu/i386/pc/cfgtables.c: Likewise.
34361 * efiemu/i386/loadcore64.c: Likewise.
34362 * efiemu/i386/loadcore32.c: Likewise.
34363 * efiemu/loadcore.c: Likewise.
34364 * efiemu/symbols.c: Likewise.
34365 * efiemu/mm.c: Likewise.
34366 * include/grub/autoefi.h: Likewise.
34367 * include/grub/datetime.h: Likewise.
34368 * include/grub/term.h: Likewise.
34369 * include/grub/hfs.h: Likewise.
34370 * include/grub/lvm.h: Likewise.
34371 * include/grub/i386/tsc.h: Likewise.
34372 * include/grub/i386/linux.h: Likewise.
34373 * include/grub/i386/xnu.h: Likewise.
34374 * include/grub/i386/efiemu.h: Likewise.
34375 * include/grub/i386/pc/biosdisk.h: Likewise.
34376 * include/grub/i386/pc/memory.h: Likewise.
34377 * include/grub/i386/pc/vbe.h: Likewise.
34378 * include/grub/parttool.h: Likewise.
34379 * include/grub/video.h: Likewise.
34380 * include/grub/memory.h: Likewise.
34381 * include/grub/fs.h: Likewise.
34382 * include/grub/partition.h: Likewise.
34383 * include/grub/xnu.h: Likewise.
34384 * include/grub/efi/api.h: Likewise.
34385 * include/grub/efi/pe32.h: Likewise.
34386 * include/grub/efi/memory.h: Likewise.
34387 * include/grub/multiboot.h: Likewise.
34388 * include/grub/usbdesc.h: Likewise.
34389 * include/grub/multiboot2.h: Likewise.
34390 * include/grub/acpi.h: Likewise.
34391 * include/grub/efiemu/efiemu.h: Likewise.
34392 * include/grub/disk.h: Likewise.
34393 * include/grub/ieee1275/ieee1275.h: Likewise.
34394 * include/grub/net.h: Likewise.
34395 * include/grub/machoload.h: Likewise.
34396 * include/grub/macho.h: Likewise.
34397 * include/multiboot.h: Likewise.
34398 * genmoddep.awk: Likewise.
34399 * normal/main.c: Likewise.
34400 * normal/menu_entry.c: Likewise.
34401 * normal/menu_viewer.c: Likewise.
34402 * normal/completion.c: Likewise.
34403 * normal/cmdline.c: Likewise.
34404 * normal/misc.c: Likewise.
34405 * normal/datetime.c: Likewise.
34406 * bus/usb/usbtrans.c: Likewise.
34407 * bus/usb/ohci.c: Likewise.
34408 * bus/usb/uhci.c: Likewise.
34409 * bus/usb/usb.c: Likewise.
34410 * mmap/efi/mmap.c: Likewise.
34411 * mmap/i386/pc/mmap_helper.S: Likewise.
34412 * mmap/i386/pc/mmap.c: Likewise.
34413 * mmap/i386/mmap.c: Likewise.
34414 * mmap/i386/uppermem.c: Likewise.
34415 * mmap/mmap.c: Likewise.
34416 * commands/acpi.c: Likewise.
34417 * commands/echo.c: Likewise.
34418 * commands/blocklist.c: Likewise.
34419 * commands/loadenv.c: Likewise.
34420 * commands/usbtest.c: Likewise.
34421 * commands/boot.c: Likewise.
34422 * commands/parttool.c: Likewise.
34423 * commands/search.c: Likewise.
34424 * commands/cat.c: Likewise.
34425 * commands/i386/pc/play.c: Likewise.
34426 * commands/i386/pc/drivemap.c: Likewise.
34427 * commands/i386/pc/vbeinfo.c: Likewise.
34428 * commands/i386/pc/acpi.c: Likewise.
34429 * commands/i386/pc/vbetest.c: Likewise.
34430 * commands/ls.c: Likewise.
34431 * commands/cmp.c: Likewise.
34432 * commands/test.c: Likewise.
34433 * commands/efi/acpi.c: Likewise.
34434 * commands/gptsync.c: Likewise.
34435 * commands/help.c: Likewise.
34436 * partmap/amiga.c: Likewise.
34437 * partmap/apple.c: Likewise.
34438 * partmap/acorn.c: Likewise.
34439 * partmap/pc.c: Likewise.
34440 * partmap/sun.c: Likewise.
34441 * partmap/gpt.c: Likewise.
34442 * script/sh/lexer.c: Likewise.
34443 * script/sh/function.c: Likewise.
34444 * font/font.c: Likewise.
34445 * font/font_cmd.c: Likewise.
34446 * loader/powerpc/ieee1275/linux.c: Likewise.
34447 * loader/efi/chainloader.c: Likewise.
34448 * loader/multiboot_loader.c: Likewise.
34449 * loader/macho.c: Likewise.
34450 * loader/i386/multiboot.c: Likewise.
34451 * loader/i386/linux.c: Likewise.
34452 * loader/i386/pc/linux.c: Likewise.
34453 * loader/i386/pc/multiboot2.c: Likewise.
34454 * loader/i386/pc/chainloader.c: Likewise.
34455 * loader/i386/pc/xnu.c: Likewise.
34456 * loader/i386/bsd_trampoline.S: Likewise.
34457 * loader/i386/efi/linux.c: Likewise.
34458 * loader/i386/multiboot_elfxx.c: Likewise.
34459 * loader/i386/bsd_helper.S: Likewise.
34460 * loader/i386/bsd.c: Likewise.
34461 * loader/i386/linux_trampoline.S: Likewise.
34462 * loader/i386/xnu_helper.S: Likewise.
34463 * loader/i386/xnu.c: Likewise.
34464 * loader/i386/bsd_pagetable.c: Likewise.
34465 * loader/i386/multiboot_helper.S: Likewise.
34466 * loader/xnu.c: Likewise.
34467 * loader/xnu_resume.c: Likewise.
34468 * io/gzio.c: Likewise.
34469 * term/efi/console.c: Likewise.
34470 * term/terminfo.c: Likewise.
34471 * term/ieee1275/ofconsole.c: Likewise.
34472 * term/i386/pc/serial.c: Likewise.
34473 * term/i386/pc/vesafb.c: Likewise.
34474 * term/i386/pc/vga.c: Likewise.
34475 * term/usb_keyboard.c: Likewise.
34476 * term/gfxterm.c: Likewise.
34477 * aclocal.m4: Likewise.
34478 * util/lvm.c: Likewise.
34479 * util/grub.d/30_os-prober.in: Likewise.
34480 * util/grub.d/10_hurd.in: Likewise.
34481 * util/console.c: Likewise.
34482 * util/grub-macho2img.c: Likewise.
34483 * util/grub-probe.c: Likewise.
34484 * util/hostfs.c: Likewise.
34485 * util/i386/pc/grub-mkimage.c: Likewise.
34486 * util/i386/pc/grub-setup.c: Likewise.
34487 * util/i386/efi/grub-mkimage.c: Likewise.
34488 * util/grub-mkconfig.in: Likewise.
34489 * util/raid.c: Likewise.
34490 * util/resolve.c: Likewise.
34491 * util/grub-mkdevicemap.c: Likewise.
34492 * util/grub-emu.c: Likewise.
34493 * util/getroot.c: Likewise.
34494 * util/hostdisk.c: Likewise.
34495 * util/usb.c: Likewise.
34496 * util/grub-editenv.c: Likewise.
34497 * util/misc.c: Likewise.
34498
d2d49665 344992009-06-10 Felix Zielcke <fzielcke@z-51.de>
34500
34501 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
34502 `genparttoollist.sh'.
34503 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
34504 Add `*.sh' to the list find searches for and change `mdate.sh'
34505 to `mdate-sh'.
34506
fe052e37 345072009-06-10 Pavel Roskin <proski@gnu.org>
34508
2763ac18 34509 * include/grub/multiboot2.h: Provide compatibility defines for
34510 multiboot2.h.
34511 * include/multiboot2.h: Include stdint.h only if needed, using
34512 angle brackets.
34513 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
34514 grub/multiboot2.h.
34515 * loader/ieee1275/multiboot2.c: Likewise.
34516 * loader/multiboot2.c: Likewise.
34517 * loader/multiboot_loader.c: Likewise.
34518
437e6adc 34519 * configure.ac: Use -nostdlib when probing for the target. It
34520 should not be required to have libc for the target.
34521
06a6836c 34522 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
34523 they fail without libc headers for the target.
34524 * include/grub/powerpc/libgcc.h: Use weak attribute for all
34525 exports.
34526 * include/grub/sparc64/libgcc.h: Likewise. Don't use
34527 preprocessor conditionals.
34528
fe052e37 34529 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
34530 build system doesn't need to be aware of the tar.c internals.
34531
afd22553 345322009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 34533
afd22553 34534 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 34535
6b787c4f 345362009-06-09 Robert Millan <rmh.grub@aybabtu.com>
34537
34538 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
34539 disk limit to 26 for IDE, Virtio, Xen and SCSI.
34540
345412009-06-09 Felix Zielcke <fzielcke@z-51.de>
34542
34543 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 34544 aren't available if ata.mod gets used.
6b787c4f 34545
473d1e45 345462009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 34547
473d1e45 34548 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 34549 initialising controller.
473d1e45 34550 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 34551
255a27d4 345522009-06-08 Felix Zielcke <fzielcke@z-51.de>
34553
34554 * util/i386/pc/grub-install.in: Add a parameter --disk-module
34555 to choose between ata and biosdisk module on i386-pc.
34556
473d1e45 345572009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 34558
d55842d8 34559 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
34560 Subclass and Programming Interface fields in terms of the 3 byte
34561 Class Code register.
34562 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34563
fa5db0b1 34564 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
34565 interface is OHCI. Add grub_dprintf for symmetry with
34566 bus/usb/uhci.c.
34567 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
34568 interface is UHCI. Add interf variable for programming
34569 interface. Print interface with class/subclass.
34570
c0947beb 34571 * bus/usb/ohci.c: Set interf with correct field.
34572
69da8877 34573 * bus/usb/uhci.c: Remove unneeded doubled lines.
34574 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
34575 Remove whitespace inside comment.
34576
9e172e30 345772009-06-08 Robert Millan <rmh.grub@aybabtu.com>
34578
34579 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
34580 as fallback an equivalent option without depth.
34581
de65ee2b 345822009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34583
34584 Not fail if unable to retrieve C/H/S on LBA disks
34585
473d1e45 34586 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 34587 if unable to retrieve C/H/S on LBA disks
34588
b57ea2c9 345892009-06-08 Pavel Roskin <proski@gnu.org>
34590
34591 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
34592 about aliasing.
34593
af361263 345942009-06-08 Felix Zielcke <fzielcke@z-51.de>
34595
34596 * Makefile.in (uninstall): Remove all $lib_DATA files.
34597
4c9ec6b3 345982009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34599
34600 Bugfix: install on partitionless device
34601
34602 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
34603 is a whole disk
34604
e76fc924 346052009-06-08 Felix Zielcke <fzielcke@z-51.de>
34606
34607 * Makefile.in (uninstall): Remove all $include_DATA files.
34608
ba5a0d05 346092009-06-08 Felix Zielcke <fzielcke@z-51.de>
34610
34611 * commands/true.c: New file. Implement the true and false commands.
34612 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
34613 (true_mod_SOURCES): New variable.
34614 (true_mod_CFLAGS): Likewise.
34615 (true_mod_LDFLAGS): Likewise.
34616
c8048e32 346172009-06-05 Colin D Bennett <colin@gibibit.com>
34618
34619 Optimized font character lookup using binary search instead of linear
34620 search. Fonts now are required to have the character index ordered by
34621 code point.
34622
34623 * font/font.c (load_font_index): Verify that fonts have ordered
34624 character indices.
34625 (find_glyph): Use binary search instead of linear search to find a
34626 character in a font.
34627
408305be 346282009-06-05 Michael Scherer <misc@mandriva.org>
34629
34630 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
34631 uses case sensitive btree.
34632 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
34633 only for case insensitive filesystems.
34634
8ee1e0d9 346352009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
34636
34637 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
34638 * conf/common.rmk (search_mod_CFLAGS): likewise
34639
a9966eb1 346402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34641
473d1e45 34642 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 34643 compensate a compiler bug
34644
9e7100fb 346452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34646
473d1e45 34647 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 34648 instead of '\b'
473d1e45 34649
ede21d71 346502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34651
34652 Definitions for creating asm symbols with Apple's CC
34653
34654 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
34655 [APPLE_CC] (VARIABLE): likewise
34656
9dbf7653 346572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34658
34659 Disable lnxboot.img when compiled
34660 with Apple's CC
34661
34662 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
34663 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
34664 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
34665 [! APPLE_CC] (CODE_LENG): skip
34666 [! APPLE_CC] (setup_sects): likewise
34667 [! APPLE_CC]: skip filling
473d1e45 34668
e93cdc3d 346692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34670
34671 Address in trampolines based on 32-bit registers when compiled
34672 with Apple's CC
34673
473d1e45 34674 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 34675 for addresses
34676 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
34677
6c688477 346782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34679
34680 Avoid aliases when compiling with Apple's CC for PCBIOS machine
34681
34682 * kern/misc.c [APPLE_CC] (memcpy): new function
34683 [APPLE_CC] (memmove): likewise
34684 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 34685 (memcpy): define alias conditionally on !APPLE_CC
6c688477 34686 (memset): likewise
34687 (abort): likewise
34688 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
34689 APPLE_CC are defined
34690 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
34691 (grub_assert_fail): make prototype conditional
34692
e37ffc5c 346932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34694
34695 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
34696
473d1e45 34697 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
34698 grub-macho2img
e37ffc5c 34699 (CLEANFILES): add grub-macho2img
34700 (grub_macho2img_SOURCES): new variable
34701 * kern/i386/pc/startup.S (bss_start): new variable
34702 (bss_end): likewise
34703 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
34704 * util/grub-macho2img.c: new file
34705
cf00df31 347062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34707
34708 Use objconv when compiling with Apple's CC
34709
34710 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
34711 (efiemu64.o): likewise
34712 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
34713 when compiling with Apple's CC
34714 (efiemu64_s.o): likewise
34715 * configure.ac: check for objconv when compiling with Apple's CC
34716 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 34717
d119a20c 347182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34719
34720 Define segment as well as section when compiling with
34721 Apple's CC
34722
34723 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
34724 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
34725 (efiemu_convert_pointer): likewise
34726 (efiemu_set_virtual_address_map): likewise
34727 (efiemu_convert_pointer): likewise
34728 (efiemu_getcrc32): likewise
34729 (init_crc32_table): likewise
34730 (reflect): likewise
34731 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
34732 (GRUB_MOD_DEP): likewise
473d1e45 34733
c8600122 347342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34735
34736 Allow a compilation without -mcmodel=large
34737
34738 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
34739 when compiled without -mcmodel=large
473d1e45 34740 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 34741 without -mcmodel=large
473d1e45 34742 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 34743 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 34744
e8df1d4e 347452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34746
34747 Remove nested functions in efiemu core
34748
34749 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 34750
cc6c3ac1 347512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34752
34753 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
34754
34755 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
34756 temporary storage
473d1e45 34757 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
34758 using Apple's CC
cc6c3ac1 34759 (grub_cpu_is_tsc_supported): likewise
34760 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 34761
3e325901 347622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34763
34764 Absolute addressing through constant with Apple's cc
34765
34766 * kern/i386/pc/startup.S: Define necessary constants
34767 and address through it when using ABS with Apple's CC
34768 * boot/i386/pc/diskboot.S: likewise
34769 * boot/i386/pc/boot.S: likewise
34770 * boot/i386/pc/lnxboot.S: likewise
34771 * boot/i386/pc/cdboot.S: likewise
34772 * mmap/i386/pc/mmap_helper.S: likewise
34773 * commands/i386/pc/drivemap_int13h.S: likewise
34774
2b167a72 347752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34776
34777 Check if compiler is apple cc
34778
34779 * Makefile.in (ASFLAGS): new variable
34780 (TARGET_ASFLAGS): likewise
34781 (TARGET_MODULE_FORMAT): likewise
34782 (TARGET_APPLE_CC): likewise
34783 (OBJCONV): likewise
34784 (TARGET_IMG_CFLAGS): likewise
34785 (TARGET_CPPFLAGS): add includedir
34786 * configure.ac: call grub_apple_cc and grub_apple_target_cc
34787 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
34788 Check for linker script only if compiler isn't Apple's CC
34789 (TARGET_MODULE_FORMAT): set
34790 (TARGET_APPLE_CC): likewise
34791 (TARGET_ASFLAGS): likewise
34792 (ASFLAGS): likewise
34793 Check for objcopy only if compiler isn't Apple's CC
34794 Check for BSS symbol only if compiler isn't Apple's CC
34795 * genmk.rb: adapt nm options if we use Apple's utils
34796 * aclocal.m4 (grub_apple_cc): new test
34797 (grub_apple_target_cc): likewise
473d1e45 34798
fb14123e 347992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34800
34801 Simplify sed expressions and improve awk
34802
34803 * Makefile.in (install-local): simplify sed expression
34804 * gencmdlist.sh: likewise
34805 * genmoddep.awk: avoid adding module as a dependency of itself
34806
5b889789 348072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34808
34809 Add missing start symbols
34810
34811 * boot/i386/pc/boot.S: add start
fb14123e 34812 * boot/i386/pc/pxeboot.S: likewise
473d1e45 34813
fd2bf2e3 348142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34815
34816 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 34817
34818 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 34819 (relocate_addresses): consider both r_addend and value at offset
34820 (make_mods_section): zerofill modinfo and header
34821 (convert_elf): write prefix here
473d1e45 34822
5389763d 348232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34824
34825 Use .asciz instead of .string
34826
34827 * i386/pc/diskboot.S: use .asciz instead of .string
34828 * i386/pc/boot.S: likewise
34829 * include/grub/dl.h (GRUB_MOD_DEP): likewise
34830 (GRUB_MOD_NAME): likewise
473d1e45 34831
3eb5ed4e 348322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34833
34834 gfxpayload support
34835
34836 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
34837 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
34838 (grub_video_setup): remove
34839 (grub_video_set_mode): new prototype
34840 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
34841 (vid_mode): remove
34842 (linux_vesafb_res): compile only on PCBIOS
34843 (grub_linux_boot): support gfxpayload
34844 * loader/i386/pc/xnu.c (video_hook): new function
34845 (grub_xnu_set_video): support gfxpayload
34846 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
34847 (DEFAULT_VIDEO_HEIGHT): likewise
34848 (DEFAULT_VIDEO_FLAGS): likewise
34849 (DEFAULT_VIDEO_MODE): new definition
34850 (video_hook): new function
34851 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 34852 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 34853 loading xnu
34854 * video/video.c (grub_video_setup): removed
473d1e45 34855 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 34856 grub_video_setup
34857
4b0e1143 348582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34859
34860 Avoid calling biosdisk in drivemap
34861
34862 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
34863 (revparse_biosdisk): likewise
34864 (list_mappings): derive name from id directly
34865 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 34866
fda6cb98 348672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34868
34869 Script fixes
34870
34871 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
34872 (grub_lexer_param): add tokenonhold
34873 (grub_script_create_cmdline): remove cmdline. All callers updated
34874 (grub_script_function_create): make functionname
34875 grub_script_arg. All callers updated
34876 (grub_script_execute_argument_to_string): new prototype
34877 * kern/parser.c (state_transitions): reorder
34878 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 34879 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 34880 make global
34881 (grub_script_execute_cmdline): use new format
34882 * script/sh/function.c (grub_script_function_create): make functionname
34883 grub_script_arg. All callers updated
473d1e45 34884 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 34885 (grub_script_yylex): remove
34886 (grub_script_yylex2): renamed to ...
34887 (grub_script_yylex): ...renamed
34888 parse the expressions like a${b}c
34889 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
34890 (GRUB_PARSER_TOKEN_VAR): remove
34891 (GRUB_PARSER_TOKEN_NAME): likewise
34892 ("if"): declare as typeless
34893 ("while"): likewise
34894 ("function"): likewise
34895 ("else"): likewise
34896 ("then"): likewise
34897 ("fi"): likewise
34898 (text): remove
34899 (argument): likewise
34900 (script): accept empty scripts and make exit on error
34901 (arguments): use GRUB_PARSER_TOKEN_ARG
34902 (function): likewise
34903 (command): move error handling to script
34904 (menuentry): move grub_script_lexer_ref before
473d1e45 34905 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 34906 argument. All callers updated
34907
f4448a07 349082009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34909
34910 Prevent GRUB from probing floppies during boot.
34911
34912 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
34913 * commands/search.c (options): Add --no-floppy.
34914 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
34915 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
34916 --no-floppy when searching for UUIDs.
34917
2bf5885a 349182009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34919
34920 Simplify the code duplication in commands/search.c.
34921
34922 * commands/search.c (search_label, search_fs_uuid): Merge into ...
34923 (search_fs): ... this. Update all users.
34924
f6fd460a 349252009-06-03 Felix Zielcke <fzielcke@z-51.de>
34926
34927 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
34928
cbb3c83e 349292009-05-28 Pavel Roskin <proski@gnu.org>
34930
57788cfd 34931 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
34932 Remove the original symlink explicitly.
34933
cbb3c83e 34934 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
34935 just one slash. That's how grub_fshelp_find_file() does it.
34936
cd0d5e30 349372009-05-26 Pavel Roskin <proski@gnu.org>
34938
f0f8bbe2 34939 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
34940 to `str'.
34941
cd0d5e30 34942 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
34943 possibly unused.
34944
8c2cab51 349452009-05-25 Christian Franke <franke@computer.org>
34946
34947 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
34948 register.
34949 (grub_atapi_identify): Add wait after drive select.
34950 (grub_ata_identify): Do more strict status register check before
34951 calling grub_atapi_identify (). Suppress error message if status
34952 register is 0x00 after command failure. Add status register
34953 check after PIO read to avoid bogus identify due to stuck DRQ.
34954 Thanks to Pavel Roskin for testing.
34955 (grub_device_initialize): Remove unsafe status register check.
34956 Thanks to 'phcoder' for problem report and patch.
34957 Prevent sign extension in debug message.
34958
230c0ad6 349592009-05-23 Colin D Bennett <colin@gibibit.com>
34960
34961 Cleaned up `include/grub/normal.h'. Grouped prototypes by
34962 definition file, and functions defined in `normal/menu.c' have had
34963 their prototypes moved to `include/grub/menu.h' for consistency.
34964
34965 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
34966 from normal.h.
34967 (grub_menu_get_entry): Likewise.
34968 (grub_menu_get_timeout): Likewise.
34969 (grub_menu_set_timeout): Likewise.
34970 (grub_menu_execute_entry): Likewise.
34971 (grub_menu_execute_with_fallback): Likewise.
34972 (grub_menu_entry_run): Likewise.
34973
34974 * include/grub/normal.h: Re-ordered and grouped function
34975 prototypes by file that the function is defined in.
34976 (grub_menu_execute_callback): Removed; moved to menu.h.
34977 (grub_menu_get_entry): Likewise.
34978 (grub_menu_get_timeout): Likewise.
34979 (grub_menu_set_timeout): Likewise.
34980 (grub_menu_execute_entry): Likewise.
34981 (grub_menu_execute_with_fallback): Likewise.
34982 (grub_menu_entry_run): Likewise.
34983 (grub_menu_addentry): Renamed from this ...
34984 (grub_normal_add_menu_entry): ... to this.
34985
34986 * normal/main.c (grub_menu_addentry): Renamed from this ...
34987 (grub_normal_add_menu_entry): ... to this.
34988
34989 * script/sh/execute.c (grub_script_execute_menuentry): Update
34990 reference to renamed grub_menu_addentry function.
34991
861f03a5 349922009-05-23 Felix Zielcke <fzielcke@z-51.de>
34993
34994 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
34995
96b1619a 349962009-05-22 Pavel Roskin <proski@gnu.org>
34997
bf6a5fb2 34998 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
34999 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
35000 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
35001 compiling for the i386 targets, but not for the utilities.
35002
96b1619a 35003 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
35004 to grub_uint8_t.
35005 (grub_root_drive): Likewise.
35006 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
35007 remove alignment.
35008 (grub_root_drive): Change size to byte.
35009 (grub_start_addr): Remove.
35010 (grub_end_addr): Likewise.
35011 (grub_apm_bios_info): Likewise.
35012
b729776b 350132009-05-21 Felix Zielcke <fzielcke@z-51.de>
35014
35015 * normal/i386: Remove.
35016 * normal/powerpc: Likewise.
35017 * normal/sparc64: Likewise.
35018 * normal/x86_64: Likewise.
35019
0a15ce80 350202009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
35021
35022 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 35023 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 35024 * loader/i386/xnu_helper.S: Likewise
d6da58e6 35025
33db9015 350262009-05-18 Colin D Bennett <colin@gibibit.com>
35027
d6da58e6 35028 Display error messages when parsing a Lua statement fails.
35029 Previously, executing a syntactically invalid statement like
35030 ")foo" or "bar;" would silently fail.
33db9015 35031
35032 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 35033 (grub_lua_parse_line): Improved reporting of Lua parser and
35034 execution errors.
33db9015 35035
46422c89 350362009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
35037
35038 Remove -Werror which causes build to fail on some systems
35039
35040 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
35041 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
35042 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 35043
22f53a96 350442009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
35045
35046 trampoline for linux on 64-bit platform
35047
18f547ad 35048 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
35049 loader/i386/efi/linux_trampoline.S
35050 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 35051 declaration
d6da58e6 35052 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
35053 here
22f53a96 35054 * loader/i386/linux_trampoline.S: moved here
d6da58e6 35055 * loader/i386/efi/linux.c (allocate_pages): reserve space for
35056 trampoline
22f53a96 35057 (jumpvector): removed
35058 (grub_linux_trampoline_start): new declaration
35059 (grub_linux_trampoline_end): likewise
35060 (grub_linux_boot): use trampoline when on 64-bit platform
35061 * loader/i386/linux.c: likewise
35062
cb5a0f40 350632009-05-16 Pavel Roskin <proski@gnu.org>
35064
35065 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
35066 const to avoid a warning.
35067 (grub_lua_setenv): Likewise.
35068 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
35069 lmsg to fix a warning.
35070
334f2c28 350712009-05-16 Felix Zielcke <fzielcke@z-51.de>
35072
35073 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 35074 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
35075 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
35076 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
35077 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
35078 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
35079 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
35080 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 35081
59e5d3ec 350822009-05-16 Felix Zielcke <fzielcke@z-51.de>
35083
35084 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
35085
9d87a1ba 350862009-05-16 Bean <bean123ch@gmail.com>
35087
35088 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
35089 (lua_mod_SOURCES): New variable.
35090 (lua_mod_CFLAGS): Likewise.
35091 (lua_mod_LDFLAGS): Likewise.
35092
35093 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
35094 (setjmp_mod_SOURCES): New variable.
35095 (setjmp_mod_CFLAGS): Likewise.
35096 (setjmp_LDFLAGS): Likewise.
35097
35098 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
35099 (setjmp_mod_SOURCES): New variable.
35100 (setjmp_mod_CFLAGS): Likewise.
35101 (setjmp_LDFLAGS): Likewise.
35102
35103 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
35104 (setjmp_mod_SOURCES): New variable.
35105 (setjmp_mod_CFLAGS): Likewise.
35106 (setjmp_LDFLAGS): Likewise.
35107
35108 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
35109 (setjmp_mod_SOURCES): New variable.
35110 (setjmp_mod_CFLAGS): Likewise.
35111 (setjmp_LDFLAGS): Likewise.
35112
35113 * normal/i386/setjmp.S: Moved from here ...
35114 * lib/i386/setjmp.S: ... Moved here
35115 * normal/x86_64/setjmp.S: Moved from here ...
35116 * lib/x86_64/setjmp.S: ... Moved here
35117 * normal/powerpc/setjmp.S: Moved from here ...
35118 * lib/powerpc/setjmp.S: ... Moved here
35119 * normal/sparc64/setjmp.S: Moved from here ...
35120 * lib/sparc64/setjmp.S: ... Moved here
35121
35122 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
35123 returns_twice in mingw.
35124
35125 * script/lua/grub_lib.c: New file.
35126 * script/lua/grub_lib.h: Likewise.
35127 * script/lua/grub_lua.h: Likewise.
35128 * script/lua/grub_main.c: Likewise.
35129 * script/lua/lapi.c: Likewise.
35130 * script/lua/lapi.h: Likewise.
35131 * script/lua/lauxlib.c: Likewise.
35132 * script/lua/lauxlib.h: Likewise.
35133 * script/lua/lbaselib.c: Likewise.
35134 * script/lua/lcode.c: Likewise.
35135 * script/lua/lcode.h: Likewise.
35136 * script/lua/ldblib.c: Likewise.
35137 * script/lua/ldebug.c: Likewise.
35138 * script/lua/ldebug.h: Likewise.
35139 * script/lua/ldo.c: Likewise.
35140 * script/lua/ldo.h: Likewise.
35141 * script/lua/ldump.c: Likewise.
35142 * script/lua/lfunc.c: Likewise.
35143 * script/lua/lfunc.h: Likewise.
35144 * script/lua/lgc.c: Likewise.
35145 * script/lua/lgc.h: Likewise.
35146 * script/lua/linit.c: Likewise.
35147 * script/lua/liolib.c: Likewise.
35148 * script/lua/llex.c: Likewise.
35149 * script/lua/llex.h: Likewise.
35150 * script/lua/llimits.h: Likewise.
35151 * script/lua/lmathlib.c: Likewise.
35152 * script/lua/lmem.c: Likewise.
35153 * script/lua/lmem.h: Likewise.
35154 * script/lua/loadlib.c: Likewise.
35155 * script/lua/lobject.c: Likewise.
35156 * script/lua/lobject.h: Likewise.
35157 * script/lua/lopcodes.c: Likewise.
35158 * script/lua/lopcodes.h: Likewise.
35159 * script/lua/loslib.c: Likewise.
35160 * script/lua/lparser.c: Likewise.
35161 * script/lua/lparser.h: Likewise.
35162 * script/lua/lstate.c: Likewise.
35163 * script/lua/lstate.h: Likewise.
35164 * script/lua/lstring.c: Likewise.
35165 * script/lua/lstring.h: Likewise.
35166 * script/lua/lstrlib.c: Likewise.
35167 * script/lua/ltable.c: Likewise.
35168 * script/lua/ltable.h: Likewise.
35169 * script/lua/ltablib.c: Likewise.
35170 * script/lua/ltm.c: Likewise.
35171 * script/lua/ltm.h: Likewise.
35172 * script/lua/lua.h: Likewise.
35173 * script/lua/luaconf.h: Likewise.
35174 * script/lua/lualib.h: Likewise.
35175 * script/lua/lundump.c: Likewise.
35176 * script/lua/lundump.h: Likewise.
35177 * script/lua/lvm.c: Likewise.
35178 * script/lua/lvm.h: Likewise.
35179 * script/lua/lzio.c: Likewise.
35180 * script/lua/lzio.h: Likewise.
35181
5e898c9d 351822009-05-16 Bean <bean123ch@gmail.com>
35183
35184 * include/grub/kernel.h (grub_module_header_types): Add type
35185 OBJ_TYPE_CONFIG.
35186
35187 * kern/main.c (grub_load_config): New function.
35188 (grub_main): Call grub_load_config to read boot config.
35189
35190 * grub-mkimage (generate_image): New parameter config_path.
35191 (options): New option --config.
35192 (main): Parse --config option, and pass it to generate_image.
35193
cf353a47 351942009-05-14 Christian Franke <franke@computer.org>
35195
35196 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
35197 This fixes build on Cygwin.
35198
3834887f 351992009-05-14 Pavel Roskin <proski@gnu.org>
35200
35201 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
35202 jump. This saves two bytes, so the typical case of 2 swapped
35203 drives would fit 32 bytes.
35204
8090fc01 352052009-05-13 Pavel Roskin <proski@gnu.org>
35206
ac963883 35207 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
35208 grub_uint32_t to avoid a warning.
35209
8090fc01 35210 * loader/i386/linux.c (allocate_pages): When assigning
35211 real_mode_mem, cast through grub_size_t to fix a warning. The
35212 code already makes sure that the value would fit a pointer.
35213 (grub_linux_setup_video): Cast render_target->data to
35214 grub_size_t to fix a warning.
35215
18f547ad 352162009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 35217
35218 * commands/i386/pc/drivemap.c: New file - implement drivemap
35219 command.
35220 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
35221 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
35222
6f6a8b28 352232009-05-13 Pavel Roskin <proski@gnu.org>
35224
35225 * util/i386/pc/grub-setup.c (setup): Remove unused variable
35226 embedding_area_exists.
35227
15fbf4c4 352282009-05-13 Robert Millan <rmh.grub@aybabtu.com>
35229
35230 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
35231 it easier to understand / work with.
59978c8a 35232 Improve warning messages for cases where there's no embedding area,
35233 or when it is too small (or core.img too large).
15fbf4c4 35234
238e871f 352352009-05-13 Pavel Roskin <proski@gnu.org>
35236
0ab3a9a4 35237 * loader/i386/pc/multiboot2.c: Add necessary includes for
35238 grub_multiboot2_real_boot().
35239
a2c8c5f8 35240 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
35241 PX record is always little-endian. We only need the lower 2
35242 bytes of the mode.
35243
faec96af 35244 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
35245 facilitate code reuse.
35246 (grub_cpio_mount): Use "struct head", not a char buffer. This
35247 fixes a warning reported by gcc 4.4.
35248
238e871f 35249 * kernel/disk.c (grub_disk_read): Use void pointer for the
35250 buffer.
35251 (grub_disk_write): Use const void pointer for the buffer.
35252 Adjust all callers. Remove unnecessary casts.
35253
901d2f0c 352542009-05-10 Robert Millan <rmh.grub@aybabtu.com>
35255
35256 * util/i386/pc/grub-install.in: Update copyright year.
35257
18f547ad 352582009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 35259
35260 gptsync
35261
35262 * commands/gptsync.c: new file
35263 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
35264 (gptsync_mod_SOURCES): new variable
35265 (gptsync_mod_CFLAGS): likewise
35266 (gptsync_mod_LDFLAGS): likewise
18f547ad 35267 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 35268 new definition
35269 (GRUB_PC_PARTITION_TYPE_HFS): likewise
35270 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
35271 * conf/i386-ieee1275.rmk: likewise
35272 * conf/i386-pc.rmk: likewise
35273 * conf/powerpc-ieee1275.rmk: likewise
35274
b4ba690a 352752009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
35276
35277 Fixed grub-emu
35278
35279 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
35280 (grub_dl_ref): likewise
35281
317e1a44 352822009-05-08 Robert Millan <rmh.grub@aybabtu.com>
35283
35284 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
35285 split in two functions (one for msdos and one for gpt).
35286
041b8094 352872009-05-08 Pavel Roskin <proski@gnu.org>
35288
752473c2 35289 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
35290 not modified.
35291
041b8094 35292 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
35293 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
35294 Initialize them with -1. Add sanity check for bad1. Eliminate
35295 nerr variable.
35296
172800ce 352972009-05-08 David S. Miller <davem@davemloft.net>
35298
35299 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
35300
29aa5e81 353012009-05-06 Robert Millan <rmh.grub@aybabtu.com>
35302
35303 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 35304 existence.
29aa5e81 35305
96613b62 353062009-05-05 Felix Zielcke <fzielcke@z-51.de>
35307
35308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 35309 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 35310
eef73c8a 353112009-05-05 David S. Miller <davem@davemloft.net>
35312
35313 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
35314
119494b5 353152009-05-05 Pavel Roskin <proski@gnu.org>
35316
35317 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
35318 of grub_dl_ref() and grub_dl_unref().
35319 * commands/parttool.c: Remove preprocessor conditionals around
35320 grub_dl_ref() and grub_dl_unref().
35321 * fs/affs.c: Likewise.
35322 * fs/afs.c: Likewise.
35323 * fs/cpio.c: Likewise.
35324 * fs/ext2.c: Likewise.
35325 * fs/fat.c: Likewise.
35326 * fs/hfs.c: Likewise.
35327 * fs/hfsplus.c: Likewise.
35328 * fs/iso9660.c: Likewise.
35329 * fs/jfs.c: Likewise.
35330 * fs/minix.c: Likewise.
35331 * fs/ntfs.c: Likewise.
35332 * fs/reiserfs.c: Likewise.
35333 * fs/sfs.c: Likewise.
35334 * fs/udf.c: Likewise.
35335 * fs/ufs.c: Likewise.
35336 * fs/xfs.c: Likewise.
35337 * include/grub/dl.h: Likewise.
35338 * loader/xnu.c: Likewise.
35339
de5fd76e 353402009-05-04 Pavel Roskin <proski@gnu.org>
35341
35342 * commands/acpi.c: Remove unused variable my_mod.
35343 * partmap/amiga.c: Likewise.
35344 * partmap/apple.c: Likewise.
35345 * partmap/gpt.c: Likewise.
35346 * partmap/pc.c: Likewise.
35347 * partmap/sun.c: Likewise.
35348 * term/gfxterm.c: Likewise.
35349 * term/i386/pc/vesafb.c: Likewise.
35350 * term/i386/pc/vga.c: Likewise.
35351
983598ad 353522009-05-04 David S. Miller <davem@davemloft.net>
35353
35354 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
35355 pointer args to grub_ieee1275_get_property().
35356
8aadec43 35357 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
35358
9554b15e 35359 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
35360 devices, and do not traverse down under controller nodes.
35361
67e23c90 35362 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
35363 (grub_ofdisk_open): Use it to un-escape "," characters.
35364 * kern/disk.c (find_part_sep): New.
35365 (grub_disk_open): Use it to find the first non-escaped ','
35366 character in the disk name.
35367 * util/ieee1275/devicemap.c (escape_of_path): New.
35368 (grub_util_emit_devicemap_entry): Use it.
35369 * util/sparc64/ieee1275/grub-install.in: Update script to
35370 strip partition specifiers properly by not triggering on
35371 '\' escaped ',' characters.
35372
74bfdd2f 353732009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35374
35375 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
35376 to 0x300.
35377 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
35378 resolutions.
35379 (linux_vesafb_modes): Add a lot of additional modes to the list (based
35380 on documentation from Wikipedia).
35381
4241d2b1 353822009-05-04 Pavel Roskin <proski@gnu.org>
35383
35384 * disk/ata.c: Spelling fixes.
35385 * disk/raid.c: Likewise.
35386 * disk/usbms.c: Likewise.
35387 * disk/dmraid_nvidia.c: Likewise.
35388 * kern/ieee1275/openfw.c: Likewise.
35389 * kern/ieee1275/init.c: Likewise.
35390 * kern/ieee1275/cmain.c: Likewise.
35391 * boot/i386/pc/cdboot.S: Likewise.
35392 * video/readers/png.c: Likewise.
35393 * video/i386/pc/vbe.c: Likewise.
35394 * fs/udf.c: Likewise.
35395 * fs/hfs.c: Likewise.
35396 * fs/reiserfs.c: Likewise.
35397 * efiemu/runtime/efiemu.c: Likewise.
35398 * efiemu/main.c: Likewise.
35399 * efiemu/mm.c: Likewise.
35400 * include/grub/elf.h: Likewise.
35401 * include/grub/xnu.h: Likewise.
35402 * include/grub/usbdesc.h: Likewise.
35403 * include/grub/usb.h: Likewise.
35404 * include/grub/script_sh.h: Likewise.
35405 * include/grub/lib/LzmaEnc.h: Likewise.
35406 * include/grub/efiemu/efiemu.h: Likewise.
35407 * include/grub/command.h: Likewise.
35408 * normal/menu.c: Likewise.
35409 * normal/main.c: Likewise.
35410 * normal/datetime.c: Likewise.
35411 * bus/usb/uhci.c: Likewise.
35412 * mmap/i386/uppermem.c: Likewise.
35413 * mmap/mmap.c: Likewise.
35414 * commands/acpi.c: Likewise.
35415 * commands/test.c: Likewise.
35416 * partmap/apple.c: Likewise.
35417 * font/font.c: Likewise.
35418 * loader/sparc64/ieee1275/linux.c: Likewise.
35419 * loader/macho.c: Likewise.
35420 * loader/i386/bsd_trampoline.S: Likewise.
35421 * loader/i386/bsd.c: Likewise.
35422 * loader/xnu.c: Likewise.
35423 * term/i386/pc/vesafb.c: Likewise.
35424 * term/usb_keyboard.c: Likewise.
35425 * util/resolve.c: Likewise.
35426 * util/getroot.c: Likewise.
35427
0cfc0083 354282009-05-04 Felix Zielcke <fzielcke@z-51.de>
35429
35430 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
35431
7c1d00cd 354322009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35433
35434 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
35435 build error.
35436
b01f0548 354372009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35438
35439 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
35440 parameter only available on BIOS.
35441
ecc3eb22 354422009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35443
35444 Removed wrong semicolon in declaration
35445
35446 * grub/misc.h (grub_dprintf): remove semicolon
35447
112972a9 354482009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35449
35450 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
35451 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
35452 is done by grub_cmd_linux() now).
35453 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
35454 restore video to text mode.
35455 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
35456 indicates lack of "vga=" parameter. "vga=0" is mapped to
35457 `GRUB_LINUX_VID_MODE_NORMAL'.
35458
afd5c115 354592009-05-04 Felix Zielcke <fzielcke@z-51.de>
35460
35461 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
35462 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
35463 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 35464 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 35465 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
35466 `grub_script.tab.c'.
35467
35468 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35469 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35471 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35472 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35473
faa517ce 35474 * Makefile.in: Remove duplicated 2008 in Copyright line.
35475
ae0c0bdc 354762009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35477
473d1e45 35478 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 35479 unconditionally.
35480 * include/grub/util/misc.h (grub_util_warn): New declaration.
35481
35482 * util/i386/pc/grub-install.in: Understand --force and pass it down
35483 to grub-setup.
35484
35485 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
35486 down to setup().
35487 (setup): Improve error messages and add warnings when requested to
35488 install in odd layouts. Refuse to install using blocklists unless
35489 --force was set.
35490
18f547ad 354912009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 35492
35493 * disk/raid.c (grub_raid_scan_device): Improve debug message.
35494
6d260daa 354952009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35496
35497 Updated copyright year
35498
35499 * fs/hfsplus.c: updated copyright year
18f547ad 35500
69f853f8 355012009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35502
35503 HFS+ UUID
35504
18f547ad 35505 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 35506 in the space previously used by unused3
35507 (grub_hfsplus_uuid): new function
35508 (grub_hfsplus_fs): added uuid field
35509
4c402e73 355102009-05-03 Pavel Roskin <proski@gnu.org>
35511
35512 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
35513 suppress warnings. It's no longer needed.
35514 * disk/host.c: Likewise.
35515 * disk/ata_pthru.c: Likewise.
35516 * disk/loopback.c: Likewise.
35517 * hook/datehook.c: Likewise.
35518 * parttool/pcpart.c: Likewise.
35519 * fs/i386/pc/pxe.c: Likewise.
35520 * fs/ntfscomp.c: Likewise.
35521 * efiemu/main.c: Likewise.
35522 * mmap/mmap.c: Likewise.
35523 * commands/crc.c: Likewise.
35524 * commands/hexdump.c: Likewise.
35525 * commands/hdparm.c: Likewise.
35526 * commands/acpi.c: Likewise.
35527 * commands/echo.c: Likewise.
35528 * commands/minicmd.c: Likewise.
35529 * commands/blocklist.c: Likewise.
35530 * commands/memrw.c: Likewise.
35531 * commands/loadenv.c: Likewise.
35532 * commands/usbtest.c: Likewise.
35533 * commands/lsmmap.c: Likewise.
35534 * commands/boot.c: Likewise.
35535 * commands/parttool.c: Likewise.
35536 * commands/configfile.c: Likewise.
35537 * commands/search.c: Likewise.
35538 * commands/ieee1275/suspend.c: Likewise.
35539 * commands/cat.c: Likewise.
35540 * commands/i386/pc/pxecmd.c: Likewise.
35541 * commands/i386/pc/play.c: Likewise.
35542 * commands/i386/pc/halt.c: Likewise.
35543 * commands/i386/pc/vbeinfo.c: Likewise.
35544 * commands/i386/pc/vbetest.c: Likewise.
35545 * commands/lspci.c: Likewise.
35546 * commands/date.c: Likewise.
35547 * commands/handler.c: Likewise.
35548 * commands/ls.c: Likewise.
35549 * commands/test.c: Likewise.
35550 * commands/cmp.c: Likewise.
35551 * commands/efi/loadbios.c: Likewise.
35552 * commands/efi/fixvideo.c: Likewise.
35553 * commands/halt.c: Likewise.
35554 * commands/help.c: Likewise.
35555 * commands/reboot.c: Likewise.
35556 * hello/hello.c: Likewise.
35557 * script/sh/main.c: Likewise.
35558 * loader/xnu.c: Likewise.
35559 * term/terminfo.c: Likewise.
35560 * term/i386/pc/serial.c: Likewise.
35561 * term/usb_keyboard.c: Likewise.
35562
515b5079 355632009-05-03 David S. Miller <davem@davemloft.net>
35564
35565 * normal/menu.c: Include grub/parser.h
35566
dfc31a22 355672009-05-03 Pavel Roskin <proski@gnu.org>
35568
2fee74f1 35569 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
35570 not char*.
35571 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
35572 Suggested by Javier Martín <lordhabbit@gmail.com>
35573
dfc31a22 35574 * util/i386/pc/grub-mkrescue.in: Allow for the case when
35575 efiemu??.o doesn't exist.
35576 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
35577 copying.
35578
18f547ad 355792009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 35580
35581 FreeBSD 64-bit support
35582
18f547ad 35583 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 35584 and loader/i386/bsd_trampoline.S
35585 (bsd_mod_ASFLAGS): new variable
35586 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
35587 (FREEBSD_MODTYPE_KERNEL64): likewise
35588 (grub_bsd64_trampoline_start): likewise
35589 (grub_bsd64_trampoline_end): likewise
35590 (grub_bsd64_trampoline_selfjump): likewise
35591 (grub_bsd64_trampoline_gdt): likewise
35592 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
35593 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
35594 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
35595 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 35596 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 35597 of "attrib" member
35598 * loader/i386/bsd_pagetable.c: new file
35599 * loader/i386/bsd_trampoline.S: likewise
35600 * loader/i386/bsd.c (ALIGN_QWORD): new macro
35601 (ALIGN_VAR): likewise
35602 (entry_hi): new variable
35603 (kern_end_mdofs): likewise
35604 (is_64bit): likewise
35605 (grub_freebsd_add_meta): use ALIGN_VAR
35606 (grub_e820_mmap): new declaration
35607 (grub_freebsd_add_mmap): new function
35608 (grub_freebsd_add_meta_module): support 64 bit kernels
35609 (grub_freebsd_list_modules): use ALIGN_VAR
35610 (gdt_descriptor): new declaration
35611 (grub_freebsd_boot): support 64 bit kernels
35612 (grub_bsd_elf64_hook): new function
35613 (grub_bsd_load_elf): support elf64
35614
038c5720 356152009-05-03 Bean <bean123ch@gmail.com>
35616
35617 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
35618 after we get the result of if statement.
35619
fc45fb58 356202009-05-03 Bean <bean123ch@gmail.com>
35621
35622 * Makefile.in (enable_efiemu): New variable.
35623
35624 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
35625 set.
35626 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
35627 path.
35628 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
35629 path, add -mno-red-zone option.
35630 (efiemu64_s.o): Likewise.
35631 (efiemu64.o): Use macro $^ for source file.
35632
35633 * configure.ac (--enable-efiemu): New option.
35634
bbee0f2b 356352009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
35636
35637 xnu support
35638
35639 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
35640 (pkglib_MODULES): add xnu.mod
35641 (xnu_mod_SOURCES): new variable
35642 (xnu_mod_CFLAGS): likewise
35643 (xnu_mod_LDFLAGS): likewise
35644 (xnu_mod_ASFLAGS): likewise
35645 * conf/i386-pc.rmk: likewise
35646 * conf/x86_64-efi.rmk: likewise
7dd4a573 35647 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 35648 new declaration
35649 * include/grub/i386/macho.h: new file
35650 * include/grub/i386/xnu.h: likewise
35651 * include/grub/macho.h: likewise
35652 * include/grub/machoload.h: likewise
35653 * include/grub/x86_64/macho.h: likewise
35654 * include/grub/x86_64/xnu.h: likewise
35655 * include/grub/xnu.h: likewise
35656 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
35657 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
35658 * loader/i386/efi/xnu.c: new file
35659 * loader/i386/pc/xnu.c: likewise
35660 * loader/i386/xnu.c: likewise
35661 * loader/i386/xnu_helper.S: likewise
35662 * loader/macho.c: likewise
35663 * loader/xnu.c: likewise
35664 * loader/xnu_resume.c: likewise
35665 * util/grub-dumpdevtree: likewise
35666 * include/grub/i386/pit.h: include grub/err.h
35667 (grub_pit_wait): export
35668 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 35669
5caf964d 356702009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35671
35672 Efiemu
7dd4a573 35673
5caf964d 35674 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 35675 _linux_efi, linux_efi.
35676 new files in grub-emu
5caf964d 35677 new targets efiemu32.o and efiemu64.o
35678 * loader/linux_normal_efiemu.c: likewise
35679 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 35680 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 35681 files to copy
35682 * include/grub/autoefi.h: new file
7dd4a573 35683 * include/grub/i386/efiemu.h: likewise
5caf964d 35684 * include/grub/i386/pc/efiemu.h: likewise
35685 * include/grub/efi/api.h: add LL suffix when necessary
35686 new definitions relating to tables
35687 * include/grub/efiemu/efiemu.h: new file
35688 * include/grub/efiemu/runtime.h: likewise
35689 * efiemu/prepare.c: likewise
35690 * efiemu/loadcore_common.c: likewise
35691 * efiemu/loadcore64.c: likewise
35692 * efiemu/runtime/efiemu.sh: likewise
35693 * efiemu/runtime/efiemu.S: likewise
35694 * efiemu/runtime/efiemu.c: likewise
35695 * efiemu/runtime/config.h: likewise
35696 * efiemu/prepare32.c: likewise
35697 * efiemu/main.c: likewise
35698 * efiemu/modules/pnvram.c: likewise
35699 * efiemu/modules/i386: likewise
35700 * efiemu/modules/i386/pc: likewise
35701 * efiemu/modules/acpi.c: likewise
35702 * efiemu/i386/pc/cfgtables.c: likewise
35703 * efiemu/i386/loadcore64.c: likewise
35704 * efiemu/i386/loadcore32.c: likewise
35705 * efiemu/prepare64.c: likewise
35706 * efiemu/loadcore.c: likewise
35707 * efiemu/symbols.c: likewise
35708 * efiemu/mm.c: likewise
35709 * efiemu/loadcore32.c: likewise
7dd4a573 35710
357112009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 35712
35713 ACPI spoofing
35714
35715 * commands/acpi.c: new file
35716 * commands/i386/pc/acpi.c: likewise
35717 * commands/efi/acpi.c: likewise
35718 * include/grub/acpi.h: likewise
35719 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
35720 (acpi_mod_SOURCES): new variable
35721 (acpi_mod_CFLAGS): likewise
35722 (acpi_mod_LDFLAGS): likewise
35723 * conf/i386-efi.rmk: likewise
35724 * conf/x86_64-efi.rmk: likewise
35725
7dd4a573 357262009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 35727
35728 Missing part from mmap patch
35729
35730 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
35731 (grub_mmap_unregister)
35732 (grub_mmap_free_and_unregister): use grub_mmap_register
35733
7dd4a573 357342009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 35735
35736 Mmap services
35737
35738 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
35739 * loader/i386/linux.c (find_mmap_size): likewise
35740 (allocate_pages): likewise
35741 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
35742 (grub_fill_multiboot_mmap): likewise
35743 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
35744 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
35745 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
35746 (OPENBSD_MMAP_RESERVED): likewise
35747 * include/grub/i386/pc/memory.h: include grub/memory.h
35748 (grub_lower_mem): removed
35749 (grub_upper_mem): likewise
35750 (GRUB_MACHINE_MEMORY_ACPI): new definition
35751 (GRUB_MACHINE_MEMORY_NVS): likewise
35752 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
35753 (GRUB_MACHINE_MEMORY_HOLE): likewise
35754 (grub_machine_mmap_register): likewise
35755 (grub_machine_mmap_unregister): likewise
35756 (grub_machine_get_upper): likewise
35757 (grub_machine_get_lower): likewise
35758 (grub_machine_get_post64): likewise
35759 * include/grub/i386/efi/memory.h: new file
35760 * include/grub/x86_64/efi/memory.h: likewise
35761 * include/grub/efi/memory.h: likewise
35762 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
35763 (mmap_mod_SOURCES): new variable
35764 (mmap_mod_LDFLAGS): likewise
35765 (mmap_mod_ASFLAGS): likewise
35766 * conf/i386-coreboot.rmk: likewise
35767 * conf/i386-ieee1275.rmk: likewise
35768 * conf/i386-efi.rmk: likewise
35769 * conf/x86_64-efi.rmk: likewise
35770 * include/grub/types.h (UINT_TO_PTR): new macro
35771 (PTR_TO_UINT32): likewise
35772 (PTR_TO_UINT64): likewise
35773 * include/grub/memory.h: new file
35774 * mmap/i386/pc/mmap.c: likewise
35775 * mmap/i386/pc/mmap_helper.S: likewise
35776 * mmap/i386/uppermem.c: likewise
35777 * mmap/mmap.c: likewise
35778 * mmap/efi/mmap.c: likewise
7dd4a573 35779 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 35780 grub_upper_mem
35781 * kern/i386/pc/init.c (grub_lower_mem): removed variable
35782 (grub_upper_mem): likewise
35783 (grub_machine_init): don't use grub_upper_mem,
35784 make grub_lower_mem local
35785 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
35786 grub_mmap_iterate and grub_mmap_get_upper
35787 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
35788
d558e6b5 357892009-05-02 Bean <bean123ch@gmail.com>
35790
35791 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
35792 script/sh/parser.y.
35793 (pkglib_MODULES): Add normal.mod and sh.mod.
35794 (normal_SOURCES): New variable.
35795 (normal_mod_CFLAGS): Likewise.
35796 (normal_mod_LDFLAGS): Likewise.
35797 (sh_mod_SOURCES): Likewise.
35798 (sh_mod_CFLAGS): Likewise.
35799 (sh_mod_LDFLAGS): Likewise.
35800
35801 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
35802 script/sh/lexer.c_DEPENDENCIES.
35803 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
35804 kern/rescue_reader.c and kern/rescue_parser.c.
35805 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
35806 (grub_emu_SOURCES): Change source files.
35807 (pkglib_MODULES): Remove normal.mod.
35808 (normal_SOURCES): Removed.
35809 (normal_mod_CFLAGS): Likewise.
35810 (normal_mod_LDFLAGS): Likewise.
35811 * conf/i386-coreboot.rmk: Likewise.
35812 * conf/i386-efi.rmk: Likewise.
35813 * conf/i386-ieee1276.rmk: Likewise.
35814 * conf/powerpc-ieee1275.rmk: Likewise.
35815 * conf/sparc64-ieee1275.rmk: Likewise.
35816 * conf/x86_64-efi.rmk: Likewise.
35817
35818 * include/grub/command.h (grub_command_execute): New inline function.
35819
35820 * include/grub/menu.h (grub_menu_entry): Removed commands field.
35821
35822 * include/grub/normal.h: Remove <grub/setjmp.h>.
35823 (grub_fs_module_list): Moved to normal/autofs.c.
35824 (grub_exit_env): Removed.
35825 (grub_command_execute): Likewise.
35826 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
35827 parameter script.
35828 (read_command_list): New function declaration.
35829 (read_fs_list): Likewise.
35830
35831 * include/parser.h: Include <grub/reader.h>.
35832 (grub_parser_split_cmdline): Change type of getline parameter.
35833 (grub_parser): New structure.
35834 (grub_parser_class): New variable.
35835 (grub_parser_execute): New function declaration.
35836 (grub_register_rescue_parser): Likewise.
35837 (grub_parser_register): New inline function.
35838 (grub_parser_unregister): Likewise.
35839 (grub_parser_get_current): Likewise.
35840 (grub_parser_set_current): Likewise.
35841
35842 * include/grub/reader.h: New file.
35843 * kern/reader.c: Likewise.
35844 * kern/rescue_parser.c: Likewise.
35845 * kern/rescue_reader.c: Likewise.
35846 * normal/autofs.c: Likewise.
35847 * normal/dyncmd.c: Likewise.
35848
35849 * include/grub/rescue.h: Removed.
35850 * normal/command.h: Likewise.
35851
35852 * include/grub/script.h: Moved to ...
35853 * include/grub/script_sh.h: ... Moved here.
35854 * normal/execute.c: Moved to ...
35855 * script/sh/execute.c: ... Moved here.
35856 * normal/function.c: Moved to ...
35857 * script/sh/function.c: ... Moved here.
35858 * normal/lexer.c: Moved to ...
35859 * script/sh/lexer.c: ... Moved here.
35860 * normal/parser.y: Moved to ...
35861 * script/sh/parser.y: ... Moved here.
35862 * normal/script.c: Moved to ...
35863 * script/sh/script.c: ... Moved here.
35864
35865 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
35866 <grub/reader.h>.
35867 (grub_exit_env): Removed.
35868 (fs_module_list): Moved to normal/autofs.c.
35869 (grub_file_getline): Don't handle comment here.
35870 (free_menu): Skip removed field entry->commands.
35871 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
35872 script parameter.
35873 (read_config_file): Removed nested parameter, change getline function.
35874 (grub_enter_normal_mode): Removed.
35875 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
35876 (read_command_list): Likewise.
35877 (autoload_fs_module): Moved to normal/autofs.c.
35878 (read_fs_list): Likewise.
35879 (reader_nested): New variable.
35880 (grub_normal_execute): Run parser.sh to switch to sh parser.
35881 (grub_cmd_rescue): Removed.
35882 (cmd_normal): Removed.
35883 (grub_cmd_normal): Unregister itself at the beginning. Don't register
35884 rescue command.
35885 (grub_cmdline_run): New function.
35886 (grub_normal_reader_init): Likewise.
35887 (grub_normal_read_line): Likewise.
35888 (grub_env_write_pager): Likewise.
35889 (cmdline): New variable.
35890 (grub_normal_reader): Likewise.
35891 (GRUB_MOD_INIT): Register normal reader and set as current, register
35892 pager hook, register normal command with grub_register_command_prio,
35893 so that it won't show up in command.lst.
35894 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
35895 grub_fs_autoload_hook.
35896
35897 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
35898 (grub_menu_execute_entry): Replace grub_script_execute with
35899 grub_parser_execute, change parameter to grub_command_execute.
35900
35901 * normal/menu_text.c: Remove <grub/script.h>.
35902
35903 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
35904 and <grub/parser.h>.
35905 (run): Change editor_getline to use new parser interface. Change
35906 parameter to grub_command_execute.
35907
35908 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
35909 <grub/reader.h> and <grub/parser.h>.
35910 (grub_load_normal_mode): Execute normal command.
35911 (grub_main): Call grub_register_core_commands,
35912 grub_register_rescue_parser and grub_register_rescue_reader, use
35913 grub_reader_loop to enter input loop.
35914
7dd4a573 35915 * kern/parser.c (grub_parser_split_cmdline): Change type of
35916 getline parameter.
d558e6b5 35917 (grub_parser_class): New variable.
35918 (grub_parser_execute): New function.
35919
35920 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
35921 * loader/multiboot2.c: Likewise.
35922 * loader/sparc64/ieee1275/linux.c: Likewise.
35923
35924 * util/grub-emu.c (read_command_list): New dummy function.
35925
18db813d 359262009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35927
35928 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
35929 count to 16 for CCISS and IDA.
35930
6c67de15 359312009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35932
35933 * normal/menu_text.c (grub_wait_after_message): Print a newline
35934 after waiting for user input.
35935
35936 * loader/i386/linux.c: Include `<grub/normal.h>'.
35937 (grub_cmd_linux): Improve the error message about `ask' mode, by
35938 waiting for user input so it's not missed (we can do this, since
35939 user requested interaction).
35940
d9dc87b0 359412009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35942
35943 Added missing lst to grub-mkrescue
35944
35945 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
35946 and ${input_dir}/parttool.lst
35947
ac8a2baa 359482009-04-30 David S. Miller <davem@davemloft.net>
35949
ad22a610 35950 * util/hostdisk.c (device_is_wholedisk): New function.
35951 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
35952 zero only if device_is_wholedisk() returns true.
35953
6966215d 35954 * util/hostdisk.c (convert_system_partition_to_system_disk):
35955 Handle virtual disk devices named /dev/vdiskX as found on sparc
35956 and powerpc.
35957
ac8a2baa 35958 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
35959 lettered partition specifier is found, convert to numbered.
35960
979b4fb4 359612009-04-29 David S. Miller <davem@davemloft.net>
35962
e2bf39b2 35963 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
35964 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35965
3c64e104 35966 * normal/command.c: Add missing newline at end of file.
35967
979b4fb4 35968 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
35969 warnings.
35970 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
35971 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
35972 grub_ofdisk_read): Likewise, and deal similarly with the fact that
35973 ihandles have a 32-bit type but need to be stored in a "void *".
35974
136d9f82 359752009-04-28 Pavel Roskin <proski@gnu.org>
35976
9459c306 35977 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
35978 not disk. Adjust all dependencies.
2e08a26a 35979 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 35980 grub_disk_close().
35981
136d9f82 35982 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
35983 parent's partition, don't copy it by reference, as it gets freed
35984 on close.
35985
7dd4a573 359862009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 35987
35988 Preboot hooks support
35989
35990 * commands/boot.c (struct grub_preboot_t): new declaration
35991 (preboots_head): new variable
35992 (preboots_tail): likewise
35993 (grub_loader_register_preboot_hook): new function
35994 (grub_loader_unregister_preboot_hook): likewise
35995 (grub_loader_set): launch preboot hooks
35996 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
35997 (grub_loader_register_preboot_hook): new declaration
35998 (grub_loader_unregister_preboot_hook): likewise
35999
5af922b5 360002009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
36001
36002 Warning fix
36003
7dd4a573 36004 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 36005 calling grub_dprintf
36006
a5562c30 360072009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
36008
36009 Bug and warning fixes
36010
7dd4a573 36011 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 36012 declaration
36013 * commands/test.c (test_parse): fixed bug with file tests and corrected
36014 declaration of find_file
36015
4006f85c 360162009-04-26 Pavel Roskin <proski@gnu.org>
36017
36018 * Makefile.in: Don't install empty manual pages if help2man is
36019 missing. Use help2man option for output, not shell redirection.
36020
5c77c3de 360212009-04-26 David S. Miller <davem@davemloft.net>
36022
36023 * util/grub-mkdevicemap.c (make_device_map): Add missing
36024 NESTED_FUNC_ATTR to process_device().
36025
033b10a8 360262009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
36027
36028 Test command
36029
36030 * commands/test.c: rewritten to use bash-like test
36031
e4343593 360322009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
36033
36034 Parttool autoloading and improvements
36035
7dd4a573 36036 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 36037 (parttool.lst): new target
36038 * genmk.rb: generate parttool-*
36039 (CLEANFILES): add #{parttool}
36040 (PARTTOOLFILES): new variable
36041 * genparttoollist.sh: new file
7dd4a573 36042 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 36043 (grub_pcpart_type): likewise
36044 * commands/parttool.c (helpmsg): new variable
36045 (grub_cmd_parttool): output help if not enough arguments are supplied
36046 autoload modules
36047 (GRUB_MOD_INIT(parttool)): use helpmsg
36048
0d312500 360492009-04-24 David S. Miller <davem@davemloft.net>
36050
7dd4a573 36051 Avoiding opening same device multiple times in device iterator.
0d312500 36052
36053 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 36054 and use it to build a list of partitions in iterate_disk() and
0d312500 36055 iterate_partition().
36056
ac20caff 36057 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
36058 on disk->data.
36059
0dcf7495 36060 * disk/ieee1275/nand.c (grub_nand_iterate): Return
36061 grub_devalias_iterate() result instead of unconditional 0.
36062 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
36063 Also, capture hook return value, either directly or via
36064 grub_children_iterate(), and propagate to caller.
36065 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
36066 grub_children_iterate): Return value is now 'int' instead of
36067 'grub_err_t'.
36068 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
36069 like a proper iterator, stopping when hooks return non-zero.
36070 (grub_devalias_iterate): Likewise.
36071
c8c08833 360722009-04-23 David S. Miller <davem@davemloft.net>
36073
36074 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
36075
f01005a8 360762009-04-22 David S. Miller <davem@davemloft.net>
36077
36078 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
36079 is larger than address_cells, use that value for address_cells too.
36080
4e8269da 36081 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
36082 IEEE1275_MAX_PATH_LEN): Define.
36083 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
36084 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
36085 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
36086 'devtype'. Explicitly NULL terminate devalias expansion.
36087
a1447506 36088 * util/sparc64/ieee1275/misc.c: New file.
36089 * util/sparc64/ieee1275/grub-setup.c: New file.
36090 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
36091 * util/sparc64/ieee1275/grub-mkimage.c: New file.
36092 * util/sparc64/ieee1275/grub-install.in: New file.
36093 * util/ieee1275/ofpath.c: New file.
36094 * util/ieee1275/devicemap.c: New file.
36095 * util/devicemap.c: New file.
36096 * util/deviceiter.c: New file.
36097 * kern/sparc64/ieee1275/init.c: New file.
36098 * include/grub/util/ofpath.h: New file.
36099 * include/grub/util/deviceiter.h: New file.
36100 * util/grub-mkdevicemap.c: Include deviceiter.h.
36101 Implement using grub_util_emit_devicemap_entry and
36102 grub_util_iterate_devices.
36103 * conf/i386-corebook.rmk: Build util/deviceiter.c and
36104 util/devicemap.c into grub-mkdevicemap
36105 * conf/i386-efi.rmk: Likewise.
36106 * conf/i386-ieee1275.rmk: Likewise.
36107 * conf/i386-pc.rmk: Likewise.
36108 * conf/powerpc-ieee1275.rmk: Likewise.
36109 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
36110 images and installation utilities. Build kernel as image
36111 instead of as elf binary. Use common rules as much as possible.
36112
7dd4a573 361132009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 36114
36115 Correct GPT definition
36116
7dd4a573 36117 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 36118 of "attrib" member
36119
c6c5219f 361202009-04-19 Felix Zielcke <fzielcke@z-51.de>
36121
36122 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
36123
0552ff9f 361242009-04-19 David S. Miller <davem@davemloft.net>
36125
36126 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
36127 (grub_rescue_cmd_linux): Rename to...
36128 (grub_cmd_linux): and fix prototype.
36129 (grub_rescue_cmd_initrd): Rename to...
36130 (grub_cmd_initrd): and fix prototype.
36131 (cmd_linux, cmd_initrd): New.
36132 (GRUB_MOD_INIT(linux)): Use grub_register_command().
36133 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
36134
d1a282fc 361352009-04-17 Pavel Roskin <proski@gnu.org>
36136
07c5039f 36137 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
36138 format.
36139 (grub_ohci_transfer): Likewise.
36140
b012002d 36141 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
36142
1bc09c35 36143 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
36144 return without a value. Fix inconsistent indentation.
36145
e0ff9126 36146 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
36147 match struct grub_fs.
36148
d1a282fc 36149 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
36150 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
36151 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36152 * commands/lspci.c (grub_lspci_iter): Likewise.
36153
a96df3f2 361542009-04-16 Bean <bean123ch@gmail.com>
36155
36156 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
36157 value.
36158
41bb0fe9 361592009-04-15 Pavel Roskin <proski@gnu.org>
36160
36161 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
36162 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
36163 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
36164 definitions.
36165
596c6970 361662009-04-15 Felix Zielcke <fzielcke@z-51.de>
36167
36168 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 36169 that no multiple data or metadata areas are supported and `Unknown
596c6970 36170 metadata header'.
36171
7dd4a573 361722009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 36173
36174 Move loader out of the kernel
36175
36176 * kern/loader.c: moved to ...
36177 * commands/boot.c: ... moved here
36178 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
36179 * commands/boot.c (grub_cmd_boot): moved here. All users updated
36180 * include/grub/kernel.h (grub_machine_fini): export
36181 * include/grub/loader.h (grub_loader_is_loaded): update declaration
36182 (grub_loader_set): likewise
36183 (grub_loader_unset): likewise
36184 (grub_loader_boot): likewise
36185 * conf/common.rmk: new module boot.mod
36186 (pkglib_MODULES): add boot.mod
36187 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
36188 (grub_emu_SOURCES): likewise
36189 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
36190 (grub_emu_SOURCES): likewise
36191 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
36192 (grub_emu_SOURCES): likewise
36193 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
36194 (grub_emu_SOURCES): likewise
36195 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
36196 (grub_emu_SOURCES): likewise
7dd4a573 36197 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
36198 (grub_emu_SOURCES): likewise
0d5d5653 36199 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 36200 (grub_emu_SOURCES): likewise
0d5d5653 36201
7dd4a573 362022009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 36203
36204 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 36205
5999d619 36206 * kern/misc.c (grub_itoa): Removed function
36207 (grub_ltoa): likewise
36208 (grub_vsprintf): use grub_lltoa
36209
7dd4a573 362102009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 36211
36212 Restore grub-emu
36213
36214 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
36215 * conf/i386-coreboot.rmk: likewise
36216 * conf/i386-ieee1275.rmk: likewise
36217 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 36218
20318222 362192009-04-15 Felix Zielcke <fzielcke@z-51.de>
36220
36221 * INSTALL: Add that `./autogen.sh' needs to be run before
36222 `./configure.'.
36223
d05f0df3 362242009-04-14 Bean <bean123ch@gmail.com>
36225
36226 * Makefile.in (pkglib_DATA): Add handler.lst.
36227 (handler.lst): New rule.
36228
36229 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
36230 * conf/i386-coreboot.rmk: Likewise.
36231 * conf/i386-ieee1275.rmk: Likewise.
36232 * conf/i386-efi.rmk: Likewise.
36233 * conf/x86_64-efi.rmk: Likewise.
36234 * conf/powerpc-ieee1275.rmk: Likewise.
36235 * conf/sparc64-ieee1275.rmk: Likewise.
36236
36237 * genhandlerlist.sh: New file.
36238
36239 * genmk.rb: Add rules to generate handler.lst.
36240
36241 * include/grub/normal.h (grub_file_getline): New function definition.
36242 (read_handler_list): Likewise.
36243 (free_handler_list): Likewise.
36244
36245 * include/grub/term.h (grub_term_register_input): Add name parameter
36246 for auto generation of handler.lst.
36247 (grub_term_register_output): Likewise.
36248
36249 * normal/handler.c: New file.
36250
36251 * normal/main.c (get_line): Renamed to grub_file_getline.
36252 (read_config_file): Use the newly renamed grub_file_getline.
36253 (read_command_list): Likewise.
36254 (read_fs_list): Likewise.
36255 (grub_normal_execute): Call read_handler_list to parse handler.lst.
36256 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
36257
36258 * term/efi/console.c (grub_console_init): Add name parameter for auto
36259 generation of handler.lst.
36260 * term/gfxterm.c: Likewise.
36261 * term/i386/pc/at_keyboard.c: Likewise.
36262 * term/i386/pc/console.c: Likewise.
36263 * term/i386/pc/serial.c: Likewise.
36264 * term/i386/pc/vesafb.c: Likewise.
36265 * term/i386/pc/vga.c: Likewise.
36266 * term/i386/pc/vga_text.c: Likewise.
36267 * term/ieee1275/ofconsole.c: Likewise.
36268 * term/usb_keyboard.c: Likewise.
36269
33c846be 362702009-04-14 Bean <bean123ch@gmail.com>
36271
36272 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
36273 properly with null character.
36274
4484e01e 362752009-04-14 Felix Zielcke <fzielcke@z-51.de>
36276
36277 * configure: Remove.
36278 * config.h.in: Likewise.
f93d668e 36279 * stamp-h.in: Likewise.
4484e01e 36280 * DISTLIST: Likewise.
36281 * conf/common.mk: Likewise.
36282 * conf/i386-coreboot.mk: Likewise.
36283 * conf/i386-efi.mk: Likewise.
36284 * conf/i386-ieee1275.mk: Likewise.
36285 * conf/i386.mk: Likewise.
36286 * conf/i386-pc.mk: Likewise.
36287 * conf/powerpc-ieee1275.mk: Likewise.
36288 * conf/sparc64-ieee1275.mk: Likewise.
36289 * conf/x86_64-efi.mk: Likewise.
36290
36291 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
36292 develop on GRUB.
36293
7dd4a573 362942009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 36295 David S. Miller <davem@davemloft.net>
36296
36297 * util/hostdisk.c (make_device_name): Fix buffer length
36298 calculations.
36299
e25b5a8c 363002009-04-14 Felix Zielcke <fzielcke@z-51.de>
36301
36302 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
36303 <sys/param.h> and <sys/sysctl.h>.
36304 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
36305 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
36306 opening the device and reset them afterwards.
36307
1f1f580c 363082009-04-13 Pavel Roskin <proski@gnu.org>
36309
36310 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
36311 Reported by John Stanley <jpsinthemix@verizon.net>
36312
7ebc2d6b 363132009-04-13 Robert Millan <rmh@aybabtu.com>
36314
36315 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 36316 that name for menuentries when appropriate.
7ebc2d6b 36317
d8ba3667 363182009-04-13 Felix Zielcke <fzielcke@z-51.de>
36319
36320 * util/grub.d/10_freebsd.in: Add a missing `fi'.
36321
cba416eb 363222009-04-13 Robert Millan <rmh@aybabtu.com>
36323
36324 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
36325 to Linux, simply abort telling the user it's no longer supported.
36326
a547a745 363272009-04-13 Felix Zielcke <fzielcke@z-51.de>
36328
36329 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 36330 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 36331 `freebsd_loadenv' only when devices.hints exist.
36332
232a769c 363332009-04-13 Pavel Roskin <proski@gnu.org>
36334
36335 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
36336
c3012039 363372009-04-13 Felix Zielcke <fzielcke@z-51.de>
36338
36339 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
36340 partition number.
36341 (grub_drive): Likewise.
36342
234022fe 363432009-04-13 David S. Miller <davem@davemloft.net>
36344
36345 * kern/sparc64/ieee1275/ieee1275.c: New file.
36346 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
36347 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
36348 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
36349 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
36350 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
36351 grub_ieee1275_alloc_physmem): Declare new exported functions.
36352
d8e1836c 36353 * include/grub/sparc64/ieee1275/loader.h: New file.
36354 * include/grub/sparc64/ieee1275/memory.h: Likewise.
36355 * include/grub/sparc64/kernel.h: Likewise.
36356 * loader/sparc64/ieee1275/linux.c: Likewise.
36357
96bd81ec 36358 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
36359 (grub_fstest_SOURCES): Likewise.
36360
6a4737e5 36361 * util/hostdisk.c (make_device_name): Do not make any assumptions
36362 about the length of drive names.
36363
1d7a72fd 36364 * kern/dl.c (grub_dl_load_file): Close file immediately when
36365 we are done using it.
36366
56bc2471 363672009-04-12 David S. Miller <davem@davemloft.net>
36368
36369 * kern/misc.c (grub_ltoa): Fix cast when handling negative
36370 values. Noticed by Pavel Roskin.
36371
df38d0bb 36372 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
36373 target compiler.
7dd4a573 36374
e382e93a 36375 * genmk.rb: Add more flexible image type specification, also
36376 pass --strip-unneeded to objcopy.
36377 * conf/i386-pc.rmk: Use *_FORMAT.
36378 * conf/i386-pc.mk: Rebuilt.
36379
f5dbbca9 36380 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
36381 (OFDISK_HASH_SZ): Define.
36382 (ofdisk_hash): New hash table.
36383 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
36384 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
36385 instead of device phandle which is not unique.
36386
91c88b12 36387 * kern/sparc64/ieee1275/init.c: Delete, replace with...
36388 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
36389 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
36390 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
36391 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
36392 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
36393 GRUB_KERNEL_MACHINE_DATA_END): Define.
36394 (grub_kernel_image_size, grub_total_module_size): Declare.
36395
5b5d4aa5 363962009-04-12 Pavel Roskin <proski@gnu.org>
36397
7dd4a573 36398 * configure.ac: Change the logic when we check for target tools.
36399 Do it when the target is specified and it's different from the
36400 specified value of the host.
5b5d4aa5 36401
c91e1793 364022009-04-11 Felix Zielcke <fzielcke@z-51.de>
36403
36404 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
36405 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
36406 GNU/kFreeBSD. Check if a device is a character device. Use
36407 DIOCGMEDIASIZE to get the size.
36408 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
36409 support for GNU/kFreeBSD.
36410 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
36411 is a character device instead of a block device. Add support for
36412 FreeBSD device names.
36413
36414 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
36415 is a character device instead of a block device.
36416
36417 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
36418 is a character device instead of a block device.
36419
b1ac8644 364202009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
36421
36422 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
36423 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
36424 FreeBSD. Check if a device is a character device. Use
36425 DIOCGMEDIASIZE to get the size.
36426 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
36427 support for FreeBSD.
36428 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
36429 is a character device instead of a block device. Add support for
36430 FreeBSD device names.
36431
36432 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
36433 a character device instead of a block device.
36434 (grub_util_check_char_device): New function.
36435
36436 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
36437 a character device instead of a block device.
36438
36439 * include/grub/util/getroot.h (grub_util_check_char_device): New
36440 prototype.
36441
a3f7515a 364422009-04-11 David S. Miller <davem@davemloft.net>
36443
36444 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
36445 static libgcc.
36446 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
36447 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
36448 function, if present.
36449 (__bswapdi2): Likewise.
36450
0d44993d 36451 * include/grub/sparc64/ieee1275/boot.h: New file.
36452 * boot/sparc64/ieee1275/boot.S: Likewise.
36453 * boot/sparc64/ieee1275/diskboot.S: Likewise.
36454
ed3d2bc2 36455 * kern/misc.c (grub_ltoa): New function.
36456 (grub_vsprintf): Use it to format 'long' integers.
36457
d3bfb59c 364582009-04-10 David S. Miller <davem@davemloft.net>
36459
36460 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
36461 slots are of type grub_ieee1275_cell_t.
36462 (grub_nand_read): Likewise.
36463 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
36464 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
36465 macros are used to compare values in arg/ret block of the call.
36466 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36467 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
36468 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
36469 grub_ieee1275_instance_to_path, grub_ieee1275_write,
36470 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
36471 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
36472 grub_ieee1275_close, grub_ieee1275_set_property,
36473 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
36474 grub_ieee1275_cell_t.
36475 * kern/ieee1275/openfw.c (grub_map): Likewise.
36476 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
36477 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
36478
450e2238 36479 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
36480 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
36481 (grub_devalias_iterate): Likewise.
36482
7dd4a573 364832009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 36484
36485 UFS improvements
36486
36487 * fs/ufs.c (INODE_NBLOCKS): new definition
36488 (struct grub_ufs_dirent): added fields for non-BSD dirents
36489 (grub_ufs_get_file_block): fixed double indirect handling
36490 (grub_ufs_lookup_symlink): use more robust way to determine whether
36491 symlink is inline
36492 (grub_ufs_find_file): support for non-BSD dirents
36493 (grub_ufs_dir): support for non-BSD dirents
36494
e7e6862a 364952009-04-10 Bean <bean123ch@gnail.com>
36496
36497 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
36498 attribute, otherwise the size would be wrong for i386 platform.
36499
36500 * include/grub/pci.h (grub_pci_read_word): New inline function.
36501 (grub_pci_read_byte): Likewise.
36502 (grub_pci_write): Likewise.
36503 (grub_pci_write_word): Likewise.
36504 (grub_pci_write_byte): Likewise.
36505
36506 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
36507
36508 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
36509 (find_framebuf): Scan pci to locate the frame buffer address.
36510
36511 * commands/efi/fixvideo.c: New file.
36512
36513 * commands/efi/loadbios.c: Likewise.
36514
36515 * commands/memrw.c: Likewise.
36516
36517 * util/grub-dumpbios.in: Likewise.
36518
36519 * conf/common.rmk (grub-dumpbios): New utility.
36520 (pkglib_MODULES): New module memrw.mod.
36521 (memrw_mod_SOURCE): New macro.
36522 (memrw_mod_CFLAGS): Likewise.
36523 (memrw_mod_LDFLAGS): Likewise.
36524
7dd4a573 36525 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 36526 fixvideo.mod.
36527 (loadbios_mod_SOURCE): New macro.
36528 (loadbios_mod_CFLAGS): Likewise.
36529 (loadbios_mod_LDFLAGS): Likewise.
36530 (fixvideo_mod_SOURCE): Likewise.
36531 (fixvideo_mod_CFLAGS): Likewise.
36532 (fixvideo_mod_LDFLAGS): Likewise.
36533
7dd4a573 36534 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 36535 fixvideo.mod.
36536 (loadbios_mod_SOURCE): New macro.
36537 (loadbios_mod_CFLAGS): Likewise.
36538 (loadbios_mod_LDFLAGS): Likewise.
36539 (fixvideo_mod_SOURCE): Likewise.
36540 (fixvideo_mod_CFLAGS): Likewise.
36541 (fixvideo_mod_LDFLAGS): Likewise.
36542
af63ada2 365432009-04-08 Felix Zielcke <fzielcke@z-51.de>
36544
36545 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
36546
c2cdde70 365472009-04-07 David S. Miller <davem@davemloft.net>
36548
36549 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
36550 support for R_SPARC_OLO10 relocations. Fix compile warning for
36551 R_SPARC_WDISP30 case.
ea3f72cf 36552 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 36553
761319cf 365542009-04-06 Pavel Roskin <proski@gnu.org>
36555
1007d1f5 36556 * include/grub/misc.h (ARRAY_SIZE): New macro.
36557 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
36558 New macro.
36559 * loader/i386/linux.c (allocate_pages): Use free_pages().
36560 (grub_linux_unload): Don't use free_pages().
36561 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
36562 wrong index. Treat all other modes as text modes.
36563 (grub_cmd_linux): Initialize vid_mode unconditionally to
36564 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
36565
761319cf 36566 * commands/help.c (print_command_help): Use cmd->prio, not
36567 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
36568
ea761d40 365692009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 36570
ea761d40 36571 Parttool
36572
36573 * parttool/pcpart.c: new file
36574 * commands/parttool.c: likewise
36575 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
36576 (parttool_mod_SOURCES): new variable
36577 (parttool_mod_CFLAGS): likewise
36578 (parttool_mod_LDFLAGS): likewise
36579 (pcpart_mod_SOURCES): likewise
36580 (pcpart_mod_CFLAGS): likewise
36581 (pcpart_mod_LDFLAGS): likewise
7dd4a573 36582 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 36583 and parttool/pcpart.c
36584 * conf/i386-efi.rmk: likewise
36585 * conf/i386-ieee1275.rmk: likewise
36586 * conf/i386-pc.rmk: likewise
36587 * conf/powerpc-ieee1275.rmk: likewise
36588 * conf/sparc64-ieee1275.rmk: likewise
36589 * conf/x86_64-ieee1275.rmk: likewise
36590
05aaebfb 365912009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36592
36593 Support for mtime and further expandability of dir command
36594
36595 * include/grub/lib/datetime.h: moved to ...
7dd4a573 36596 * include/grub/datetime.h: ... moved here and added
05aaebfb 36597 declaration of grub_unixtime2datetime. All users updated
7dd4a573 36598 * include/grub/fs.h: new syntax for dir and mtime functions in
36599 struct grub_fs
05aaebfb 36600 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
36601 and GRUB_FSHELP_FLAGS_MASK
36602 * commands/ls.c (grub_ls_list_files): Write mtime in long format
36603 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
36604 (grub_ext2_mtime): new function
36605 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
36606 (grub_hfsplus_mtime): new function
36607 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
36608 (GRUB_UFS_ATTR_FILE): likewise
36609 (GRUB_UFS_ATTR_LNK): likewise
36610 (struct grub_ufs_sblock): new fields mtime
36611 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
36612 all users updated
36613 (grub_ufs_dir): mtime support
36614 (grub_ufs_mtime): new function
36615 * fs/affs.c (grub_affs_dir): use new dir syntax
36616 * fs/afs.c (grub_afs_dir): likewise
36617 * fs/cpio.c (grub_cpio_dir): likewise
36618 * fs/fat.c (grub_fat_find_dir): likewise
36619 * fs/hfs.c (grub_hfs_dir): likewise
36620 * fs/iso9660.c (grub_iso9660_dir): likewise
36621 * fs/jfs.c (grub_jfs_dir): likewise
36622 * fs/minix.c (grub_minix_dir): likewise
36623 * fs/ntfs.c (grub_ntfs_dir): likewise
36624 * fs/reiserfs.c (grub_reiserfs_dir): likewise
36625 * fs/sfs.c (grub_sfs_dir): likewise
36626 * fs/xfs.c (grub_xfs_dir): likewise
36627 * util/hostfs.c (grub_hostfs_dir): likewise
36628 * lib/datetime.c: moved to ...
36629 * normal/datetime.c: ... moved here
36630 (grub_unixtime2datetime): new function
36631 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 36632 * normal/completion.c (iterate_dir): use new dir syntax
36633 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 36634 last modification time of a volume
7dd4a573 36635 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 36636 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 36637 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 36638 (normal_mod_SOURCES): likewise
36639 (datetime_mod_SOURCES): Removed lib/datetime.c
36640 * conf/i386-efi.rmk: likewise
7dd4a573 36641 * conf/i386-ieee1275.rmk: likewise
05aaebfb 36642 * conf/i386-pc.rmk: likewise
36643 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 36644 * conf/sparc64-ieee1275.rmk: likewise
36645 * conf/x86_64-efi.rmk: likewise
05aaebfb 36646
8a7e1a14 366472009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36648
36649 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 36650
36651 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 36652 on grub_fat_find_dir
36653 (grub_fat_find_dir): use grub_fat_iterate_dir
36654 (grub_fat_label): likewise
36655
04186a9c 366562009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
36657
7dd4a573 36658 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 36659 and command.h
36660 remove extraneous kernel_elf_HEADERS
36661
da4c0bb6 366622009-04-04 Bean <bean123ch@gnail.com>
36663
36664 * include/grub/util/misc.h: Add dummy function fsync for mingw.
36665
36666 * util/misc.c: Likewise.
36667
54ad9555 366682009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36669
36670 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
36671 instead of grub_printf.
36672
7a6bf9f2 366732009-04-03 Robert Millan <rmh@aybabtu.com>
36674
36675 * loader/i386/linux.c (grub_linux_setup_video): Fill
36676 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
36677 values from `mode info' structure instead of hardcoded
36678 values.
36679
3fcc2083 366802009-04-01 Pavel Roskin <proski@gnu.org>
36681
36682 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
36683 unused now.
36684 * genmk.rb: Likewise.
36685 * configure.ac: Likewise.
36686
5ec9740b 366872009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
36688
36689 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
36690 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
36691
5270cec8 366922009-04-01 David S. Miller <davem@davemloft.net>
36693
36694 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 36695 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 36696 (grub_setjmp): Mark with 'returns_twice' attribute.
36697 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
36698 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
36699 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
36700
9c3dd854 367012009-04-01 Robert Millan <rmh@aybabtu.com>
36702
36703 Reapply fix from 2008-07-28 which was accidentally reverted; also
36704 perform the same fix to a similar check in same function.
36705
36706 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
36707 with the same number are found, just use issue a warning with
36708 grub_dprintf(), as this error has been reported to be non-fatal.
36709
0d818b7e 367102009-03-31 Pavel Roskin <proski@gnu.org>
36711
36712 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
36713 for cross-compilation.
36714
95646d92 367152009-03-30 Robert Millan <rmh@aybabtu.com>
36716
36717 Fix i386-ieee1275 build.
36718
36719 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
36720 Remove declaration.
36721
6a003ed1 367222009-03-30 Pavel Roskin <proski@gnu.org>
36723
36724 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
36725 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
36726 zero-terminated, rely only on the strlen value. Fix comparison
36727 of strings differing in length.
36728
92f33540 367292009-03-30 Robert Millan <rmh@aybabtu.com>
36730
36731 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
36732 checking for abi version. Improve error messages on BIOS to notify
36733 user about `linux16' command.
36734
a8c48fd5 367352009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
36736
f968172e 36737 Leak fixes
a8c48fd5 36738
f968172e 36739 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
36740 in case of collision
36741 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 36742
9c323f09 367432009-03-29 Robert Millan <rmh@aybabtu.com>
36744
36745 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
36746 set `vid_mode' accordingly.
36747 (grub_linux_boot): Process `vid_mode' and set video mode.
36748
ae68f423 367492009-03-29 Robert Millan <rmh@aybabtu.com>
36750
36751 * util/grub.d/10_linux.in (linux_entry): New function.
36752 Factorize generation of Linux boot entries.
36753
5709cfc4 367542009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
36755
36756 Make the format of Environment Block plain text. The boot loader
36757 part is not tested well yet.
7dd4a573 36758
5709cfc4 36759 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
36760 (buffer): Removed.
36761 (envblk): Likewise.
36762 (usage): Remove "info" and "clear". Add "unset". Update the
36763 description of "set", as this does not delete variables any
36764 longer.
36765 (create_envblk_file): Complete rewrite.
36766 (open_envblk_file): Likewise.
36767 (cmd_info): Removed.
36768 (cmd_list): Likewise.
36769 (cmd_set): Likewise.
36770 (cmd_clear): Likewise.
36771 (list_variables): New function.
36772 (write_envblk): Likewise.
36773 (set_variables): Likewise.
36774 (unset_variables): Likewise.
36775 (main): Complete rewrite.
36776
36777 * commands/loadenv.c (buffer): Removed.
36778 (envblk): Likewise.
36779 (open_envblk_file): New function.
36780 (read_envblk_file): Complete rewrite.
36781 (grub_cmd_load_env): Likewise.
36782 (grub_cmd_list_env): Likewise.
36783 (struct blocklist): New struct.
36784 (free_blocklists): New function.
36785 (check_blocklists): Likewise.
36786 (write_blocklists): Likewise.
36787 (grub_cmd_save_env): Complete rewrite.
36788
36789 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
36790 a plain text signature.
36791 (GRUB_ENVBLK_MAXLEN): Removed.
36792 (struct grub_envblk): Complete rewrite.
36793 (grub_envblk_find): Removed.
36794 (grub_envblk_insert): Likewise.
36795 (grub_envblk_open): New prototype.
36796 (grub_envblk_set): Likewise.
36797 (grub_envblk_delete): Put const to VALUE.
36798 (grub_envblk_iterate): Put const to NAME and VALUE.
36799 (grub_envblk_close): New prototype.
36800 (grub_envblk_buffer): New inline function.
36801 (grub_envblk_size): Likewise.
36802
36803 * lib/envblk.c: Include grub/mm.h.
36804 (grub_env_find): Removed.
36805 (grub_envblk_open): New function.
36806 (grub_envblk_close): Likewise.
36807 (escaped_value_len): Likewise.
36808 (find_next_line): Likewise.
36809 (grub_envblk_insert): Removed.
36810 (grub_envblk_set): New function.
36811 (grub_envblk_delete): Complete rewrite.
36812 (grub_envblk_iterate): Likewise.
36813
a9368fd3 368142009-03-28 Robert Millan <rmh@aybabtu.com>
36815
36816 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
36817 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
36818 variables. Use 16-bit loader.
36819 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
36820 loader.
36821 * kern/i386/loader.S (grub_linux_boot): Rename to ...
36822 (grub_linux16_boot): ... this. Update all users.
36823 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
36824 (grub_linux_boot): ... this. Update all users.
36825
36826 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
36827 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
36828 commands to `linux16' and `initrd16'.
36829 (GRUB_MOD_FINI(linux)): Rename to ...
36830 (GRUB_MOD_FINI(linux16)): ... this.
36831
e4dd5a7e 368322009-03-24 Pavel Roskin <proski@gnu.org>
36833
36834 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
36835 not just for compilation.
36836
c04d6e05 368372009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
36838
36839 Move multiboot helper out of kernel
36840
36841 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
36842 `loader/i386/multiboot_helper.S'.
36843 * conf/i386-coreboot.rmk: Likewise
36844 * conf/i386-ieee1275.rmk: Likewise
36845
36846 * kern/i386/loader.S: Move multiboot helpers from here...
36847 * loader/i386/multiboot_helper.S: ...moved here
36848 * include/grub/i386/loader.h: Move declarations of multiboot
36849 helpers from here...
36850 * include/grub/i386/multiboot.h: ...moved here
36851 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
36852
42a5b3fc 368532009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36854
36855 * kern/env.c (grub_env_context_open): Added an argument to specify
36856 whether a new context inherits exported variables from current
36857 one. This is useful when making a sandbox to interpret a config
36858 file.
36859 All callers updated.
36860
36861 * include/grub/env.h (grub_env_context_open): Updated the prototype.
36862
b28bbc4e 368632009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36864
36865 * kern/env.c (grub_env_context_close): Fix memory leaks.
36866
f04f02e4 368672009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36868
36869 * normal/main.c (grub_normal_execute): Added an argument
36870 BATCH to specify if an interactive interface should be provided
36871 after reading a config file.
36872 All callers updated.
36873 (read_command_list): Prevent being executed twice.
36874 (read_fs_list): Likewise.
36875
42a5b3fc 36876 * include/grub/normal.h (grub_normal_execute): Updated the
36877 prototype.
f04f02e4 36878
41473ac2 368792009-03-22 Pavel Roskin <proski@gno.org>
36880
fbc00b0c 36881 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
36882 _start.
36883 * kern/i386/pc/startup.S: Likewise.
36884 * kern/i386/efi/startup.S: Likewise.
36885 * kern/i386/ieee1275/startup.S: Likewise.
36886 * kern/i386/coreboot/startup.S: Likewise.
36887 * kern/x86_64/efi/startup.S: Likewise.
36888
41473ac2 36889 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
36890 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
36891 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
36892
2274cc8f 368932009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
36894
36895 Bugfixes in multiboot for bugs uncovered by solaris kernel.
36896
36897 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
36898 limit detection.
36899 Use vaddr of correct segment for entry_point.
36900
b1b797cb 369012009-03-21 Bean <bean123ch@gmail.com>
36902
36903 * commands/blocklist.c: Add include file <grub/command.h>, remove
36904 <grub/normal.h> and <grub/arg.h>.
36905 (grub_cmd_blocklist): Use the new command interface.
36906 (GRUB_MOD_INIT): Likewise.
36907 (GRUB_MOD_FINI): Likewise.
36908 * commands/boot.c: Likewise.
36909 * commands/cat.c: Likewise.
36910 * commands/cmp.c: Likewise.
36911 * commands/configfile.c: Likewise.
36912 * commands/crc.c: Likewise.
36913 * commands/echo.c: Likewise.
36914 * commands/halt.c: Likewise.
36915 * commands/handler.c: Likewise.
36916 * commands/hdparm.c: Likewise.
36917 * commands/help.c: Likewise.
36918 * commands/hexdump.c: Likewise.
36919 * commands/loadenv.c: Likewise.
36920 * commands/ls.c: Likewise.
36921 * commands/lsmmap.c: Likewise.
36922 * commands/lspci.c: Likewise.
36923 * commands/loadenv.c: Likewise.
36924 * commands/read.c: Likewise.
36925 * commands/reboot.c: Likewise.
36926 * commands/search.c: Likewise.
36927 * commands/sleep.c: Likewise.
36928 * commands/test.c: Likewise.
36929 * commands/usbtest.c: Likewise.
36930 * commands/videotest.c: Likewise.
36931 * commands/i386/cpuid.c: Likewise.
36932 * commands/i386/pc/halt.c: Likewise.
36933 * commands/i386/pc/play.c: Likewise.
36934 * commands/i386/pc/pxecmd.c: Likewise.
36935 * commands/i386/pc/vbeinfo.c: Likewise.
36936 * commands/i386/pc/vbetest.c: Likewise.
36937 * commands/ieee1275/suspend.c: Likewise.
36938 * disk/loopback.c: Likewise.
36939 * font/font_cmd.c: Likewise.
36940 * hello/hello.c: Likewise.
36941 * loader/efi/appleloader.c: Likewise.
36942 * loader/efi/chainloader.c: Likewise.
36943 * loader/i386/bsd.c: Likewise.
36944 * loader/i386/efi/linux.c: Likewise.
36945 * loader/i386/ieee1275/linux.c: Likewise.
36946 * loader/i386/linux.c: Likewise.
36947 * loader/i386/pc/chainloader.c: Likewise.
36948 * loader/i386/pc/linux.c: Likewise.
36949 * loader/powerpc/ieee1275/linux.c: Likewise.
36950 * loader/multiboot_loader.c: Likewise.
36951 * term/gfxterm.c: Likewise.
36952 * term/i386/pc/serial.c: Likewise.
36953 * term/terminfo.c: Likewise.
36954
36955 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
36956 * term/i386/pc/vga.c: Likewise.
36957 * video/readers/jpeg.c: Likewise.
36958 * video/readers/png.c: Likewise.
36959 * video/readers/tga.c: Likewise.
36960
36961 * util/grub-fstest (cmd_loopback): Removed.
36962 (cmd_blocklist): Likewise.
36963 (cmd_ls): Likewise.
36964 (grub_register_command): Likewise.
36965 (grub_unregister_command): Likewise.
36966 (execute_command): Use grub_command_find to locate command and execute
36967 it.
36968
36969 * include/grub/efi/chainloader.h: Removed.
36970 * loader/efi/chainloader_normal.c: Likewise.
36971 * loader/i386/bsd_normal.c: Likewise.
36972 * loader/i386/pc/chainloader_normal.c: Likewise.
36973 * loader/i386/pc/multiboot_normal.c: Likewise.
36974 * loader/linux_normal.c: Likewise.
36975 * loader/multiboot_loader_normal.c: Likewise.
36976 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36977
36978 * gencmdlist.sh: Scan new registration command grub_register_extcmd
36979 and grub_register_command_p1.
36980
36981 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
36982 kern/command.c, lib/arg.c and commands/extcmd.c.
36983 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
36984 (minicmd_mod_SOURCES): New variable.
36985 (minicmd_mod_CFLAGS): Likewise.
36986 (minicmd_mod_LDFLAGS): Likewise.
36987 (extcmd_mod_SOURCES): Likewise.
36988 (extcmd_mod_CFLAGS): Likewise.
36989 (extcmd_mod_LDFLAGS): Likewise.
36990 (boot_mod_SOURCES): Removed.
36991 (boot_mod_CFLAGS): Likewise.
36992 (boot_mod_LDFLAGS): Likewise.
36993
36994 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
36995 kern/corecmd.c.
36996 (kernel_img_HEADERS): Add command.h.
36997 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
36998 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
36999 and lib/arg.c.
37000 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
37001 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
37002 remove the corresponding normal mode command.
37003 (normal_mod_SOURCES): Remove normal/arg.c.
37004 * conf/i386-coreboot.rmk: Likewise.
37005 * conf/i386-efi.rmk: Likewise.
37006 * conf/i386-ieee1275.rmk: Likewise.
37007 * conf/powerpc-ieee1275.rmk: Likewise.
37008 * conf/x86_64-efi.rmk: Likewise.
37009
37010 * include/grub/arg.h: Move from here ...
37011 * include/grub/lib/arg.h: ... to here.
37012
37013 * normal/arg.c: Move from here ...
37014 * lib/arg.c: ... to here.
37015
37016 * commands/extcmd.c: New file.
37017 * commands/minicmd.c: Likewise.
37018 * include/grub/command.h: Likewise.
37019 * include/grub/extcmd.h: Likewise.
37020 * kern/command.c: Likewise.
37021 * kern/corecmd.c: Likewise.
37022
37023 * kern/list.c (grub_list_iterate): Return int instead of void.
37024 (grub_list_insert): New function.
37025 (grub_prio_list_insert): Likewise.
37026
37027 * kern/rescue.c (grub_rescue_command): Removed.
37028 (grub_rescue_command_list): Likewise.
37029 (grub_rescue_register_command): Likewise.
37030 (grub_rescue_unregister_command): Likewise.
37031 (grub_rescue_cmd_boot): Move to minicmd.c
37032 (grub_rescue_cmd_help): Likewise.
37033 (grub_rescue_cmd_info): Likewise.
37034 (grub_rescue_cmd_boot): Likewise.
37035 (grub_rescue_cmd_testload): Likewise.
37036 (grub_rescue_cmd_dump): Likewise.
37037 (grub_rescue_cmd_rmmod): Likewise.
37038 (grub_rescue_cmd_lsmod): Likewise.
37039 (grub_rescue_cmd_exit): Likewise.
37040 (grub_rescue_print_devices): Moved to corecmd.c.
37041 (grub_rescue_print_files): Likewise.
37042 (grub_rescue_cmd_ls): Likewise.
37043 (grub_rescue_cmd_insmod): Likewise.
37044 (grub_rescue_cmd_set): Likewise.
37045 (grub_rescue_cmd_unset): Likewise.
7d074e3c 37046 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 37047 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 37048 commands, remove grub_rescue_register_command calls.
b1b797cb 37049
7d074e3c 37050 * normal/command.c (grub_register_command): Removed.
b1b797cb 37051 (grub_unregister_command): Likewise.
37052 (grub_command_find): Likewise.
37053 (grub_iterate_commands): Likewise.
37054 (rescue_command): Likewise.
37055 (export_command): Moved to corecmd.c.
37056 (set_command): Removed.
37057 (unset_command): Likewise.
37058 (insmod_command): Likewise.
37059 (rmmod_command): Likewise.
37060 (lsmod_command): Likewise.
37061 (grub_command_init): Likewise.
37062
37063 * normal/completion.c (iterate_command): Use cmd->prio to check for
37064 active command.
37065 (complete_arguments): Use grub_extcmd_t structure to find options.
37066 (grub_normal_do_completion): Change function grub_iterate_commands to
37067 grub_command_iterate.
37068
37069 * normal/execute.c (grub_script_execute_cmd): No need to parse
37070 argument here.
37071
37072 * normal/main.c (grub_dyncmd_dispatcher): New function.
37073 (read_command_list): Register unload commands as dyncmd.
37074 (grub_cmd_normal): Use new command interface, register rescue,
37075 unregister normal at entry, register normal, unregister rescue at exit.
37076
37077 * include/grub/list.h (grub_list_test_t): New type.
37078 (grub_list_iterate): Return int instead of void.
37079 (grub_list_insert): New function.
37080 (GRUB_AS_NAMED_LIST_P): New macro.
37081 (GRUB_AS_PRIO_LIST): Likewise.
37082 (GRUB_AS_PRIO_LIST_P): Likewise.
37083 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
37084 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
37085 (grub_prio_list): New structure.
37086 (grub_prio_list_insert): New function.
37087 (grub_prio_list_remove): New inline function.
37088
37089 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
37090 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
37091 (GRUB_COMMAND_FLAG_MENU): Likewise.
37092 (GRUB_COMMAND_FLAG_BOTH): Likewise.
37093 (GRUB_COMMAND_FLAG_TITLE): Likewise.
37094 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
37095 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
37096 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
37097 (grub_command): Likewise.
37098 (grub_register_command): Likewise.
37099 (grub_command_find): Likewise.
37100 (grub_iterate_commands): Likewise.
37101 (grub_command_init): Likewise.
37102 (grub_arg_parse): Likewise.
37103 (grub_arg_show_help): Likewise.
37104
37105 * include/grub/rescue.h (grub_rescue_register_command): Removed.
37106 (grub_rescue_unregister_command): Likewise.
37107
37108 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
37109 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
37110 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
37111
37112 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
37113 grub_rescue_cmd_initrd.
37114 * include/grub/i386/loader.h: Likewise.
37115 * include/grub/x86_64/loader.h: Likewise.
37116
37117 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
37118
1f4147aa 371192009-03-21 Bean <bean123ch@gmail.com>
37120
37121 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
37122 instead of stat in mingw environment.
37123
37124 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
37125
37126 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
37127
37128 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
37129 AC_CONFIG_LINKS.
37130
2156d5ba 371312009-03-21 Bean <bean123ch@gmail.com>
37132
37133 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
37134 out of range error.
37135
177b82ca 371362009-03-18 Michel Dänzer <michel@daenzer.net>
37137
37138 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
37139 checking inode flags for EXT4_EXTENTS_FLAG.
37140
14aad807 371412009-03-18 Robert Millan <rmh@aybabtu.com>
37142
37143 * loader/i386/linux.c: Include `<grub/video.h>' and
37144 `<grub/i386/pc/vbe.h>'..
37145 (grub_linux_setup_video): New function. Loosely based on the EFI one.
37146 (grub_linux32_boot): Attempt to configure video settings with
37147 grub_linux_setup_video().
37148 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
37149 to avoid grub_console_fini() which would step out of graphical mode
37150 unconditionally.
37151
8cf83a27 371522009-03-14 Robert Millan <rmh@aybabtu.com>
37153
37154 Fix build on powerpc.
37155 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
37156
40164e75 371572009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
37158
37159 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
37160 background image command.
37161
c58bc32a 371622009-03-12 Colin D Bennett <colin@gibibit.com>
37163
37164 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
37165 (grub_gfxterm_putchar): Extract pairs of identical calls to
37166 draw_cursor out of conditional blocks.
37167
5415144a 371682009-03-11 Pavel Roskin <proski@gnu.org>
37169
37170 * fs/hfs.c (grub_hfs_strncasecmp): New function.
37171 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
37172
6394042e 371732009-03-11 Robert Millan <rmh@aybabtu.com>
37174
37175 * loader/i386/multiboot_elfxx.c
37176 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
37177
b7b50e5f 371782009-03-11 Felix Zielcke <fzielcke@z-51.de>
37179
37180 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
37181 `kern/handler.c'.
37182
1ca7fc96 371832009-03-11 Robert Millan <rmh@aybabtu.com>
37184
37185 * loader/i386/multiboot.c (code_size): New variable.
37186 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 37187 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 37188 4-byte alignment to MBI and others by increasing
7d074e3c 37189 `boot_loader_name_length' appropriately.
1ca7fc96 37190
37191 * loader/i386/multiboot_elfxx.c
37192 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
37193
a83ea1d2 371942009-03-09 Felix Zielcke <fzielcke@z-51.de>
37195
37196 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
37197 `fs/ext2.c'.
37198
aa9f3bff 371992009-03-08 Robert Millan <rmh@aybabtu.com>
37200
37201 Make loader/i386/linux.c usable on i386-pc again.
37202
37203 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
37204 memory to heap.
37205 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
37206 `#error' stanza.
37207
d8b3b60e 372082009-03-07 Bean <bean123ch@gmail.com>
37209
37210 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
37211 allocation.
37212
b362c9e9 372132009-03-06 Robert Millan <rmh@aybabtu.com>
37214
37215 Fix display issue on terminals with screen size other than 80x25
37216 (e.g. gfxterm with resolution higher than 640x480).
37217
37218 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 37219 position relative to the center of the terminal instead of relying
b362c9e9 37220 on a hardcoded offset.
37221
9304eef1 372222009-03-04 Robert Millan <rmh@aybabtu.com>
37223
37224 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
37225 installed.
37226
37227 * Makefile.in (host_kernel): New variable.
37228 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
37229 scripts instead of just the windows one.
37230 * configure.ac: Initialize and AC_SUBST `host_kernel'.
37231
eabc95fb 372322009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 37233
37234 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
37235 `kern/handler.c'.
37236 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37237 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37238 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37240 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37241 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37242
ceb1223c 372432009-03-04 Felix Zielcke <fzielcke@z-51.de>
37244
37245 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
37246 or if there's no space for the disk label and print the partition number on a
37247 invalid magic.
37248
4910684a 372492009-03-04 Felix Zielcke <fzielcke@z-51.de>
37250
37251 * util/misc.c: Include <time.h>.
37252 (grub_millisleep): New function.
37253
7e9ca17a 372542009-03-04 Bean <bean123ch@gmail.com>
37255
37256 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
37257 another option -mno-red-zone.
37258
37259 * commands/handler.c: Change module description.
37260
37261 * kern/handler.c: Add missing space at the end of description line.
37262
37263 * kern/list.c: Likewise.
37264
f501677c 372652009-03-03 Robert Millan <rmh@aybabtu.com>
37266
37267 Move more components to the relocation area, and fix mbi pointer
37268 handling to use the destination rather than the origin (thanks to
37269 Vladimir Serbinenko for spotting).
37270
37271 * loader/i386/multiboot.c (mbi_dest): New variable.
37272 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
37273 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
37274 relocation area.
37275
9902d047 372762009-03-01 Bean <bean123ch@gmail.com>
37277
50fb7002 37278 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 37279 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
37280 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
37281 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
37282
37283 * loader/i386/efi/linux.c (acpi_guid): New variable.
37284 (acpi_guid): Likewise.
37285 (EBDA_SEG_ADDR): New constant.
37286 (LOW_MEM_ADDR): Likewise.
37287 (FAKE_EBDA_SEG): Likewise.
37288 (fake_bios_data): New function.
37289 (grub_linux_boot): Call fake_bios_data.
37290
71b9f361 372912009-03-01 Bean <bean123ch@gmail.com>
37292
37293 * commands/terminal.c: Removed.
37294
37295 * commands/handler.c: New file.
37296
37297 * include/grub/list.h: Likewise.
37298
37299 * include/grub/handler.h: Likewise.
37300
37301 * kern/list.c: Likewise.
37302
37303 * kern/handler.c: Likewise.
37304
37305 * kern/term.h: Include header file <grub/handler.h>.
37306 (grub_term_input): Move next field to the beginning.
37307 (grub_term_output): Likewise.
37308 (grub_term_input_class): New variable.
37309 (grub_term_output_class): Likewise.
37310 (grub_term_register_input): Changed to inline function.
37311 (grub_term_register_output): Likewise.
37312 (grub_term_unregister_input): Likewise.
37313 (grub_term_unregister_output): Likewise.
37314 (grub_term_set_current_input): Likewise.
37315 (grub_term_set_current_output): Likewise.
37316 (grub_term_get_current_input): Likewise.
37317 (grub_term_get_current_output): Likewise.
37318 (grub_term_iterate_input): Removed.
37319 (grub_term_iterate_output): Likewise.
37320
37321 * kern/term.c (grub_term_list_input): Removed.
37322 (grub_term_list_output): Likewise.
37323 (grub_term_input_class): New variable.
37324 (grub_term_output_class): Likewise.
50fb7002 37325 (grub_cur_term_input): Change variable as macro.
71b9f361 37326 (grub_cur_term_output): Likewise.
37327 (grub_term_register_input): Removed.
37328 (grub_term_register_output): Likewise.
37329 (grub_term_unregister_input): Likewise.
37330 (grub_term_unregister_output): Likewise.
37331 (grub_term_set_current_input): Likewise.
37332 (grub_term_set_current_output): Likewise.
37333 (grub_term_iterate_input): Likewise.
37334 (grub_term_iterate_output): Likewise.
37335 (grub_term_get_current_input): Likewise.
37336 (grub_term_get_current_output): Likewise.
37337
37338 * util/grub-editenv.c: Include header file <grub/handler.h>.
37339 (grub_term_get_current_input): Removed.
37340 (grub_term_get_current_output): Likewise.
37341 (grub_term_input_class): New variable.
50fb7002 37342 (grub_term_output_class): Likewise.
71b9f361 37343
37344 * util/grub-fstest.c (grub_term_get_current_input): Removed.
37345 (grub_term_get_current_output): Likewise.
37346 (grub_term_input_class): New variable.
50fb7002 37347 (grub_term_output_class): Likewise.
71b9f361 37348
37349 * util/grub-probe.c (grub_term_get_current_input): Removed.
37350 (grub_term_get_current_output): Likewise.
37351 (grub_term_input_class): New variable.
50fb7002 37352 (grub_term_output_class): Likewise.
71b9f361 37353
37354 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
37355 (grub_term_get_current_output): Likewise.
37356 (grub_term_input_class): New variable.
50fb7002 37357 (grub_term_output_class): Likewise.
71b9f361 37358
37359 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
37360 (terminal_mod_SOURCES): Likewise.
37361 (terminal_mod_CFLAGS): Likewise.
37362 (terminal_mod_LDFLAGS): Likewise.
37363
37364 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
37365 handler.c.
37366 (kernel_img_SOURCES): Add list.c and handler.c.
37367 (kernel_img_HEADERS): Add list.h and handler.h.
37368
37369 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
37370 handler.c.
37371 (kernel_mod_SOURCES): Add list.c and handler.c.
37372 (kernel_mod_HEADERS): Add list.h and handler.h.
37373
37374 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
37375 handler.c.
37376 (kernel_elf_SOURCES): Add list.c and handler.c.
37377 (kernel_elf_HEADERS): Add list.h and handler.h.
37378
37379 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
37380 handler.c.
37381 (kernel_elf_SOURCES): Add list.c and handler.c.
37382 (kernel_elf_HEADERS): Add list.h and handler.h.
37383
37384 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
37385 handler.c.
37386 (kernel_mod_SOURCES): Add list.c and handler.c.
37387 (kernel_mod_HEADERS): Add list.h and handler.h.
37388
37389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
37390 handler.c.
37391 (kernel_elf_SOURCES): Add list.c and handler.c.
37392 (kernel_elf_HEADERS): Add list.h and handler.h.
37393
8a31787f 373942009-02-27 Robert Millan <rmh@aybabtu.com>
37395
37396 Factorize elf32 / elf64 code in Multiboot loader. This will
37397 prevent it from getting out of sync again.
37398
37399 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
37400 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
37401 grub_multiboot_load_elf64): Move from here ...
37402 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
37403 grub_multiboot_load_elf): ... to here (new file).
37404
51cd3dfc 374052009-02-27 Robert Millan <rmh@aybabtu.com>
37406
37407 * util/grub.d/10_linux.in: Rename "single-user mode" to
37408 "recovery mode".
37409
6e8c9c3a 374102009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
37411
37412 Don't leak in SCSI code.
37413 * disk/scsi.c (grub_scsi_close): free `scsi'.
37414
4b6bf4f9 374152009-02-27 Robert Millan <rmh@aybabtu.com>
37416
37417 * loader/i386/pc/multiboot.c: Move from here ...
37418 * loader/i386/multiboot.c: ... to here. Update all users.
37419
b9413424 374202009-02-27 Robert Millan <rmh@aybabtu.com>
37421
37422 Patch from Alexandre Bique <bique.alexandre@gmail.com>
37423 * util/i386/pc/grub-setup.c (setup): Fix directory path.
37424
50fb7002 374252009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 37426
37427 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
37428 b-tree.
37429
8cc50345 374302009-02-27 Robert Millan <rmh@aybabtu.com>
37431
37432 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
37433 `0x' qualifier as 0 when base is specified as parameter).
37434
6e09b8b7 374352009-02-24 Bean <bean123ch@gmail.com>
37436
37437 * configure.ac: Check for -mcmodel=large in x86_64 target.
37438
37439 * include/grub/efi/api.h (efi_call_10): New macro.
37440 (efi_wrap_10): New function.
37441
37442 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
37443 (GRUB_PE32_REL_BASED_HIGH): Likewise.
37444 (GRUB_PE32_REL_BASED_LOW): Likewise.
37445 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
37446 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
37447 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
37448 (GRUB_PE32_REL_BASED_SECTION): Likewise.
37449 (GRUB_PE32_REL_BASED_REL): Likewise.
37450 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
37451 (GRUB_PE32_REL_BASED_DIR64): Likewise.
37452 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
37453
37454 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
37455 issue.
37456
37457 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
37458 (efi_wrap_10): New function.
37459
37460 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
37461
37462 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
37463 MB/MBP model (NV chipset).
37464 (devdata_devs): Add devpath_5 to the list.
37465
37466 * load/i386/efi/linux.c (video_base): Remove variable.
37467 (RGB_MASK): New macro.
37468 (RGB_MAGIC): Likewise.
37469 (LINE_MIN): Likewise.
37470 (LINE_MAX): Likewise.
37471 (FBTEST_STEP): Likewise.
37472 (FBTEST_COUNT): Likewise.
37473 (fb_list): New variable.
37474 (grub_find_video_card): Remove function.
37475 (find_framebuf): New function.
37476 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
37477 line length.
37478
37479 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
37480 problem for x86_64.
37481
74b21bee 374822009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
37483
37484 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
37485
37486 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
37487 coding tool name.
37488
a455f472 374892009-02-22 Robert Millan <rmh@aybabtu.com>
37490
37491 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
37492 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
37493 in our relocation, instead of using it directly from heap. Also
37494 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
37495
6374daf3 374962009-02-21 Robert Millan <rmh@aybabtu.com>
37497
37498 Implement USB keyboard support (based on patch by Marco Gerards)
37499
37500 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
37501 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
37502 (usb_keyboard_mod_LDFLAGS): New variables.
37503
37504 * term/usb_keyboard.c: New file.
37505
8fa4ea70 375062009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
37507
37508 Corrected wrong declaration
37509
37510 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
37511
353976ac 375122009-02-14 Christian Franke <franke@computer.org>
37513
37514 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
37515 (grub_lspci_iter): Print class code and programming interface byte.
37516
6aa1169b 375172009-02-14 Christian Franke <franke@computer.org>
37518
37519 * gendistlist.sh: Ignore `.svn' directories.
37520
265372ca 375212009-02-14 Felix Zielcke <fzielcke@z-51.de>
37522
37523 * fs/fat.c: Add 2009 to Copyright line.
37524
9ff516f3 375252009-02-14 Christian Franke <franke@computer.org>
37526
37527 * commands/hdparm.c: New file. Provides `hdparm' command
37528 which sends ATA commands via grub_disk_ata_pass_through ().
37529
37530 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
37531
37532 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
37533 and <grub/cpu/io.h> to include/grub/ata.h.
37534 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
37535 (GRUB_CDROM_SECTOR_SIZE): Remove.
37536 (GRUB_ATA_*): Move to include/grub/ata.h.
37537 (GRUB_ATAPI_*): Likewise.
37538 (enum grub_ata_commands): Likewise.
37539 (enum grub_ata_timeout_milliseconds): Likewise.
37540 (struct grub_ata_device): Likewise.
37541 (grub_ata_regset): Likewise.
37542 (grub_ata_regget): Likewise.
37543 (grub_ata_regset2): Likewise.
37544 (grub_ata_regget2): Likewise.
37545 (grub_ata_check_ready): Likewise.
37546 (grub_ata_wait_not_busy): Remove static, exported in
37547 include/grub/ata.h.
37548 (grub_ata_wait_drq): Likewise.
37549 (grub_ata_pio_read): Likewise.
37550
37551 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
37552 function for hdparm.mod.
37553
37554 * include/grub/ata.h: New file, contains declarations from
37555 disk/ata.c.
37556 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
37557
37558 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
37559 (grub_disk_ata_pass_through): New exported variable.
37560
37561 * kern/disk.c (grub_disk_ata_pass_through): New variable.
37562
772e23da 375632009-02-13 Colin D Bennett <colin@gibibit.com>
37564
37565 Support multiple fallback entries, and provide an API to support
37566 executing default+fallback menu entries. Renamed the `terminal' menu
37567 viewer to `text'.
37568
37569 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
37570 variable declaration.
37571 (grub_menu_execute_callback): New structure declaration.
37572 (grub_menu_execute_callback_t): New typedef.
37573 (grub_menu_execute_with_fallback): New function declaration.
37574 (grub_menu_get_entry): Likewise.
37575 (grub_menu_get_timeout): Likewise.
37576 (grub_menu_set_timeout): Likewise.
37577
37578 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
37579
37580 * normal/menu.c (grub_wait_after_message): Moved to
37581 `normal/menu_text.c'.
37582 (draw_border): Likewise.
37583 (print_message): Likewise.
37584 (print_entry): Likewise.
37585 (print_entries): Likewise.
37586 (grub_menu_init_page): Likewise.
37587 (get_entry_number): Likewise.
37588 (print_timeout): Likewise.
37589 (run_menu): Likewise.
37590 (grub_menu_execute_entry): Likewise.
37591 (show_text_menu): Likewise.
37592 (get_and_remove_first_entry_number): New function.
37593 (grub_menu_execute_with_fallback): Likewise.
37594 (get_entry): Renamed to ...
37595 (grub_menu_get_entry): .. this and made it global.
37596 (get_timeout): Renamed to ...
37597 (grub_menu_get_timeout): ... this and made it global.
37598 (set_timeout): Renamed to ...
37599 (grub_menu_set_timeout): ... this and made it global.
37600 (grub_normal_terminal_menu_viewer): Renamed to ...
37601 (grub_normal_text_menu_viewer): ... this.
37602
37603 * normal/menu_text.c: New file. Extracted text-menu-specific code
37604 from normal/menu.c.
37605
37606 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
37607 (normal_mod_SOURCES): Likewise.
37608
37609 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37610 (normal_mod_SOURCES): Likewise.
37611
37612 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37613 (normal_mod_SOURCES): Likewise.
37614
37615 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
37616 (normal_mod_SOURCES): Likewise.
37617
37618 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37619 (normal_mod_SOURCES): Likewise.
37620
37621 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37622 (normal_mod_SOURCES): Likewise.
37623
37624 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37625 (normal_mod_SOURCES): Likewise.
37626
16ac430e 376272009-02-11 Robert Millan <rmh@aybabtu.com>
37628
37629 * util/grub.d/00_header.in: Update old reference to `font' command.
37630
06ff20fc 376312009-02-10 Felix Zielcke <fzielcke@z-51.de>
37632
37633 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
37634
37635 Based on patch from Javier Martín.
37636
96da9407 376372009-02-09 Felix Zielcke <fzielcke@z-51.de>
37638
37639 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 37640 to avoid false positives with FAT.
96da9407 37641 (grub_fstest_SOURCES): Likewise.
37642 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37643 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37644 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37645 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37646 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37647 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37648
6dca6fe4 376492009-02-09 Felix Zielcke <fzielcke@z-51.de>
37650
06ff20fc 37651 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 37652 bpb.version_specific.fat12_or_fat16.fstype and
37653 bpb.version_specific.fat32.fstype.
37654
2550c62f 376552009-02-08 Robert Millan <rmh@aybabtu.com>
37656
be110b30 37657 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 37658
56978920 376592009-02-08 Robert Millan <rmh@aybabtu.com>
37660
37661 * Makefile.in (host_os, host_cpu): New variables.
37662 (target_os): Remove. Update all users.
37663
d64399b5 376642009-02-08 Marco Gerards <marco@gnu.org>
37665
37666 * Makefile.in (enable_grub_emu_usb): New variable.
37667 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
37668 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
37669 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
37670 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
37671 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
37672 `usbtest.mod' and `usbms.mod'.
37673 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
37674 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
37675 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
37676 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
37677 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
37678 variables.
37679
37680 * disk/usbms.c: New file.
37681
37682 * include/grub/usb.h: Likewise.
37683
37684 * include/grub/usbtrans.h: Likewise.
37685
37686 * include/grub/usbdesc.h: Likewise.
37687
37688 * bus/usb/usbtrans.c: Likewise.
37689
37690 * bus/usb/ohci.c: Likewise.
37691
37692 * bus/usb/uhci.c: Likewise.
37693
37694 * bus/usb/usbhub.c: Likewise.
37695
37696 * bus/usb/usb.c: Likewise.
37697
37698 * commands/usbtest.c: Likewise.
37699
37700 * util/usb.c: Likewise.
50fb7002 37701
d64399b5 37702 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
37703
37704 * configure.ac: Test for libusb presence.
50fb7002 37705
d64399b5 37706 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
37707
2b40d6bb 377082009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
37709
37710 * kern/mm.c: Add more comments.
37711
73a4ce81 377122009-02-08 Robert Millan <rmh@aybabtu.com>
37713
37714 Patch from Javier Martín.
37715 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
37716 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
37717
f821ce59 377182009-02-08 Robert Millan <rmh@aybabtu.com>
37719
37720 * fs/cpio.c: Split tar functionality to ...
37721 * fs/tar.c: ... here (new file). Update all users.
37722
aebfc4b0 377232009-02-07 Robert Millan <rmh@aybabtu.com>
37724
37725 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
37726 backward-incompatible features.
37727
37728 Based on patch from Javier Martín, with some adjustments.
37729
50fb7002 377302009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 37731
37732 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
37733
0bb5115e 377342009-02-07 Robert Millan <rmh@aybabtu.com>
37735
37736 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
37737 position of `disk/lvm.c' to ensure grub_init_all() always picks it
37738 after the RAID stuff.
37739
38a0f8e7 377402009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
37741
50fb7002 37742 Fixes problem when running vbetest command as reported by
38a0f8e7 37743 Vladimir Serbinenko <phcoder@gmail.com>.
37744
37745 * (grub_vbe_set_video_mode): Fixed problem with text modes.
37746
3143cc1c 377472009-02-04 Felix Zielcke <fzielcke@z-51.de>
37748
37749 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
37750 /dev/md/NpN style mdraid devices.
37751
9cba6fce 377522009-02-03 Felix Zielcke <fzielcke@z-51.de>
37753
37754 * util/unifont2pff.rb: Remove.
37755
e507a2c1 377562009-02-03 Felix Zielcke <fzielcke@z-51.de>
37757
37758 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
37759 `#'.
37760
d2c2b4cd 377612009-02-03 Felix Zielcke <fzielcke@z-51.de>
37762
37763 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
37764 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37765 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37766 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37768 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37769 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37770
b4315fb0 377712009-02-02 Christian Franke <franke@computer.org>
37772
37773 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
37774
de3aa260 377752009-02-01 Felix Zielcke <fzielcke@z-51.de>
37776
7c3ff286 37777 * INSTALL: Note that we now require at least autoconf 2.59 and
37778 that LZO is optional.
de3aa260 37779
825a182b 377802009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37781
37782 Base on patch on bug #24154 created by Tomas Tintera
37783 <trosos@seznam.cz>.
37784
37785 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
37786
a69ef770 377872009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37788
7c3ff286 37789 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 37790 <bero@arklinux.org>.
37791
37792 * normal/parser.y (script_init): Add missing semicolon.
37793
6fa42fa6 377942009-01-31 Colin D Bennett <colin@gibibit.com>
37795
7c3ff286 37796 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 37797 (free_menu_entry_classes): Added.
37798 (grub_normal_menu_addentry): Added class property handling.
37799 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
37800 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
37801
37802 * normal/menu_viewer.c: New file.
37803
37804 * normal/menu.c (run_menu_entry): Renamed to ...
37805 (grub_menu_execute_entry): ... this and made it as global.
37806 (grub_menu_run): Renamed to ...
37807 (show_text_menu): ... this and made it local.
37808 (show_text_menu): Adapt to new function names.
37809 (grub_normal_terminal_menu_viewer): New global variable.
37810
37811 * include/grub/menu.h: New file.
37812
37813 * include/grub/menu_viewer.h: New file.
37814
37815 * include/grub/normal.h: Added include to grub/menu.h.
37816 (grub_menu_entry): Moved to include/grub/menu.h.
37817 (grub_menu_entry_t): Likewise.
37818 (grub_menu): Likewise.
37819 (grub_menu_t): Likewise.
37820 (grub_normal_terminal_menu_viewer): Added.
37821 (grub_menu_execute_entry): Likewise.
37822 (grub_menu_run): Removed.
37823
37824 * DISTLIST: Added include/grub/menu.h.
37825 Added include/grub/menu_viewer.h.
37826 Added normal/menu_viewer.c.
37827
378282009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
37829
37830 * normal/execute.c (grub_script_execute_menuentry): Changed to use
37831 arglist for menutitle arguments.
37832
37833 * normal/main.c (grub_normal_menu_addentry): Likewise.
37834
37835 * normal/parser.y (menuentry): Likewise.
37836
37837 * normal/script.c (grub_script_create_cmdmenu): Likewise.
37838
37839 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
37840 (grub_script_create_cmdmenu): Likewise.
37841
37842 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
37843
37844 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
37845 changes.
37846
37847 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
37848
37849 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
37850
37851 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
37852
37853 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37854
37855 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37856
37857 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37858
56192c23 378592009-01-30 Christian Franke <franke@computer.org>
37860
37861 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
37862 in option help text.
37863
d72521b3 378642009-01-27 Pavel Roskin <proski@gnu.org>
37865
37866 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
37867
994b5e84 378682009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37869
37870 * commands/lsmmap.c: Add include to grub/machine/memory.h.
37871
37872 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
37873
37874 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
37875 unregister function.
37876
6a7eab2c 378772009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37878
37879 * disk/scsi.c (grub_scsi_read): Fix sign problem.
37880
37881 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
37882
37883 * util/grub-mkfont.c (usage): Fix typo.
37884
37885 * util/elf/grub-mkimage.c (load_modules): Fix warning.
37886
1806b56e 378872009-01-26 Daniel Mierswa <impulze@impulze.org>
37888
3fb18f09 37889 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
37890
336e1fb9 37891 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
37892
1806b56e 37893 * kern/misc.c (grub_strcasecmp): New function.
37894 (grub_strcasecmp): Use grub_size_t instead of int for length.
37895 Fix return value.
37896 * include/grub/misc.h: Update function prototypes.
37897
580b2a0f 378982009-01-26 Robert Millan <rmh@aybabtu.com>
37899
37900 * configure.ac: Fix cross-compilation check.
ef257b36 37901
d31c24f1 379022009-01-22 Christian Franke <franke@computer.org>
37903
37904 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
37905 (precision) digit string. Allow `.format2' without `format1' (width).
37906 Limit input chars for `%s' output to `format2' if specified. This is
37907 compatible with standard printf ().
37908
3138b44c 379092009-01-22 Christian Franke <franke@computer.org>
37910
37911 * disk/ata.c (grub_ata_wait_status): Replace by ...
37912 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
37913 other status bits may be invalid while BSY is asserted.
37914 (grub_ata_check_ready): New function.
37915 (grub_ata_cmd): Removed.
37916 (grub_ata_wait_drq): New function.
37917 (grub_ata_strncpy): Remove inline.
37918 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
37919 and error check now done by grub_ata_wait_drq ().
37920 (grub_ata_pio_write): Likewise.
37921 (grub_atapi_identify): Set DEV before check for !BSY. Use
37922 grub_ata_wait_drq () to wait for data.
37923 (grub_ata_device_initialize): Add status register check to
37924 detect missing SATA slave devices. Add debug messages.
37925 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
37926 (grub_atapi_packet): Set DEV before check for !BSY. Replace
37927 transfer loop by grub_ata_pio_write ().
37928 (grub_ata_identify): Set DEV before check for !BSY. Use
37929 grub_ata_wait_drq () to wait for data.
ef257b36 37930 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 37931 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
37932 read/write in one loop. Fix invalid command on write. Fix incomplete
37933 command on (size % batch) == 0. Add missing error check after write of
37934 last block. Add debug messages.
37935 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
37936
59a64ef6 379372009-01-19 Christian Franke <franke@computer.org>
37938
37939 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
37940 (GRUB_ATAPI_IREASON_*): Likewise.
37941 (grub_ata_pio_write): Fix timeout error return.
37942 (grub_atapi_identify): Add grub_ata_wait () after cmd.
37943 (grub_atapi_wait_drq): New function.
37944 (grub_atapi_packet): New parameter `size'.
37945 Use grub_atapi_wait_drq () and direct write instead of
37946 grub_ata_pio_write ().
37947 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
37948 reads the number of bytes requested by the device for each DRQ
37949 assertion.
37950 (grub_atapi_write): Remove old implementation, return not
37951 implemented instead.
37952
1cfe20b3 379532009-01-19 Christian Franke <franke@computer.org>
37954
37955 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
37956 of 512 to calculate data size.
37957 (grub_scsi_read12): Likewise.
37958 (grub_scsi_write10): Likewise.
37959 (grub_scsi_write12): Likewise.
37960 (grub_scsi_read): Adjust size according to blocksize.
37961 Add checks for invalid blocksize and unaligned transfer.
37962
bee5fe5d 379632009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
37964
37965 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
37966
ef257b36 37967 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 37968 width glyphs.
37969
3e643f8c 379702009-01-19 Robert Millan <rmh@aybabtu.com>
37971
37972 * config.guess: Update to latest version from config git.
37973 * config.sub: Likewise.
37974
4fa80998 379752009-01-17 Felix Zielcke <fzielcke@z-51.de>
37976
37977 * Makefile.in: Change font compilation to use new grub-mkfont instead
37978 of java version.
37979
37980 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
37981 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
37982 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37983 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37984 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
37985 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
37986 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
37987 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
37988 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37989
7086085b 379902009-01-16 Christian Franke <franke@computer.org>
37991
37992 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
37993 (enum grub_ata_timeout_milliseconds): New enum.
37994 (grub_ata_wait_status): Add parameter milliseconds.
37995 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
37996 recovery from timed-out commands.
37997 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
37998 return grub_errno instead of REG_ERROR.
37999 (grub_ata_pio_write): Add parameter milliseconds.
38000 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
38001 Pass milliseconds to grub_ata_wait_status () and
38002 grub_ata_pio_read ().
38003 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
38004 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
38005 grub_ata_wait_status (). Fix IDENTIFY timeout check.
38006 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
38007 It is not suitable for device detection, because DEV bit is ignored,
38008 the command may run too long, and not all devices set the signature
38009 properly.
38010 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
38011 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
38012 Fix device selection, DEV bit must be set first to address the registers
38013 of the correct device.
38014 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
38015 grub_ata_pio_read/write ().
38016 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
38017 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
38018
4a412913 380192009-01-13 Carles Pina i Estany <carles@pina.cat>
38020
38021 * util/grub-editenv.c (main): Use fseeko(), not fseek().
38022
7795c55e 380232009-01-13 Bean <bean123ch@gmail.com>
d913988c 38024
38025 * util/grub-mkfont.c (write_font): forget to remove some debug code.
38026
7795c55e 380272009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 38028
38029 * Makefile.in: (enable_grub_mkfont): New variable.
38030 (freetype_cflags): Likewise.
38031 (freetype_libs): Likewise.
38032
38033 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
38034 (grub_mkfont_SOURCES): New variable.
38035 (grub_mkfont_CFLAGS): Likewise.
38036 (grub_mkfont_LDFLAGS): Likewise.
38037
38038 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
38039 library if `--enable-grub-mkfont' is requested.
38040 (enable_grub_mkfont): New variable.
38041 (freetype_cflags): Likewise.
38042 (freetype_libs): Likewise.
38043
38044 * util/grub-mkfont.c: New file.
38045
093af1fe 380462009-01-12 Christian Franke <franke@computer.org>
38047
38048 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
38049 mode check. Fix setting of compat_use[].
38050
f36cc108 380512009-01-10 Robert Millan <rmh@aybabtu.com>
38052
38053 Update a few copyright years which we forgot to do in 2008 (only for
38054 files whose changes made in 2008 were copyright-significant)
38055
38056 * Makefile.in: Add 2008 to Copyright line.
38057 * disk/ieee1275/ofdisk.c: Likewise.
38058 * disk/efi/efidisk.c: Likewise.
38059 * kern/dl.c: Likewise.
38060 * kern/sparc64/ieee1275/init.c: Likewise.
38061 * kern/mm.c: Likewise.
38062 * kern/efi/mm.c: Likewise.
38063 * boot/i386/pc/boot.S: Likewise.
38064 * genfslist.sh: Likewise.
38065 * fs/iso9660.c: Likewise.
38066 * fs/hfs.c: Likewise.
38067 * fs/jfs.c: Likewise.
38068 * fs/minix.c: Likewise.
38069 * fs/ufs.c: Likewise.
38070 * gensymlist.sh.in: Likewise.
38071 * genkernsyms.sh.in: Likewise.
38072 * include/grub/misc.h: Likewise.
38073 * include/grub/types.h: Likewise.
38074 * include/grub/symbol.h: Likewise.
38075 * include/grub/elf.h: Likewise.
38076 * include/grub/kernel.h: Likewise.
38077 * include/grub/disk.h: Likewise.
38078 * include/grub/dl.h: Likewise.
38079 * include/grub/i386/linux.h: Likewise.
38080 * include/grub/i386/pc/biosdisk.h: Likewise.
38081 * include/grub/efi/api.h: Likewise.
38082 * include/grub/efi/pe32.h: Likewise.
38083 * include/grub/util/misc.h: Likewise.
38084 * normal/execute.c: Likewise.
38085 * normal/arg.c: Likewise.
38086 * normal/completion.c: Likewise.
38087 * normal/lexer.c: Likewise.
38088 * normal/parser.y: Likewise.
38089 * normal/misc.c: Likewise.
38090 * commands/i386/pc/vbeinfo.c: Likewise.
38091 * commands/hexdump.c: Likewise.
38092 * commands/terminal.c: Likewise.
38093 * commands/ls.c: Likewise.
38094 * commands/help.c: Likewise.
38095 * partmap/pc.c: Likewise.
38096 * loader/efi/chainloader.c: Likewise.
38097 * loader/multiboot_loader.c: Likewise.
38098 * loader/i386/pc/multiboot2.c: Likewise.
38099 * term/efi/console.c: Likewise.
38100 * term/i386/pc/serial.c: Likewise.
38101 * util/lvm.c: Likewise.
38102 * util/console.c: Likewise.
38103 * util/i386/efi/grub-mkimage.c: Likewise.
38104 * util/raid.c: Likewise.
38105
7f02114b 381062009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
38107
38108 * commands/videotest.c: Removed include to grub/machine/memory.h.
38109
38110 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
38111 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
38112 (video_mod_SOURCES): Removed.
38113 (video_mod_CFLAGS): Likewise.
38114 (video_mod_LDFLAGS): Likewise.
38115 (gfxterm_mod_SOURCES): Likewise.
38116 (gfxterm_mod_CFLAGS): Likewise.
38117 (gfxterm_mod_LDFLAGS): Likewise.
38118 (videotest_mod_SOURCES): Likewise.
38119 (videotest_mod_CFLAGS): Likewise.
38120 (videotest_mod_LDFLAGS): Likewise.
38121 (bitmap_mod_SOURCES): Likewise.
38122 (bitmap_mod_CFLAGS): Likewise.
38123 (bitmap_mod_LDFLAGS): Likewise.
38124 (tga_mod_SOURCES): Likewise.
38125 (tga_mod_CFLAGS): Likewise.
38126 (tga_mod_LDFLAGS): Likewise.
38127 (jpeg_mod_SOURCES): Likewise.
38128 (jpeg_mod_CFLAGS): Likewise.
38129 (jpeg_mod_LDFLAGS): Likewise.
38130 (png_mod_SOURCES): Likewise.
38131 (png_mod_CFLAGS): Likewise.
38132 (png_mod_LDFLAGS): Likewise.
38133
38134 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
38135 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
38136 (video_mod_SOURCES): Added.
38137 (video_mod_CFLAGS): Likewise.
38138 (video_mod_LDFLAGS): Likewise.
38139 (videotest_mod_SOURCES): Likewise.
38140 (videotest_mod_CFLAGS): Likewise.
38141 (videotest_mod_LDFLAGS): Likewise.
38142 (bitmap_mod_SOURCES): Likewise.
38143 (bitmap_mod_CFLAGS): Likewise.
38144 (bitmap_mod_LDFLAGS): Likewise.
38145 (tga_mod_SOURCES): Likewise.
38146 (tga_mod_CFLAGS): Likewise.
38147 (tga_mod_LDFLAGS): Likewise.
38148 (jpeg_mod_SOURCES): Likewise.
38149 (jpeg_mod_CFLAGS): Likewise.
38150 (jpeg_mod_LDFLAGS): Likewise.
38151 (png_mod_SOURCES): Likewise.
38152 (png_mod_CFLAGS): Likewise.
38153 (png_mod_LDFLAGS): Likewise.
38154 (gfxterm_mod_SOURCES): Likewise.
38155 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 38156 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 38157
38158 * term/gfxterm.c: Removed include to grub/machine/memory.h,
38159 grub/machine/console.h.
38160
644fff97 381612009-01-04 Jerone Young <jerone@gmail.com>
38162
38163 Make on screen instructions clearer
38164
38165 Based on patch created by Jidanni <jidanni@jidanni.org>
38166
38167 * normal/menu.c: print clearer instructions on the screen
38168
1e901a75 381692009-01-02 Colin D Bennett <colin@gibibit.com>
38170
38171 New font engine.
34c44600 38172
1e901a75 38173 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
38174 build system and fixed gfxterm.c to work with different sized fonts.
38175
38176 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 38177
1e901a75 38178 * configure: Re-generated.
34c44600 38179
1e901a75 38180 * DISTLIST: Removed font/manager.c.
38181 Added font/font.c.
38182 Added font/font_cmd.c.
34c44600 38183
1e901a75 38184 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
38185 compilation.
34c44600 38186
1e901a75 38187 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 38188
38189 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 38190
38191 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 38192
1e901a75 38193 * normal/menu.c: Likewise.
34c44600 38194
1e901a75 38195 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
38196 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 38197
1e901a75 38198 * include/grub/font.h: Replaced with new file.
34c44600 38199
1e901a75 38200 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
38201 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
38202 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
38203 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
38204 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 38205 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 38206 fg_red, fg_green, fg_blue, fg_alpha.
38207 (grub_video_adapter): Removed blit_glyph.
34c44600 38208 (grub_video_blit_glyph): Removed.
38209
1e901a75 38210 * font/manager.c: Removed file.
34c44600 38211
38212 * font/font.c: New file.
38213
1e901a75 38214 * font/font_cmd.c: Likewise.
34c44600 38215
1e901a75 38216 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 38217
1e901a75 38218 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
38219 (grub_video_vbe_map_rgba): Likewise.
38220 (grub_video_vbe_unmap_color_int): Likewise.
38221 (grub_video_vbe_blit_glyph): Removed.
38222 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 38223
1e901a75 38224 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
38225 (get_pixel): Likewise.
34c44600 38226 (set_pixel): Likewise.
38227
1e901a75 38228 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 38229
1e901a75 38230 * term/gfxterm.c: Adapted to new font engine.
34c44600 38231
1e901a75 38232 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 38233
1e901a75 38234 * term/i386/pc/vga.c: Likewise.
34c44600 38235
1e901a75 38236 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 38237
1e901a75 38238 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 38239
1e901a75 38240 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 38241
1e901a75 38242 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 38243
1e901a75 38244 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 38245
1e901a75 38246 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 38247
1e901a75 38248 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 38249
1e901a75 38250 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 38251
1e901a75 38252 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
38253
38254 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 38255
1e901a75 38256 * util/grub-mkconfig_lib.in: Changed font extension.
38257
278922e8 382582008-12-28 Felix Zielcke <fzielcke@z-51.de>
38259
38260 * util/getroot.c (grub_util_get_grub_dev): Add support for
38261 /dev/md/dNNpNN style partitionable mdraid devices.
38262
3ced05cf 382632008-12-12 Alex Smith <alex@alex-smith.me.uk>
38264
38265 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
38266 at a time limit of the PXE TFTP API correctly.
38267 (grub_pxefs_close): Likewise.
38268
7fd0ee30 382692008-11-29 Robert Millan <rmh@aybabtu.com>
38270
34c44600 38271 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 38272 grub_ata_device_initialize() calls.
38273
34c44600 382742008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 38275
38276 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
38277 iteration failed.
38278 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
38279
89313780 382802008-11-28 Robert Millan <rmh@aybabtu.com>
38281
38282 Fix build on powerpc-ieee1275. Based on patch created by
38283 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
38284 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38285 `kern/ieee1275/mmap.c'.
38286 * include/grub/powerpc/ieee1275/memory.h: New file.
38287
15257703 38288 Provide grub-install on coreboot.
38289 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
38290 (grub_install_SOURCES): New variable.
38291 * util/i386/pc/grub-install.in: Add a few condition checks to make it
38292 usable on coreboot.
38293
9fc5388a 382942008-11-25 Felix Zielcke <fzielcke@z-51.de>
38295
38296 * util/grub-fstest.c (grub_term_get_current_input): Change return type
38297 to `grub_term_input_t'.
38298 (grub_term_get_current_output): Change return type to
38299 `grub_term_output_t'.
38300
bc3a2f31 383012008-11-22 Robert Millan <rmh@aybabtu.com>
38302
34c44600 38303 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 38304 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
38305 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
38306 grub_vga_text_cls().
38307
80fc88f2 38308 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 38309 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 38310
cbf36fd3 38311 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
38312 to 0x200000 (avoids trouble with some OFW implementations, and matches
38313 with the one in Yaboot).
38314 Reported by Manoel Abranches
38315
73e8e268 383162008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 38317
38318 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
38319 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
38320
73e8e268 38321 * util/grub-mkconfig_lib.in (grub_warn): New function.
38322 (convert_system_path_to_grub_path): Use grub_warn() when issuing
38323 warnings, to obtain consistent formatting.
38324 * util/grub.d/00_header.in: Likewise.
38325 * util/update-grub_lib.in: Likewise.
38326
e94045a1 38327 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 38328 Move comment text to `#error' stanza.
e94045a1 38329
79d29fd7 38330 Harmonize ieee1275's grub_available_iterate() with the generic
38331 grub_machine_mmap_iterate() interface (fixes a recently-introduced
38332 build problem on i386-ieee1275):
38333 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
38334 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
38335 parameter `type'. Update all users of this function.
38336 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38337 `kern/ieee1275/mmap.c'.
38338 * kern/ieee1275/init.c
38339 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
38340 with ...
38341 (grub_machine_mmap_iterate): ... this.
38342 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
38343 return type to `grub_err_t'. Update all implementations of this
38344 function prototype.
38345 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
38346 Likewise.
38347
60d6b16e 38348 Add `lsmmap' command (lists firmware-provided memory map):
38349 * commands/lsmmap.c: New file.
38350 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
38351 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
38352 variables.
38353 * conf/powerpc-ieee1275.rmk: Likewise.
38354 * conf/i386-coreboot.rmk: Likewise.
38355 * conf/i386-ieee1275.rmk: Likewise.
38356
ebaaf49b 383572008-11-19 Robert Millan <rmh@aybabtu.com>
38358
38359 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 38360 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
38361 constraints to initrd allocation (based on code from
38362 loader/i386/pc/linux.c). Without them, initrd was allocated too high
38363 for Linux to find it.
ebaaf49b 38364
dfab719f 383652008-11-14 Robert Millan <rmh@aybabtu.com>
38366
38367 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
38368 order to cope with duplicate slashes.
38369
10fc3eb9 383702008-11-14 Robert Millan <rmh@aybabtu.com>
38371
38372 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
38373 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
38374 don't want to mess with lower memory, because it is used in the Linux
38375 loader.
38376
38377 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 38378 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 38379 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
38380 is in our heap (probably as a result of it being corrupted during
2f2a3442 38381 decompression). Add #error instance with comment to explain why this
38382 loader isn't currently usable on PC/BIOS.
10fc3eb9 38383
e2e07847 383842008-11-14 Robert Millan <rmh@aybabtu.com>
38385
38386 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 38387 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 38388
fe8e8d69 383892008-11-12 Robert Millan <rmh@aybabtu.com>
38390
38391 Make loader/i386/linux.c buildable on i386-pc (although disabled).
38392
38393 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
38394 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
38395 from here ...
38396 * include/grub/i386/pc/memory.h: ... to here.
38397
976b07d0 383982008-11-12 Robert Millan <rmh@aybabtu.com>
38399
38400 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
38401 split).
38402
38403 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
38404 (grub_console_cur_color, grub_console_real_putchar)
38405 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
38406 (grub_console_setcolorstate, grub_console_setcolor)
38407 (grub_console_getcolor): Move from here ...
38408 * include/grub/i386/vga_common.h: ... to here (new file).
38409
38410 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
38411 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
38412 `<grub/i386/io.h>'.
38413 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
38414 `<grub/i386/vga_common.h>'.
38415
76679cd3 384162008-11-12 Robert Millan <rmh@aybabtu.com>
38417
38418 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
38419 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
38420 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
38421 variables.
38422 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
38423 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
38424
38425 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
38426 grub_console_init() with call to grub_vga_text_init().
38427 (grub_machine_fini): Replace call to
38428 grub_console_fini() with call to grub_vga_text_fini() and
38429 grub_at_keyboard_fini().
38430
38431 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
38432 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
38433 (grub_console_setcolorstate, grub_console_setcolor)
38434 (grub_console_getcolor): New function prototypes.
38435
38436 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
38437 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
38438 (grub_vga_text_setcursor): Static-ize.
38439 (grub_vga_text_term): New structure.
38440 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
38441
38442 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
38443 (grub_console_cur_color, grub_console_standard_color)
38444 (grub_console_normal_color, grub_console_highlight_color)
38445 (map_char, grub_console_putchar, grub_console_getcharwidth)
38446 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
38447 (grub_console_getcolor): Move from here ...
38448 * term/i386/vga_common.c: ... to here (same function names).
38449
95b841d3 384502008-11-12 Robert Millan <rmh@aybabtu.com>
38451
38452 Use newly-added Multiboot support in coreboot.
38453
38454 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
38455 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
38456
38457 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
38458 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
38459 (codestart): Store the MBI in `startup_multiboot_info' when we're
38460 being loaded using Multiboot.
38461
38462 * kern/i386/coreboot/init.c (grub_machine_init): Move
38463 grub_at_keyboard_init() call to beginning of function (useful for
38464 debugging). Call grub_machine_mmap_init() before attempting to use
38465 grub_machine_mmap_iterate().
38466 (grub_lower_mem, grub_upper_mem): Move from here ...
38467 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
38468 here (new file).
38469
38470 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
38471 function prototype.
38472
761ca975 384732008-11-12 Robert Millan <rmh@aybabtu.com>
38474
38475 Fix a regression introduced by the at_keyboard.mod split. Because
38476 some terminals are default on some platforms and non-default on
38477 others, the first terminal being registered determines which is
38478 going to be default.
38479
38480 * kern/term.c (grub_term_register_input): If this is the first
38481 terminal being registered, set it as the current one.
38482 (grub_term_register_output): Likewise.
38483
38484 * term/efi/console.c (grub_console_init): Do not call
38485 grub_term_set_current_output() or grub_term_set_current_input().
38486 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
38487 * term/i386/pc/console.c (grub_console_init): Likewise.
38488 (grub_console_fini): Do not call grub_term_set_current_input()
38489 (but leave grub_term_set_current_output() to restore text mode).
38490
6c529df7 384912008-11-10 Robert Millan <rmh@aybabtu.com>
38492
38493 * util/grub.d/00_header.in: Add backward compatibility check for
38494 versions of terminal.mod that don't understand `terminal_input' or
38495 `terminal_output'.
38496
132e4113 384972008-11-09 Robert Millan <rmh@aybabtu.com>
38498
38499 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
38500 `terminal_input' / `terminal_output', not `terminal'.
38501
ac293d50 385022008-11-08 Robert Millan <rmh@aybabtu.com>
38503
38504 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 38505 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 38506
0025933a 385072008-11-08 Robert Millan <rmh@aybabtu.com>
38508
38509 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 38510 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 38511 members. Update all users.
38512 * util/console.c (grub_ncurses_term): Split in ...
38513 (grub_ncurses_term_input): ... this, and ...
38514 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 38515 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 38516
37c86336 385172008-11-08 Robert Millan <rmh@aybabtu.com>
38518
38519 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
38520 (PKGDATA): Add $(pkgdata_SRCDIR).
38521 (pkglib_BUILDDIR): New variable.
38522 (pkgdata_SRCDIR): New variable.
38523 (build_env.mk): New target.
38524 (include_DATA): New variable.
38525 (install-local): Install $(include_DATA) files in $(includedir).
38526
b6c15a2d 385272008-11-07 Pavel Roskin <proski@gnu.org>
38528
d99d46f1 38529 * gendistlist.sh: Use C locale for sorting to ensure consistent
38530 output on all systems.
38531
b6c15a2d 38532 * util/grub.d/00_header.in: Remove incorrect space before
38533 "serial".
38534
c32ee8c9 385352008-11-07 Robert Millan <rmh@aybabtu.com>
38536
38537 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
38538 per specification.
38539 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
38540 * loader/multiboot_loader.c (find_multi_boot2_header): New function
38541 (based on find_multi_boot1_header).
38542 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
38543 using find_multi_boot2_header(), and abort if neither Multiboot or
38544 Multiboot headers were found.
38545
651c29b7 385462008-11-07 Robert Millan <rmh@aybabtu.com>
38547
38548 Modularize at_keyboard.mod:
38549
38550 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
38551 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
38552 (at_keyboard_mod_LDFLAGS): New variables.
38553
38554 Actual terminal split:
38555
38556 * include/grub/term.h (struct grub_term): Split in ...
38557 (struct grub_term_input): ... this, and ...
38558 (struct grub_term_output): ... this. Update all users.
38559 (grub_term_set_current): Split in ...
38560 (grub_term_set_current_input): ... this, and ...
38561 (grub_term_set_current_output): ... this.
38562 (grub_term_get_current): Split in ...
38563 (grub_term_get_current_input): ... this, and ...
38564 (grub_term_get_current_output): ... this.
38565 (grub_term_register): Split in ...
38566 (grub_term_register_input): ... this, and ...
38567 (grub_term_register_output): ... this.
38568 (grub_term_unregister): Split in ...
38569 (grub_term_unregister_input): ... this, and ...
38570 (grub_term_unregister_output): ... this.
38571 (grub_term_iterate): Split in ...
38572 (grub_term_iterate_input): ... this, and ...
38573 (grub_term_iterate_output): ... this.
38574
38575 * kern/term.c (grub_term_list): Split in ...
38576 (grub_term_list_input): ... this, and ...
38577 (grub_term_list_output): ... this. Update all users.
38578 (grub_cur_term): Split in ...
38579 (grub_cur_term_input): ... this, and ...
38580 (grub_cur_term_output): ... this. Update all users.
38581 (grub_term_set_current): Split in ...
38582 (grub_term_set_current_input): ... this, and ...
38583 (grub_term_set_current_output): ... this.
38584 (grub_term_get_current): Split in ...
38585 (grub_term_get_current_input): ... this, and ...
38586 (grub_term_get_current_output): ... this.
38587 (grub_term_register): Split in ...
38588 (grub_term_register_input): ... this, and ...
38589 (grub_term_register_output): ... this.
38590 (grub_term_unregister): Split in ...
38591 (grub_term_unregister_input): ... this, and ...
38592 (grub_term_unregister_output): ... this.
38593 (grub_term_iterate): Split in ...
38594 (grub_term_iterate_input): ... this, and ...
38595 (grub_term_iterate_output): ... this.
38596
38597 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
38598 a check for input and one for output (and only attempt to get keys
38599 from user when input works).
38600
38601 * util/grub-probe.c (grub_term_get_current): Split in ...
38602 (grub_term_get_current_input): ... this, and ...
38603 (grub_term_get_current_output): ... this.
38604 * util/grub-fstest.c: Likewise.
38605 * util/i386/pc/grub-setup.c: Likewise.
38606 * util/grub-editenv.c: Likewise.
38607
38608 Portability adjustments:
38609
38610 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
38611 `term/i386/pc/at_keyboard.c'.
38612 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
38613 grub_keyboard_controller_init() (now handled by terminal .init).
38614 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
38615 grub_at_keyboard_init().
38616 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
38617 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
38618 at_keyboard.mod via input terminal interface).
38619 * include/grub/i386/coreboot/console.h: Convert into a stub for
38620 `<grub/i386/pc/console.h>'.
38621
38622 Migrate full terminals to new API:
38623
38624 * term/efi/console.c (grub_console_term): Split into ...
38625 (grub_console_term_input): ... this, and ...
38626 (grub_console_term_output): ... this. Update all users.
38627 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
38628 (grub_ofconsole_init): Split into ...
38629 (grub_ofconsole_init_input): ... this, and ...
38630 (grub_ofconsole_init_output): ... this.
38631 (grub_ofconsole_term): Split into ...
38632 (grub_ofconsole_term_input): ... this, and ...
38633 (grub_ofconsole_term_output): ... this. Update all users.
38634 * term/i386/pc/serial.c (grub_serial_term): Split into ...
38635 (grub_serial_term_input): ... this, and ...
38636 (grub_serial_term_output): ... this. Update all users.
38637 * term/i386/pc/console.c (grub_console_term): Split into ...
38638 (grub_console_term_input): ... this, and ...
38639 (grub_console_term_output): ... this. Update all users.
38640 (grub_console_term_input): Only enable it on PC/BIOS platform.
38641 (grub_console_init): Remove grub_keyboard_controller_init() call.
38642
38643 Migrate input terminals to new API:
38644
38645 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
38646 `i386' and `i386/pc' to enable build on x86_64 (this driver is
38647 i386-specific anyway).
38648 (grub_console_checkkey): Rename to ...
38649 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
38650 users.
38651 (grub_keyboard_controller_orig): New variable.
38652 (grub_console_getkey): Rename to ...
38653 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
38654 users.
38655 (grub_keyboard_controller_init): Static-ize. Save original
38656 controller value so that it can be restored ...
38657 (grub_keyboard_controller_fini): ... here (new function).
38658 (grub_at_keyboard_term): New structure.
38659 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
38660 functions.
38661
38662 Migrate output terminals to new API:
38663
38664 * term/i386/pc/vga.c (grub_vga_term): Change type to
38665 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38666 members. Update all users.
38667 * term/gfxterm.c (grub_video_term): Change type to
38668 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38669 members. Update all users.
38670 * include/grub/i386/pc/console.h (grub_console_checkkey)
38671 (grub_console_getkey): Do not export (no longer needed by gfxterm,
38672 etc).
38673
38674 Migrate `terminal' command and userland tools to new API:
38675
38676 * commands/terminal.c (grub_cmd_terminal): Split into ...
38677 (grub_cmd_terminal_input): ... this, and ...
38678 (grub_cmd_terminal_output): ... this.
38679 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
38680 `terminal_input' and `terminal_output'.
38681 * util/grub.d/00_header.in: Adjust `terminal' calls to new
38682 `terminal_input' / `terminal_output' API.
38683 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
38684 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
38685 provided ${GRUB_TERMINAL}, convert it).
38686
96e5d876 386872008-11-04 Robert Millan <rmh@aybabtu.com>
38688
38689 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
38690 for FreeBSD.
38691 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
38692
556f3775 386932008-11-03 Bean <bean123ch@gmail.com>
38694
38695 * kern/elf.c (grub_elf32_load): Revert to previous code.
38696 (grub_elf64_load): Likewise.
38697
38698 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
38699
926b9823 387002008-11-01 Robert Millan <rmh@aybabtu.com>
38701
38702 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
38703 (TARGET_CPPFLAGS): Likewise.
38704 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
38705
1432e958 387062008-11-01 Carles Pina i Estany <carles@pina.cat>
38707
38708 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
38709
dba3f844 387102008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 38711
38712 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
38713 addition of objects until the code is not going to be able to fail.
38714
dba3f844 387152008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 38716
38717 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
38718 (add a missing NULL check, and correct them by moving the pointer
38719 operations after the actual check).
38720
7ab28c21 387212008-10-29 Robert Millan <rmh@aybabtu.com>
38722
38723 * util/i386/pc/grub-install.in: Handle empty string as output from
38724 make_system_path_relative_to_its_root().
38725
1b7748eb 387262008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
38727
38728 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
38729 circular metadata worst case scenario. If the metadata is circular
38730 then copy the wrap in place.
38731 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
38732 project lib/format_text/layout.h
38733 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
38734
c9618ab2 387352008-10-03 Felix Zielcke <fzielcke@z-51.de>
38736
7a36edca 38737 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 38738
bf981c62 387392008-10-03 Felix Zielcke <fzielcke@z-51.de>
38740
38741 * util/update-grub_lib.in: Mention filename in warning message.
38742
6d994591 387432008-09-29 Felix Zielcke <fzielcke@z-51.de>
38744
38745 * NEWS: Update for rename of update-grub to grub-mkconfig.
38746
18ade780 387472008-09-29 Felix Zielcke <fzielcke@z-51.de>
38748
38749 * util/update-grub_lib.in: Copy to ...
38750 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 38751 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 38752 * util/update-grub.in: Rename to ...
38753 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
38754 option. Add `--output' option to allow users to specify the generated
38755 configuration file. Default to stdout.
38756 (update_grub_dir): Rename to ...
38757 (grub_mkconfig_dir): ... this.
38758 (grub_cfg): Default to an empty string.
38759 * conf/common.rmk (update-grub): Rename to ...
38760 (grub-mkconfig): ... this.
38761 (update-grub_lib): Copy to ...
38762 (grub-mkconfig_lib): ... this.
38763 (update-grub_SCRIPTS): Copy to ...
38764 (grub-mkconfig_SCRIPTS): ... this. Update all users.
38765 (update-grub_DATA): Rename to ...
38766 (grub-mkconfig_DATA): ... this.
38767
556ce6ac 387682008-09-28 Robert Millan <rmh@aybabtu.com>
38769
38770 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
38771 to `modified'. Add the real `created' field.
38772 (grub_iso9660_uuid): Use `modified' rather than `created' for
38773 constructing the UUID.
38774
387752008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 38776
38777 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
38778 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
38779
92274e85 387802008-09-28 Bean <bean123ch@gmail.com>
38781
38782 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
38783 Thanks to Christian Franke for finding this bug.
38784
add6f17a 387852008-09-25 Robert Millan <rmh@aybabtu.com>
38786
38787 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
38788 instances of grub_util_get_disk_name() (see previous commit).
38789
d2a367b8 387902008-09-25 Robert Millan <rmh@aybabtu.com>
38791
38792 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
38793 `util/i386/get_disk_name.c'.
38794 * conf/i386-efi.rmk: Likewise.
38795 * conf/x86_64-efi.rmk: Likewise.
38796 * conf/i386-coreboot.rmk: Likewise.
38797 * conf/i386-ieee1275.rmk: Likewise.
38798 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
38799 `util/ieee1275/get_disk_name.c'.
38800 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
38801 * util/ieee1275/get_disk_name.c: Remove file.
38802 * util/i386/get_disk_name.c: Remove file.
38803 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
38804 "hd%d" for device.map entries, rather than using
38805 grub_util_get_disk_name().
38806
81a06771 388072008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 38808
38809 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
38810 warning.
38811 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
38812
5a004279 388132008-09-24 Carles Pina i Estany <carles@pina.cat>
38814
38815 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
38816 Changed to 0x5100.
38817 (GRUB_TERM_PPAGE): Changed to 0x4900.
38818
397093d3 388192008-09-24 Robert Millan <rmh@aybabtu.com>
38820
38821 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
38822 macros (they were i386-pc specific).
38823 * include/grub/sparc64/ieee1275/console.h: Likewise.
38824 * include/grub/efi/console.h: Likewise.
38825
a91b6c7c 388262008-09-22 Bean <bean123ch@gmail.com>
38827
38828 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
38829 resident and in attribute list.
38830
38831 * include/grub/ntfs.h (BMP_LEN): Removed.
38832
c40fd116 388332008-09-22 Bean <bean123ch@gmail.com>
38834
81a06771 38835 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 38836 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
38837
38838 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
38839 error occurs, as grub_disk_open will call grub_disk_close, which will
38840 call p->close (scsi).
38841
81a06771 388422008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 38843
38844 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
38845 (AC_PREREQ): Bumped to 2.59.
38846 (AC_TRY_COMPILE): Replace obsolete macro with ...
38847 (AC_COMPILE_IFELSE): ... this.
38848 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
38849 (AC_LINK_IFELSE): ... this.
38850
5dc43410 388512008-09-21 Felix Zielcke <fzielcke@z-51.de>
38852
38853 * autogen.sh: Add a call to `gendistlist.sh'.
38854
9035dce4 388552008-09-19 Christian Franke <franke@computer.org>
38856
38857 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
38858 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
38859 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
38860 Export __enable_execute_stack() to modules.
38861 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
38862 New function.
38863
7fd75377 388642008-09-09 Felix Zielcke <fzielcke@z-51.de>
38865
040030b3 38866 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
38867 Sort the list.
38868
388692008-09-09 Felix Zielcke <fzielcke@z-51.de>
38870
38871 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 38872 #include <grub/util/hostdisk.h>.
38873
89d5ffcf 388742008-09-08 Robert Millan <rmh@aybabtu.com>
38875
38876 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
38877 segments when their filesz is zero (grub_file_read() interprets
81a06771 38878 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 38879 Use `lowest_segment' rather than 0 for calculating the current
38880 segment load address.
38881
40da438f 388822008-09-08 Robert Millan <rmh@aybabtu.com>
38883
38884 * util/hostdisk.c (open_device): Replace a grub_util_info() call
38885 with grub_dprintf("hostdisk", ...), as it was so verbose that it
38886 clobbered useful information.
38887
ddbf5556 388882008-09-08 Robert Millan <rmh@aybabtu.com>
38889
38890 * include/grub/util/biosdisk.h: Move to ...
38891 * include/grub/util/hostdisk.h: ... here. Update all users.
38892 * util/biosdisk.c: Move to ...
38893 * util/hostdisk.c: ... here. Update all users.
38894
783d0f48 388952008-09-07 Robert Millan <rmh@aybabtu.com>
38896
38897 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
38898 variables.
38899 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
38900 and length can be stored directly in the `mbi->mmap_addr' and
38901 `mbi->mmap_length' struct fields.
38902
548e2ea5 389032008-09-07 Robert Millan <rmh@aybabtu.com>
38904
38905 * conf/i386.rmk: New file. Provides declaration for building
38906 `cpuid.mod'.
38907 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
38908 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
38909 variables.
38910 Include `conf/i386.mk'.
38911 * conf/i386-efi.rmk: Likewise.
38912 * conf/x86_64-efi.rmk: Likewise.
38913 * conf/i386-coreboot.rmk: Likewise.
38914 * conf/i386-ieee1275.rmk: Likewise.
38915
0ea85a37 389162008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
38917
38918 Based on patch created by Colin D Bennett <colin@gibibit.com>.
38919 Adds optimization support for BGR based modes.
38920
38921 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
38922 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38923 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38924 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38925 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38926 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38927 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38928 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38929 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38930 (grub_video_i386_vbeblit_index_index): Likewise.
38931 (grub_video_i386_vbeblit_replace_directN): Added.
38932 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38933 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38934 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38935 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38936 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38937 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 38938 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 38939 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38940 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38941 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38942 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38943 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38944 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
38945
38946 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
38947 (grub_video_i386_vbefill_R8G8B8): Likewise.
38948 (grub_video_i386_vbefill_index): Likewise.
38949 (grub_video_i386_vbefill_direct32): Added.
38950 (grub_video_i386_vbefill_direct24): Likewise.
38951 (grub_video_i386_vbefill_direct16): Likewise.
38952 (grub_video_i386_vbefill_direct8): Likewise.
38953
81a06771 38954 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 38955 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
38956 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
38957 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
38958 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
38959 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 38960
0ea85a37 38961 * video/video.c (grub_video_get_blit_format): Updated to use new
38962 blit formats. Added handling for 16 bit color modes.
81a06771 38963
38964 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 38965 fillers.
38966 (common_blitter): Updated to use new blitters.
38967
38968 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
38969 Removed.
38970 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38971 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38972 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38973 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38974 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38975 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38976 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38977 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38978 (grub_video_i386_vbeblit_index_index): Likewise.
38979 (grub_video_i386_vbeblit_replace_directN): Added.
38980 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38981 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38982 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38983 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38984 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38985 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
38986 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
38987 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38988 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38989 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38990 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38991 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38992 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 38993
0ea85a37 38994 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
38995 (grub_video_i386_vbefill_R8G8B8): Likewise.
38996 (grub_video_i386_vbefill_index): Likewise.
38997 (grub_video_i386_vbefill_direct32): Added.
38998 (grub_video_i386_vbefill_direct24): Likewise.
38999 (grub_video_i386_vbefill_direct16): Likewise.
39000 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 39001
0ea85a37 39002 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
39003 types.
81a06771 39004
0ea85a37 39005 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
39006 types.
81a06771 39007
0ea85a37 39008 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
39009 blitter types.
81a06771 39010
0ea85a37 39011 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
39012 types.
39013
e8a83df6 390142008-09-06 Felix Zielcke <fzielcke@z-51.de>
39015
39016 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
39017 RAID level 1.
39018
6bcd8ee5 390192008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 39020
6bcd8ee5 39021 * fs/iso9660.c (grub_iso9660_date): New structure.
39022 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
39023 (grub_iso9660_uuid): New function.
c375ae58 39024
59261157 390252008-09-05 Bean <bean123ch@gmail.com>
39026
39027 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
39028
39029 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
39030 insensitive bit for names in Win32 and Win32 & DOS namespace.
39031
39032 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
39033
39034 * include/grub/types.h (LONG_MAX): Likewise.
39035
58b6645a 390362008-09-04 Felix Zielcke <fzielcke@z-51.de>
39037
4ee55921 39038 * util/getroot.c: Include <config.h>.
39039 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
39040 add support for /dev/md/N devices and handle LVM double dash escaping.
39041
390422008-09-04 Felix Zielcke <fzielcke@z-51.de>
39043
39044 * config.guess: Update to latest version from config git.
39045 * config.sub: Likewise.
58b6645a 39046
9124f65d 390472008-09-03 Robert Millan <rmh@aybabtu.com>
39048
39049 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
39050 `disk->total_sectors'.
39051
81a06771 390522008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 39053
39054 * include/grub/normal.h: Fixed incorrect comment for
39055 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
39056
81a06771 390572008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 39058
39059 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
39060 values with defines.
39061
39062 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
39063 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
39064 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
39065 (GRUB_VBE_MODEATTR_COLOR): Likewise.
39066 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
39067 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
39068 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
39069 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
39070 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
39071 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
39072 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
39073 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
39074 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
39075 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
39076 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
39077 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
39078 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
39079 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
39080 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
39081
93d5cbf8 390822008-08-31 Robert Millan <rmh@aybabtu.com>
39083
39084 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
39085 declaration.
39086 (grub_multiboot): Fix a few warnings.
39087
21751d50 390882008-08-31 Robert Millan <rmh@aybabtu.com>
39089
39090 * loader/i386/pc/multiboot.c: Update comment not to say that
39091 boot_device support is unimplemented.
39092
e27a75c5 390932008-08-31 Robert Millan <rmh@aybabtu.com>
39094
39095 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
39096 or memory map support are unimplemented.
39097
81a06771 390982008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 39099
39100 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
39101
81a06771 391022008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 39103
39104 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
39105 total video memory in 'vbeinfo' output; show color format details for
39106 each video mode.
39107
7c5d8d95 391082008-08-30 Pavel Roskin <proski@gnu.org>
39109
39110 * util/genmoddep.c: Remove for real this time.
39111 * DISTLIST: Remove util/genmoddep.c.
39112
4cebd25a 391132008-08-30 Robert Millan <rmh@aybabtu.com>
39114
39115 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
39116 as required by Multiboot spec (it was already 4-byte aligned, but
39117 only by chance).
39118
b497a269 391192008-08-29 Pavel Roskin <proski@gnu.org>
39120
e3925185 39121 * kern/powerpc/ieee1275/crt0.S: Rename to ...
39122 * kern/powerpc/ieee1275/startup.S: ... this.
39123 * conf/powerpc-ieee1275.rmk: Adjust for the above.
39124 * DISTLIST: Likewise.
39125
b497a269 39126 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
39127 grub/cpu/kernel.h. Add start label for consistency with other
39128 platforms. Add grub_prefix immediately after start. Add jump
39129 to the code after grub_prefix.
39130 * include/grub/powerpc/kernel.h: Provide valid values for
39131 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
39132
6e5a42fe 391332008-08-29 Bean <bean123ch@gmail.com>
39134
39135 * configure.ac: Change host_os to cygwin for mingw.
39136 (asprintf): New check for function.
39137
39138 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
39139 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
39140
39141 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 39142 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 39143 sync, sleep and grub_util_get_disk_size for mingw.
39144
39145 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
39146 to get size in mingw.
39147 (open_device): Use flag O_BINARY if it's defined.
39148 (find_root_device): Add dummy code for mingw.
39149
39150 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
39151 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
39152 (get_scsi_disk_name): Return 0 for mingw.
39153
39154 * util/hostfs.c: #include <grub/util/misc.h>.
39155 (grub_hostfs_open): Use "rb" flag to open file, use
39156 grub_util_get_disk_size to get disk size for mingw.
39157
39158 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
39159 (asprintf): New function if HAVE_ASPRINTF is not set.
39160 (sync): New function for mingw.
39161 (sleep): Likewise.
39162 (grub_util_get_disk_size): Likewise.
39163
ab3f2673 391642008-08-28 Pavel Roskin <proski@gnu.org>
39165
39166 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39167 kern/time.c.
39168
1c282483 391692008-08-28 Robert Millan <rmh@aybabtu.com>
39170
39171 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
39172
678e849c 391732008-08-28 Robert Millan <rmh@aybabtu.com>
39174
39175 Change find_grub_drive() syntax so it doesn't prevent it from
39176 detecting NULL names as errors.
39177
39178 * util/biosdisk.c (find_grub_drive): Move free slot search code
39179 from here ...
39180 (find_free_slot): ... to here.
39181 (read_device_map): Use find_free_slot() to search for free slots.
39182
965c75ca 391832008-08-27 Marco Gerards <marco@gnu.org>
39184
39185 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
39186 (scsi_mod_SOURCES): New variable.
39187 (scsi_mod_CFLAGS): Likewise
39188 (scsi_mod_LDFLAGS): Likewise.
39189
39190 * disk/scsi.c: New file.
39191
39192 * include/grub/scsi.h: Likewise.
39193
39194 * include/grub/scsicmd.h: Likewise.
39195
39196 * disk/ata.c: Include <grub/scsi.h>.
39197 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
39198 instead.
39199 (grub_ata_iterate): Skip ATAPI devices.
39200 (grub_ata_open): Only handle ATAPI devices.
39201 (struct grub_atapi_read): Removed.
39202 (grub_atapi_readsector): Likewise.
39203 (grub_ata_read): No longer handle ATAPI devices.
39204 (grub_ata_write): Likewise.
39205 (grub_atapi_iterate): New function.
39206 (grub_atapi_read): Likewise.
39207 (grub_atapi_write): Likewise.
39208 (grub_atapi_open): Likewise.
39209 (grub_atapi_close): Likewise.
39210 (grub_atapi_dev): New variable.
39211 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
39212 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
39213
39214 * include/grub/disk.h (enum grub_disk_dev_id): Add
39215 `GRUB_DISK_DEVICE_SCSI_ID'.
39216
c07ae501 392172008-08-26 Robert Millan <rmh@aybabtu.com>
39218
39219 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
39220 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
39221 descriptive.
39222
5ed20adc 392232008-08-23 Bean <bean123ch@gmail.com>
39224
39225 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
39226 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
39227 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
39228 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
39229 dm_nv.mod.
39230 (raid5rec_mod_SOURCES): New macro.
39231 (raid5rec_mod_CFLAGS): Likewise.
39232 (raid5rec_mod_LDFLAGS): Likewise.
39233 (raid6rec_mod_SOURCES): Likewise.
39234 (raid6rec_mod_CFLAGS): Likewise.
39235 (raid6rec_mod_LDFLAGS): Likewise.
39236 (mdraid_mod_SOURCES): Likewise.
39237 (mdraid_mod_CFLAGS): Likewise.
39238 (mdraid_mod_LDFLAGS): Likewise.
39239 (dm_nv_mod_SOURCES): Likewise.
39240 (dm_nv_mod_CFLAGS): Likewise.
39241 (dm_nv_mod_LDFLAGS): Likewise.
39242
39243 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
39244 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
39245 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
39246
39247 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
39248 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
39249
39250 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39251
39252 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39253
39254 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39255
39256 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39257
39258 * disk/raid5_recover.c: New file.
39259
39260 * disk/raid6_recover.c: Likewise.
39261
39262 * disk/mdraid_linux.c: Likewise.
39263
39264 * disk/dmraid_nvidia.c: Likewise.
39265
39266 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
39267 ULONG_MAX.
39268
39269 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
39270 calculate the size of raid device.
39271 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
39272 different layout of raid5.
39273 (grub_raid_scan_device): Remove code specific to mdraid.
39274 (grub_raid_list): New variable.
39275 (free_array): New function.
39276 (grub_raid_register): Likewise.
39277 (grub_raid_unregister): Likewise.
39278 (grub_raid_rescan): Likewise.
39279 (GRUB_MOD_INIT): Don't iterate device here.
39280 (GRUB_MOD_FINI): Use free_array to release resource.
39281
39282 * include/grub/raid.h: Remove macro and structure specific to mdraid.
39283 (grub_raid5_recover_func_t): New function variable type.
39284 (grub_raid6_recover_func_t): Likewise.
39285 (grub_raid5_recover_func): New variable.
39286 (grub_raid6_recover_func): Likewise.
39287 (grub_raid_register): New function.
39288 (grub_raid_unregister): Likewise.
39289 (grub_raid_rescan): Likewise.
39290 (grub_raid_block_xor): Likewise.
39291
39292 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
39293 (CMD_CRC): New macro.
39294 (part): Removed.
39295 (read_file): Handle device as well as file.
39296 (cmd_crc): New function.
39297 (fstest): Handle multiple disks.
39298 (options): Remove part, raw and long, add root and diskcount.
39299 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 39300 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 39301 add handling for the new options, support multiple disks.
39302
39303 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
39304
29c18915 393052008-08-23 Bean <bean123ch@gmail.com>
39306
39307 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
39308
39309 * genfslist.sh: Ignore kernel.mod.
39310
39311 * genpartmaplist.sh: Likewise.
39312
8415f261 393132008-08-23 Robert Millan <rmh@aybabtu.com>
39314
39315 * util/getroot.c (find_root_device): Skip anything that starts with
39316 a dot, not just directories. This avoids things like /dev/.tmp.md0.
39317
d5a7dc5b 393182008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 39319
d5a7dc5b 39320 * util/update-grub.in (GRUB_GFXMODE): Export variable.
39321 * util/grub.d/00_header.in: Allow the administrator to change default
39322 gfxmode via ${GRUB_GFXMODE}.
39323
380cfbb4 393242008-08-21 Felix Zielcke <fzielcke@z-51.de>
39325
39326 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
39327
c9baafe7 393282008-08-21 Robert Millan <rmh@aybabtu.com>
39329
39330 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
39331 loader.
39332 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
39333 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
39334
e290bef2 393352008-08-20 Carles Pina i Estany <carles@pina.cat>
39336
39337 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
39338 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
39339
f9dbfc96 393402008-08-19 Robert Millan <rmh@aybabtu.com>
39341
39342 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
39343 (struct grub_virtual_screen): Remove `cursor_color'.
39344 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
39345 initialization.
39346 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
39347
dd6bd6ab 393482008-08-18 Robert Millan <rmh@aybabtu.com>
39349
39350 Unify (identical) linux_normal.c files.
39351 * loader/i386/efi/linux_normal.c: Move from here ...
39352 * loader/linux_normal.c: ... to here. Update all users.
39353 * loader/i386/pc/linux_normal.c: Delete. Update all users.
39354 * loader/i386/ieee1275/linux_normal.c: Likewise.
39355
7f42f83e 393562008-08-18 Robert Millan <rmh@aybabtu.com>
39357
39358 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
39359 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
39360 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
39361 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
39362 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
39363 New macros.
39364 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
39365 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
39366 (GRUB_LINUX_CL_END_OFFSET): ... to here.
39367 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
39368 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
39369 (GRUB_EFI_CL_END_OFFSET): Rename to ...
39370 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
39371 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
39372 Initialize `params->video_cursor_x' and `params->video_cursor_y'
39373 portably using grub_getxy().
39374 Replace `-EFI' with `-bzImage' in boot message.
39375
38487ddb 393762008-08-17 Robert Millan <rmh@aybabtu.com>
39377
39378 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
39379
deceb3ec 393802008-08-17 Robert Millan <rmh@aybabtu.com>
39381
39382 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
39383
39384 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
39385 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
39386 (grub_machine_mmap_iterate): New function declaration.
39387 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
39388 structure.
39389 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
39390 macros.
39391
39392 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
39393 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
39394 Move e820 parsing from here ...
39395 * kern/i386/pc/mmap.c: New file.
39396 (grub_machine_mmap_iterate): ... to here.
39397
39398 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
39399 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
39400 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
39401 (grub_available_iterate): Redeclare to return `void', and redeclare
39402 its hook to use grub_uint64_t as addr and size parameters, and rename
39403 to ...
39404 (grub_machine_mmap_iterate): ... this. Update all users.
39405
39406 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
39407 to make it more readable. Rename to ...
39408 (grub_machine_mmap_iterate): ... this.
39409
39410 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
39411 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
39412 (grub_multiboot): Allocate an extra region after the payload, and fill
39413 it with a Multiboot memory map. Adjust a.out loader to calculate size
39414 with the extra space.
39415 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
39416 with the extra space.
39417
f8aa0f43 394182008-08-17 Carles Pina i Estany <carles@pina.cat>
39419
9807deb9 39420 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 39421
605f5bb6 394222008-08-17 Felix Zielcke <fzielcke@z-51.de>
39423
39424 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
39425 mdate-sh to the list `find' searches for.
39426 * DISTLIST: Regenerated.
39427
210db6c6 394282008-08-16 Felix Zielcke <fzielcke@z-51.de>
39429
39430 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
39431 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 39432 genmoddep.awk, gensymlist.sh.in.
39433 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 39434 * DISTLIST: Regenerated.
48cdbfd4 39435 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 39436
1082b929 394372008-08-16 Robert Millan <rmh@aybabtu.com>
39438
39439 * disk/raid.c (grub_raid_init): Handle/report errors set by
39440 grub_device_iterate().
39441 * disk/lvm.c (grub_lvm_init): Likewise.
39442
42ce5170 394432008-08-15 Bean <bean123ch@gmail.com>
39444
39445 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39446 and datehook.mod.
39447 (datetime_mod_SOURCES): New macro.
39448 (datetime_mod_CFLAGS): Likewise.
39449 (datetime_mod_LDFLAGS): Likewise.
39450 (date_mod_SOURCES): Likewise.
39451 (date_mod_CFLAGS): Likewise.
39452 (date_mod_LDFLAGS): Likewise.
39453 (datehook_mod_SOURCES): Likewise.
39454 (datehook_mod_CFLAGS): Likewise.
39455 (datehook_mod_LDFLAGS): Likewise.
39456
39457 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39458 and datehook.mod.
39459 (datetime_mod_SOURCES): New macro.
39460 (datetime_mod_CFLAGS): Likewise.
39461 (datetime_mod_LDFLAGS): Likewise.
39462 (date_mod_SOURCES): Likewise.
39463 (date_mod_CFLAGS): Likewise.
39464 (date_mod_LDFLAGS): Likewise.
39465 (datehook_mod_SOURCES): Likewise.
39466 (datehook_mod_CFLAGS): Likewise.
39467 (datehook_mod_LDFLAGS): Likewise.
39468
39469 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39470 and datehook.mod.
39471 (datetime_mod_SOURCES): New macro.
39472 (datetime_mod_CFLAGS): Likewise.
39473 (datetime_mod_LDFLAGS): Likewise.
39474 (date_mod_SOURCES): Likewise.
39475 (date_mod_CFLAGS): Likewise.
39476 (date_mod_LDFLAGS): Likewise.
39477 (datehook_mod_SOURCES): Likewise.
39478 (datehook_mod_CFLAGS): Likewise.
39479 (datehook_mod_LDFLAGS): Likewise.
39480
39481 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39482 and datehook.mod.
39483 (datetime_mod_SOURCES): New macro.
39484 (datetime_mod_CFLAGS): Likewise.
39485 (datetime_mod_LDFLAGS): Likewise.
39486 (date_mod_SOURCES): Likewise.
39487 (date_mod_CFLAGS): Likewise.
39488 (date_mod_LDFLAGS): Likewise.
39489 (datehook_mod_SOURCES): Likewise.
39490 (datehook_mod_CFLAGS): Likewise.
39491 (datehook_mod_LDFLAGS): Likewise.
39492
39493 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39494 and datehook.mod.
39495 (datetime_mod_SOURCES): New macro.
39496 (datetime_mod_CFLAGS): Likewise.
39497 (datetime_mod_LDFLAGS): Likewise.
39498 (date_mod_SOURCES): Likewise.
39499 (date_mod_CFLAGS): Likewise.
39500 (date_mod_LDFLAGS): Likewise.
39501 (datehook_mod_SOURCES): Likewise.
39502 (datehook_mod_CFLAGS): Likewise.
39503 (datehook_mod_LDFLAGS): Likewise.
39504
39505 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
39506
39507 * commands/date.c: New file.
39508
39509 * hook/datehook.c: Likewise.
39510
39511 * include/grub/lib/datetime.h: Likewise.
39512
39513 * include/grub/i386/cmos.h: Likewise.
39514
39515 * lib/datetime.c: Likewise.
39516
39517 * lib/i386/datetime.c: Likewise.
39518
39519 * lib/efi/datetime.c: Likewise.
39520
0e9242da 395212008-08-14 Robert Millan <rmh@aybabtu.com>
39522
39523 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
39524 (grub_mkelfimage_SOURCES): New variable.
39525 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
39526
39527 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
39528 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
39529 * conf/powerpc-ieee1275.rmk: Likewise.
39530 * conf/i386-ieee1275.rmk: Likewise.
39531
39532 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
39533 * kern/i386/coreboot/init.c: Likewise.
39534
39535 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
39536 with `<grub/cpu/kernel.h>'.
39537 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
39538 to ...
39539 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
39540 * kern/i386/coreboot/startup.S: Likewise.
39541
39542 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
39543 (GRUB_MOD_GAP): Remove.
39544 * include/grub/powerpc/kernel.h: New file.
39545 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
39546 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39547 * include/grub/i386/kernel.h: New file.
39548 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
39549 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
39550 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39551
39552 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
39553 `grub-mkelfimage'.
39554 Use --directory when invoking grub_mkimage.
39555
39556 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
39557 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
39558 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
39559 and GRUB_KERNEL_CPU_PREFIX.
39560
b86408f8 395612008-08-14 Felix Zielcke <fzielcke@z-51.de>
39562
d5e619ca 39563 * include/grub/err.h (grub_err_printf): New function prototype.
39564 * util/misc.c (grub_err_printf): New function.
39565 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
39566 grub_printf.
39567 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 39568
7161f0e0 395692008-08-13 Robert Millan <rmh@aybabtu.com>
39570
39571 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
39572
a1967522 395732008-08-13 Robert Millan <rmh@aybabtu.com>
39574
39575 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
39576 boot entry.
39577
371458b5 395782008-08-12 Robert Millan <rmh@aybabtu.com>
39579
39580 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
39581 of the relocation code from here ...
39582 (grub_multiboot): ... to here.
39583 (forward_relocator, backward_relocator): Move from here ...
39584 * kern/i386/loader.S (grub_multiboot_forward_relocator)
39585 (grub_multiboot_backward_relocator): ... to here.
39586 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
39587 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
39588 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
39589 (grub_multiboot_forward_relocator_end)
39590 (grub_multiboot_backward_relocator)
39591 (grub_multiboot_backward_relocator_end): New variables.
39592
05f9452b 395932008-08-12 Bean <bean123ch@gmail.com>
39594
39595 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
39596
20024ab0 395972008-08-11 Robert Millan <rmh@aybabtu.com>
39598
39599 * kern/i386/linuxbios/startup.S: Move from here ...
39600 * kern/i386/coreboot/startup.S: ... to here.
39601
39602 * kern/i386/linuxbios/init.c: Move from here ...
39603 * kern/i386/coreboot/init.c: ... to here.
39604
39605 * kern/i386/linuxbios/table.c: Move from here ...
39606 * kern/i386/coreboot/mmap.c: ... to here.
39607
39608 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
39609
e352e9cd 396102008-08-11 Robert Millan <rmh@aybabtu.com>
39611
39612 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
39613 errors. Leave it to the upper layer to handle them.
39614
2d05bc6a 396152008-08-09 Christian Franke <franke@computer.org>
39616
39617 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
39618 * conf/common.rmk: Install `grub-pe2elf' only if requested.
39619 Install `grub.d/10_windows' only on Cygwin.
39620 * configure.ac: Add subst of `target_os'.
39621 Check `target_os' also before setting TARGET_OBJ2ELF.
39622 Add `--enable-grub-pe2elf'.
39623
042bd419 396242008-08-08 Robert Millan <rmh@aybabtu.com>
39625
39626 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39627 (grub_last_time): Change type to grub_uint64_t.
39628 (grub_disk_open): Migrate code from to using grub_get_time_ms().
39629 (grub_disk_close): Likewise.
39630
39631 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39632 (run_menu): Migrate code from to using grub_get_time_ms().
39633
39634 * util/misc.c (grub_get_time_ms): New function.
39635
7f280db5 396362008-08-08 Marco Gerards <marco@gnu.org>
39637
39638 * disk/ata.c (grub_ata_regget): Change return type to
39639 `grub_uint8_t'.
39640 (grub_ata_regget2): Likewise.
39641 (grub_ata_wait_status): New function.
39642 (grub_ata_wait_busy): Removed function, updated all users to use
39643 `grub_ata_wait_status'.
39644 (grub_ata_wait_drq): Likewise.
39645 (grub_ata_cmd): New function.
39646 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
39647 error handling.
39648 (grub_ata_pio_write): Add error handling.
39649 (grub_atapi_identify): Likewise.
39650 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
39651 handling.
39652 (grub_ata_identify): Use `grub_ata_cmd' and improve error
39653 handling. Actually use the detected registers. Reorder the
39654 detection logic such that it is easier to read.
39655 (grub_ata_pciinit): Do not assign the same ID to each controller.
39656 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
39657 handling.
39658 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
39659
39660 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
39661
1fbc5e66 396622008-08-08 Marco Gerards <marco@gnu.org>
39663
39664 * NEWS: Update.
39665
819ce6c0 396662008-08-07 Bean <bean123ch@gmail.com>
39667
39668 * include/grub/x86_64/pci.h: New file.
39669
5c41d44d 396702008-08-07 Christian Franke <franke@computer.org>
39671
39672 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
39673 (TIMER2_GATE): Likewise.
39674 (grub_pit_wait): Add enable/disable of the timer2 gate
39675 bit of port 0x61. This fixes a possible infinite loop.
39676
5ebc275d 396772008-08-07 Bean <bean123ch@gmail.com>
39678
39679 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
39680 kern/i386/tsc.c and kern/i386/pit.c.
39681
39682 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
39683 x86_64 platform.
39684
39685 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
39686 <grub/i386/tsc.h>.
39687
39688 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
39689
e383b3d0 396902008-08-07 Bean <bean123ch@gmail.com>
39691
39692 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
39693
39694 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
39695
39696 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
39697 multiple inclusion. Add #include <grub/types.h>.
39698
1cbb58ac 396992008-08-06 Christian Franke <franke@computer.org>
39700
39701 * conf/common.rmk: Build and install `10_windows'.
39702 * util/grub.d/10_windows.in: New script.
39703
337f5a1e 397042008-08-06 Pavel Roskin <proski@gnu.org>
39705
39706 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
39707
057bc4ac 397082008-08-06 Robert Millan <rmh@aybabtu.com>
39709
39710 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
39711 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
39712
2b99f123 397132008-08-06 Bean <bean123ch@gmail.com>
39714
39715 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
39716 (grub_pxefs_fs_int): Remove dummy definition.
39717 (grub_pxefs_open): Use data->block_size to store the current block
39718 size setting.
39719 (grub_pxefs_read): Use block size stored in data->block_size. As the
39720 value of grub_pxe_blksize can be changed after the file is opened.
39721
9f0234cb 397222008-08-06 Bean <bean123ch@gmail.com>
39723
39724 * fs/i386/pc/pxe.c (curr_file): new variable.
39725 (grub_pxefs_open): Simply the handling of pxe file system. Don't
39726 require the dummy internal file system anymore.
39727 (grub_pxefs_read): Removed.
39728 (grub_pxefs_close): Likewise.
39729 (grub_pxefs_fs_int): Likewise.
39730 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
39731 connection when we switch file.
39732 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
39733
a55d42e0 397342008-08-06 Robert Millan <rmh@aybabtu.com>
39735
39736 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
39737 `halt.mod'.
39738 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
39739 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
39740
39741 * kern/i386/halt.c: New file.
39742 * kern/i386/reboot.c: Likewise.
39743 * include/grub/i386/reboot.h: Likewise.
39744 * include/grub/i386/halt.h: Likewise.
39745
39746 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
39747 Include `<grub/cpu/halt.h>'.
39748 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
39749 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
39750
39751 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
39752 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
39753 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
39754 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
39755 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
39756 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
39757 from here ...
39758 * include/grub/i386/at_keyboard.h: ... to here.
39759
24371d26 397602008-08-05 Robert Millan <rmh@aybabtu.com>
39761
39762 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
39763 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
39764 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
39765 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39766 `kern/generic/millisleep.c'.
39767
39768 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
39769 instead of grub_get_rtc().
39770 (grub_tsc_init): Initialize `tsc_boot_time'.
39771
39772 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
39773 (grub_machine_init): Use grub_tsc_init() rather than
39774 installing an RTC-based handler via grub_install_get_time_ms().
39775
39776 * kern/i386/pit.c: New file.
39777 * include/grub/i386/pit.h: Likewise.
39778
9e7007b3 397792008-08-05 Bean <bean123ch@gmail.com>
39780
39781 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
39782
39783 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
39784 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
39785 (pxe_mod_SOURCES): New macro.
39786 (pxe_mod_CFLAGS): Likewise.
39787 (pxe_mod_LDFLAGS): Likewise.
39788 (pxecmd_mod_SOURCES): Likewise.
39789 (pxecmd_mod_CFLAGS): Likewise.
39790 (pxecmd_mod_LDFLAGS): Likewise.
39791
39792 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
39793 (grub_pxe_call): Likewise.
39794
39795 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
39796
39797 * commands/i386/pc/pxecmd.c: New file.
39798
9f0234cb 39799 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 39800
39801 * include/grub/i386/pc/pxe.h: Likewise.
39802
6977d49f 398032008-08-05 Bean <bean123ch@gmail.com>
39804
39805 * util/console.c (grub_console_cur_color): New variable.
39806 (grub_console_standard_color): Likewise.
39807 (grub_console_normal_color): Likewise.
39808 (grub_console_highlight_color): Likewise.
39809 (color_map): Likewise.
39810 (use_color): Likewise.
39811 (NUM_COLORS): New macro.
39812 (grub_ncurses_setcolorstate): Handle color properly.
39813 (grub_ncurses_setcolor): Don't change color here, just remember the
39814 settings, color will be set in grub_ncurses_setcolorstate.
39815 (grub_ncurses_getcolor): New function.
39816 (grub_ncurses_init): Initialize color pairs.
39817 (grub_ncurses_term): New member grub_ncurses_getcolor.
39818
9c2ff3ee 398192008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 39820
9c2ff3ee 39821 High resolution timer support. Implemented for x86 CPUs using TSC.
39822 Extracted generic grub_millisleep() so it's linked in only as needed.
39823 This requires a Pentium compatible CPU; if the RDTSC instruction is
39824 not supported, then it falls back on the generic grub_get_time_ms()
39825 implementation that uses the machine's RTC.
39826
39827 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
39828 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39829 `kern/generic/millisleep.c'.
39830
39831 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
39832 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
39833
39834 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
39835 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
39836
39837 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39838
39839 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39840 `kern/generic/millisleep.c'.
39841
39842 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39843
39844 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
39845
39846 * kern/generic/rtc_get_time_ms.c: New file.
39847
39848 * kern/generic/millisleep.c: New file.
337f5a1e 39849
9c2ff3ee 39850 * kern/misc.c: Don't include
39851 <kern/time.h> anymore.
39852 (grub_millisleep_generic): Removed.
39853
39854 * commands/sleep.c (grub_interruptible_millisleep): Uses
39855 grub_get_time_ms() instead of grub_get_rtc().
39856
39857 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
39858 function.
39859 (grub_cpu_is_cpuid_supported): New inline function.
39860 (grub_cpu_is_tsc_supported): New inline function.
39861 (grub_tsc_init): New function prototype.
39862 (grub_tsc_get_time_ms): New function prototype.
39863
39864 * kern/i386/tsc.c (grub_get_time_ms): New file.
39865
39866 * include/grub/time.h: Include <grub/types.h.
39867 (grub_millisleep_generic): Removed.
39868 (grub_get_time_ms): New prototype.
39869 (grub_install_get_time_ms): New prototype.
39870 (grub_rtc_get_time_ms): New prototype.
39871
39872 * kern/time.c (grub_get_time_ms): New function.
39873 (grub_install_get_time_ms): New function.
39874
39875 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
39876 <grub/time.h> anymore.
39877 (grub_millisleep): Removed.
39878 (grub_machine_init): Call grub_tsc_init.
39879
39880 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
39881 get_time_ms() implementation.
39882
39883 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
39884 (ieee1275_get_time_ms): New function.
39885 (grub_machine_init): Install get_time_ms() implementation.
39886
39887 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
39888 (grub_machine_init): Call grub_tsc_init().
39889 (grub_millisleep): Removed.
bf06a93f 39890
9c2ff3ee 39891 * kern/ieee1275/init.c (grub_millisleep): Removed.
39892 (grub_machine_init): Install ieee1275_get_time_ms()
39893 implementation.
39894 (ieee1275_get_time_ms): New function.
39895 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
39896 real work.
39897
9ec92aaf 398982008-08-05 Marco Gerards <marco@gnu.org>
39899
39900 * disk/ata.c: Include <grub/pci.h>.
39901 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
39902 (grub_ata_initialize): Rewritten.
39903 (grub_ata_device_initialize): New function.
39904
8d23f507 399052008-08-04 Pavel Roskin <proski@gnu.org>
39906
39907 * kern/main.c: Include grub/mm.h.
39908
5e15ee3d 399092008-08-04 Robert Millan <rmh@aybabtu.com>
39910
39911 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
39912 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
39913 corruption problem).
39914
a9053f8f 399152008-08-04 Robert Millan <rmh@aybabtu.com>
39916
39917 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
39918 warnings introduced in my last commit.
39919
dd19c7d7 399202008-08-03 Robert Millan <rmh@aybabtu.com>
39921
39922 Make PCI available on all i386 architectures.
39923
39924 * include/grub/i386/pc/pci.h: Move from here ...
39925 * include/grub/i386/pci.h: ... to here.
39926
39927 * include/grub/i386/pc/pci.h: Remove.
39928 * include/grub/i386/efi/pci.h: Remove.
39929 * include/grub/x86_64/efi/pci.h: Remove.
39930
39931 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
39932 `<grub/cpu/pci.h>'.
39933
39934 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
39935 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
39936 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
39937
39938 * conf/i386-ieee1275.rmk: Likewise.
39939
e14a6184 399402008-08-03 Robert Millan <rmh@aybabtu.com>
39941
39942 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
39943 (grub_console_setcursor): Make it possible to set cursor off.
39944
52768e37 399452008-08-03 Robert Millan <rmh@aybabtu.com>
39946
39947 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
39948 of modules instead of assuming which platform provides what.
39949 * util/update-grub.in: Likewise.
39950
2d52f57f 399512008-08-03 Robert Millan <rmh@aybabtu.com>
39952
39953 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
39954 instead of `grub_install_dos_part' to determine whether a drive needs
39955 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 39956 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 39957
2a5cd121 399582008-08-02 Robert Millan <rmh@aybabtu.com>
39959
39960 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
39961
93808428 399622008-08-02 Robert Millan <rmh@aybabtu.com>
39963
39964 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
39965 of informational grub_dprintf() calls.
39966
3bd0a12a 399672008-08-02 Robert Millan <rmh@aybabtu.com>
39968
39969 * disk/memdisk.c (memdisk_size): Don't initialize.
39970 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
39971
39972 * include/grub/i386/pc/kernel.h
39973 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
39974 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
39975 (grub_memdisk_image_size, grub_arch_memdisk_addr)
39976 (grub_arch_memdisk_size): Remove.
39977
39978 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
39979 field (was only used to transfer a constant). Add `type' field to
39980 support multiple module types.
39981 (grub_module_iterate): New function.
39982
39983 * kern/device.c (grub_device_open): Do not hide error messages
39984 when grub_disk_open() fails. Use grub_print_error() instead.
39985
39986 * kern/i386/pc/init.c (grub_arch_modules_addr)
39987 (grub_arch_memdisk_size): Remove functions.
39988 (grub_arch_modules_addr): Return the module address in high memory
39989 (now that it isn't copied anymore).
39990
39991 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
39992 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
39993 decompression routine (grub_total_module_size already includes that
39994 now). Don't copy modules back to low memory.
39995
39996 * kern/main.c: Include `<grub/mm.h>'.
39997 (grub_load_modules): Split out (and use) ...
39998 (grub_module_iterate): ... this function, which iterates through
39999 module objects and runs a hook.
40000 Comment out grub_mm_init_region() call, as it would cause non-ELF
40001 modules to be overwritten.
40002
40003 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
40004 the memdisk image in its own region, make it part of the module list.
40005 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
40006 (main): Parse --memdisk|-m option, and pass user-provided path as
40007 parameter to generate_image().
40008 (add_segments): Pass `memdisk_path' down to load_modules().
40009 (load_modules): Embed memdisk image in module section when requested.
40010 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
40011 `header.type' instead of `header.offset'.
40012
40013 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
40014 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
40015 (memdisk_mod_LDFLAGS): New variables.
40016 * conf/i386-coreboot.rmk: Likewise.
40017 * conf/i386-ieee1275.rmk: Likewise.
40018
a927cc73 400192008-08-02 Robert Millan <rmh@aybabtu.com>
40020
40021 * loader/i386/pc/multiboot.c (playground, forward_relocator)
40022 (backward_relocator): New variables. Used to allocate and relocate
40023 the payload, respectively.
40024 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 40025 address, install the appropriate relocator code in each bound of
a927cc73 40026 the payload, and set the entry point such that
40027 grub_multiboot_real_boot() will jump to one of them.
40028
40029 * kern/i386/loader.S (grub_multiboot_payload_size)
40030 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
40031 (grub_multiboot_payload_entry_offset): New variables.
40032 (grub_multiboot_real_boot): Set cpu context to what the relocator
40033 expects, and jump to the relocator instead of the payload.
40034
40035 * include/grub/i386/loader.h (grub_multiboot_payload_size)
40036 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
40037 (grub_multiboot_payload_entry_offset): Export.
40038
b15d8a0c 400392008-08-01 Bean <bean123ch@gmail.com>
40040
40041 * normal/menu_entry.c (editor_getline): Don't return the original
40042 string as result, as it will be released by lexer once it has done
40043 using it.
40044
cdfb3d22 400452008-08-01 Robert Millan <rmh@aybabtu.com>
40046
40047 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
40048 within menuentries, not before them.
40049 util/grub.d/10_hurd.in: Likewise.
40050
9175e93d 400512008-08-01 Bean <bean123ch@gmail.com>
40052
40053 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
40054 (bufio_mod_SOURCES): New macro.
40055 (bufio_mod_CFLAGS): Likewise.
40056 (bufio_mod_LDFLAGS): Likewise.
40057
40058 * include/grub/bufio.h: New file.
40059
40060 * io/bufio.c: Likewise.
40061
40062 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
40063 (grub_video_reader_png): Use grub_buffile_open to open file.
40064
40065 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
40066 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
40067
40068 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
40069 (grub_video_reader_tga): Use grub_buffile_open to open file.
40070
40071 * font/manager.c: Include <grub/bufio.h>.
40072 (add_font): Use grub_buffile_open to open file.
40073
3d8383e7 400742008-07-31 Robert Millan <rmh@aybabtu.com>
40075
40076 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
40077 ELF segments, use a macro for arbitrarily accessing any of them instead
40078 of preparing a pointer that allows access to one at a time.
40079 (grub_multiboot_load_elf64): Likewise.
40080
16e641b6 400812008-07-31 Bean <bean123ch@gmail.com>
40082
40083 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
40084 GRUB_KERNEL_MACHINE_DATA_END.
40085
59198b72 400862008-07-30 Robert Millan <rmh@aybabtu.com>
40087
40088 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
40089 Increase from 0x50 to 0x60.
40090 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
40091 use UUIDs to identify the root drive for them. If that's not
40092 possible, abort.
40093 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
40094 check, for cross-disk installs.
40095
ae88bca3 400962008-07-30 Robert Millan <rmh@aybabtu.com>
40097
40098 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
40099 is non-empty, use it to set the `prefix' environment variable instead
40100 of the usual approach.
40101 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
40102 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
40103 environment variable instead of dummy make_install_device().
40104
40105 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
40106 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 40107 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 40108
40109 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
40110 New variable reference.
40111 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
40112 New macro. Defines offset of `grub_prefix' within startup.S (relative
40113 to `start').
40114 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
40115 section within startup.S (relative to `start').
40116 * include/grub/i386/coreboot/kernel.h: Likewise.
40117
40118 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
40119 Overwrite grub_prefix with its contents, at the beginning of the
40120 first segment.
40121 (main): Understand -p|--prefix.
40122
14f41dd1 401232008-07-30 Robert Millan <rmh@aybabtu.com>
40124
40125 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
40126
4ca049a3 401272008-07-30 Robert Millan <rmh@aybabtu.com>
40128
40129 * term/i386/pc/vga_text.c (grub_console_cls): Use
40130 grub_console_gotoxy() to go back to beginning of the screen.
40131 Found by Patrick Georgi <patrick.georgi@coresystems.de>
40132
2921d337 401332008-07-29 Christian Franke <franke@computer.org>
40134
40135 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
40136 Add conversion of emulated mount points on Cygwin.
40137
b609876d 401382008-07-29 Christian Franke <franke@computer.org>
40139
40140 * util/update-grub.in: Add a check for admin
40141 group on Cygwin.
40142 Remove old `grub.cfg.new' before creation.
40143 Add `-f' to `mv' to handle the different filesystem
40144 semantics of Windows.
40145
e93e4679 401462008-07-29 Bean <bean123ch@gmail.com>
40147
40148 * normal/main.c (get_line): Fix buffer overflow bug.
40149
41694fd0 401502008-07-28 Robert Millan <rmh@aybabtu.com>
40151
40152 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
40153 (struct grub_apple_header): New struct. Describes the layout of
40154 the partmap header.
40155 (apple_partition_map_iterate): Check the header magic as well as the
40156 partition magic (which was already being checked).
40157
cfd0b4e6 401582008-07-28 Pavel Roskin <proski@gnu.org>
40159
40160 * genmk.rb: Add a warning to the beginning of the output that
40161 it's a generated file and should not be edited.
40162
93cce016 401632008-07-28 Robert Millan <rmh@aybabtu.com>
40164
40165 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
40166 with the same number are found, just use issue a warning with
40167 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 40168
cd1df915 401692008-07-27 Robert Millan <rmh@aybabtu.com>
40170
40171 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
40172 information.
40173
b70a8427 401742008-07-27 Bean <bean123ch@gmail.com>
40175
40176 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
40177 (grub_fat_find_dir): Ignore case when comparing filename.
40178
8f5e379f 401792008-07-27 Bean <bean123ch@gmail.com>
40180
40181 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
40182 smallino, as it's more descriptive, and i8count can be confused with
40183 the other field count.
40184 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
40185 inode type.
40186
a85cd5a0 401872008-07-27 Bean <bean123ch@gmail.com>
40188
40189 * commands/crc.c: New file.
40190
40191 * lib/crc.c: Likewise.
40192
40193 * include/grub/lib/crc.h: Likewise.
40194
40195 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
40196
40197 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
40198 (hexdump): Move this function to ...
40199
40200 * lib/hexdump.c: ... here.
40201
40202 * include/grub/hexdump.h: Renamed to ...
40203
40204 * include/grub/lib/hexdump.h: ... this.
40205
40206 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
40207
40208 * util/grub-editenv.c: Likewise.
40209
40210 * include/envblk.h: Renamed to ...
40211
40212 * include/lib/envblk.h: ... this.
40213
40214 * util/envblk.c: Renamed to ...
40215
40216 * lib/envblk.c: ... this.
40217
40218 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
40219 lib/hexdump.c.
40220 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
40221 (pkglib_MODULES): Add crc.mod.
40222 (hexdump_mod_SOURCES): Add lib/hexdump.c.
40223 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
40224 (crc_mod_SOURCES): New macro.
40225 (crc_mod_CFLAGS): Likewise.
40226 (crc_mod_LDFLAGS): Likewise.
40227
40228 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
40229
40230 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40231
40232 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40233
40234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40235
40236 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40237
c298def0 402382008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 40239
40240 * commands/help.c: Include <grub/term.h>.
40241 (TERM_WIDTH): Removed. Updated all users.
40242
cc349fb3 402432008-07-27 Pavel Roskin <proski@gnu.org>
40244
40245 * util/getroot.c (find_root_device): Rephrase a comment to avoid
40246 spurious warnings about a comment within a comment.
40247
9051607e 402482008-07-25 Robert Millan <rmh@aybabtu.com>
40249
40250 * util/getroot.c (find_root_device): Skip devices that match
40251 /dev/dm-[0-9]. This lets the real device be found for any type of
40252 abstraction (LVM, EVMS, RAID..).
40253 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
40254 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
40255 device is found first, find_root_device() will now skip it.
40256
01453bfc 402572008-07-24 Pavel Roskin <proski@gnu.org>
40258
40259 * include/grub/types.h: Use __builtin_bswap32() and
40260 __builtin_bswap64() with gcc 4.3 and newer.
40261
6af9849f 402622008-07-24 Christian Franke <franke@computer.org>
40263
3a0fa256 40264 * util/i386/pc/grub-install.in: If `--debug' is specified,
40265 pass `--verbose' to grub-setup.
40266 Abort script if make_system_path_relative_to_its_root() fails.
40267
7810e747 402682008-07-24 Bean <bean123ch@gmail.com>
40269
40270 * configure.ac: Fixed a bug caused by the previous cygwin patch,
40271 variable `target_platform' should be `platform'.
40272
42290e17 402732008-07-24 Bean <bean123ch@gmail.com>
40274
51cc5193 40275 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 40276 (grub_png_init_fixed_block): New function.
40277 (grub_png_decode_image_data): Handle fixed huffman code compression.
40278
2a8a80e4 402792008-07-24 Bean <bean123ch@gmail.com>
40280
40281 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
40282 (grub_pe2elf_SOURCES): New macro.
40283 (CLEANFILES): Add grub-pe2elf.
40284
40285 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
40286 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
40287 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
40288 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
40289 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
40290 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
40291 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
40292 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
40293 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
40294 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
40295 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
40296 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
40297 (GRUB_PE32_DT_FUNCTION): Likewise.
40298 (GRUB_PE32_REL_I386_DIR32): Likewise.
40299 (GRUB_PE32_REL_I386_REL32): Likewise.
40300 (grub_pe32_symbol): New structure.
40301 (grub_pe32_reloc): Likewise.
40302
40303 * util/grub-pe2elf.c: New file.
40304
40305 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
40306 start symbol in non pc platform.
40307
40308 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
40309
40310 The following patches are from Christian Franke.
40311
40312 * include/grub/dl.h: Remove .previous, gas supports this only
40313 for ELF format.
40314
40315 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
40316 Remove .type, gas supports this only for ELF format.
40317
40318 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
40319 nullbytes in symbol table. This fixes an infinite loop if table is
40320 zero filled.
40321
40322 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
40323 TARGET_IMG_LDFLAGS and EXEEXT.
40324
40325 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
40326 TARGET_IMG_LDFLAGS_AC.
40327 (grub_CHECK_STACK_ARG_PROBE): New function.
40328
40329 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
40330
40331 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
40332
40333 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
40334 to set TARGET_IMG_LD* accordingly.
40335 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
40336 Add call to grub_CHECK_STACK_ARG_PROBE.
40337 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
40338
40339 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
40340
40341 * genmk.rb: Add EXEEXT to CLEANFILES.
40342
12ccdb75 403432008-07-23 Robert Millan <rmh@aybabtu.com>
40344
40345 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
40346 define the codes for arrows and lines used for the menu).
40347 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
40348 as well.
40349
40350 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
40351 fonts, because the latter are too slow.
40352
18eeaf04 403532008-07-21 Bean <bean123ch@gmail.com>
40354
40355 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
40356 a20. Run keyboard test last, as it will cause macbook to halt.
40357
b095e2ad 403582008-07-18 Pavel Roskin <proski@gnu.org>
40359
40360 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
40361 load foreign architecture modules correctly anyway. Keep
40362 support for loading host architecture modules, whether we
40363 compile them or not.
40364
737feb35 403652008-07-17 Pavel Roskin <proski@gnu.org>
40366
3f4ce737 40367 * configure.ac: Use -m32 or -m64 regardless of whether we had to
40368 change target_cpu. The compiler default can mismatch target_cpu
40369 in any case.
40370
4ad2d049 40371 * disk/efi/efidisk.c: Fix format warnings on x86_64.
40372 * kern/efi/efi.c: Likewise.
40373
f6130a12 40374 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
40375 target compiler is functional.
40376 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
40377 are set up.
40378
58393a2d 40379 * configure.ac: Default to efi platform for x86_64-apple. Allow
40380 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
40381 adjustments from the rest, only do them if target is not
40382 explicitly given. Merge other adjustments with the final sanity
40383 check. Remove an extraneous check for supported CPU. Be
40384 specific which CPU and which platform is not supported.
40385
737feb35 40386 * configure.ac: Default to pc platform for x86_64.
40387
546f966a 403882008-07-17 Robert Millan <rmh@aybabtu.com>
40389
40390 Partial LinuxBIOS -> Coreboot rename.
40391
40392 * conf/i386-linuxbios.rmk: Renamed to ...
40393 * conf/i386-coreboot.rmk: ... this.
40394 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
40395 * configure.ac: Accept "coreboot" as input platform (but maintain
40396 compatibility with "linuxbios").
40397 * include/grub/i386/linuxbios: Renamed to ...
40398 * include/grub/i386/coreboot: ... this.
40399
20011694 404002008-07-17 Bean <bean123ch@gmail.com>
40401
40402 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 40403 (appleldr_mod_SOURCE): New variable.
20011694 40404 (appleldr_mod_CFLAGS): Likewise.
40405 (appleldr_mod_LDFLAGS): Likewise.
40406 (pci_mod_SOURCES): Likewise.
40407 (pci_mod_CFLAGS): Likewise.
40408 (pci_mod_LDFLAGS): Likewise.
40409 (lspci_mod_SOURCES): Likewise.
40410 (lspci_mod_CFLAGS): Likewise.
40411 (lspci_mod_LDFLAGS): Likewise.
40412
40413 * conf/x86_64-efi.rmk: New file.
40414
40415 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
40416 macro.
40417 (grub_efidisk_write): Likewise.
40418
40419 * include/efi/api.h (efi_call_0): New macro.
40420 (efi_call_1): Likewise.
40421 (efi_call_2): Likewise.
40422 (efi_call_3): Likewise.
40423 (efi_call_4): Likewise.
40424 (efi_call_5): Likewise.
40425 (efi_call_6): Likewise.
40426
40427 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
40428 grub_rescue_cmd_chainloader.
40429
40430 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
40431 (grub_pe32_optional_header): Change some fields based on i386 or
40432 x86_64 platform.
40433 (GRUB_PE32_PE32_MAGIC): Likewise.
40434
40435 * include/grub/efi/uga_draw.h: New file.
40436
40437 * include/grub/elf.h (STN_ABS): New constant.
40438 (R_X86_64_NONE): Relocation constant for x86_64.
40439 (R_X86_64_64): Likewise.
40440 (R_X86_64_PC32): Likewise.
40441 (R_X86_64_GOT32): Likewise.
40442 (R_X86_64_PLT32): Likewise.
40443 (R_X86_64_COPY): Likewise.
40444 (R_X86_64_GLOB_DAT): Likewise.
40445 (R_X86_64_JUMP_SLOT): Likewise.
40446 (R_X86_64_RELATIVE): Likewise.
40447 (R_X86_64_GOTPCREL): Likewise.
40448 (R_X86_64_32): Likewise.
40449 (R_X86_64_32S): Likewise.
40450 (R_X86_64_16): Likewise.
40451 (R_X86_64_PC16): Likewise.
40452 (R_X86_64_8): Likewise.
40453 (R_X86_64_PC8): Likewise.
40454
40455 * include/grub/i386/efi/pci.h: New file.
40456
40457 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
40458 Change it value based on platform.
40459 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
40460 (GRUB_E820_RAM): Likewise.
40461 (GRUB_E820_RESERVED): Likewise.
40462 (GRUB_E820_ACPI): Likewise.
40463 (GRUB_E820_NVS): Likewise.
40464 (GRUB_E820_EXEC_CODE): Likewise.
40465 (GRUB_E820_MAX_ENTRY): Likewise.
40466 (grub_e820_mmap): New structure.
40467 (linux_kernel_header): Change the efi field according to different
40468 kernel version, also field from linux_kernel_header.
40469
40470 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
40471
40472 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
40473 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
40474 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
40475 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
40476 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
40477 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
40478 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
40479 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
40480 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
40481 (GRUB_PCI_ADDR_IO_MASK): Likewise.
40482
40483 * include/grub/x86_64/efi/kernel.h: New file.
40484
40485 * include/grub/x86_64/efi/loader.h: Likewise.
40486
40487 * include/grub/x86_64/efi/machine.h: Likewise.
40488
40489 * include/grub/x86_64/efi/pci.h: Likewise.
40490
40491 * include/grub/x86_64/efi/time.h: Likewise.
40492
40493 * include/grub/x86_64/linux.h: Likewise.
40494
40495 * include/grub/x86_64/setjmp.h: Likewise.
40496
40497 * include/grub/x86_64/time.h: Likewise.
40498
40499 * include/grub/x86_64/types.h: Likewise.
40500
40501 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
40502 GRUB_TARGET_SIZEOF_VOID_P.
40503
40504 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
40505 (grub_efi_locate_handle): Likewise.
40506 (grub_efi_open_protocol): Likewise.
40507 (grub_efi_set_text_mode): Likewise.
40508 (grub_efi_stall): Likewise.
40509 (grub_exit): Likewise.
40510 (grub_reboot): Likewise.
40511 (grub_halt): Likewise.
40512 (grub_efi_exit_boot_services): Likewise.
40513 (grub_get_rtc): Likewise.
40514
40515 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
40516 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
40517 (grub_efi_allocate_pages): Wrap efi calls.
40518 (grub_efi_free_pages): Wrap efi calls.
40519 (grub_efi_get_memory_map): Wrap efi calls.
40520
40521 * kern/x86_64/dl.c: New file.
40522
40523 * kern/x86_64/efi/callwrap.S: Likewise.
40524
40525 * kern/x86_64/efi/startup.S: Likewise.
40526
40527 * loader/efi/appleloader.c: Likewise.
40528
40529 * loader/efi/chainloader.c (cmdline): New variable.
40530 (grub_chainloader_unload): Wrap efi calls.
40531 (grub_chainloader_boot): Likewise.
40532 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
40533 command line.
40534
40535 * loader/efi/chainloader_normal.c (chainloader_command):
40536 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
40537 command line.
40538
40539 * loader/i386/efi/linux.c (allocate_pages): Change allocation
40540 method.
40541 (grub_e820_add_region): New function.
40542 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
40543 booting.
40544 (grub_find_video_card): New function.
40545 (grub_linux_setup_video): New function.
40546 (grub_rescue_cmd_linux): Probe for video information.
40547
40548 * normal/x86_64/setjmp.S: New file.
40549
40550 * term/efi/console.c (map_char): New function.
40551 (grub_console_putchar): Map unicode char.
40552 (grub_console_checkkey): Wrap efi calls.
40553 (grub_console_getkey): Likewise.
40554 (grub_console_getwh): Likewise.
40555 (grub_console_gotoxy): Likewise.
40556 (grub_console_cls): Likewise.
40557 (grub_console_setcolorstate): Likewise.
40558 (grub_console_setcursor): Likewise.
40559
40560 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
40561
59652a20 405622008-07-16 Pavel Roskin <proski@gnu.org>
40563
ef294055 40564 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
40565 format strings.
40566
59652a20 40567 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
40568 pointer, not an integer. This fixes a warning and prevents
40569 precision loss on 64-bit systems.
40570 (relocate_addresses): Remove unneeded cast.
40571
afc3b5d7 405722008-07-15 Pavel Roskin <proski@gnu.org>
40573
506b2b3e 40574 * kern/i386/ieee1275/init.c: Include grub/cache.h.
40575
62ead89c 40576 * term/ieee1275/ofconsole.c: Disable code unused on i386.
40577
c4cd51d7 40578 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
40579 Fix comparison between signed and unsigned.
40580
0d3d8f28 40581 * include/grub/i386/ieee1275/console.h: Declare
40582 grub_console_init() and grub_console_fini().
40583
8804b286 40584 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
40585 It's empty and unused.
40586
ee01cf35 40587 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
40588 beginning to avoid warnings with some compilers.
40589
afc3b5d7 40590 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
40591 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
40592
e4e8eaa5 405932008-07-14 Pavel Roskin <proski@gnu.org>
40594
407aceb4 40595 * kern/env.c (grub_register_variable_hook): Don't copy empty
40596 string, it leaks memory. Pass "" to grub_env_set(), it should
40597 handle constant strings.
40598
e4e8eaa5 40599 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
40600 * commands/cmp.c (grub_cmd_cmp): Likewise.
40601 * kern/dl.c (grub_dl_flush_cache): Likewise.
40602 (grub_dl_load_core): Likewise.
40603 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
40604 (grub_elf64_load_phdrs): Likewise.
40605
d4e2dad3 406062008-07-13 Pavel Roskin <proski@gnu.org>
40607
40608 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
40609 between signed and unsigned.
40610 (LzmaEnc_Finish): Fix warning about an unused parameter.
40611
aa24b516 406122008-07-13 Bean <bean123ch@gmail.com>
40613
40614 * Makefile.in (enable_lzo): New rule.
40615
40616 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
40617
40618 * configure.ac (ENABLE_LZO): New option --enable-lzo.
40619
40620 * boot/i386/pc/lnxboot.S: #include <config.h>.
40621
40622 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 40623 its value according to the compression algorithm used, lzo or lzma.
aa24b516 40624
40625 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
40626 compression algorithm according to configure macro.
40627
40628 * kern/i386/pc/startup.S (codestart): Likewise.
40629
40630 * kern/i386/pc/lzma_decode.S: New file.
40631
40632 * include/grub/lib/LzFind.h: Likewise.
40633
40634 * include/grub/lib/LzHash.h: Likewise.
40635
40636 * include/grub/lib/LzmaDec.h: Likewise.
40637
40638 * include/grub/lib/LzmaEnc.h: Likewise.
40639
40640 * include/grub/lib/LzmaTypes.h: Likewise.
40641
40642 * lib/LzFind.c: Likewise.
40643
40644 * lib/LzmaDec.c: Likewise.
40645
40646 * lib/LzmaEnc.c: Likewise.
40647
4ae821ac 406482008-07-13 Bean <bean123ch@gmail.com>
40649
40650 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
40651 (grub_ext4_extent_header): New structure.
40652 (grub_ext4_extent): Likewise.
40653 (grub_ext4_extent_idx): Likewise.
40654 (grub_ext4_find_leaf): New function.
40655 (grub_ext2_read_block): Handle extents.
40656
9a745147 406572008-07-12 Robert Millan <rmh@aybabtu.com>
40658
40659 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
40660
d49a4cf6 406612008-07-11 Robert Millan <rmh@aybabtu.com>
40662
40663 * util/grub.d/40_custom.in: New file. Example on how to add custom
40664 entries to /etc/grub.d.
40665 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
40666 40_custom (implicitly, by merging all the grub.d rules).
40667
947414b4 406682008-07-11 Pavel Roskin <proski@gnu.org>
40669
0059cf6f 40670 * commands/read.c (grub_getline): Fix invalid memory access.
40671 Don't add newline to the variable value.
40672
947414b4 40673 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
40674 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
40675 (serial_hw_get_port): Check validity of the port number.
40676 (grub_cmd_serial): Check return value of serial_hw_get_port().
40677
62a02d00 406782008-07-07 Pavel Roskin <proski@gnu.org>
40679
40680 * boot/i386/pc/diskboot.S (notification_string): Replace
40681 "Loading kernel" with just "loading". This is shorter, less
40682 confusing and saves a few bytes for possible future changes.
40683
3e5581b0 406842008-07-05 Pavel Roskin <proski@gnu.org>
40685
ea387a48 40686 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
40687 size for ATAPI devices, they are undefined. Output sector
40688 number in decimal form.
40689
3e5581b0 40690 * disk/ata.c: Use named constants for status bits.
40691
fdecb8fd 406922008-07-04 Pavel Roskin <proski@gnu.org>
40693
bcd35b90 40694 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
40695 grub_addr_t before casting it to the void pointer to fix a
40696 warning. Non-addressable regions are discarded earlier.
40697 (grub_arch_modules_addr): Cast _end to grub_addr_t.
40698 * kern/i386/linuxbios/table.c: Include grub/misc.h.
40699 (check_signature): Don't shadow table_header.
40700 (grub_linuxbios_table_iterate): Cast numeric constants to
40701 grub_linuxbios_table_header_t.
40702 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
40703 grub_stop().
40704
af58ab3d 40705 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
40706 prevent warnings.
40707
1759aa57 40708 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
40709 pointer, which can cause warnings. Support 64-bit addresses.
40710
fdecb8fd 40711 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
40712 of sizeof(long). This fixes PowerPC image generation on x86_64.
40713
8516d2a8 407142008-07-04 Robert Millan <rmh@aybabtu.com>
40715
40716 This fixes a performance issue when pc & gpt partmap iterators
40717 didn't abort iteration even after our hook found what it was
fe987087 40718 looking for (often causing expensive probes of non-existent drives).
8516d2a8 40719
40720 Some callers relied on previous buggy behaviour, since they would
34c44600 40721 raise an error when their own hooks caused early abortion of its
8516d2a8 40722 iteration.
40723
40724 * kern/device.c (grub_device_open): Improve error message.
40725 * disk/lvm.c (grub_lvm_open): Likewise.
40726 * disk/raid.c (grub_raid_open): Likewise.
40727
40728 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
40729 when hook requests it, independently of grub_errno.
40730 (pc_partition_map_probe): Do not fail when find_func() caused
40731 early abortion of pc_partition_map_iterate().
40732
40733 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
40734 when hook requests it, independently of grub_errno.
40735 (gpt_partition_map_probe): Do not fail when find_func() caused
40736 early abortion of gpt_partition_map_iterate().
40737
40738 * kern/partition.c (grub_partition_iterate): Abort parent iteration
40739 when hook requests it, independently of grub_errno. Do not fail when
40740 part_map_iterate_hook() caused early abortion of p->iterate().
40741
40742 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
40743 when grub_partition_iterate() returned with non-zero.
40744
277d0de9 407452008-07-03 Pavel Roskin <proski@gnu.org>
40746
40747 * disk/ata.c (grub_ata_pio_write): Check status before writing,
40748 like we do in grub_ata_pio_read().
40749 (grub_ata_readwrite): Always write individual sectors. Fix the
40750 sector count for the remainder.
40751 (grub_ata_write): Enable writing to ATA devices. Correctly
40752 report error for ATAPI devices.
40753
d4c9b428 407542008-07-02 Pavel Roskin <proski@gnu.org>
40755
e43fc690 40756 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
40757 warning.
40758
f707af42 40759 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
40760 for every read sector, we already increment it for the whole
40761 batch. This fixes reading more than 256 sectors at once.
40762
11e16b15 40763 * util/grub-editenv.c (cmd_info): Cast argument to long
40764 explicitly. ptrdiff_t reduces to int on i386.
40765
cbabfdd4 40766 * util/grub-editenv.c (main): Be specific which parameter is
40767 missing.
40768
b8fbce0a 40769 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
40770 (memdisk): Make memdisk_orig_addr a pointer.
40771
c9c8e606 40772 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
40773 for file offsets, use grub_off_t instead. Fix printf format
40774 warnings.
40775
ca62e598 40776 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
40777 there. Real unexpected warnings should not drown in the noise
40778 about known problems.
40779
ce8d1766 40780 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
40781 grub_disk_addr_t for memory addresses.
40782
00c7a56a 40783 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
40784 explicitly to fix a warning.
40785
08d3ef09 40786 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
40787
cb71ba20 40788 * Makefile.in (MODULE_LDFLAGS): New variable.
40789 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
40790 the linker accepts --build-id=none.
40791 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
40792 MODULE_LDFLAGS.
40793 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
40794
d4c9b428 40795 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
40796 those in Linux XFS code. Provide a way to access 64-bit parent
40797 inode.
40798 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
40799 the end of struct grub_xfs_dir_header.
40800
d4156eee 408012008-07-02 Bean <bean123ch@gmail.com>
40802
40803 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
40804 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40805 and GRUB_IEEE1275_FLAG_NO_ANSI.
40806
40807 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
40808 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40809 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
40810
40811 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
40812 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
40813
40814 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
40815 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
40816
40817 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
40818 esc sequence on non ANSI terminal.
40819 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
40820
40821 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
40822 beginning of file.
40823
2270f77b 408242008-07-02 Bean <bean123ch@gmail.com>
40825
40826 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
40827 (grub_editenv_SOURCES): New variable.
40828 (pkglib_MODULES): Add loadenv.mod.
40829 (loadenv_mod_SOURCES): New variable.
40830 (loadenv_mod_CFLAGS): Likewise.
40831 (loadenv_mod_LDFLAGS): Likewise.
40832
40833 * include/grub/envblk.h: New file.
40834
40835 * util/envblk.c: New file.
40836
40837 * util/grub-editenv.c: New file.
40838
40839 * commands/loadenv.c: New file.
40840
0e9e51ec 408412008-07-01 Pavel Roskin <proski@gnu.org>
40842
d89b7634 40843 * include/multiboot2.h (struct multiboot_tag_module): Use char,
40844 not unsigned char. This fixes warnings and is consistent with
40845 other tags.
40846
bf1835b1 40847 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
40848
8222a04b 40849 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
40850
6a42d99d 40851 * term/tparm.c (analyze): Always set *popcount.
40852
10b159d1 40853 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
40854 cast to fix a warning.
40855
b8789f6c 40856 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
40857 cast to suppress a warning.
40858
29d7e38a 40859 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
40860 grub_fshelp_read_file() expects.
40861
f341f669 40862 * fs/fat.c: Fix UUID calculation on big-endian systems. We
40863 write uuid as a 32-bit value in CPU byte order, so declare and
40864 use it as such.
40865
0e9e51ec 40866 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
40867 long if the format specifier expects it.
40868 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
40869 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40870 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
40871 long to fix a warning.
40872 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
40873 grub_dprintf() arguments to fix warnings.
40874
3aefa857 408752008-06-30 Pavel Roskin <proski@gnu.org>
40876
56c7668b 40877 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
40878 install_bsd_part immediately before core.img is embedded or
40879 modified on disk. This fixes core.img verification if core.img
40880 cannot be embedded.
40881
3aefa857 40882 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
40883 core_path to calculate the blocklist.
40884 Patch from Javier Martín <lordhabbit@gmail.com>
40885
5444088d 408862008-06-29 Robert Millan <rmh@aybabtu.com>
40887
40888 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
40889 block to disk block.
40890 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
40891 Patch from Niels Böhm <bitbucket@arcor.de>
40892
674835c8 408932008-06-29 Robert Millan <rmh@aybabtu.com>
40894
40895 * util/update-grub_lib.in (font_path): Search for fonts in
40896 /boot/grub first, which is more likely to be readable (we aren't
40897 deciding where fonts live, just looking for them).
40898
f527dbc8 408992008-06-26 Pavel Roskin <proski@gnu.org>
40900
6c2d8df6 40901 * util/biosdisk.c (read_device_map): Don't leave dead map
40902 entries for devices failing stat() check.
40903
f527dbc8 40904 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
40905 core_path_dev for the core.img path on the target device.
40906
aebe3d13 409072008-06-26 Robert Millan <rmh@aybabtu.com>
40908
40909 * disk/fs_uuid.c: New file.
40910 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
40911 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
40912 (fs_uuid_mod_LDFLAGS): New variables.
40913 * include/grub/disk.h (grub_disk_dev_id): Add
40914 `GRUB_DISK_DEVICE_UUID_ID'.
40915 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
40916 implement iterate().
40917
37aaf354 409182008-06-26 Robert Millan <rmh@aybabtu.com>
40919
40920 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
40921 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
40922 Linux image includes no initrd.
40923
25ff262a 409242008-06-21 Javier Martín <lordhabbit@gmail.com>
40925
40926 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
40927 call to resolve the core image location that effectively appended the
40928 name twice.
40929
76a2bd44 409302008-06-21 Robert Millan <rmh@aybabtu.com>
40931
40932 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
40933 call from here ...
40934
40935 * util/grub.d/10_hurd.in: ... to here ...
40936 * util/grub.d/10_linux.in: ... and here.
40937
650e1c79 409382008-06-19 Robert Millan <rmh@aybabtu.com>
40939
fe987087 40940 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 40941 after it has been set by grub_machine_set_prefix().
40942
6ce63911 409432008-06-19 Robert Millan <rmh@aybabtu.com>
40944
40945 * commands/search.c (search_label, search_fs_uuid, search_file): Print
40946 search result when not saving to variable, not the other way around.
40947 When saving to variable, abort iteration as soon as a match is found.
40948
73940cec 409492008-06-19 Robert Millan <rmh@aybabtu.com>
40950
40951 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
40952 check for partition that provides /boot/grub. Its logic is flawed,
40953 as it prevents prepare_grub_to_access_device() from being called
40954 multiple times.
40955
3c62a39d 409562008-06-19 Robert Millan <rmh@aybabtu.com>
40957
40958 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
40959 "insmod" command directly when abstraction modules are needed,
fe987087 40960 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 40961 since it had already been processed).
40962
47395a42 409632008-06-19 Pavel Roskin <proski@gnu.org>
40964
40965 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
40966 changed. This is needed in case GRUB_LIBDIR changes.
40967 * conf/i386-ieee1275.rmk: Likewise.
40968 * conf/i386-linuxbios.rmk: Likewise.
40969 * conf/i386-pc.rmk: Likewise.
40970 * conf/powerpc-ieee1275.rmk: Likewise.
40971
a145ac2d 409722008-06-18 Pavel Roskin <proski@gnu.org>
40973
40974 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
40975 kernel_elf_symlist.c to symlist.c for consistency with other
40976 architectures. Update all users.
40977 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40978
7847c51e 409792008-06-18 Robert Millan <rmh@aybabtu.com>
40980
40981 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
40982 it in prefix.
40983
40984 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
40985 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
40986 a RAID device, run setup() for all members independently on whether
40987 LVM abstraction is being used.
40988 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
40989 If grub-mkimage has set `*install_dos_part == -2', don't override this
40990 value.
40991 Perform *install_dos_part adjustments independently on whether
40992 we're embedding or not.
40993 Clarify error message when image is too big for embedding.
40994 Remove duplicate *install_dos_part stanza.
40995
b23e5644 409962008-06-17 Robert Millan <rmh@aybabtu.com>
40997
40998 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
40999 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
41000 variables.
41001 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
41002 values in grub_ofconsole_normal_color and
41003 grub_ofconsole_highlight_color (they're not directly related to
41004 background and foreground).
41005 (grub_ofconsole_setcolorstate): Extract background and foreground
41006 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
41007
0aac2f79 410082008-06-17 Robert Millan <rmh@aybabtu.com>
41009
41010 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
41011 /boot/grub for the check in last commit, not /boot (they could be
41012 different partitions).
41013
3cca7ef3 410142008-06-16 Robert Millan <rmh@aybabtu.com>
41015
41016 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
41017 asked to setup access for the same partition that provides /boot,
41018 don't bother using UUIDs since our root already has the value we
41019 want.
41020
347396d8 410212008-06-16 Robert Millan <rmh@aybabtu.com>
41022
41023 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
41024 I2O devices.
41025 Patch from Sven Mueller <sven@debian.org>.
41026
991477f8 410272008-06-16 Robert Millan <rmh@aybabtu.com>
41028
41029 * util/update-grub.in: Check for $EUID instead of $UID.
41030 Reported by Vincent Zweije.
41031
d31a32a1 410322008-06-16 Bean <bean123ch@gmail.com>
41033
fe987087 41034 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 41035 (grub_ext2_read_block): Likewise.
41036 (grub_ext2_read_inode): Likewise.
41037 (grub_ext2_mount): Likewise.
41038 (grub_ext2_close): Likewise.
41039 (grub_ext3_get_journal): Removed.
41040
fe987087 41041 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 41042 (grub_reiserfs_read_symlink): Likewise.
41043 (grub_reiserfs_mount): Likewise.
41044 (grub_reiserfs_open): Likewise.
41045 (grub_reiserfs_read): Likewise.
41046 (grub_reiserfs_close): Likewise.
41047 (grub_reiserfs_get_journal): Removed.
41048
41049 * fs/fshelp.c (grub_fshelp_read): Removed.
41050 (grub_fshelp_map_block): Likewise.
41051
41052 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
41053 (grub_fshelp_journal): Likewise.
41054 (grub_fshelp_read): Likewise.
41055 (grub_fshelp_map_block): Likewise.
41056
3540a760 410572008-06-16 Pavel Roskin <proski@gnu.org>
41058
41059 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
41060 floating point anymore.
41061 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
41062
95614c84 410632008-06-15 Pavel Roskin <proski@gnu.org>
41064
41065 * commands/ls.c (grub_ls_list_files): Use integer calculations
41066 for human readable format, avoid floating point use.
41067 * kern/misc.c (grub_ftoa): Remove.
41068 (grub_vsprintf): Remove floating point support.
41069
50465dd6 410702008-06-15 Robert Millan <rmh@aybabtu.com>
41071
fe6b695a 41072 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 41073 devices.
41074 Reported by Max Vozeler.
41075
a9207284 410762008-06-15 Robert Millan <rmh@aybabtu.com>
41077
41078 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
41079 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
41080 skipped later.
41081 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
41082 the beginning of the prefix.
41083
41084 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
41085 It is assumed that if we have a memdisk, grub-mkimage has set
41086 grub_prefix to include the "(memdisk)" drive in it.
41087
a7cbd45a 410882008-06-15 Robert Millan <rmh@aybabtu.com>
41089
41090 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
41091 Initialize keyboard controller after registering the terminal, so that
41092 grub_printf() can be called from grub_keyboard_controller_init().
41093
21cf716a 410942008-06-15 Robert Millan <rmh@aybabtu.com>
41095
41096 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
41097 extent-btree which is written as big endian on disk.
41098 Reported by Alain Greppin <al@chilibi.org>.
41099
23a64d8e 411002008-06-14 Robert Millan <rmh@aybabtu.com>
41101
41102 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
41103 * util/i386/pc/grub-install.in (modules): Likewise.
41104
d687651c 411052008-06-13 Pavel Roskin <proski@gnu.org>
41106
41107 * commands/ls.c (grub_ls_list_files): Fix format warnings.
41108
dfe9ddd4 411092008-06-13 Bean <bean123ch@gmail.com>
41110
41111 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
41112
41113 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
41114
41115 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
41116 to indicate sparse block.
41117
16ae7781 411182008-06-12 Pavel Roskin <proski@gnu.org>
41119
e6d1a308 41120 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
41121 number, grub_fshelp_read() does it for us.
41122
16ae7781 41123 * fs/fshelp.c (grub_fshelp_read): New function. Implement
41124 linear disk read with journal translation.
41125 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
41126 * include/grub/fshelp.h: Declare grub_fshelp_read().
41127
40fd3a2b 411282008-06-09 Pavel Roskin <proski@gnu.org>
41129
41130 * fs/minix.c (grub_minix_mount): Handle error reading
41131 superblock.
41132
f5679726 411332008-06-08 Robert Millan <rmh@aybabtu.com>
41134
41135 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
41136 don't append the RAID prefix afterwards.
41137 Reported by Clint Adams.
41138
ce525529 411392008-06-08 Robert Millan <rmh@aybabtu.com>
41140
41141 Based on description from Pavel:
41142 * kern/disk.c (grub_disk_check_range): Rename to ...
41143 (grub_disk_adjust_range): ... this. Add a comment explaining the
41144 tasks performed by this function.
41145
ad4936a0 411462008-06-08 Robert Millan <rmh@aybabtu.com>
41147
41148 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
41149 `num_serial' (for consistency with other variables).
41150 (struct grub_ntfs_data): Add `uuid' member.
41151 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
41152 (grub_ntfs_uuid): New function.
41153 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
41154
dc20b0f9 411552008-06-07 Pavel Roskin <proski@gnu.org>
41156
41157 * util/biosdisk.c (open_device): Revert last change to the
41158 function, it broke installation. The sector needs to be
41159 different dependent on which device is opened.
41160
c5e3cfba 411612008-06-06 Robert Millan <rmh@aybabtu.com>
41162
41163 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
41164 rest of GRUB, and breakage doesn't happen if its value were modified.
41165
41166 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41167 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
41168 a constant (same value).
41169 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
41170 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
41171
26a1f8c4 411722008-06-06 Robert Millan <rmh@aybabtu.com>
41173
41174 * util/biosdisk.c (open_device): Do not modify sector offset when
41175 accessing a partition. kern/disk.c already handles this for us.
41176
25d6b327 411772008-06-06 Robert Millan <rmh@aybabtu.com>
41178
41179 * util/grub-emu.c (grub_machine_init): Move code in this function from
41180 here ...
41181 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
41182 segfault in case grub_printf() is called).
41183
41184 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
41185 grub_probe. Update all users not to explicitly add it again.
41186 (grub_device): New variable; contains corresponding device for grubdir.
41187 (fs_module, partmap_module, devabstraction_module): Pass
41188 `--device ${grub_device}' to grub_probe to avoid traversing /dev
41189 every time.
41190
9ece62fb 411912008-06-05 Robert Millan <rmh@aybabtu.com>
41192
41193 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
41194 is found, print it (same layout as with labels).
41195
1ad36d37 411962008-06-04 Robert Millan <rmh@aybabtu.com>
41197
41198 * util/biosdisk.c (get_drive): Rename to ...
41199 (find_grub_drive): ... this. Update all users.
41200
41201 (get_os_disk): Rename to ...
41202 (convert_system_partition_to_system_disk): ... this. Update all users.
41203
41204 (find_drive): Rename to ...
41205 (find_system_device): ... this. Update all users.
41206
e6a30859 412072008-06-04 Robert Millan <rmh@aybabtu.com>
41208
41209 * util/biosdisk.c (get_os_disk): Handle IDA devices.
41210 * util/grub-mkdevicemap.c (get_mmc_disk_name)
41211 (make_device_map): Likewise.
41212
00c108a4 412132008-06-01 Robert Millan <rmh@aybabtu.com>
41214
41215 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
41216 before dereferencing it.
41217
41218 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
41219 union with fat12/fat16-specific ones. Add some new fields, including
41220 `num_serial' for both versions.
41221 (struct grub_fat_data): Add `uuid' member.
41222 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
41223 names. Initialize `data->uuid' using `num_serial'.
41224 (grub_fat_uuid): New function.
41225 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
41226
41227 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
41228 (grub_reiserfs_uuid): New function.
41229 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
41230 member.
41231
41232 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
41233 (grub_xfs_uuid): New function.
41234 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
41235
1385c5bb 412362008-06-01 Robert Millan <rmh@aybabtu.com>
41237
41238 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
41239 code that is backward compatible with pre-uuid search command.
41240
c682dfd7 412412008-05-31 Robert Millan <rmh@aybabtu.com>
41242
41243 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
41244 floppies after everything else, to ensure floppy drive isn't accessed
41245 unnecessarily (patch from Bean).
41246
b7db5d47 412472008-05-31 Robert Millan <rmh@aybabtu.com>
41248
41249 * commands/search.c (search_label, search_fs_uuid, search_file): Do
41250 not print device names when we were asked to set a variable.
41251
6e037aa9 412522008-05-31 Robert Millan <rmh@aybabtu.com>
41253
41254 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
41255 using "cursor-on" and "cursor-off" commands (understood at least by
41256 the Open Firmware flavour on OLPC).
41257
41305bc8 412582008-05-31 Michael Gorven <michael@gorven.za.net>
41259
41260 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
41261 on and off sequences.
41262
69ba137e 412632008-05-31 Robert Millan <rmh@aybabtu.com>
41264
41265 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
41266 * util/update-grub.in: Likewise.
41267
520ae21b 412682008-05-30 Pavel Roskin <proski@gnu.org>
41269
41270 * util/biosdisk.c (linux_find_partition): Simplify logic and
41271 make the code more universal. Keep special processing for
41272 devfs, but use a simple rule for all other devices. If the
41273 device ends with a number, append 'p' and the partition number.
41274 Otherwise, append only the partition number.
41275
5786569b 412762008-05-30 Robert Millan <rmh@aybabtu.com>
41277
41278 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
41279 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
41280 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
41281 the `root' parameter to Linux.
41282
51500452 412832008-05-30 Robert Millan <rmh@aybabtu.com>
41284
41285 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
41286 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
41287 --fs_uuid with --fs-uuid.
41288 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
41289 all filesystems support them).
41290
811d3878 412912008-05-30 Robert Millan <rmh@aybabtu.com>
41292
41293 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 41294 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 41295
cab63c95 412962008-05-30 Robert Millan <rmh@aybabtu.com>
41297
41298 * util/grub.d/00_header.in: Remove obsolete comment referencing
41299 convert_system_path_to_grub_path().
41300 * util/update-grub.in: Likewise.
41301 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
41302 (convert_system_path_to_grub_path): Add a warning message explaining
41303 that this function is deprecated. Rely on is_path_readable_by_grub()
41304 for the readability checks.
41305 (font_path): Use is_path_readable_by_grub() for the readability
41306 check rather than convert_system_path_to_grub_path().
41307
972e2f7a 413082008-05-30 Robert Millan <rmh@aybabtu.com>
41309
41310 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
41311 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
41312 converting it first.
41313 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
41314 grub.cfg for access to font file, and afterwards call it again to set
41315 the root device.
41316
62191274 413172008-05-30 Robert Millan <rmh@aybabtu.com>
41318
41319 * commands/search.c (options): Add --fs_uuid option.
41320 (search_fs_uuid): New function.
41321 (grub_cmd_search): Fix --set argument passing.
41322 Use search_fs_uuid() when requested via --fs_uuid.
41323 (grub_search_init): Update help message.
41324 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
41325 and redeclare it as an array of 16-bit words.
41326 (grub_ext2_uuid): New function.
41327 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
41328 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
41329 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
41330 (GRUB_DEVICE_BOOT_UUID): New variables.
41331 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
41332 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
41333 whenever possible.
41334 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
41335 just assume `root' variable has the right value.
41336 * util/grub.d/10_linux.in: Likewise.
41337 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
41338 via PRINT_FS_UUID.
41339 (main): Recognise `-t fs_uuid' argument.
41340
01b73ec8 413412008-05-30 Robert Millan <rmh@aybabtu.com>
41342
41343 * util/biosdisk.c (map): Redefine structure to hold information
41344 about GRUB drive name.
fe6b695a 41345 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 41346 drive names.
41347 (call_hook): Remove.
41348 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
41349 member. Assume drive has partitions.
41350 (grub_util_biosdisk_open): Access device names via `.device' struct
41351 member.
41352 (open_device): Likewise.
41353 (find_drive): Likewise.
41354 (read_device_map): Adjust map[] usage to match the new struct
41355 definition. Don't check for duplicates (still possible, but not cheap
41356 anymore).
41357 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
41358 (make_device_name): Remove assumption of BIOS-like drive names.
41359
22f16596 413602008-05-30 Pavel Roskin <proski@gnu.org>
41361
41362 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
41363 compiling execute.c doesn't need grub_script.tab.h anymore.
41364 (normal/command.c_DEPENDENCIES): Likewise.
41365 (normal/function.c_DEPENDENCIES): Likewise.
41366 * conf/i386-ieee1275.rmk: Likewise.
41367 * conf/i386-linuxbios.rmk: Likewise.
41368 * conf/i386-pc.rmk: Likewise.
41369 * conf/powerpc-ieee1275.rmk: Likewise.
41370 * conf/sparc64-ieee1275.rmk: Likewise.
41371
528ad8f2 413722008-05-29 Pavel Roskin <proski@gnu.org>
41373
d1dff95d 41374 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
41375 when scanning metadata for volume group name.
41376
528ad8f2 41377 * include/grub/script.h: Don't include grub_script.tab.h. It's
41378 a generated file, which may only be included from the files with
41379 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
41380 use union YYSTYPE, as the later allows forward declaration.
41381 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
41382
47248e08 413832008-05-29 Robert Millan <rmh@aybabtu.com>
41384
41385 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
41386 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
41387 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
41388 (grub_console_checkkey): Add grub_dprintf() call to report unknown
41389 scan codes.
41390
ee632529 413912008-05-29 Robert Millan <rmh@aybabtu.com>
41392
41393 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
41394 control key combinations.
41395
eee96e08 413962008-05-29 Robert Millan <rmh@aybabtu.com>
41397
41398 * util/powerpc/ieee1275/grub-install.in: Move from here ...
41399 * util/ieee1275/grub-install.in: ... to here.
41400 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
41401 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
41402 (grub_install_SOURCES): Likewise.
41403
da9a6a94 414042008-05-29 Robert Millan <rmh@aybabtu.com>
41405
41406 * fs/affs.c: Update copyright year.
41407 * fs/ext2.c: Likewise.
41408 * fs/fshelp.c: Likewise.
41409 * fs/hfsplus.c: Likewise.
41410 * fs/ntfs.c: Likewise.
41411 * fs/xfs.c: Likewise.
41412 * include/grub/fshelp.h: Likewise.
41413 * util/grub-mkdevicemap.c: Likewise.
41414
12e65f3a 414152008-05-28 Robert Millan <rmh@aybabtu.com>
41416
41417 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
41418 might need to be fatfs to support some firmware implementations
41419 (e.g. OFW or EFI).
41420
23023641 414212008-05-28 Robert Millan <rmh@aybabtu.com>
41422
41423 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
41424 devices.
41425 * util/grub-mkdevicemap.c (get_mmc_disk_name)
41426 (make_device_map): Likewise.
41427
887d2619 414282008-05-20 Bean <bean123ch@gmail.com>
41429
41430 * fs/fshelp.c (grub_fshelp_map_block): New function.
41431 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
41432 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
41433
41434 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
41435 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
41436 (grub_fshelp_journal): New structure.
41437 (grub_fshelp_map_block): New function prototype.
41438 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
41439 (grub_fshelp_map_block): Likewise.
41440
41441 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
41442 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
41443 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
41444 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
41445 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
41446 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
41447 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
41448 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
41449 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
41450 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
41451 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
41452 (grub_ext2_sblock): New members for journal support.
41453 (grub_ext3_journal_header): New structure.
41454 (grub_ext3_journal_revoke_header): Likewise.
41455 (grub_ext3_journal_block_tag): Likewise.
41456 (grub_ext3_journal_sblock): Likewise.
41457 (grub_fshelp_node): New members logfile and journal.
41458 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
41459 grub_fshelp_map_block to get real block number.
41460 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
41461 number.
41462 (grub_ext2_read_inode): Likewise.
41463 (grub_ext3_get_journal): New function.
41464 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
41465 (grub_ext2_close): Release memory used by journal.
41466
41467 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
41468 (REISERFS_MAGIC_DESC_BLOCK): New macro.
41469 (grub_reiserfs_transaction_header): Renamed to
41470 grub_reiserfs_description_block, replace field data with real_blocks.
41471 (grub_reiserfs_commit_block): New structure.
41472 (grub_reiserfs_data): New member journal.
41473 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
41474 number.
41475 (grub_reiserfs_read_symlink): Likewise.
41476 (grub_reiserfs_iterate_dir): Likewise.
41477 (grub_reiserfs_open): Likewise.
41478 (grub_reiserfs_read): Likewise.
41479 (grub_reiserfs_get_journal): New function.
41480 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
41481 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
41482 using grub_reiserfs_get_journal.
41483 (grub_reiserfs_close): Release memory used by journal.
41484
41485 * fs/affs.c (grub_affs_read_block): Change block type to
41486 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
41487
41488 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
41489
41490 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
41491
41492 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
41493
41494 * fs/udf.c (grub_udf_read_block): Change block type to
41495 grub_disk_addr_t. Use type cast to avoid warning.
41496
41497 * fs/xfs.c (grub_xfs_read_block): Likewise.
41498
b7c6bed5 414992008-05-16 Christian Franke <franke@computer.org>
41500
41501 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
41502 to ensure that break with ESC will always work.
41503 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
41504 Remove ESC from keyboard queue.
41505
eedf167f 415062008-05-16 Christian Franke <franke@computer.org>
41507
41508 * util/biosdisk.c: [__CYGWIN__] Add includes.
41509 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
41510 (get_os_disk): Move variable declarations to OS specific
41511 parts to avoid warning.
41512 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
41513 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
41514 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
41515 Cygwin.
41516 * util/getroot.c: [__CYGWIN__] Add includes.
41517 (strip_extra_slashes): Fix "/" case.
41518 [__CYGWIN__] (get_win32_path): New function.
41519 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
41520 [__CYGWIN__] (find_root_device): Disable.
41521 [__CYGWIN__] (get_bootsec_serial): New function.
41522 [__CYGWIN__] (find_cygwin_root_device): Likewise.
41523 [__linux__] (grub_guess_root_device): Add early returns to simplify
41524 structure.
41525 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
41526 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
41527 check for Linux only.
41528
a079699e 415292008-05-15 Bean <bean123ch@gmail.com>
41530
41531 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
41532 keyboard hang problem in apple's intel mac.
41533
1cf4059a 415342008-05-09 Robert Millan <rmh@aybabtu.com>
41535
41536 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
41537 devices.
41538 * util/grub-mkdevicemap.c (get_virtio_disk_name)
41539 (make_device_map): Likewise.
41540 Reported by Aurelien Jarno <aurel32@debian.org>
41541
ed759390 415422008-05-07 Ian Campbell <ijc@hellion.org.uk>
41543
41544 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
41545 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
41546 (make_device_map): Output entries for xvd type disks.
41547
b56c4eaa 415482008-05-07 Robert Millan <rmh@aybabtu.com>
41549
41550 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
41551 devices.
41552 * util/grub-mkdevicemap.c (get_cciss_disk_name)
41553 (make_device_map): Likewise.
41554 Reported by Roland Dreier <rdreier@cisco.com>
41555
7f8866ed 415562008-05-07 Robert Millan <rmh@aybabtu.com>
41557
41558 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
41559 grub_strstr() call. Correct a few mistakes in failure path handling.
41560
b0346e0f 415612008-05-06 Robert Millan <rmh@aybabtu.com>
41562
41563 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41564 Do not print a trailing slash (therefore, the root directory is an
41565 empty string).
41566 (convert_system_path_to_grub_path): Do not remove trailing slash
41567 from make_system_path_relative_to_its_root() output.
41568
41569 * util/i386/pc/grub-install.in: Add trailing slash to output from
41570 make_system_path_relative_to_its_root().
41571
6cf12cbd 415722008-05-06 Robert Millan <rmh@aybabtu.com>
41573
41574 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
41575 ensures that output lines aren't intermangled with those sent to
41576 stderr (via grub_util_info()).
41577 * util/grub-probe.c (grub_refresh): Likewise.
41578 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
41579
0fbb3117 415802008-05-05 Christian Franke <franke@computer.org>
41581
41582 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
41583 Add Cygwin device names.
41584 (get_ide_disk_name) [__CYGWIN__]: Likewise.
41585 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
41586 (check_device): Return error instead of success on empty name.
41587 (make_device_map): Move label inside linux specific code to
41588 prevent compiler warning.
41589
8124cdb7 415902008-04-30 Robert Millan <rmh@aybabtu.com>
41591
41592 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
41593 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
41594 first boot option.
41595 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
41596
094c01d0 415972008-04-29 Robert Millan <rmh@aybabtu.com>
41598
41599 * docs/grub.cfg: New file (example GRUB configuration).
41600
f4b1fc02 416012008-04-26 Robert Millan <rmh@aybabtu.com>
41602
329ce2a5 41603 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
41604 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
41605 and `disk/ieee1275/nand.c'.
f4b1fc02 41606
25f16ec1 416072008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 41608
25f16ec1 41609 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
41610 i386-linuxbios.
41611
41612 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
41613 change the buffer size to 4096 for cdrom device.
41614
41615 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
41616 and nand.mod.
41617 (_linux_mod_SOURCES): New variable.
41618 (_linux_mod_CFLAGS): Likewise.
41619 (_linux_mod_LDFLAGS): Likewise.
41620 (linux_mod_SOURCES): Likewise.
41621 (linux_mod_CFLAGS): Likewise.
41622 (linux_mod_LDFLAGS): Likewise.
41623 (nand_mod_SOURCES): Likewise.
41624 (nand_mod_CFLAGS): Likewise.
41625 (nand_mod_LDFLAGS): Likewise.
41626
41627 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
41628 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
41629 type property. (nand device in olpc don't have this property)
41630
41631 * include/grub/disk.h (grub_disk_dev_id): New macro
41632 GRUB_DISK_DEVICE_NAND_ID.
41633
41634 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
41635 function prototype.
41636 (grub_rescue_cmd_initrd): Likewise.
41637
41638 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
41639 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
41640 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 41641
25f16ec1 41642 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
41643 GRUB_MACHINE_IEEE1275 is defined.
41644
41645 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
41646 Use NESTED_FUNC_ATTR attribute on the hook parameter.
41647
41648 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
41649 on nested function heap_init.
41650 (grub_upper_mem): New variable for i386-ieee1275.
41651 (grub_get_extended_memory): New function for i386-ieee1275.
41652 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
41653
41654 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
41655 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
41656 property.
f19dbdb7 41657
25f16ec1 41658 * loader/i386/ieee1275/linux.c: New file.
41659
41660 * loader/i386/ieee1275/linux_normal.c: New file.
41661
41662 * disk/ieee1275/nand.c: New file.
41663
e89d61e9 416642008-04-18 Thomas Schwinge <tschwinge@gnu.org>
41665
41666 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
41667 value.
41668 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
41669
602566f6 416702008-04-18 Robert Millan <rmh@aybabtu.com>
41671
41672 Restructures early code path on ieee1275 to unify grub_main() as
41673 the first C function that is executed in every platform.
41674
41675 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
41676 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
41677 cmain().
41678 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
41679 * kern/ieee1275/cmain.c (cmain): Rename to ...
41680 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
41681 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
41682 at the beginning.
41683
57490c2b 416842008-04-18 Robert Millan <rmh@aybabtu.com>
41685
41686 * util/update-grub.in: Fix syntax error when setting
41687 `GRUB_PRELOAD_MODULES'.
41688 Reported by Stephane Chazelas <stephane@artesyncp.com>
41689
1977517d 416902008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
41691
41692 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
41693 section into account, newer toolchains generate unique build ids
41694 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 41695 we want build ids to be preserved
1977517d 41696 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
41697 far from other sections don't cause the raw binary images grow
41698 size
41699
bfb1f1a2 417002008-04-15 Robert Millan <rmh@aybabtu.com>
41701
41702 * disk/lvm.c: Update copyright year.
41703 * kern/misc.c: Likewise.
41704
01979850 417052008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41706
41707 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 41708 there is no memory left for physical volume name.
01979850 41709
0a1150e2 417102008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41711
41712 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
41713 volume name mapping to support bigger than 9 character names properly.
41714
82ead3fe 417152008-04-13 Robert Millan <rmh@aybabtu.com>
41716
41717 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
41718 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
41719
e54a72f5 417202008-04-13 Christian Franke <franke@computer.org>
41721
41722 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
41723 to create a floppy emulation boot CD when non emulation mode
41724 does not work.
41725 Enable Joliet CD filesystem extension.
41726
9fe86034 417272008-04-13 Robert Millan <rmh@aybabtu.com>
41728
41729 * kern/misc.c (grub_strncat): Fix off-by-one error.
41730 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
41731
41732 * kern/env.c (grub_env_context_close): Clear current context, not
41733 previous one.
41734 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
41735
41736 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
41737
7ceeee39 417382008-04-13 Robert Millan <rmh@aybabtu.com>
41739
41740 Improve robustness when handling LVM.
41741
41742 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 41743 (and leave `*p' unmodified).
7ceeee39 41744 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
41745 through it.
41746 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
41747 iterating through it.
41748 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
41749 through it.
fe6b695a 41750 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 41751 when due) on each grub_lvm_getvalue() or grub_strstr() call.
41752 Don't assume `vg->pvs != NULL' when iterating through it.
41753
58cd3d85 417542008-04-13 Robert Millan <rmh@aybabtu.com>
41755
41756 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
41757 * genmk.rb (partmap): New variable.
41758 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
41759 (#{partmap}): New target rule.
41760 * genpartmaplist.sh: New file.
41761 * Makefile.in (pkglib_DATA): Add partmap.lst.
41762 (partmap.lst): New target rule.
41763 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
41764 modules (including all partition maps), instead of preloading them.
41765
78b51059 417662007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
41767
41768 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
41769 `linux-boot-prober' (if installed) to detect other operating
41770 systems which are installed on the computer and add them to
41771 the boot menu.
41772 * conf/common.rmk: Build and install 30_os-prober.
41773
a91627b4 417742008-04-12 Robert Millan <rmh@aybabtu.com>
41775
41776 * kern/powerpc/ieee1275/init.c: Move from here ...
41777 * kern/ieee1275/init.c: ... to here. Update all users.
41778
41779 * kern/powerpc/ieee1275/cmain.c: Move from here ...
41780 * kern/ieee1275/cmain.c: ... to here. Update all users.
41781
41782 * kern/powerpc/ieee1275/openfw.c: Move from here ...
41783 * kern/ieee1275/openfw.c: ... to here. Update all users.
41784
41785 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
41786 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
41787
322562ea 417882008-04-10 Pavel Roskin <proski@gnu.org>
41789
41790 * configure.ac: Always use "_cv_" in cache variables for
41791 compatibility with Autoconf 2.62.
41792
a02a73c5 417932008-04-07 Robert Millan <rmh@aybabtu.com>
41794
41795 Revert grub/machine/init.h addition by Pavel (since it breaks on
41796 i386-ieee1275 and others):
41797 * util/i386/pc/misc.c: Remove grub/machine/init.h.
41798 * util/powerpc/ieee1275/misc.c: Likewise.
41799
25c024b1 418002008-04-07 Robert Millan <rmh@aybabtu.com>
41801
41802 * util/grub-probe.c (probe): Improve error message.
41803
3cbd2f98 418042008-04-07 Robert Millan <rmh@aybabtu.com>
41805
41806 * util/biosdisk.c (read_device_map): Skip devices that don't exist
41807 (this prevents the presence of a bogus entry from ruining the whole
41808 thing).
41809
87a297bf 418102008-04-06 Pavel Roskin <proski@gnu.org>
41811
36747a62 41812 * util/biosdisk.c: Include grub/util/biosdisk.h.
41813 * util/grub-fstest.c (execute_command): Make static.
41814 * util/grub-mkdevicemap.c (check_device): Likewise.
41815 * util/i386/pc/misc.c: Include grub/machine/init.h.
41816 * util/powerpc/ieee1275/misc.c: Likewise.
41817 * util/lvm.c: Include grub/util/lvm.h.
41818 * util/misc.c: Include grub/kernel.h, grub/misc.h and
41819 grub/cache.h.
41820 * util/raid.c: Include grub/util/raid.h.
41821 (grub_util_getdiskname): Make static.
41822
87a297bf 41823 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
41824 grub_hostfs_fini(), as they are called from grub_init_all() and
41825 grub_fini_all() respectively. This fixes an infinite loop in
41826 grub-fstest due to double registration of hostfs.
41827 Reported by Christian Franke <Christian.Franke@t-online.de>
41828
f6ce7629 418292008-04-05 Pavel Roskin <proski@gnu.org>
41830
41831 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
41832 all 8 functions. Otherwise, probe function 0 only.
41833
070e49e4 418342008-04-04 Pavel Roskin <proski@gnu.org>
41835
8b088a4c 41836 * commands/lspci.c (grub_lspci_iter): Print the bus number
41837 correctly.
41838
4f657021 41839 * commands/lspci.c (grub_pci_classes): Fix typos.
41840 (grub_lspci_iter): Don't print func twice. Print vendor ID
41841 before device ID, as it's normally done.
41842
070e49e4 41843 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41844 Fix signedness warnings.
41845 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
41846 Likewise.
41847 * util/ieee1275/get_disk_name.c: Include config.h so that
41848 _GNU_SOURCE is defined and getline() is declared. Mark an
41849 unused argument as such. Fix a signedness warning.
41850
ba7328dc 418512008-04-02 Pavel Roskin <proski@gnu.org>
41852
26887f22 41853 * genkernsyms.sh.in: Use more robust assignments for CC and
41854 srcdir. Quote srcdir.
41855 * gensymlist.sh.in: Likewise. Assert at the compile time that
41856 the symbol table is not empty.
41857
ba7328dc 41858 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
41859 * fs/cpio.c (grub_cpio_read): Likewise.
41860
0f582c6b 418612008-04-01 Pavel Roskin <proski@gnu.org>
41862
4b6e1995 41863 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
41864 * disk/host.c (grub_host_open): Likewise.
41865 * disk/loopback.c (grub_loopback_open): Likewise.
41866 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
41867 disk->id as in disk/host.c, not a multi-character constant.
41868
828a2768 41869 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
41870 later is obsolete, potentially dangerous and sets a bad example.
41871 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
41872 * util/misc.c (grub_util_get_image_size): Likewise.
41873
2bb4fb47 41874 * disk/loopback.c (options): Improve help for "--partitions".
41875
0f582c6b 41876 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
41877 options to align them with the short options, e.g. "echo -e".
41878
a33224e0 418792008-03-31 Bean <bean123ch@gmail.com>
41880
41881 * video/reader/png.c (grub_png_data): New member is_16bit and
41882 image_data.
41883 (grub_png_decode_image_header): Detect 16 bit png image.
41884 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
41885 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
41886 (grub_video_reader_png): Release memory occupied by image_data.
41887
41888 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
41889 4096 bytes.
41890 (grub_nfs_mount): Skip the test for sector per cluster.
41891
41892 * include/grub/ntfs.h (MAX_SPC): Removed.
41893
86cb4f54 418942008-03-31 Bean <bean123ch@gmail.com>
41895
41896 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
41897 (grub_probe_SOURCES): Add fs/afs.c.
41898 (grub_fstest_SOURCES): Likewise.
41899 (afs_mod_SOURCES): New variable.
41900 (afs_mod_CFLAGS): Likewise.
41901 (afs_mod_LDFLAGS): Likewise.
41902
41903 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
41904 (grub_emu_SOURCES): Likewise.
41905
41906 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41907
41908 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41909
41910 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41911
41912 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41913
41914 * fs/afs.c: New file.
41915
17c74c21 419162008-03-30 Pavel Roskin <proski@gnu.org>
41917
4cb68e89 41918 * disk/host.c: Include grub/misc.h to fix a warning.
41919 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
41920 warnings about implicit declarations.
41921
8790bb04 41922 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
41923 variable.
41924 * include/grub/i386/loader.h: Change declaration of
41925 grub_linux_boot() to match what grub_loader_set() expects.
41926 * util/getroot.c (grub_guess_root_device): Return const char* to
41927 fix a warning.
41928 * util/grub-probe.c (probe): Fix a warning about uninitialized
41929 abstraction_name variable.
41930 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
41931 second argument as unused to fix a warning.
41932
9a3f3296 41933 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
41934 missing grub_error() call.
41935
0ecef90d 41936 * util/update-grub_lib.in: Define datarootdir, since Autoconf
41937 2.60 and newer uses it to define datadir.
41938
0bf6d401 41939 * commands/sleep.c: Fix warning about implicit declaration.
41940 * disk/memdisk.c: Likewise.
41941 * loader/aout.c: Likewise.
41942 * loader/i386/bsd_normal.c: Likewise.
41943 * util/grub-probe.c: Likewise.
41944
7cdacf97 41945 * commands/i386/cpuid.c (has_longmode): Make static.
41946 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
41947 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
41948
17c74c21 41949 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
41950 GDT. This is more robust, as %ds can change.
41951 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
41952 calling real_to_prot().
41953 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
41954
80a3e68b 419552008-03-28 Pavel Roskin <proski@gnu.org>
41956
41957 * kern/i386/pc/startup.S: Assert that uncompressed functions
41958 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
41959 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
41960 code, as they push parts of the code (error handlers) beyond
41961 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
41962 code as correctness and size.
41963
77bcd272 419642008-03-28 Pavel Roskin <proski@gnu.org>
41965
41966 * kern/i386/pc/startup.S
41967 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
41968 data block address to the real mode, keep offset minimal. This
41969 works around a bug in AWARD BIOS on old Athlon systems, which
41970 makes CD detection hang.
41971
c5dfd43b 419722008-03-26 Pavel Roskin <proski@gnu.org>
41973
41974 * normal/color.c (grub_parse_color_name_pair): Make `name' a
41975 const.
41976 * include/grub/normal.h: Add grub_parse_color_name_pair()
41977 declaration.
41978
bf962df2 419792008-03-24 Bean <bean123ch@gmail.com>
41980
41981 * disk/i386/pc/biosdisk.c (cd_start): Removed.
41982 (cd_count): Removed.
41983 (cd_drive): New variable.
41984 (grub_biosdisk_get_drive): Don't check for (cdN) device.
41985 (grub_biosdisk_call_hook): Likewise.
41986 (grub_biosdisk_iterate): Change cdrom detection method.
41987 (grub_biosdisk_open): Replace cd_start with cd_drive.
41988 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
41989 detect cdrom device.
41990
41991 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
41992 Removed.
41993 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
41994 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
41995 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
41996 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
41997 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
41998 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
41999 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
42000 (grub_biosdisk_cdrp): New structure.
42001 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
42002
42003 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
42004
42005 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
42006 device.
42007
42008 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
42009 New function.
42010
68e7fc7a 420112008-03-20 Robert Millan <rmh@aybabtu.com>
42012
42013 Remove 2 TiB limit in ata.mod.
42014 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
42015 (grub_ata_dumpinfo): Print sector count with 0x%llx.
42016 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
42017 grub_uint64_t instead of grub_uint32_t.
42018
38ad2cf5 420192008-03-05 Bean <bean123ch@gmail.com>
42020
42021 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
42022 (grub_multiboot): Set boot device.
42023
42024 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
42025
2b89344e 420262008-03-02 Bean <bean123ch@gmail.com>
42027
42028 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
42029 symlink_buffer.
42030
87a95d1f 420312008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
42032
42033 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
42034 texinfo.tex.
42035
42036 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
42037 modified.
42038
42039 * docs/fdl.texi: New file.
f19dbdb7 42040
87a95d1f 42041 * docs/mdate-sh: New file. Copied from gnulib.
42042 * docs/texinfo.tex: Likewise.
42043
42044 * config.guess: Updated from gnulib.
42045 * install-sh: Likewise.
42046
7dc15d8e 420472008-02-28 Robert Millan <rmh@aybabtu.com>
42048
42049 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
42050 (aout_mod_SOURCES): New variable.
42051 (aout_mod_CFLAGS): Likewise.
42052 (aout_mod_LDFLAGS): Likewise.
42053
42054 * conf/i386-ieee1275.rmk: Likewise.
42055
b00ab696 420562008-02-28 Robert Millan <rmh@aybabtu.com>
42057
42058 * util/update-grub.in: Reorganise terminal validity check. Accept
42059 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
42060 Based on suggestion by Franklin PIAT.
42061
79ca2d78 420622008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
42063
42064 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
42065 function.
42066 * util/getroot.c (grub_util_check_block_device): New function that
42067 returns the given argument if it is a block device and returns NULL else.
42068 * util/grub-probe.c (argument_is_device): New variable.
42069 (probe): Promote device_name from a variable to an argument. Receive
42070 device_name from grub_util_check_block_device() if path is NULL and from
42071 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 42072 (options): Introduce new parameter '-d, --device'.
79ca2d78 42073 (main): Add description of the new parameter to the help screen.
42074 Rename path variable to argument. Set argument_is_device if the '-d'
42075 option is given. Pass argument to probe() depending on
42076 argument_is_device.
42077
0d16e571 420782008-02-24 Bean <bean123ch@gmail.com>
42079
42080 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
42081 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
42082 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
42083 (GRUB_ISO9660_VOLDESC_PART): Likewise.
42084 (GRUB_ISO9660_VOLDESC_END): Likewise.
42085 (grub_iso9660_primary_voldesc): New member escape.
42086 (grub_iso9660_data): New member joliet.
42087 (grub_iso9660_convert_string): New function.
42088 (grub_iso9660_mount): Detect joliet extension.
42089 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
42090 (grub_iso9660_iso9660_label): Likewise.
42091
42092 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
42093 (grub_setup_SOURCES): Add fs/udf.c.
42094 (grub_fstest_SOURCES): Likewise.
42095 (udf_mod_SOURCES): New variable.
42096 (udf_mod_CFLAGS): Likewise.
42097 (udf_mod_LDFLAGS): Likewise.
42098
42099 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
42100 (grub_emu_SOURCES): Likewise.
42101
42102 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42103
42104 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42105
42106 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42107
42108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42109
42110 * fs/udf.c: New file.
42111
8a594a17 421122008-02-24 Robert Millan <rmh@aybabtu.com>
42113
42114 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
42115 (normal/lexer.c_DEPENDENCIES): New variables.
42116 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
42117 (normal/lexer.c_DEPENDENCIES): Likewise.
42118 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
42119 (normal/lexer.c_DEPENDENCIES): Likewise.
42120 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
42121 (normal/lexer.c_DEPENDENCIES): Likewise.
42122 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
42123 (normal/lexer.c_DEPENDENCIES): Likewise.
42124 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
42125 (normal/lexer.c_DEPENDENCIES): Likewise.
42126
2dc33c03 421272008-02-23 Robert Millan <rmh@aybabtu.com>
42128
42129 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
42130 since they were intended to be in hex. This didn't break previously
42131 because of a bug in gpt_partition_map_iterate() (see below).
42132
42133 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
42134 when checking the validity of GPT header.
42135 Remove `partno', since it always provides the same information as `i'.
42136
f6f4cfb0 421372008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
42138
42139 * include/grub/efi/time.h: Fix a wrong comment.
42140
79ff665f 421412008-02-19 Pavel Roskin <proski@gnu.org>
42142
42143 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
42144 message.
42145
d38e24c2 421462008-02-19 Bean <bean123ch@gmail.com>
42147
42148 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
42149 (aout_mod_SOURCES): New variable.
42150 (aout_mod_CFLAGS): Likewise.
42151 (aout_mod_LDFLAGS): Likewise.
42152 (_bsd_mod_SOURCES): New variable.
42153 (_bsd_mod_CFLAGS): Likewise.
42154 (_bsd_mod_LDFLAGS): Likewise.
42155 (bsd_mod_SOURCES): New variable.
42156 (bsd_mod_CFLAGS): Likewise.
42157 (bsd_mod_LDFLAGS): Likewise.
42158
42159 * include/grub/aout.h: New file.
42160
42161 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
42162
42163 * include/grub/i386/bsd.h: New file.
42164
42165 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
42166 to make it public.
42167
42168 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
42169 function is called, so that it's possible to change it inside the hook.
42170 (grub_elf64_load): Likewise.
42171 (grub_elf_file): Don't close the file if elf header is not found.
42172 (grub_elf_close): Close the file if grub_elf_file fails (The new
42173 grub_elf_file won't close it).
42174 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
42175 (grub_elf64_size): Likewise.
42176
42177 * kern/i386/loader.S (grub_unix_real_boot): New function.
42178
42179 * loader/aout.c: New file.
42180
42181 * loader/i386/bsd.c: New file.
42182
42183 * loader/i386/bsd_normal.c: New file.
42184
42185 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
42186
42187 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 42188 can test other formats.
d38e24c2 42189
b93bdb0f 421902008-02-19 Robert Millan <rmh@aybabtu.com>
42191
42192 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
42193 (grub_gpt_partition_type_empty): Redefine with macro from
42194 `<grub/gpt_partition.h>'.
42195 (gpt_partition_map_iterate): Adjust partition type comparison.
42196
42197 Export `entry' as partmap-specific `part.data' struct.
42198 (grub_gpt_header, grub_gpt_partentry): Move from here ...
42199
42200 * include/grub/gpt_partition.h (grub_gpt_header)
42201 (grub_gpt_partentry): ... to here (new file).
42202
42203 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
42204
42205 (grub_gpt_partition_type_bios_boot): New const variable, defined
42206 with macro from `<grub/gpt_partition.h>'.
42207
42208 (setup): Replace `first_start' with `embed_region', which keeps
42209 track of the embed region (and is partmap-agnostic).
42210
42211 Replace find_first_partition_start() with find_usable_region(),
42212 which finds a usable region for embedding using partmap-specific
42213 knowledge (supports PC/MSDOS and GPT).
42214
42215 Fix all assumptions that the embed region start at sector 1, using
42216 `embed_region.start' from now on. Similarly, use `embed_region.end'
42217 rather than `first_start' to calculate available size.
42218
42219 In grub_util_info() message, replace "into after the MBR" with an
42220 indication of the specific sector our embed region starts at.
42221
66cb40f6 422222008-02-19 Robert Millan <rmh@aybabtu.com>
42223
42224 * DISTLIST: Replace `commands/ieee1275/halt.c' and
42225 `commands/ieee1275/reboot.c' with `commands/halt.c' and
42226 `commands/reboot.c'.
42227 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
42228 (halt_mod_SOURCES): Likewise.
42229 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
42230 (halt_mod_SOURCES): Likewise.
42231
b7202015 422322008-02-17 Christian Franke <franke@computer.org>
42233
42234 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
42235
32b0fc49 422362008-02-17 Robert Millan <rmh@aybabtu.com>
42237
42238 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
42239 set `first_start' to 0 for non-PC/MSDOS partition maps.
42240
aca63502 422412008-02-16 Robert Millan <rmh@aybabtu.com>
42242
42243 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
42244 do not assume partition map is PC/MSDOS before performing checks that
42245 are specific to that layout.
42246
0de8be86 422472008-02-13 Robert Millan <rmh@aybabtu.com>
42248
42249 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
42250 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
42251 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
42252
c3db8364 422532008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
42254
42255 * configure.ac: Only a cosmetic change on the handling of
42256 -fno-stack-protector.
42257
f714229e 422582008-02-12 Alexandre Boeglin <alex@boeglin.org>
42259
c3db8364 42260 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
42261 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
42262 reboot.c.
f714229e 42263 (grub_install_SOURCES): Add halt.mod and reboot.mod.
42264 (halt_mod_SOURCES): New variable.
42265 (halt_mod_CFLAGS): Likewise.
42266 (halt_mod_LDFLAGS): Likewise.
42267 (reboot_mod_SOURCES): Likewise.
42268 (reboot_mod_CFLAGS): Likewise.
42269 (reboot_mod_LDFLAGS): Likewise.
42270
c3db8364 42271 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
42272 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
42273 reboot.c.
f714229e 42274 (halt_mod_SOURCES): Likewise.
42275 (reboot_mod_SOURCES): Likewise.
42276
c3db8364 42277 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
42278 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 42279 (reboot_mod_SOURCES): Likewise.
42280
42281 * commands/i386/pc/reboot.c: merge this file ...
42282
42283 * commands/ieee1275/reboot.c: ... and this file ...
42284
42285 * commands/reboot.c: ... to this file.
c3db8364 42286 Add some precompiler directive to include the correct header for
42287 each machine.
f714229e 42288
42289 * commands/ieee1275/halt.c: move this file ...
42290
42291 * commands/halt.c: ... to here.
c3db8364 42292 Add some precompiler directive to include the correct header for
42293 each machine.
f714229e 42294
42295 * include/grub/efi/efi.h (grub_reboot): New function declaration.
42296 (grub_halt): Likewise.
42297
42298 * kern/efi/efi.c (grub_reboot): New function.
42299 (grub_halt): Likewise.
42300
c74493e0 423012008-02-12 Robert Millan <rmh@aybabtu.com>
42302
42303 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
42304 /dev (like it is done for /dev/mapper). This doesn't provide support
42305 for EVMS, but at least it is now easy to identify the problem when it
42306 arises.
42307
d0db4b04 423082008-02-11 Robert Millan <rmh@aybabtu.com>
42309
42310 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
42311 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
42312 comparing it with -1, not 0.
42313
bf748642 423142008-02-10 Robert Millan <rmh@aybabtu.com>
42315
42316 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
42317 `disk/lvm.c'.
42318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42319 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
42320
42321 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
42322 `disk/lvm.c' to the end of the list.
42323 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42324 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42325
b5db202a 423262008-02-10 Robert Millan <rmh@aybabtu.com>
42327
42328 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
42329 grub_print_error() instead. This will let user know why we're entering
42330 rescue mode.
42331 Based on suggestions from Sam Morris.
42332
83abee31 423332008-02-10 Alexandre Boeglin <alex@boeglin.org>
42334
42335 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
42336 on remaining N args, instead of "--" arg N times.
42337
78d5a08b 423382008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
42339
42340 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
42341 (fill_with_default_glyph): Changed to use unknown_glyph for fill
42342 pattern for unknown glyphs.
42343
68807e5f 423442008-02-09 Robert Millan <rmh@aybabtu.com>
42345
42346 * configure.ac: Probe for `help2man'.
42347 * Makefile.in (builddir): New variable.
42348 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
42349 or otherwise add a few flags/options to it.
42350 (install-local): For every executable utility or script that is
42351 installed, invoke $(HELP2MAN) to install a manpage based on --help
42352 output.
42353
42354 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
42355 that it doesn't prevent --help from working in build tree.
42356
42357 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
42358 with `bug-grub@gnu.org'.
42359 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
42360 * util/update-grub.in (usage): New function.
42361 Implement proper argument check, with support for --help and --version
42362 (as well as existing -y).
42363
423642008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 42365
42366 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
42367 avoid overwriting previous output.
42368 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
42369
c1962162 423702008-02-09 Robert Millan <rmh@aybabtu.com>
42371
42372 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
42373 drawing the menu.
42374
3dac2e3f 423752008-02-09 Robert Millan <rmh@aybabtu.com>
42376
42377 * commands/sleep.c: New file.
42378 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
42379 (sleep_mod_SOURCES): New variable.
42380 (sleep_mod_CFLAGS): Likewise.
42381 (sleep_mod_LDFLAGS): Likewise.
42382
7a634e08 423832008-02-09 Robert Millan <rmh@aybabtu.com>
42384
42385 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
42386 situations in which we can deduce the RAID size and the superblock
42387 doesn't match it.
42388
b92f0c18 423892008-02-09 Robert Millan <rmh@aybabtu.com>
42390
42391 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
42392 and return a grub_diskmemberlist_t composed of LVM physical volumes.
42393 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
42394
42395 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
42396 and return a grub_diskmemberlist_t composed of physical array members.
42397 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
42398
42399 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
42400 prototype.
42401 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
42402 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
42403 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
42404
42405 * util/grub-probe.c (probe): Move partmap probing code from here ...
42406 (probe_partmap): ... to here.
42407 (probe): Use probe_partmap() once for the disk we're probing, and
42408 additionally, when such disk contains a memberlist() struct member,
42409 once for each disk that is contained in the structure returned by
42410 memberlist().
42411
91a4bf68 424122008-02-09 Robert Millan <rmh@aybabtu.com>
42413
42414 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
42415 environment variable to 'all' in order to obtain debug output from
42416 non-util/ code.
42417 * util/i386/pc/grub-setup.c (main): Likewise.
42418
a96f9caa 424192008-02-08 Robert Millan <rmh@aybabtu.com>
42420
42421 * disk/raid.c (grub_raid_scan_device): Check for
42422 `array->device[sb.this_disk.number]' rather than for
42423 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 42424 guaranteed to be accessible.
a96f9caa 42425
b37a9222 424262008-02-08 Robert Millan <rmh@aybabtu.com>
42427
42428 * disk/raid.c: Update copyright.
42429 * fs/cpio.c: Likewise.
42430 * include/grub/raid.h: Likewise.
42431 * loader/i386/pc/multiboot.c: Likewise.
42432 * util/hostfs.c: Likewise.
42433
5626aee1 424342008-02-08 Robert Millan <rmh@aybabtu.com>
42435
42436 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
42437 to a grub_disk_t array.
42438 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
42439 `device[x]'.
42440 (grub_raid_scan_device): Replace `device[x].name' accesses with
42441 `device[x]->name'. Simplify initialization of `array->device[x]'.
42442
554f0187 424432008-02-08 Robert Millan <rmh@aybabtu.com>
42444
42445 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
42446 grub_dprintf() calls.
42447 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
42448 error message.
42449
1ec8425d 424502008-02-07 Christian Franke <franke@computer.org>
42451
42452 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
42453 instead of fseek and ftell to support large files.
42454 (grub_hostfs_read): Likewise.
42455
f2156fda 424562008-02-07 Robert Millan <rmh@aybabtu.com>
42457
42458 Patch from Jeroen Dekkers.
42459 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 42460 failure, since successfully reading all array members might not be
f2156fda 42461 required.
42462
9216e0e7 424632008-02-06 Robert Millan <rmh@aybabtu.com>
42464
42465 * util/grub-probe.c (probe): Simplify partmap probing (with the
42466 assumption that the first word up to the underscore equals to
42467 the module name).
42468
b0dfd29a 424692008-02-06 Christian Franke <franke@computer.org>
42470
42471 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
42472 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
42473 last block of a cpio or tar stream.
42474 Check for "TRAILER!!!" instead of any empty data
42475 block to detect last block of a cpio stream.
42476 (grub_cpio_dir): Fix constness of variable np.
42477 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
42478 cpio or tar trailer is detected. This fixes a crash
42479 on open of a non existing file.
42480
c32865bf 424812008-02-05 Bean <bean123ch@gmail.com>
42482
42483 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
42484 address of entry.
42485 (grub_multiboot_load_elf64): Likewise.
42486 (grub_multiboot): Initialize mbi structure.
42487
42488 * util/grub-fstest.c: Don't include unused header file script.h.
42489
fe6b695a 42490 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 42491 of file.
42492 (grub_fstest_SOURCES): Likewise.
42493
409480b7 424942008-02-05 Robert Millan <rmh@aybabtu.com>
42495
42496 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
42497 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
42498 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
42499 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
42500
42501 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
42502 (translation_table): Replace hardcoded values with macros
42503 provided by `<grub/term.h>'.
42504
42505 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
42506 (keyboard_map): Correct/add a few values, with macros provided
42507 by `<grub/term.h>'.
42508 (keyboard_map_shift): Zero values that don't differ from their
42509 `keyboard_map' equivalents.
42510 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
42511 Discard the second scan code that is always sent by Caps lock.
42512 Only use `keyboard_map_shift' when it provides a non-zero value,
42513 otherwise fallback to `keyboard_map'.
42514
99fadbaa 425152008-02-04 Bean <bean123ch@gmail.com>
42516
42517 * Makefile.in (enable_grub_fstest): New variable.
42518
42519 * conf/common.rmk (grub_fstest_init.lst): New rule.
42520 (grub_fstest_init.h): Likewise.
42521 (grub_fstest_init.c): Likewise.
42522 (util/grub-fstest.c_DEPENDENCIES): New variable.
42523 (grub_fstest_SOURCES): Likewise.
42524
42525 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
42526
42527 * util/grub-fstest.c: New file.
42528
bf567c50 425292008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42530
42531 Make grub-setup handle a separate root device.
f19dbdb7 42532
bf567c50 42533 * util/i386/pc/grub-setup.c (setup): Always open the root device,
42534 so that the root device can be compared with the destination
42535 device.
42536 When embedding the core image, if the root and destination devices
42537 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
42538 0xFF.
42539 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 42540
9be6b98b 425412008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42542
42543 Add support for having a grub directory in a different drive. This
42544 is still only the data handling part.
f19dbdb7 42545
9be6b98b 42546 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
42547 (codestart): Save %dh in GRUB_ROOT_DRIVE.
42548 (grub_root_drive): New variable.
42549
42550 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
42551 instead of GRUB_BOOT_DRIVE to construct a device name. Set
42552 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
42553 as it was.
42554
42555 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
42556
42557 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
42558 macro.
42559 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
42560
42561 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
42562 is bogus, because PXE booting does not specify any drive
42563 correctly.
42564
42565 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
42566 am not sure if this is really correct.
42567
42568 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
42569 is always identical to the boot drive when booting from a CD.
42570
42571 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
42572 longer.
42573 (root_drive): New variable.
42574 (real_start): Unconditionally set %dh to ROOT_DRIVE.
42575 (setup_sectors): Push %dx right after popping it, because %dh will
42576 be modified later.
42577 (copy_buffer): Restore %dx.
42578
e0ca0677 425792008-02-03 Robert Millan <rmh@aybabtu.com>
42580
42581 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
42582 use `cdboot.img' for cdrom images.
42583
3b3f6629 425842008-02-03 Robert Millan <rmh@aybabtu.com>
42585
42586 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
42587 only setup gfxterm when `font' command has succeeded.
42588
d42b3672 425892008-02-03 Robert Millan <rmh@aybabtu.com>
42590
42591 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
42592 (grub_rescue_cmd_multiboot_loader)
42593 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
42594
fa370ea6 425952008-02-03 Pavel Roskin <proski@gnu.org>
42596
e0c5dacb 42597 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 42598 %edx and %esi from stack only after grub_gate_a20() is called.
42599 grub_gate_a20() clobbers %edx.
42600
f2a76e1d 426012008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42602
42603 * configure.ac (AC_INIT): Bumped to 1.96.
42604
42605 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
42606 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
42607 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
42608 video/readers/png.c.
42609
90fd32d1 426102008-02-03 Bean <bean123ch@gmail.com>
9be665dd 42611
42612 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
42613 (cdboot_img_SOURCES): New variable.
42614 (cdboot_img_ASFLAGS): New variable.
42615 (cdboot_img_LDFLAGS): New variable.
42616
42617 * boot/i386/pc/cdboot.S: New file.
42618
42619 * disk/i386/pc/biosdisk.c (cd_start): New variable.
42620 (cd_count): Likewise.
42621 (grub_biosdisk_get_drive): Add support for cd device.
42622 (grub_biosdisk_call_hook): Likewise.
42623 (grub_biosdisk_iterate): Likewise.
42624 (grub_biosdisk_open): Likewise.
42625 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
42626 (grub_biosdisk_rw): Support reading from cd device.
42627 (GRUB_MOD_INIT): Iterate cd devices.
42628
42629 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
42630 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
42631 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
42632
42633 * kern/i386/pc/init.c (make_install_device): Check for cd device.
42634
4020aa53 426352008-02-02 Robert Millan <rmh@aybabtu.com>
42636
42637 * commands/read.c: New file.
42638 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
42639 (read_mod_SOURCES): New variable.
42640 (read_mod_CFLAGS): Likewise.
42641 (read_mod_LDFLAGS): Likewise.
42642
e03a1132 426432008-02-02 Robert Millan <rmh@aybabtu.com>
42644
42645 * normal/main.c (grub_normal_execute): Check for `menu->size' when
42646 determining whether menu has to be displayed.
42647
58c69220 426482008-02-02 Marco Gerards <marco@gnu.org>
42649
42650 * bus/pci.c: New file.
42651
42652 * include/grub/pci.h: Likewise.
42653
42654 * include/grub/i386/pc/pci.h: Likewise.
42655
42656 * commands/lspci.c: Likewise.
42657
42658 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
42659 `lspci.mod'.
42660 (pci_mod_SOURCES): New variable.
42661 (pci_mod_CFLAGS): Likewise.
42662 (pci_mod_LDFLAGS): Likewise.
42663 (lspci_mod_SOURCES): Likewise.
42664 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 42665 (lspci_mod_LDFLAGS): Likewise.
58c69220 42666
c004e1b4 426672008-02-02 Bean <bean123ch@gmail.com>
42668
42669 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
42670 (grub_ufs_get_file_block): Fix indirect block calculation problem.
42671
42672 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
42673 (grub_xfs_btree_node): New structure.
42674 (grub_xfs_btree_root): New structure.
42675 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
42676 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
42677 (GRUB_XFS_EXTENT_BLOCK): Likewise.
42678 (GRUB_XFS_EXTENT_SIZE): Likewise.
42679 (grub_xfs_read_block): Support btree format type.
42680 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
42681 Use directory block as basic unit.
42682
42683 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
42684
42685 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
42686 __attribute__ ((__regparm__ (1))).
42687
f95562bf 426882008-02-01 Robert Millan <rmh@aybabtu.com>
42689
42690 Correct a mistake in previous commit.
42691
42692 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
42693 top.
42694 (normal/command.c_DEPENDENCIES): New variable.
42695
7d31f41f 426962008-02-01 Robert Millan <rmh@aybabtu.com>
42697
42698 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
42699 top.
42700 (normal/command.c_DEPENDENCIES): New variable.
42701 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
42702 * conf/i386-ieee1275.rmk: Likewise.
42703 * conf/i386-linuxbios.rmk: Likewise.
42704 * conf/i386-pc.rmk: Likewise.
42705 * conf/sparc64-ieee1275.rmk: Likewise.
42706 * conf/powerpc-ieee1275.rmk: Likewise.
42707 (grub_emu_SOURCES): Add `fs/fshelp.c'.
42708
42709 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
42710
60b6be74 427112008-02-01 Robert Millan <rmh@aybabtu.com>
42712
42713 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
42714 call at beginning of function.
42715
078522ab 427162008-01-31 Pavel Roskin <proski@gnu.org>
42717
42718 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 42719 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
42720 (grub_mkrescue_SOURCES): Likewise.
078522ab 42721 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
42722
ccaa8a5f 427232008-01-30 Robert Millan <rmh@aybabtu.com>
42724
42725 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
42726 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
42727 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
42728 (grub_probe_SOURCES): ... to here.
42729
42730 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
42731 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
42732 * conf/i386-ieee1275.rmk: Likewise.
42733 * conf/i386-linuxbios.rmk: Likewise.
42734 * conf/powerpc-ieee1275.rmk: Likewise.
42735
ae5a9cd7 427362008-01-30 Tristan Gingold <gingold@free.fr>
42737
42738 * kern/rescue.c: Silently accept empty lines.
42739
70bc2ef2 427402008-01-29 Bean <bean123ch@gmail.com>
42741
42742 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
42743 (real_code_2): Code cleanup and change comment style.
42744 (move_memory): Avoid using 32-bit address mode.
42745
6a4d50ea 427462008-01-29 Bean <bean123ch@gmail.com>
42747
42748 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
42749 (png_mod_SOURCES): New variable.
42750 (png_mod_CFLAGS): Likewise.
42751 (png_mod_LDFLAGS): Likewise.
42752
42753 * video/readers/png.c: New file.
42754
11cc30ac 427552008-01-28 Robert Millan <rmh@aybabtu.com>
42756
42757 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
42758 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
42759 `ifndef GRUB_MOD_GAP' hack.
42760 * util/elf/grub-mkimage.c (add_segments): Likewise.
42761
3abc589f 427622008-01-27 Robert Millan <rmh@aybabtu.com>
42763
42764 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
42765 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 42766 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 42767
e1907778 427682008-01-27 Robert Millan <rmh@aybabtu.com>
42769
42770 Get grub-emu to build again (including parallel builds).
42771
42772 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
42773 Split into ...
42774 (util/grub-emu.c_DEPENDENCIES): ... this, ...
42775 (normal/execute.c_DEPENDENCIES): ... this, ...
42776 (grub-emu_DEPENDENCIES): ... and this.
42777
42778 * conf/i386-efi.rmk: Likewise.
42779 * conf/i386-linuxbios.rmk: Likewise.
42780 * conf/i386-ieee1275.rmk: Likewise.
42781 * conf/powerpc-ieee1275.rmk: Likewise.
42782 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
42783
2216b101 427842008-01-27 Robert Millan <rmh@aybabtu.com>
42785
42786 * NEWS: Add a few items.
42787
f75172d9 427882008-01-27 Robert Millan <rmh@aybabtu.com>
42789
42790 Fix parallel builds with grub-emu. Based on earlier commit for
42791 grub-probe and grub-setup.
42792
42793 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42794 (util/grub-emu.c_DEPENDENCIES): ... this.
42795 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42796 (util/grub-emu.c_DEPENDENCIES): ... this.
42797 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42798 (util/grub-emu.c_DEPENDENCIES): ... this.
42799 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42800 (util/grub-emu.c_DEPENDENCIES): ... this.
42801 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42802 (util/grub-emu.c_DEPENDENCIES): ... this.
42803
3f51de77 428042008-01-27 Pavel Roskin <proski@gnu.org>
42805
42806 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
42807 to create a gap between _end and the modules added to the image
42808 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
42809 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
42810 * util/elf/grub-mkimage.c (add_segments): Likewise.
42811
2033f53e 428122008-01-26 Pavel Roskin <proski@gnu.org>
42813
42814 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
42815 just return an error.
42816
22da1f6f 428172008-01-26 Bean <bean123ch@gmail.com>
42818
42819 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
42820 (grub_reiserfs_get_item): Save offset of the next item.
42821 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
42822
2a9525e6 428232008-01-25 Robert Millan <rmh@aybabtu.com>
42824
42825 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
42826 make all filesystem sources appear together (possibly fixing omissions
42827 while at it).
42828 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42829 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42830 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42831 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42832
42833 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
42834 add `kern/file.c'.
42835 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
42836 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42837 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
42838 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42839
42840 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
42841 (probe): Add a sanity check to make sure of our ability to read
42842 requested files when probing for filesystem type.
42843
42844 * genmk.rb: Update copyright year (2007).
42845
42846 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
42847 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
42848 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
42849 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
42850 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
42851 : Remove function prototypes.
42852
b95f71b5 428532008-01-25 Robert Millan <rmh@aybabtu.com>
42854
42855 Revert my previous commits (based on wrong assumption of how grub_errno
42856 works).
42857
fe6b695a 42858 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 42859 * kern/file.c (grub_file_open): Likewise.
42860
d08bbb49 428612008-01-24 Pavel Roskin <proski@gnu.org>
42862
42863 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
42864 that hang if GRUB tries to setup colors.
42865 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
42866 colors for firmwares that don't support it.
42867 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
42868 Recognize Open Hack'Ware, set flags to work around its
42869 limitations.
42870
605e36ed 428712008-01-24 Robert Millan <rmh@aybabtu.com>
42872
42873 * kern/file.c (grub_file_open): Do not account previous failures of
42874 unrelated functions when grub_errno is checked for.
42875 Reported by Oleg Strikov.
42876
bac332a1 428772008-01-24 Bean <bean123ch@gmail.com>
42878
42879 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
42880 (grub_ufs_sblock): New member volume name.
42881 (grub_ufs_find_file): Fix string copy bug.
42882 (grub_ufs_label): Implement this function properly.
42883
42884 * fs/hfs.c (grub_hfs_cnid_type): New enum.
42885 (grub_hfs_iterate_records): Use the correct file number for extents
42886 and catalog file. Fix problem in next index calculation.
42887 (grub_hfs_find_node): Replace recursive function call with loop.
42888 (grub_hfs_iterate_dir): Replace recursive function call with loop.
42889
15c80c09 428902008-01-23 Robert Millan <rmh@aybabtu.com>
42891
42892 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
42893 `<grub/symbol.h>' and `<grub/multiboot.h>'.
42894 (grub_multiboot2_real_boot): New function prototype.
42895
42896 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
42897 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
42898
42899 * kern/i386/ieee1275/init.c (grub_os_area_addr)
42900 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
42901
305338fd 429022008-01-23 Robert Millan <rmh@aybabtu.com>
42903
42904 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
42905 #ifdef'ed out grub_printf().
42906
3ea52685 429072008-01-23 Robert Millan <rmh@aybabtu.com>
42908
42909 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
42910 grub_dprintf calls, since they make "debug=all" mode unusable.
42911 (grub_console_checkkey): Likewise.
42912
5882ae4b 429132008-01-23 Robert Millan <rmh@aybabtu.com>
42914
42915 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
42916 `term/i386/pc/at_keyboard.c'.
42917 (pkglib_MODULES): Add `serial.mod'.
42918 (serial_mod_SOURCES): New variable.
42919 (serial_mod_CFLAGS): Likewise.
42920 (serial_mod_LDFLAGS): Likewise.
42921
42922 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
42923 `<grub/powerpc/ieee1275/console.h>'.
42924 (grub_keyboard_controller_init): New function prototype.
42925 (grub_console_checkkey): Likewise.
42926 (grub_console_getkey): Likewise.
42927
42928 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
42929 keyboard on i386.
42930
42931 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
42932 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
42933
06ab5303 429342008-01-23 Robert Millan <rmh@aybabtu.com>
42935
42936 * kern/i386/pc/init.c (make_install_device): When memdisk image is
42937 present, "(memdisk)/boot/grub" becomes the default prefix.
42938
42939 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
42940 a memdisk tarball with all the modules. Add --overlay=DIR option that
42941 allows users to overlay additional files into the image.
42942
dbb475a4 429432008-01-23 Robert Millan <rmh@aybabtu.com>
42944
42945 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
42946 and `machine/memory.h'.
42947 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
42948 (_multiboot_mod_SOURCES): New variable.
42949 (_multiboot_mod_CFLAGS): Likewise.
42950 (_multiboot_mod_LDFLAGS): Likewise.
42951 (multiboot_mod_SOURCES): Likewise.
42952 (multiboot_mod_CFLAGS): Likewise.
42953 (multiboot_mod_LDFLAGS): Likewise.
42954
42955 * include/grub/i386/ieee1275/loader.h: New file.
42956
42957 * include/grub/i386/ieee1275/machine.h: Likewise.
42958
42959 * include/grub/i386/ieee1275/memory.h: Likewise.
42960
42961 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
42962 variable declaration.
42963 (grub_os_area_size): Likewise.
42964
42965 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
42966 (grub_lower_mem, grub_upper_mem): New variables.
42967 (grub_stop_floppy): New function (just to make
42968 grub_multiboot2_real_boot() happy).
42969
42970 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
42971 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
42972 (grub_stop): New function.
42973 Include `"../realmode.S"' and `"../loader.S"'.
42974
42975 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
42976 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
42977
42978 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
42979 rely on grub_multiboot2_real_boot() for final boot.
42980
25638629 429812008-01-22 Robert Millan <rmh@aybabtu.com>
42982
42983 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
42984 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
42985 device that doesn't look like an SD card.
42986 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42987 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
42988 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
42989 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
42990 found.
42991
9dad816d 429922008-01-22 Robert Millan <rmh@aybabtu.com>
42993
42994 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
42995 avoid claiming over our own code.
42996
34842f2d 429972008-01-22 Bean <bean123ch@gmail.com>
42998
42999 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
43000 (jpeg_mod_SOURCES): New variable.
43001 (jpeg_mod_CFLAGS): Likewise.
43002 (jpeg_mod_LDFLAGS): Likewise.
43003
43004 * video/readers/jpeg.c : New file.
43005
44023a28 430062008-01-22 Bean <bean123ch@gmail.com>
43007
43008 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
43009 there are no more items.
43010
bc2d8ac6 430112008-01-21 Robert Millan <rmh@aybabtu.com>
43012
43013 * kern/mm.c (grub_mm_init_region): Improve debug message.
43014
261bd4bc 430152008-01-21 Robert Millan <rmh@aybabtu.com>
43016
43017 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
43018 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
43019 address.
43020 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
43021 a C macro.
43022 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
43023 Indicates start of upper memory.
43024 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
43025 (generate_image): Abort when image size is big enough to corrupt
43026 upper memory.
43027
43028 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
43029 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
43030 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
43031 instead of hardcoding 0xA0000.
43032 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
43033 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
43034 instead of hardcoding 0xA0000.
43035
f970b55e 430362008-01-21 Robert Millan <rmh@aybabtu.com>
43037
43038 * disk/memdisk.c (memdisk_size): New variable.
43039 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
43040 `memdisk_size'.
43041 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
43042 image to dynamic memory.
43043 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
43044 `memdisk_size'. Free memdisk block.
43045
1a8b0526 430462008-01-21 Robert Millan <rmh@aybabtu.com>
43047
43048 Fix detection of very small filesystems (like tar).
43049
43050 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
43051 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
43052 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
43053 a problem with this disk).
43054
6e9b4aab 430552008-01-21 Robert Millan <rmh@aybabtu.com>
43056
43057 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
43058 on grub_biosdisk_rw_standard() error.
43059
0d8837b2 430602008-01-21 Robert Millan <rmh@aybabtu.com>
43061
43062 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
43063 recent changes.
43064 * kern/elf.c: Likewise.
43065 * kern/ieee1275/ieee1275.c: Likewise.
43066 * kern/powerpc/ieee1275/openfw.c: Likewise.
43067 * term/ieee1275/ofconsole.c: Likewise.
43068
ffd36e34 430692008-01-21 Robert Millan <rmh@aybabtu.com>
43070
43071 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
43072
3f0093d0 43073 * include/grub/kernel.h (grub_arch_memdisk_addr)
43074 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 43075
3f0093d0 43076 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
43077 (grub_arch_memdisk_size): ... to here.
ffd36e34 43078
6c391b21 430792008-01-21 Robert Millan <rmh@aybabtu.com>
43080
43081 Mostly based on bugfix from Bean.
43082
43083 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
43084 attribute with hook() parameter.
43085 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
43086 declaration.
43087 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
43088 attribute with hook() parameter.
43089 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
43090 declaration.
43091
55a581dc 430922008-01-21 Robert Millan <rmh@aybabtu.com>
43093
43094 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
43095 (pkglib_MODULES): Add `memdisk.mod'.
43096 (memdisk_mod_SOURCES): New variable.
43097 (memdisk_mod_CFLAGS): Likewise.
43098 (memdisk_mod_LDFLAGS): Likewise.
43099
43100 * disk/memdisk.c: New file.
43101
43102 * include/grub/disk.h (grub_disk_dev_id): Add
43103 `GRUB_DISK_DEVICE_MEMDISK_ID'.
43104
43105 * include/grub/i386/pc/kernel.h
43106 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
43107 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
43108 (grub_kernel_image_size): New variable declaration.
43109 (grub_total_module_size): Likewise.
43110 (grub_memdisk_image_size): Likewise.
43111
43112 * include/grub/i386/pc/memory.h
43113 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
43114
43115 * include/grub/kernel.h: Include `<grub/symbol.h>'.
43116 (grub_arch_memdisk_addr): New variable declaration.
43117 (grub_arch_memdisk_size): Likewise.
43118
43119 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
43120 (grub_arch_memdisk_size): Likewise.
43121
43122 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
43123 (codestart): Replace hardcoded `0x100000' with
43124 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
43125
43126 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
43127 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
43128 not NULL, append the contents of the file it refers to, at the end of
43129 the compressed kernel image. Initialize `grub_memdisk_image_size'
43130 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
43131 (options): Add "memdisk"|'m' option.
43132 (main): Parse --memdisk|-m option, and pass user-provided path as
43133 parameter to generate_image().
43134
3d7f54c9 431352008-01-20 Robert Millan <rmh@aybabtu.com>
43136
43137 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
43138 grub_dprintf() calls from here ...
43139 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
43140
0bf74728 431412008-01-20 Robert Millan <rmh@aybabtu.com>
43142
43143 Fix detection of "real mode" when /options/real-mode? doesn't exist.
43144
43145 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
43146 declaration.
43147 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
43148 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
43149 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 43150 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 43151 property).
43152 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
43153 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
43154
33bf70a7 431552008-01-19 Robert Millan <rmh@aybabtu.com>
43156
fe6b695a 43157 Get rid of confusing function (superseded by
33bf70a7 43158 `grub_ieee1275_get_integer_property')
43159 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
43160 prototype.
43161 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
43162 function.
43163 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
43164 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 43165 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 43166
e2da7d26 431672008-01-19 Robert Millan <rmh@aybabtu.com>
43168
43169 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
43170 command after "shut-down", since implementations differ on which
43171 the command for halt is.
43172
59f1fd8d 431732008-01-19 Robert Millan <rmh@aybabtu.com>
43174
43175 * include/grub/i386/linuxbios/console.h: Add header protection.
43176 (grub_keyboard_controller_init): New function prototype.
43177 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
43178 (KEYBOARD_COMMAND_READ): Likewise.
43179 (KEYBOARD_COMMAND_WRITE): Likewise.
43180 (KEYBOARD_SCANCODE_SET1): Likewise.
43181 (grub_keyboard_controller_write): New function.
43182 (grub_keyboard_controller_read): Likewise.
43183 (grub_keyboard_controller_init): Likewise.
43184
43185 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
43186 (grub_console_init): On coreboot/LinuxBIOS, call
43187 grub_keyboard_controller_init().
43188
5f5a7c15 431892008-01-19 Robert Millan <rmh@aybabtu.com>
43190
43191 PowerPC changes provided by Pavel Roskin.
43192
43193 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
43194 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
43195 don't rely on cmain() doing it.
43196 * kern/i386/ieee1275/startup.S (_start): Store %eax in
43197 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
43198
1210e168 431992008-01-16 Robert Millan <rmh@aybabtu.com>
43200
43201 * include/grub/i386/linuxbios/memory.h
43202 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
43203 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
43204 receive `table_header' as argument. Instead, probe for it in the
43205 known memory ranges where it can be present.
43206 (grub_available_iterate): Do not pass a fixed `table_header' address
43207 to grub_linuxbios_table_iterate().
43208
3d04eab8 432092008-01-15 Robert Millan <rmh@aybabtu.com>
43210
43211 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
43212 * conf/i386-ieee1275.rmk: New file.
43213 * include/grub/i386/ieee1275/console.h: Likewise.
43214 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
43215 * include/grub/i386/ieee1275/kernel.h: Likewise.
43216 * include/grub/i386/ieee1275/time.h: Likewise.
43217 * kern/i386/ieee1275/init.c: Likewise.
43218 * kern/i386/ieee1275/startup.S: Likewise.
43219
d1bc1b73 432202008-01-15 Robert Millan <rmh@aybabtu.com>
43221
43222 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
43223 when pointers are 32-bit (but still do set it to one when they are
43224 64-bit).
43225
66a65807 432262008-01-15 Robert Millan <rmh@aybabtu.com>
43227
43228 * include/grub/ieee1275/ieee1275.h
43229 (grub_ieee1275_get_integer_property): New function prototype.
43230
43231 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
43232 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 43233 grub_ieee1275_get_property() to handle endianness.
66a65807 43234
43235 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
43236 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 43237 where appropriate.
66a65807 43238 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
43239 (grub_map): Likewise.
43240 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
43241
a83ccafd 432422008-01-15 Bean <bean123ch@gmail.com>
43243
43244 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
43245 (grub_script_execute_cmdline): Reset grub_errno.
43246
43247 * normal/main.c (read_config_file): Reset grub_errno.
43248
43249 * normal/parse.y (script_init): New.
43250 (script): Move function and menuentry here.
43251 (delimiter): New.
43252 (command): Add delimiter at the end of command.
43253 (commands): Adjust to match the new command.
43254 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 43255 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 43256 (if): Use the new commands.
43257
43258 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
43259
df6ecfc6 432602008-01-15 Robert Millan <rmh@aybabtu.com>
43261
43262 * normal/menu.c (run_menu): Move timeout message from here ...
43263 (print_timeout): ... to here.
43264 (run_menu): Use print_timeout() once during initial draw to print
43265 the whole message, and again in every clock tick to update only
43266 the number of seconds.
43267
87ae25eb 432682008-01-15 Robert Millan <rmh@aybabtu.com>
43269
43270 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
43271 actual size of `available' from grub_ieee1275_get_property(), and
43272 restrict parsing to that bound.
43273
47bf09a4 432742008-01-15 Christian Franke <franke@computer.org>
43275
43276 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
43277 (argp_program_version): Remove variable.
43278 (argp_program_bug_address): Likewise.
43279 (options): Convert from struct argp_option to struct option.
43280 (struct arguments): Remove.
43281 (parse_opt): Remove.
43282 (usage): New function.
43283 (main): Replace struct args members by simple variables.
43284 Replace argp_parse() by getopt_long().
43285 Add switch to evaluate options.
43286 Add missing "(...)" around root_dev in prefix string.
43287
c86f1469 432882008-01-14 Robert Millan <rmh@aybabtu.com>
43289
43290 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
43291 for grub_ieee1275_exit(), in order to improve portability.
43292
e622c559 432932008-01-14 Robert Millan <rmh@aybabtu.com>
43294
43295 * util/grub.d/10_linux.in (prefix): Define.
43296 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
43297
44cb1ec8 432982008-01-13 Pavel Roskin <proski@gnu.org>
43299
43300 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
43301 grub_errno if no errors have been detected.
43302
1eb8c802 433032008-01-12 Robert Millan <rmh@aybabtu.com>
43304
43305 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
43306 (grub_util_get_dev_abstraction): New function prototype.
43307
43308 * util/getroot.c: Include `<grub/util/getroot.h>'
43309 (grub_util_get_grub_dev): Move detection of abstraction type to ...
43310 (grub_util_get_dev_abstraction): ... here (new function).
43311
43312 * util/grub-probe.c: Convert PRINT_* to an enum. Add
43313 `PRINT_ABSTRACTION'.
43314 (probe): Probe for abstraction type when requested.
43315 (main): Understand `--target=abstraction'.
43316
43317 * util/i386/efi/grub-install.in: Add abstraction module to core
43318 image when it is found to be necessary.
43319 * util/i386/pc/grub-install.in: Likewise.
43320 * util/powerpc/ieee1275/grub-install.in: Likewise.
43321
43322 * util/update-grub_lib.in (font_path): Return system path without
43323 converting to GRUB path.
43324 * util/update-grub.in: Convert system path returned by font_path()
43325 to a GRUB path. Use `grub-probe -t abstraction' to determine what
43326 abstraction module is needed for loading fonts (if any). Export
43327 that as `GRUB_PRELOAD_MODULES'.
43328 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
43329 insmod commands).
43330
52bd3de9 433312008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
43332
43333 Remove some unused code from reiserfs.
f19dbdb7 43334
52bd3de9 43335 * fs/reiserfs.c (struct grub_reiserfs_key)
43336 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
43337 (struct grub_reiserfs_node_body): Removed.
43338 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
43339 Likewise.
43340 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43341 Likewise.
43342 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43343 Likewise.
43344 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43345 Likewise.
43346 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
43347 Likewise.
43348 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
43349 Likewise.
43350 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43351 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43352 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43353
2f80039d 433542008-01-10 Robert Millan <rmh@aybabtu.com>
43355
43356 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
43357 Determines if a file is garbage left by packaging systems, etc.
43358 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
43359 for processing /etc/grub.d scripts.
43360 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
43361 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
43362 as a condition for processing Linux images.
43363
87888032 433642008-01-10 Pavel Roskin <proski@gnu.org>
43365
43366 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
43367 to compile reiserfs.c on PowerPC.
43368
7e54fced 433692008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 43370
43371 * kern/device.c (grub_device_iterate): Do not abort device iteration
43372 when one of the devices cannot be opened.
43373 * kern/disk.c (grub_disk_open): Do not account previous failures of
43374 unrelated functions when grub_errno is checked for.
43375
5aa541e6 433762008-01-08 Robert Millan <rmh@aybabtu.com>
43377
43378 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
43379 `! grub_linux_is_bzimage', change order of address comparison to make
43380 it more intuitive, and improve "too big zImage" error message.
43381
7076340d 433822008-01-08 Robert Millan <rmh@aybabtu.com>
43383
43384 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
43385 `$(update-grub_DATA)'.
43386 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
43387 targets.
43388
9ca70333 433892008-01-07 Robert Millan <rmh@aybabtu.com>
43390
43391 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
43392 which instruction is modified by grub-setup during installation
43393 (since it wasn't obvious by only looking at this file).
43394
38ccf575 433952008-01-07 Robert Millan <rmh@aybabtu.com>
43396
43397 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
43398 listing actual TODO items.
43399
f5db4291 434002008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43401
868967cf 43402 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
43403 correctly.
43404 (grub_reiserfs_get_key_offset): Likewise.
43405 (grub_reiserfs_set_key_offset): Likewise.
43406 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 43407 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 43408
43409 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
43410 better to remove the bitfield version completely.
f19dbdb7 43411
868967cf 434122008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43413
f5db4291 43414 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
43415 allocated from the heap, due to the fshelp implementation.
43416 (grub_reiserfs_dir): Free NODE, due to the same reason.
43417
492e6d9d 434182008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43419
43420 Mostly from Vincent Pelletier:
f19dbdb7 43421
492e6d9d 43422 * fs/reiserfs.c: New file.
f19dbdb7 43423
492e6d9d 43424 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
43425 (reiserfs_mod_SOURCES): New variable.
43426 (reiserfs_mod_CFLAGS): Likewise.
43427 (reiserfs_mod_LDFLAGS): Likewise.
43428
43429 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
43430 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
43431 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
43432 normal/color.c.
43433
9ce3e7c1 434342008-01-06 Robert Millan <rmh@aybabtu.com>
43435
43436 * normal/color.c: Remove `<grub/env.h>'.
43437
f3b58148 434382008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
43439
43440 * include/grub/normal.h: Include <grub/env.h>.
43441
7ac3bcfa 434422008-01-05 Robert Millan <rmh@aybabtu.com>
43443
43444 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
43445 usage example with `(hd0,1)'.
fb358190 43446 Reported by Samuel Thibault.
7ac3bcfa 43447
c8ee99d7 434482008-01-05 Robert Millan <rmh@aybabtu.com>
43449
43450 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
43451 (grub_linux_boot_zimage): Rename to ...
43452 (grub_linux_boot): ... this.
43453 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
43454 (grub_linux_boot_zimage): Conditionalize zImage copy.
43455
43456 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
43457 (grub_linux_boot_bzimage): Remove prototype.
43458 (grub_linux_boot_zimage): Rename to ...
43459 (grub_linux_boot): ... this.
43460
43461 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
43462 (grub_linux_boot): Remove function.
43463
0ece25b1 434642008-01-05 Robert Millan <rmh@aybabtu.com>
43465
43466 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
43467 (grub_env_write_color_highlight): Likewise.
43468 (grub_wait_after_message): Likewise.
43469
43470 * normal/color.c: New file.
43471
43472 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43473 (normal_mod_DEPENDENCIES): Likewise.
43474
43475 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43476 (normal_mod_DEPENDENCIES): Likewise.
43477
43478 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43479 (normal_mod_DEPENDENCIES): Likewise.
43480
43481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43482 (normal_mod_DEPENDENCIES): Likewise.
43483
43484 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
43485 for waiting after a message is printed.
43486 * normal/main.c (read_config_file): Likewise.
43487 (grub_normal_init): Register grub_env_write_color_normal() and
43488 grub_env_write_color_highlight() hooks. Mark `color_normal' and
43489 `color_highlight' variables as global.
43490
43491 * normal/menu.c (grub_wait_after_message): New function.
43492 (grub_color_menu_normal): New variable. Replaces ...
43493 (GRUB_COLOR_MENU_NORMAL): ... this macro.
43494 (grub_color_menu_highlight): New variable. Replaces ...
43495 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
43496 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
43497 `GRUB_TERM_COLOR_STANDARD'.
43498 (print_message): Use `grub_setcolorstate' to reload colors. Rename
43499 `normal_code' and `highlight_code' to `old_color_normal' and
43500 `old_color_highlight', respectively.
43501 (grub_menu_init_page): Update colors when drawing the menu, based on
43502 `menu_color_normal' and `menu_color_highlight' variables.
43503 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
43504 a message is printed.
43505
182dd4e5 435062008-01-05 Robert Millan <rmh@aybabtu.com>
43507
43508 * kern/env.c (grub_env_context_open): Propagate hooks for global
43509 variables to new context.
43510
43511 * kern/main.c (grub_set_root_dev): Export `root' variable.
43512
ddf8f6ad 435132008-01-05 Robert Millan <rmh@aybabtu.com>
43514
43515 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 43516 discs unconditionally, since udev and others have options to provide
ddf8f6ad 43517 them.
43518
d8b43d9b 435192008-01-05 Robert Millan <rmh@aybabtu.com>
43520
43521 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
43522
2bff2de3 435232008-01-04 Christian Franke <franke@computer.org>
43524
43525 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
43526 of eisa_mmap.
43527
97eab917 435282008-01-03 Pavel Roskin <proski@gnu.org>
43529
43530 * kern/i386/linuxbios/init.c: Put "void" to all function
43531 declarations with no arguments.
43532 * kern/powerpc/ieee1275/init.c: Likewise.
43533 * term/i386/pc/at_keyboard.c: Likewise.
43534 * term/i386/pc/vga_text.c: Likewise.
43535 * util/grub-mkdevicemap.c: Likewise.
43536
b9416d00 435372008-01-02 Robert Millan <rmh@aybabtu.com>
43538
43539 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
43540 message when loaded image is out of bounds.
43541 (grub_multiboot_load_elf64): Likewise.
43542
92695df9 435432008-01-02 Pavel Roskin <proski@gnu.org>
43544
43545 * util/grub.d/10_linux.in: Try version without ".old" when
43546 looking for initrd. It's better to use initrd from the newer
43547 kernel of the same version than no initrd at all.
43548
d98d9cad 435492008-01-01 Robert Millan <rmh@aybabtu.com>
43550
43551 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
43552
dbfdce36 435532008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
43554
f19dbdb7 43555 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 43556 grub_video_get_active_render_target.
43557 (grub_video_adapter): Added unmap_color and get_active_render_target.
43558
f19dbdb7 43559 * video/video.c: Added grub_video_unmap_color and
dbfdce36 43560 grub_video_get_active_render_target.
43561 (grub_video_get_info): Changed method to accept NULL pointer as an
43562 argument to allow detection of active video adapter.
43563
43564 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
43565 grub_video_vbe_unmap_color_int.
43566 Added grub_video_vbe_unmap_color and
43567 grub_video_vbe_get_active_render_target.
43568 (grub_video_vbe_adapter): Added unmap_color and
43569 get_active_render_target.
43570
f19dbdb7 43571 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 43572 with grub_video_vbe_unmap_color_int.
43573
43574 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
43575 (DEFAULT_NORMAL_COLOR): Likewise.
43576 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
43577 (DEFAULT_FG_COLOR): Removed.
43578 (DEFAULT_BG_COLOR): Likewise.
43579 (DEFAULT_CURSOR_COLOR): Changed value.
43580 (grub_virtual_screen): Added standard_color_setting,
43581 normal_color_setting, highlight_color_setting and term_color.
43582 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
43583 (bitmap_width): Added.
43584 (bitmap_height): Likewise.
43585 (bitmap): Likewise.
43586 (set_term_color): Likewise.
43587 (grub_virtual_screen_setup): Changed to use new terminal coloring
43588 settings.
43589 (grub_gfxterm_init): Added init for bitmap.
43590 (grub_gfxterm_fini): Added destroy for bitmap.
43591 (redraw_screen_rect): Updated to use background bitmap and new
43592 terminal coloring.
43593 (scroll_up): Added optimization for case when there is no bitmap.
43594 (grub_gfxterm_cls): Fixed to use correct background color.
43595 (grub_virtual_screen_setcolorstate): Changed to use new terminal
43596 coloring.
43597 (grub_virtual_screen_setcolor): Likewise.
43598 (grub_virtual_screen_getcolor): Added.
43599 (grub_gfxterm_background_image_cmd): Likewise.
43600 (grub_video_term): Added setcolor and getcolor.
43601 (MOD_INIT): Added registration of background_image command.
43602 (MOD_TERM): Added unregistration for background_image command.
43603
c3c20931 436042007-12-30 Pavel Roskin <proski@gnu.org>
43605
43606 * loader/multiboot_loader.c: Fix multiboot command
43607 unregistration. Fix all typos in the word "multiboot".
43608
df266716 436092007-12-29 Pavel Roskin <proski@gnu.org>
94239199 43610
43611 * util/grub.d/10_linux.in: Refactor search for initrd. Add
43612 support for initrd names used in Fedora.
43613
fc6e896c 436142007-12-26 Bean <bean123ch@gmail.com>
43615
43616 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
43617 (cpio_mod_SOURCES): New variable.
43618 (cpio_mod_CFLAGS): Likewise.
43619 (cpio_mod_LDFLAGS): Likewise.
43620
43621 * fs/cpio.c: New file.
43622
43623 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
43624
43625 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43626
43627 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43628
43629 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43630
533110ad 436312007-12-25 Robert Millan <rmh@aybabtu.com>
43632
43633 * include/grub/term.h (struct grub_term): Add `getcolor' function.
43634 (grub_getcolor): New function.
43635
43636 * kern/term.c (grub_getcolor): New function.
43637 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
43638 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
43639 (print_entry): Set normal and highlight colors to
43640 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
43641 respectively, before printing and restore them to old
43642 values afterwards.
43643 (grub_menu_init_page): Likewise. Fill an additional colored space
43644 that would otherwise be left blank.
43645
43646 * term/efi/console.c (grub_console_getcolor): New function.
43647 (struct grub_console_term.getcolor): New variable.
43648 * term/i386/pc/console.c (grub_console_getcolor): New function.
43649 (struct grub_console_term.getcolor): New variable.
43650 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
43651 (struct grub_console_term.getcolor): New variable.
43652
43653 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
43654 (struct grub_console_term.setcolor): Remove variable.
43655 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
43656 (struct grub_console_term.setcolor): Remove variable.
43657 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
43658 (struct grub_console_term.setcolor): Remove variable.
43659 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
43660 (struct grub_console_term.setcolor): Remove variable.
43661
4931827f 436622007-12-25 Robert Millan <rmh@aybabtu.com>
43663
43664 * configure.ac: Search for possible unifont.hex locations, and
43665 define UNIFONT_HEX if found.
43666
43667 * Makefile.in (UNIFONT_HEX): Define variable.
43668 (DATA): Rename to ...
43669 (PKGLIB): ... this. Update all users.
43670 (PKGDATA): New variable.
43671 (pkgdata_IMAGES): Rename to ...
43672 (pkglib_IMAGES): ... this. Update all users.
43673 (pkgdata_MODULES): Rename to ...
43674 (pkglib_MODULES): ... this. Update all users.
43675 (pkgdata_PROGRAMS): Rename to ...
43676 (pkglib_PROGRAMS): ... this. Update all users.
43677 (pkgdata_DATA): Rename to ...
43678 (pkglib_DATA): ... this. Update all users.
43679 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
43680 (unicode.pff, ascii.pff): New rules.
43681 (all-local): Add `$(PKGDATA)' dependency.
43682 (install-local): Process `$(PKGDATA)'.
43683
43684 * util/update-grub_lib.in (font_path): Search for *.pff files in
43685 a few more locations, including `${pkgdata}'.
43686
57e57e31 436872007-12-23 Robert Millan <rmh@aybabtu.com>
43688
43689 Patch from Bean <bean123ch@gmail.com>:
43690 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
43691 `size'.
43692
4bc72aa9 436932007-12-21 Bean <bean123ch@gmail.com>
43694
43695 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
43696 (ntfscomp_mod_SOURCES): New variable.
43697 (ntfscomp_mod_CFLAGS): Likewise.
43698 (ntfscomp_mod_LDFLAGS): Likewise.
43699
43700 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
43701 (grub_probe_SOURCES): Likewise.
43702 (grub_emu_SOURCES): Likewise.
43703
43704 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43705 (grub_emu_SOURCES): Likewise.
43706
43707 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43708 (grub_emu_SOURCES): Likewise.
43709
43710 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43711 (grub_emu_SOURCES): Likewise.
43712
43713 * fs/ntfs.c (grub_ntfscomp_func): New variable.
43714 (read_run_list): Renamed to grub_ntfs_read_run_list.
43715 (decomp_nextvcn): Moved to ntfscomp.c.
43716 (decomp_getch): Likewise.
43717 (decomp_get16): Likewise.
43718 (decomp_block): Likewise.
43719 (read_block): Likewise.
43720 (read_data): Partially moved to ntfscomp.c.
43721 (fixup): Change unsigned to grub_uint16_t.
43722 (read_mft): Change unsigned long to grub_uint32_t.
43723 (read_attr): Likewise.
43724 (read_data): Likewise.
43725 (read_run_data): Likewise.
43726 (read_run_list): Likewise.
43727 (read_mft): Likewise.
43728
43729 * fs/ntfscomp.c: New file.
43730
43731 * include/grub/ntfs.h: New file.
43732
af680a87 437332007-12-16 Robert Millan <rmh@aybabtu.com>
43734
43735 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
43736 IDE disk check, since Linux is known to support 20 IDE disks.
43737 Reported by Colin Watson.
43738
84be7599 437392007-12-15 Bean <bean123ch@gmail.com>
43740
43741 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
43742 (lnxboot_img_SOURCES): New variable.
43743 (lnxboot_img_ASFLAGS): Likewise.
43744 (lnxboot_img_LDFLAGS): Likewise.
43745
43746 * boot/i386/pc/lnxboot.S: New file.
43747
6af9db01 437482007-11-24 Pavel Roskin <proski@gnu.org>
43749
43750 * configure.ac: Test if '--build-id=none' is supported by the
43751 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
43752 objcopy to generate incorrect binary files (binutils
43753 2.17.50.0.18-1 as shipped by Fedora 8).
43754 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
43755 linking, so that build ID doesn't break the test.
43756
7361cfe6 437572007-11-24 Pavel Roskin <proski@gnu.org>
43758
43759 * include/grub/i386/time.h: use "void" in the argument list
43760 of grub_cpu_idle().
43761 * include/grub/powerpc/time.h: Likewise.
43762 * include/grub/sparc64/time.h: Likewise.
43763
1593e10c 437642007-11-18 Christian Franke <franke@computer.org>
43765
43766 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
43767 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
43768 This fixes the problem that function keys did not work in grub-emu.
43769
3b8db1a8 437702007-11-18 Christian Franke <franke@computer.org>
43771
43772 * disk/host.c (grub_host_open): Remove attribute unused from
43773 name parameter. Add check for "host". This fixes the problem
43774 that grub-emu does not find partitions.
43775
2e29408d 437762007-11-18 Christian Franke <franke@computer.org>
43777
43778 * util/hostfs.c (is_dir): New function.
43779 (grub_hostfs_dir): Handle missing dirent.d_type case.
43780 (grub_hostfs_read): Add missing fseek().
43781 (grub_hostfs_label): Clear label pointer. This fixes a crash
43782 of grub-emu on "ls (host)".
43783
398cd047 437842007-11-18 Christian Franke <franke@computer.org>
43785
43786 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
43787 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
43788 to 64 bit boundary by default.
43789
c405c391 437902007-11-18 Bean <bean123ch@gmail.com>
43791
43792 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
43793 (hexdump_mod_SOURCES): New variable.
43794 (hexdump_mod_CFLAGS): Likewise.
43795 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 43796
c405c391 43797 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43798
43799 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43800
43801 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43802
43803 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43804
43805 * include/grub/hexdump.h: New file.
43806
43807 * commands/hexdump.c: New file.
43808
5cced7fd 438092007-11-10 Robert Millan <rmh@aybabtu.com>
43810
43811 * commands/i386/pc/play.c (beep_off): Switch order of arguments
43812 in grub_outb() calls.
43813 (beep_on): Likewise.
43814
8b714eb0 438152007-11-10 Christian Franke <franke@computer.org>
43816
43817 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
43818 (grub_menu_run): Likewise.
43819
ce0f1839 438202007-11-10 Robert Millan <rmh@aybabtu.com>
43821
43822 * include/grub/i386/efi/machine.h: New file.
43823 * include/grub/i386/linuxbios/machine.h: Likewise.
43824 * include/grub/i386/pc/machine.h: Likewise.
43825 * include/grub/powerpc/ieee1275/machine.h: Likewise.
43826 * include/grub/sparc64/ieee1275/machine.h: Likewise.
43827
43828 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
43829 (serial_hw_io_addr): New variable.
43830 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
43831 instead of `(unsigned short *) 0x400'.
43832
270c237d 438332007-11-10 Bean <bean123ch@gmail.com>
43834
43835 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
43836
a87783bf 438372007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43838
43839 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
43840 (vga_mod_SOURCES): Added.
43841 (vga_mod_CFLAGS): Likewise.
43842 (vga_mod_LDFLAGS): Likewise.
43843
43844 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
43845 grub_outb() calls.
43846 (set_map_mask): Likewise.
43847 (set_read_map): Likewise.
43848 (set_read_address): Likewise.
43849 (vga_font): Removed variable.
43850 (get_vga_glyph): Removed function.
43851 (invalidate_char): Likewise.
43852 (write_char): Changed to use grub_font_get_glyph() for font
43853 information.
43854 (grub_vga_putchar): Likewise.
43855 (grub_vga_getcharwidth): Likewise.
43856
6433b448 438572007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43858
43859 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
43860 flags.
43861 (pxeboot_img_LDFLAGS): Likewise.
43862 (diskboot_img_LDFLAGS): Likewise.
43863 (kernel_img_LDFLAGS): Likewise.
43864
49178511 438652007-11-06 Robert Millan <rmh@aybabtu.com>
43866
43867 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
43868 in grub_outb() calls.
43869 (serial_hw_init): Likewise.
43870
53b052de 438712007-11-05 Robert Millan <rmh@aybabtu.com>
43872
43873 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
43874 spaces. Skip non-regular files.
43875
5ab33bba 438762007-11-05 Robert Millan <rmh@aybabtu.com>
43877
43878 * kern/disk.c (grub_disk_firmware_fini)
43879 (grub_disk_firmware_is_tainted): New variables.
43880
43881 * include/grub/disk.h (grub_disk_firmware_fini)
43882 (grub_disk_firmware_is_tainted): Likewise.
43883
43884 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
43885 (grub_disk_biosdisk_fini): ... to here.
43886 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
43887 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
43888 is set. Register grub_disk_biosdisk_fini() in
43889 `grub_disk_firmware_fini'.
43890
43891 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
43892 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
43893 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
43894 to finish existing firmware disk interface.
43895
43896 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
43897 (ata_mod_SOURCES): New variable.
43898 (ata_mod_CFLAGS): Likewise.
43899 (ata_mod_LDFLAGS): Likewise.
43900
0149ab7c 439012007-11-05 Robert Millan <rmh@aybabtu.com>
43902
43903 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
43904 (grub_ata_wait): Reimplement using grub_millisleep().
43905
43906 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
43907 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
43908
be7ac41e 439092007-11-03 Marco Gerards <marco@gnu.org>
43910
43911 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
43912 (CRTC_ADDR_PORT): New macro.
43913 (CRTC_DATA_PORT): Likewise.
43914 (CRTC_CURSOR): Likewise.
43915 (CRTC_CURSOR_ADDR_HIGH): Likewise.
43916 (CRTC_CURSOR_ADDR_LOW): Likewise.
43917 (update_cursor): New function.
43918 (grub_console_real_putchar): Call `update_cursor'.
43919 (grub_console_gotoxy): Likewise.
43920 (grub_console_cls): Set the default color when clearing the
43921 screen.
43922 (grub_console_setcursor): Implemented.
43923
bb06ab2e 439242007-11-03 Marco Gerards <marco@gnu.org>
43925
43926 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
43927 become activate.
43928 (grub_ata_pio_write): Likewise.
43929
43930 (grub_atapi_identify): Wait after issuing an ATA command.
43931 (grub_atapi_packet): Likewise.
43932 (grub_ata_identify): Likewise.
43933 (grub_ata_readwrite): Likewise.
43934
cf8f780b 439352007-11-03 Marco Gerards <marco@gnu.org>
43936
43937 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
43938 (grub_ata_pio_write): Likewise.
43939 (grub_ata_readwrite): Use `grub_error', instead of
43940 returning `grub_errno'.
43941
ed649e54 439422007-11-03 Marco Gerards <marco@gnu.org>
43943
43944 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
43945 grub_ata_pio_write once for every single sector, instead of for
43946 multiple sectors.
43947
ca25d8f0 439482007-10-31 Robert Millan <rmh@aybabtu.com>
43949
43950 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
43951
43952 * conf/i386-linuxbios.rmk: New file.
43953
43954 * kern/i386/pc/hardware.c: Likewise.
43955 * term/i386/pc/at_keyboard.c: Likewise.
43956 * term/i386/pc/vga_text.c: Likewise.
43957
43958 * include/grub/i386/linuxbios/boot.h: Likewise.
43959 * include/grub/i386/linuxbios/console.h: Likewise.
43960 * include/grub/i386/linuxbios/init.h: Likewise.
43961 * include/grub/i386/linuxbios/kernel.h: Likewise.
43962 * include/grub/i386/linuxbios/loader.h: Likewise.
43963 * include/grub/i386/linuxbios/memory.h: Likewise.
43964 * include/grub/i386/linuxbios/serial.h: Likewise.
43965 * include/grub/i386/linuxbios/time.h: Likewise.
43966
43967 * kern/i386/linuxbios/init.c: Likewise.
43968 * kern/i386/linuxbios/startup.S: Likewise.
43969 * kern/i386/linuxbios/table.c: Likewise.
43970
e911ecc1 439712007-10-31 Marco Gerards <marco@gnu.org>
43972
43973 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
43974 (ata_mod_SOURCES): New variable.
43975 (ata_mod_CFLAGS): Likewise.
43976 (ata_mod_LDFLAGS): Likewise.
43977
43978 * disk/ata.c: New file.
43979
43980 * include/grub/disk.h (grub_disk_dev_id): Add
43981 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 43982
7f66d0e0 439832007-10-31 Robert Millan <rmh@aybabtu.com>
43984
43985 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
43986 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
43987
43988 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
43989 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
43990
43991 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
43992 `<grub/types.h>'.
43993
43994 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
43995
5cd7dd46 439962007-10-27 Robert Millan <rmh@aybabtu.com>
43997
3236ca65 43998 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 43999
2ebfc90f 440002007-10-22 Robert Millan <rmh@aybabtu.com>
44001
44002 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
44003 `"../realmode.S"'.
44004 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
44005
73fcb0f3 440062007-10-22 Robert Millan <rmh@aybabtu.com>
44007
44008 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
44009 (pkgdata_MODULES): Add `biosdisk.mod'.
44010 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
44011 variables.
44012
44013 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
44014 (grub_biosdisk_init): Replace with ...
44015 (GRUB_MOD_INIT(biosdisk)): ... this.
44016 (grub_biosdisk_fini): Replace with ...
44017 (GRUB_MOD_FINI(biosdisk)): ... this.
44018
44019 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
44020 (grub_machine_init): Remove call to grub_biosdisk_init().
44021 (grub_machine_fini): Remove call to grub_machine_fini().
44022
44023 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
44024
3381d274 440252007-10-22 Robert Millan <rmh@aybabtu.com>
44026
44027 * include/grub/time.h: New file.
44028 * include/grub/i386/time.h: Likewise.
44029 * include/grub/powerpc/time.h: Likewise.
44030 * include/grub/sparc64/time.h: Likewise.
44031
44032 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
44033 instances to ...
44034 (KERNEL_MACHINE_TIME_HEADER): ... this.
44035 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
44036 instances to ...
44037 (KERNEL_MACHINE_TIME_HEADER): ... this.
44038 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
44039 instances to ...
44040 (KERNEL_MACHINE_TIME_HEADER): ... this.
44041
44042 * kern/i386/efi/init.c: Include `<grub/time.h>'.
44043 (grub_millisleep): New function.
44044 * kern/i386/pc/init.c: Include `<grub/time.h>'.
44045 (grub_millisleep): New function.
44046 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
44047 Remove `grub/machine/time.h' include.
44048 (grub_millisleep): New function.
44049 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
44050 Remove `grub/machine/time.h' include.
44051 (grub_millisleep): New function.
44052
44053 * include/grub/misc.h (grub_div_roundup): New function.
44054
44055 * kern/misc.c: Include `<grub/time.h>'.
44056 (grub_millisleep_generic): New function.
44057
44058 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
44059 Add `time.h'.
44060 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
44061 Add `time.h'.
44062 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
44063 `machine/time.h'. Add `time.h'.
44064 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44065
a39a0312 440662007-10-21 Robert Millan <rmh@aybabtu.com>
44067
44068 * include/grub/misc.h (grub_max): New function.
44069
2aad70e2 440702007-10-21 Robert Millan <rmh@aybabtu.com>
44071
44072 * util/misc.c (grub_util_info): Call fflush() before returning.
44073
54b71c4b 440742007-10-20 Robert Millan <rmh@aybabtu.com>
44075
44076 * genmk.rb (Image): Copy `extra_flags' from here ...
44077 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
44078
44079 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
44080 to `argc' and `args' arguments.
44081
a979f513 440822007-10-17 Robert Millan <rmh@aybabtu.com>
44083
44084 * kern/i386/loader.S: New file.
44085
44086 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
44087 * kern/i386/loader.S (grub_linux_prot_size)... to here.
44088 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
44089 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
44090 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
44091 * kern/i386/loader.S (grub_linux_real_addr)... to here.
44092 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
44093 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
44094 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
44095 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
44096 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
44097 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
44098 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
44099 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
44100
44101 * kern/i386/realmode.S: New file.
44102
44103 * kern/i386/pc/startup.S (protstack): Moved from here ...
44104 * kern/i386/realmode.S (protstack)... to here.
44105 * kern/i386/pc/startup.S (gdt): Moved from here ...
44106 * kern/i386/realmode.S (gdt)... to here.
44107 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
44108 * kern/i386/realmode.S (prot_to_real)... to here.
44109
44110 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
44111 `kern/i386/realmode.S'.
44112
825fc8fd 441132007-10-17 Robert Millan <rmh@aybabtu.com>
44114
44115 * include/grub/i386/loader.h: New file.
44116
44117 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
44118 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
44119 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
44120 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
44121 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
44122 * include/grub/i386/loader.h (grub_linux_prot_size)
44123 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
44124 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
44125 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
44126 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
44127
44128 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
44129
e179b2f4 441302007-10-15 Robert Millan <rmh@aybabtu.com>
44131
44132 * normal/misc.c (grub_normal_print_device_info): Do not probe for
44133 filesystem when dev->disk is unset.
44134 Do probe for filesystem even when dev->disk->has_partitions is set.
44135 In case a filesystem is found, always report it.
44136 In case it isn't, if dev->disk->has_partitions is set, report that
44137 a partition table was found instead of reporting that no filesystem
44138 could be identified.
44139
5db82af6 441402007-10-12 Robert Millan <rmh@aybabtu.com>
44141
44142 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
44143 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
44144
68f6ac74 44145 * include/grub/types.h (grub_host_to_target16): New macro.
44146 (grub_host_to_target32): Likewise.
44147 (grub_host_to_target64): Likewise.
44148 (grub_target_to_host16): Likewise.
44149 (grub_target_to_host32): Likewise.
44150 (grub_target_to_host64): Likewise.
5db82af6 44151
44152 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44153 Renamed from to ...
44154 (GRUB_MOD_ALIGN): ...this. Update all users.
44155
68f6ac74 44156 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
44157 grub_host_to_target32.
44158 Replace grub_be_to_cpu32 with grub_target_to_host32.
44159 (load_modules): Likewise.
44160 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
44161 Replace grub_be_to_cpu32 with grub_target_to_host32.
44162 Replace grub_cpu_to_be16 with grub_host_to_target16.
44163 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 44164
3cf497cc 441652007-10-12 Robert Millan <rmh@aybabtu.com>
44166
44167 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
44168 * util/elf/grub-mkimage.c: ... here.
44169
44170 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
44171 `util/powerpc/ieee1275/grub-mkimage.c'.
44172
c8cc3692 441732007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 44174
c8cc3692 44175 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
44176 and make it easier to figure out.
44177 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
44178 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
44179 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
44180 leave us with less than HEAP_MIN_SIZE total heap.
44181 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 44182
5c58b791 441832007-10-03 Robert Millan <rmh@aybabtu.com>
44184
44185 * include/grub/i386/io.h: New file.
44186 * commands/i386/pc/play.c (inb): Removed.
44187 (outb): Removed.
44188 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44189 with grub_outb().
afcd2ef8 44190 * term/i386/pc/serial.c (inb): Removed.
44191 (outb): Removed.
44192 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44193 with grub_outb().
44194 * term/i386/pc/vga.c (inb): Removed.
44195 (outb): Removed.
44196 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44197 with grub_outb().
5c58b791 44198
1a477ed6 441992007-10-02 Robert Millan <rmh@aybabtu.com>
44200
44201 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
44202 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44203 Reported by Marcin Kurek.
44204
6b5d80fa 442052007-09-07 Robert Millan <rmh@aybabtu.com>
44206
44207 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
44208 SmartFirmware version updates (as released by Sven Luther), and avoid
44209 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
44210 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
44211 known broken.
44212
5618afbf 442132007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44214
44215 From Hitoshi Ozeki:
44216 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
44217 when merging two regions.
44218
6139dcd9 442192007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44220
508e39ee 44221 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
44222 * normal/completion.c (grub_normal_do_completion): Likewise.
44223 Reported by Hitoshi Ozeki.
44224
442252007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44226
6139dcd9 44227 Do not use devices at boot in chainloading.
f19dbdb7 44228
6139dcd9 44229 * loader/i386/pc/chainloader.c (boot_drive): New variable.
44230 (boot_part_addr): Likewise.
44231 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
44232 with BOOT_DRIVE and BOOT_PART_ADDR.
44233 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
44234 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
44235
38da6516 442362007-08-29 Robert Millan <rmh@aybabtu.com>
44237
44238 Patch from Simon Peter <dn.tlp@gmx.net>:
44239 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
44240 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
44241 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
44242 util/i386/pc/grub-setup.c_DEPENDENCIES.
44243 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
44244 util/grub-probe.c_DEPENDENCIES.
44245 * conf/powerpc-ieee1275.rmk: Likewise.
44246
29d0928c 442472007-08-28 Robert Millan <rmh@aybabtu.com>
44248
44249 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
44250 to tell grub-mkdevicemap how to name devices.
44251 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
44252 feature).
44253
44254 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
44255 util/i386/get_disk_name.c.
44256 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
44257 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
44258 util/ieee1275/get_disk_name.c.
44259
44260 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
44261
44262 * DISTLIST: Add util/i386/get_disk_name.c and
44263 util/ieee1275/get_disk_name.c.
44264
44265 * util/grub-mkdevicemap.c: Replace device naming logic with
44266 grub_util_get_disk_name() calls.
44267
5a0d3cca 442682007-08-20 Robert Millan <rmh@aybabtu.com>
44269
44270 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
44271 (so that it works for both plural and singular quantities).
44272
8b72db2f 442732007-08-05 Robert Millan <rmh@aybabtu.com>
44274
44275 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
44276 so that [xz] isn't taken into account when determining order.
44277
352466bf 442782007-08-02 Marco Gerards <marco@gnu.org>
44279
44280 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
44281 `include/multiboot2.h', `include/grub/elfload.h',
44282 `include/multiboot.h', `include/grub/multiboot.h',
44283 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
44284 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
44285 `kern/elf.c', `loader/multiboot_loader.c',
44286 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
44287 `loader/i386/pc/multiboot2.c',
44288 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
44289 `util/i386/pc/grub-mkrescue.in'. Remove
44290 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
44291 `include/grub/i386/pc/util/biosdisk.h' and
44292 `include/grub/powerpc/ieee1275/multiboot.h'.
44293
8f096014 442942007-08-02 Bean <bean123ch@gmail.com>
44295
44296 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
44297 (ntfs_mod_SOURCES): New variable.
44298 (ntfs_mod_CFLAGS): Likewise.
44299 (ntfs_mod_LDFLAGS): Likewise.
44300
44301 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
44302 (grub_probe_SOURCES): Likewise.
44303 (grub_emu_SOURCES): Likewise.
44304
44305 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
44306 (grub_emu_SOURCES): Likewise.
44307
44308 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
44309 (grub_emu_SOURCES): Likewise.
f19dbdb7 44310
8f096014 44311 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
44312
44313 * fs/ntfs.c: New file.
44314
9959f7db 443152007-08-02 Bean <bean123ch@gmail.com>
44316
44317 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
44318
44319 * file.h (grub_file): Likewise.
44320
44321 * fshelp.h (grub_fshelp_read_file): Likewise.
44322
44323 * util/i386/pc/grub-setup.c (setup): Likewise.
44324 (save_first_sector): Likewise.
44325 (save_blocklists): Likewise.
f19dbdb7 44326
9959f7db 44327 * fs/affs.c (grub_affs_read_file): Likewise.
44328
44329 * fs/ext2.c (grub_ext2_read_file): Likewise.
44330
44331 * fs/fat.c (grub_fat_read_data): Likewise.
44332
44333 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
44334
44335 * fs/hfs.c (grub_hfs_read_file): Likewise.
44336
44337 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44338
44339 * fs/jfs.c (grub_jfs_read_file): Likewise.
44340
44341 * fs/minix.c (grub_minix_read_file): Likewise.
44342
44343 * fs/sfs.c (grub_sfs_read_file): Likewise.
44344
44345 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 44346
9959f7db 44347 * fs/xfs.c (grub_xfs_read_file): Likewise.
44348
44349 * command/blocklist.c (read_blocklist): Likewise.
44350 (print_blocklist): Likewise.
44351
0a203f83 443522007-08-02 Marco Gerards <marco@gnu.org>
44353
44354 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
44355 `util/hostfs.c'.
44356
44357 * disk/host.c: New file.
44358
44359 * util/hostfs.c: Likewise.
44360
44361 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
44362 return `GRUB_ERR_BAD_FS'.
44363 * fs/sfs.c (grub_sfs_mount): Likewise.
44364 * fs/xfs.c (grub_xfs_mount): Likewise.
44365
44366 * include/grub/disk.h (enum grub_disk_dev_id): Add
44367 `GRUB_DISK_DEVICE_HOST_ID'.
44368
44369 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
44370
e5dfe777 443712007-07-24 Jerone Young <jerone@gmail.com>
44372
f19dbdb7 44373 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 44374 modules for compilation.
44375 * conf/powerpc-ieee1275.rmk: Likewise.
44376
44377 * include/multiboot.h: Move multiboot definitions to one file. Rename
44378 many definitions to not get grub specific.
44379 * include/multiboot2.h: Create header with multiboot 2 definitions.
44380 * include/grub/multiboot.h: Header for grub specific function
44381 prototypes and definitions.
44382 * include/grub/multiboot2.h: Likewise.
44383 * include/grub/multiboot_loader.h: Likewise.
44384 * include/grub/i386/pc/multiboot.h: Removed.
44385 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
44386
44387 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
44388 and 2 to allow for one multiboot and module commands.
44389 * loader/multiboot2.c: Add multiboot2 functionality.
44390 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
44391 and definition names.
44392 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
44393 2 functions.
44394 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
44395 ieee1275 specific multiboot2 code.
44396
44397 * kern/i386/pc/startup.S: Change headers and definition names for
44398 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
44399
daf0f0ba 444002007-07-22 Robert Millan <rmh@aybabtu.com>
44401
44402 * geninitheader.sh: Process file specified in first parameter rather
44403 than hardcoding grub_modules_init.lst.
fe6b695a 44404 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 44405 than hardcoding grub_modules_init.h.
44406
44407 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
44408 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
44409 grub_probe_init.[ch] and grub_setup_init.[ch].
44410
44411 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
44412 grub_modules_init.h with grub_emu_init.h.
44413 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
44414 grub_probe_init.[ch] files.
44415 * conf/i386-efi.rmk: Likewise.
44416 * conf/i386-pc.rmk: Likewise.
44417 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
44418 grub_setup_init.[ch] files.
44419
44420 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
44421 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
44422 to initialize modules rather than a list of hardcoded functions.
44423 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
44424 grub_init_all() to initialize modules rather than a list of hardcoded
44425 functions.
44426
54cdc1cc 444272007-07-22 Robert Millan <rmh@aybabtu.com>
44428
44429 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
44430 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
44431
ad0686cc 444322007-07-22 Robert Millan <rmh@aybabtu.com>
44433
44434 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44435 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
44436 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
44437 flag when running on SmartFirmware.
44438 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
44439 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
44440 was set.
44441
44442 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44443 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
44444 rather than decreasing it.
44445
44446 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
44447 there's not enough space to do it, fail in the same way as when it
44448 can't be done because there are no partitions.
44449
44450 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
44451 when nvsetenv failed.
44452
969c02ec 444532007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
44454
44455 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
44456 because this rule is automatically generated.
44457 (grub-mkrescue): Removed for the same reason as above.
44458
5a79f472 444592007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
44460
44461 Migrate to GNU General Public License Version 3.
f19dbdb7 44462
5a79f472 44463 * COPYING: Replaced with the plain text version of GPLv3.
44464
44465 * config.guess: Updated from gnulib.
44466 * config.sub: Likewise.
44467
44468 * geninit.sh: Output a GPLv3 copyright notice.
44469 * geninitheader.sh: Likewise.
44470 * genmodsrc.sh: Likewise.
44471 * gensymlist.sh.in: Likewise.
44472
44473 * boot/i386/pc/boot.S: Upgraded to GPLv3.
44474 * boot/i386/pc/diskboot.S: Likewise.
44475 * boot/i386/pc/pxeboot.S: Likewise.
44476 * commands/blocklist.c: Likewise.
44477 * commands/boot.c: Likewise.
44478 * commands/cat.c: Likewise.
44479 * commands/cmp.c: Likewise.
44480 * commands/configfile.c: Likewise.
44481 * commands/echo.c: Likewise.
44482 * commands/help.c: Likewise.
44483 * commands/ls.c: Likewise.
44484 * commands/search.c: Likewise.
44485 * commands/terminal.c: Likewise.
44486 * commands/test.c: Likewise.
44487 * commands/videotest.c: Likewise.
44488 * commands/i386/cpuid.c: Likewise.
44489 * commands/i386/pc/halt.c: Likewise.
44490 * commands/i386/pc/play.c: Likewise.
44491 * commands/i386/pc/reboot.c: Likewise.
44492 * commands/i386/pc/vbeinfo.c: Likewise.
44493 * commands/i386/pc/vbetest.c: Likewise.
44494 * commands/ieee1275/halt.c: Likewise.
44495 * commands/ieee1275/reboot.c: Likewise.
44496 * commands/ieee1275/suspend.c: Likewise.
44497 * disk/loopback.c: Likewise.
44498 * disk/lvm.c: Likewise.
44499 * disk/raid.c: Likewise.
44500 * disk/efi/efidisk.c: Likewise.
44501 * disk/i386/pc/biosdisk.c: Likewise.
44502 * disk/ieee1275/ofdisk.c: Likewise.
44503 * font/manager.c: Likewise.
44504 * fs/affs.c: Likewise.
44505 * fs/ext2.c: Likewise.
44506 * fs/fat.c: Likewise.
44507 * fs/fshelp.c: Likewise.
44508 * fs/hfs.c: Likewise.
44509 * fs/hfsplus.c: Likewise.
44510 * fs/iso9660.c: Likewise.
44511 * fs/jfs.c: Likewise.
44512 * fs/minix.c: Likewise.
44513 * fs/sfs.c: Likewise.
44514 * fs/ufs.c: Likewise.
44515 * fs/xfs.c: Likewise.
44516 * hello/hello.c: Likewise.
44517 * include/grub/acorn_filecore.h: Likewise.
44518 * include/grub/arg.h: Likewise.
44519 * include/grub/bitmap.h: Likewise.
44520 * include/grub/boot.h: Likewise.
44521 * include/grub/cache.h: Likewise.
44522 * include/grub/device.h: Likewise.
44523 * include/grub/disk.h: Likewise.
44524 * include/grub/dl.h: Likewise.
44525 * include/grub/elfload.h: Likewise.
44526 * include/grub/env.h: Likewise.
44527 * include/grub/err.h: Likewise.
44528 * include/grub/file.h: Likewise.
44529 * include/grub/font.h: Likewise.
44530 * include/grub/fs.h: Likewise.
44531 * include/grub/fshelp.h: Likewise.
44532 * include/grub/gzio.h: Likewise.
44533 * include/grub/hfs.h: Likewise.
44534 * include/grub/kernel.h: Likewise.
44535 * include/grub/loader.h: Likewise.
44536 * include/grub/lvm.h: Likewise.
44537 * include/grub/misc.h: Likewise.
44538 * include/grub/mm.h: Likewise.
44539 * include/grub/net.h: Likewise.
44540 * include/grub/normal.h: Likewise.
44541 * include/grub/parser.h: Likewise.
44542 * include/grub/partition.h: Likewise.
44543 * include/grub/pc_partition.h: Likewise.
44544 * include/grub/raid.h: Likewise.
44545 * include/grub/rescue.h: Likewise.
44546 * include/grub/script.h: Likewise.
44547 * include/grub/setjmp.h: Likewise.
44548 * include/grub/symbol.h: Likewise.
44549 * include/grub/term.h: Likewise.
44550 * include/grub/terminfo.h: Likewise.
44551 * include/grub/tparm.h: Likewise.
44552 * include/grub/types.h: Likewise.
44553 * include/grub/video.h: Likewise.
44554 * include/grub/efi/api.h: Likewise.
44555 * include/grub/efi/chainloader.h: Likewise.
44556 * include/grub/efi/console.h: Likewise.
44557 * include/grub/efi/console_control.h: Likewise.
44558 * include/grub/efi/disk.h: Likewise.
44559 * include/grub/efi/efi.h: Likewise.
44560 * include/grub/efi/pe32.h: Likewise.
44561 * include/grub/efi/time.h: Likewise.
44562 * include/grub/i386/linux.h: Likewise.
44563 * include/grub/i386/setjmp.h: Likewise.
44564 * include/grub/i386/types.h: Likewise.
44565 * include/grub/i386/efi/kernel.h: Likewise.
44566 * include/grub/i386/efi/loader.h: Likewise.
44567 * include/grub/i386/efi/time.h: Likewise.
44568 * include/grub/i386/pc/biosdisk.h: Likewise.
44569 * include/grub/i386/pc/boot.h: Likewise.
44570 * include/grub/i386/pc/chainloader.h: Likewise.
44571 * include/grub/i386/pc/console.h: Likewise.
44572 * include/grub/i386/pc/init.h: Likewise.
44573 * include/grub/i386/pc/kernel.h: Likewise.
44574 * include/grub/i386/pc/loader.h: Likewise.
44575 * include/grub/i386/pc/memory.h: Likewise.
44576 * include/grub/i386/pc/multiboot.h: Likewise.
44577 * include/grub/i386/pc/serial.h: Likewise.
44578 * include/grub/i386/pc/time.h: Likewise.
44579 * include/grub/i386/pc/vbe.h: Likewise.
44580 * include/grub/i386/pc/vbeblit.h: Likewise.
44581 * include/grub/i386/pc/vbefill.h: Likewise.
44582 * include/grub/i386/pc/vbeutil.h: Likewise.
44583 * include/grub/i386/pc/vga.h: Likewise.
44584 * include/grub/ieee1275/ieee1275.h: Likewise.
44585 * include/grub/ieee1275/ofdisk.h: Likewise.
44586 * include/grub/powerpc/libgcc.h: Likewise.
44587 * include/grub/powerpc/setjmp.h: Likewise.
44588 * include/grub/powerpc/types.h: Likewise.
44589 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
44590 * include/grub/powerpc/ieee1275/console.h: Likewise.
44591 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
44592 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
44593 * include/grub/powerpc/ieee1275/loader.h: Likewise.
44594 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
44595 * include/grub/powerpc/ieee1275/time.h: Likewise.
44596 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
44597 * include/grub/sparc64/libgcc.h: Likewise.
44598 * include/grub/sparc64/setjmp.h: Likewise.
44599 * include/grub/sparc64/types.h: Likewise.
44600 * include/grub/sparc64/ieee1275/console.h: Likewise.
44601 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44602 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44603 * include/grub/sparc64/ieee1275/time.h: Likewise.
44604 * include/grub/util/biosdisk.h: Likewise.
44605 * include/grub/util/getroot.h: Likewise.
44606 * include/grub/util/lvm.h: Likewise.
44607 * include/grub/util/misc.h: Likewise.
44608 * include/grub/util/raid.h: Likewise.
44609 * include/grub/util/resolve.h: Likewise.
44610 * io/gzio.c: Likewise.
44611 * kern/device.c: Likewise.
44612 * kern/disk.c: Likewise.
44613 * kern/dl.c: Likewise.
44614 * kern/elf.c: Likewise.
44615 * kern/env.c: Likewise.
44616 * kern/err.c: Likewise.
44617 * kern/file.c: Likewise.
44618 * kern/fs.c: Likewise.
44619 * kern/loader.c: Likewise.
44620 * kern/main.c: Likewise.
44621 * kern/misc.c: Likewise.
44622 * kern/mm.c: Likewise.
44623 * kern/parser.c: Likewise.
44624 * kern/partition.c: Likewise.
44625 * kern/rescue.c: Likewise.
44626 * kern/term.c: Likewise.
44627 * kern/efi/efi.c: Likewise.
44628 * kern/efi/init.c: Likewise.
44629 * kern/efi/mm.c: Likewise.
44630 * kern/i386/dl.c: Likewise.
44631 * kern/i386/efi/init.c: Likewise.
44632 * kern/i386/efi/startup.S: Likewise.
44633 * kern/i386/pc/init.c: Likewise.
44634 * kern/i386/pc/lzo1x.S: Likewise.
44635 * kern/i386/pc/startup.S: Likewise.
44636 * kern/ieee1275/ieee1275.c: Likewise.
44637 * kern/powerpc/cache.S: Likewise.
44638 * kern/powerpc/dl.c: Likewise.
44639 * kern/powerpc/ieee1275/cmain.c: Likewise.
44640 * kern/powerpc/ieee1275/crt0.S: Likewise.
44641 * kern/powerpc/ieee1275/init.c: Likewise.
44642 * kern/powerpc/ieee1275/openfw.c: Likewise.
44643 * kern/sparc64/cache.S: Likewise.
44644 * kern/sparc64/dl.c: Likewise.
44645 * kern/sparc64/ieee1275/init.c: Likewise.
44646 * kern/sparc64/ieee1275/openfw.c: Likewise.
44647 * loader/efi/chainloader.c: Likewise.
44648 * loader/efi/chainloader_normal.c: Likewise.
44649 * loader/i386/efi/linux.c: Likewise.
44650 * loader/i386/efi/linux_normal.c: Likewise.
44651 * loader/i386/pc/chainloader.c: Likewise.
44652 * loader/i386/pc/chainloader_normal.c: Likewise.
44653 * loader/i386/pc/linux.c: Likewise.
44654 * loader/i386/pc/linux_normal.c: Likewise.
44655 * loader/i386/pc/multiboot.c: Likewise.
44656 * loader/i386/pc/multiboot_normal.c: Likewise.
44657 * loader/powerpc/ieee1275/linux.c: Likewise.
44658 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
44659 * normal/arg.c: Likewise.
44660 * normal/cmdline.c: Likewise.
44661 * normal/command.c: Likewise.
44662 * normal/completion.c: Likewise.
44663 * normal/execute.c: Likewise.
44664 * normal/function.c: Likewise.
44665 * normal/lexer.c: Likewise.
44666 * normal/main.c: Likewise.
44667 * normal/menu.c: Likewise.
44668 * normal/menu_entry.c: Likewise.
44669 * normal/misc.c: Likewise.
44670 * normal/parser.y: Likewise.
44671 * normal/script.c: Likewise.
44672 * normal/i386/setjmp.S: Likewise.
44673 * normal/powerpc/setjmp.S: Likewise.
44674 * normal/sparc64/setjmp.S: Likewise.
44675 * partmap/acorn.c: Likewise.
44676 * partmap/amiga.c: Likewise.
44677 * partmap/apple.c: Likewise.
44678 * partmap/gpt.c: Likewise.
44679 * partmap/pc.c: Likewise.
44680 * partmap/sun.c: Likewise.
44681 * term/gfxterm.c: Likewise.
44682 * term/terminfo.c: Likewise.
44683 * term/efi/console.c: Likewise.
44684 * term/i386/pc/console.c: Likewise.
44685 * term/i386/pc/serial.c: Likewise.
44686 * term/i386/pc/vesafb.c: Likewise.
44687 * term/i386/pc/vga.c: Likewise.
44688 * term/ieee1275/ofconsole.c: Likewise.
44689 * util/biosdisk.c: Likewise.
44690 * util/console.c: Likewise.
44691 * util/genmoddep.c: Likewise.
44692 * util/getroot.c: Likewise.
44693 * util/grub-emu.c: Likewise.
44694 * util/grub-mkdevicemap.c: Likewise.
44695 * util/grub-probe.c: Likewise.
44696 * util/lvm.c: Likewise.
44697 * util/misc.c: Likewise.
44698 * util/raid.c: Likewise.
44699 * util/resolve.c: Likewise.
44700 * util/update-grub.in: Likewise.
44701 * util/update-grub_lib.in: Likewise.
44702 * util/grub.d/00_header.in: Likewise.
44703 * util/grub.d/10_hurd.in: Likewise.
44704 * util/grub.d/10_linux.in: Likewise.
44705 * util/i386/efi/grub-install.in: Likewise.
44706 * util/i386/efi/grub-mkimage.c: Likewise.
44707 * util/i386/pc/grub-install.in: Likewise.
44708 * util/i386/pc/grub-mkimage.c: Likewise.
44709 * util/i386/pc/grub-mkrescue.in: Likewise.
44710 * util/i386/pc/grub-setup.c: Likewise.
44711 * util/i386/pc/misc.c: Likewise.
44712 * util/powerpc/ieee1275/grub-install.in: Likewise.
44713 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
44714 * util/powerpc/ieee1275/misc.c: Likewise.
44715 * video/bitmap.c: Likewise.
44716 * video/video.c: Likewise.
44717 * video/i386/pc/vbe.c: Likewise.
44718 * video/i386/pc/vbeblit.c: Likewise.
44719 * video/i386/pc/vbefill.c: Likewise.
44720 * video/i386/pc/vbeutil.c: Likewise.
44721 * video/readers/tga.c: Likewise.
44722
3572d015 447232007-07-02 Robert Millan <rmh@aybabtu.com>
44724
44725 * conf/i386-efi.rmk: Replace obsolete reference to
44726 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
44727 with util/getroot.c.
44728 * conf/powerpc-ieee1275.rmk: Likewise.
44729 * conf/sparc64-ieee1275.rmk: Likewise.
44730
44731 * util/grub-emu.c (main): Fix unchecked pointer handling.
44732
2c2a681b 447332007-07-02 Robert Millan <rmh@aybabtu.com>
44734
44735 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
44736 invocation to fail, in order to support partition-less media.
44737
44738 * util/i386/pc/grub-install.in: Likewise.
44739
44740 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
44741 which fs or partmap modules are needed (akin to its sister scripts).
44742
44743 Also use grub-probe to get rid of unportable /proc/mounts check.
44744
44745 Print the same informational message that the other scripts do, before
fe6b695a 44746 exiting.
2c2a681b 44747
6193defe 447482007-06-23 Robert Millan <rmh@aybabtu.com>
44749
fe6b695a 44750 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 44751 a font file can be found and, if so, echo the GRUB path to it.
44752
44753 * util/update-grub.in: Handle multiple terminals depending on user
44754 input, platform availability and font file presence. Propagate
44755 variables of our findings to /etc/grub.d/ children.
44756
44757 * util/grub.d/00_header.in: Handle multiple terminals, based on
44758 environment setup by update-grub.
44759
eface1dc 447602007-06-23 Robert Millan <rmh@aybabtu.com>
44761
ba50d28f 44762 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 44763
bf697e28 447642007-06-21 Robert Millan <rmh@aybabtu.com>
44765
44766 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
44767 indicate end of data section in kernel image.
44768 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
44769 GRUB_KERNEL_MACHINE_DATA_END.
44770
44771 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
44772 space for it.
44773 * kern/i386/efi/startup.S: Likewise.
44774
44775 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
44776 during image generation. Implement --prefix option to override this
44777 patch.
44778 * util/i386/efi/grub-mkimage.c: Likewise.
44779
44780 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
44781 code to make path relative to its root into a separate function.
44782
44783 * util/i386/pc/grub-install.in: Use newly provided
44784 make_system_path_relative_to_its_root() to convert ${grubdir}, then
44785 pass the result to grub-install --prefix.
44786
baa574b4 447872007-06-13 Robert Millan <rmh@aybabtu.com>
44788
44789 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
44790 DEFAULT_DEVICE_MAP.
44791 * util/grub-emu.c: Use above definitions from misc.h instead of
44792 defining them.
44793 * util/grub-mkdevicemap.c: Likewise.
44794 * util/i386/pc/grub-setup.c: Likewise.
44795 * util/grub-probe.c: Likewise.
44796 (probe): Abort with grub_util_error() when either
44797 grub_guess_root_device or grub_util_get_grub_dev fails.
44798
0215dcbf 447992007-06-12 Robert Millan <rmh@aybabtu.com>
44800
44801 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
44802 "pager" assignment.
44803 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
44804 "pcdata".
44805 * util/grub-probe.c (probe): Likewise for "drive_name".
44806
8af2ab7b 448072007-06-11 Robert Millan <rmh@aybabtu.com>
44808
44809 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
44810 not just the cdrom one.
44811
59d31694 448122007-06-11 Robert Millan <rmh@aybabtu.com>
44813
44814 * util/i386/pc/grub-mkrescue.in: Add "set -e".
44815 Add --pkglibdir=DIR option to override pkglibdir.
44816 Mention --image-type=TYPE in help output.
44817 Fix --grub-mkimage (it was a no-op).
fe6b695a 44818 Abort gracefully when no parameter is given.
59d31694 44819
7ee367e4 448202007-06-11 Robert Millan <rmh@aybabtu.com>
44821
44822 * util/i386/pc/grub-mkrescue.in: New file.
44823 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
44824 * Makefile.in: Handle bin_SCRIPTS.
44825
29b0ed46 448262007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
44827
44828 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
44829 list of video modes.
44830
c0f90770 448312007-06-06 Robert Millan <rmh@aybabtu.com>
44832
44833 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
44834 file doesn't exist, or if it is in a filesystem grub can't read.
44835
44836 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
44837 not abort if GRUB_DRIVE could not be defined. Rearrange generated
44838 header comment to fit in 80 columns when the variables are resolved.
44839
44840 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
44841 could be identified by update-grub. Remove redundant check for
fe6b695a 44842 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 44843 handles that).
44844
fb36dc26 448452007-06-04 Robert Millan <rmh@aybabtu.com>
44846
44847 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
44848
44849 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
44850
44851 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
44852
0c68c93e 448532007-06-04 Robert Millan <rmh@aybabtu.com>
44854
44855 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
44856
44857 * include/grub/partition.h: Declare grub_apple_partition_map_init and
44858 grub_apple_partition_map_fini.
44859
44860 * util/biosdisk.c
44861 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
44862 to access >2 TiB disks).
44863
44864 Print disk->total_sectors with %llu instead of %lu, since this
44865 variable is always 64-bit (prevents wrong disk size from being displayed
44866 on either >2 TiB disk or big-endian CPU).
44867
44868 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
44869 into a generic case that supports all (sane) partition maps.
44870
44871 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
44872 breaks big-endian.
44873
44874 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
44875 and grub_apple_partition_map_fini() after that.
44876
0f23eb74 448772007-06-01 Robert Millan <rmh@aybabtu.com>
44878
44879 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
44880
44881 * util/grub.d/00_header.in: Only enable gfxterm when
44882 convert_system_path_to_grub_path() succeeds.
44883
42c71976 448842007-05-20 Robert Millan <rmh@aybabtu.com>
44885
44886 * util/update-grub_lib.in: New file.
44887 * DISTLIST: Add update-grub_lib.in.
44888 * conf/common.rmk: Generate update-grub_lib and install it in
44889 $(lib_DATA).
44890 * Makefile.in: Add install routine for $(lib_DATA).
44891
44892 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
44893 function provided by update-grub_lib to support arbitrary paths of
44894 unifont.pff.
44895 * util/update-grub.in: Use convert_system_path_to_grub_path() to
44896 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
44897
5beb2291 448982007-05-19 Robert Millan <rmh@aybabtu.com>
44899
44900 * commands/i386/cpuid.c: New module.
44901 * DISTLIST: Add it.
44902 * conf/i386-efi.rmk: Enable cpuid.mod.
44903 * conf/i386-pc.rmk: Likewise.
44904
7262eca1 449052007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44906
44907 * kern/disk.c (grub_disk_read): Check return value of
44908 grub_realloc().
44909
260ba823 449102007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44911
44912 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
44913 arrays.
44914 * disk/raid.c (grub_raid_open): Likewise.
44915
1ecb6cf2 449162007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44917
44918 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
44919 stack instead of on the heap.
44920
44921 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
44922 before doing a read on it.
44923
44924 * configure.ac: Only use -fno-stack-protector for the target
44925 environment.
f19dbdb7 44926
21c8cbb1 449272007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44928
44929 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
44930 __attribute_ ((unused)) to mode_type argument.
44931
44932 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 44933
21c8cbb1 44934 * kern/misc.c (memcmp): Fix prototype.
44935
44936 * include/grub/partition.h [GRUB_UTIL]
44937 (grub_gpt_partition_map_init): Add prototype.
44938 (grub_gpt_partition_map_fini): Likewise.
44939
44940 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
44941 at the right place.
44942
44943 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
44944 (grub_fat_read_data): Likewise.
44945 (grub_fat_find_dir): Likewise.
44946
44947 * font/manager.c (find_glyph): Make table a const.
44948 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 44949
849d55d3 449502007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
44951
44952 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
44953 code, first search for device in /dev/mapper, then in /dev.
44954 (grub_util_get_grub_dev): New function.
44955 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
44956 prototype.
44957 * util/grub-probe.c (probe): Remove check for RAID, call
44958 grub_util_get_grub_dev() instead of
44959 grub_util_biosdisk_get_grub_dev().
44960 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
44961 grub_util_biosdisk_get_grub_dev().
44962 * util/i386/pc/grub-setup.c (main): Likewise.
44963
8fff7c2f 449642007-05-16 Robert Millan <rmh@aybabtu.com>
44965
44966 * DISTLIST: Update for the latest changes.
44967 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
44968 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
44969 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
44970 grub/util/biosdisk.h.
44971 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
44972 grub/util/biosdisk.h.
44973
48e12b52 449742007-05-16 Robert Millan <rmh@aybabtu.com>
44975
44976 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
44977
46b9d128 449782007-05-16 Robert Millan <rmh@aybabtu.com>
44979
44980 * util/i386/efi/grub-install.in: New.
44981 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
44982 newly added grub-install.
44983 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
44984 include.
44985 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
44986 grub/util/biosdisk.h.
44987 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
44988 grub/util/biosdisk.h.
44989
2d1a40a9 449902007-05-16 Robert Millan <rmh@aybabtu.com>
44991
44992 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
44993 * include/grub/util/biosdisk.h: ... here.
44994 * util/i386/pc/biosdisk.c: Moved to ...
44995 * util/biosdisk.c: ... here.
44996 * util/i386/pc/getroot.c: Moved to ...
44997 * util/getroot.c: ... here.
44998 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
44999 * util/grub-mkdevicemap.c: ... here.
45000 * util/i386/pc/grub-probe.c: Moved to ...
45001 * util/grub-probe.c: ... here.
45002
9e26e3bc 450032007-05-15 Robert Millan <rmh@aybabtu.com>
45004
45005 * util/update-grub.in: Remove duplicated line in grub.cfg header
45006 message.
45007
57f96397 450082007-05-13 Robert Millan <rmh@aybabtu.com>
45009
45010 * util/update-grub.in: Fix a few assumptions about the devices holding
45011 /, /boot and /boot/grub being the same.
45012 * util/grub.d/00_header.in: Likewise.
45013 * util/grub.d/10_hurd.in: Likewise.
45014 * util/grub.d/10_linux.in: Likewise.
45015
45016 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
45017 patterns. Use that to define the `.old' suffix as older than `'.
45018
45019 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
45020
45021 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
45022 the grub.cfg header message.
45023
2e610d62 450242007-05-11 Robert Millan <rmh@aybabtu.com>
45025
45026 * util/update-grub.in: Create device.map if it doesn't already exist,
45027 before attempting to run grub-probe.
45028 Check for grub-probe and grub-mkdevicemap with the same code
45029 grub-install is using.
45030 Remove test mode.
45031
3f6a10ef 450322007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
45033
45034 * Makefile.in: Add the datarootdir autoconf variable.
45035
02e7b75e 450362007-05-09 Robert Millan <rmh@aybabtu.com>
45037
45038 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 45039 fail gracefully if dev->disk->partition == NULL.
02e7b75e 45040
75f396cc 450412007-05-07 Robert Millan <rmh@aybabtu.com>
45042
45043 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
45044 determine partition map module.
45045 * util/i386/pc/grub-install.in: Use this feature to decide which
45046 partition module to load, instead of hardcoding pc and gpt.
45047
da65cb36 450482007-05-07 Robert Millan <rmh@aybabtu.com>
45049
45050 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
45051 source directory differs from build directory.
45052
b57d6a91 450532007-05-05 Robert Millan <rmh@aybabtu.com>
45054
45055 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
45056 initialisation.
45057
509d00f1 450582007-05-05 Robert Millan <rmh@aybabtu.com>
45059
45060 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
45061
c48f23ef 450622007-05-05 Robert Millan <rmh@aybabtu.com>
45063
45064 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
45065 command-line arguments via ${GRUB_CMDLINE_LINUX}.
45066
20b97658 450672007-05-05 Robert Millan <rmh@aybabtu.com>
45068
45069 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
45070 (grub_probe_SOURCES): Likewise.
45071 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
45072 GPT and initialize dos_part and bsd_part accordingly.
45073 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
45074 install_bsd_part.
45075 (main): Activate gpt module for use during partition identification,
45076 and deactivate it afterwards.
45077 * util/i386/pc/grub-install.in: Add gpt module to core.img.
45078 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
45079 partition identification, and deactivate it afterwards.
45080
99123174 450812007-05-05 Robert Millan <rmh@aybabtu.com>
45082
45083 * term/i386/pc/console.c (grub_console_fini): Call
45084 grub_term_set_current() before grub_term_unregister().
45085
ebd97f6e 450862007-05-04 Robert Millan <rmh@aybabtu.com>
45087
45088 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
45089 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
45090 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
45091 and update-grub_DATA.
45092 * conf/common.rmk: Build and install update-grub components.
45093 * conf/common.mk: Regenerate.
45094 * util/update-grub.in: New. Core of update-grub.
45095 * util/grub.d/00_header.in: New. Generates grub.cfg header.
45096 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
45097 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
45098 * util/grub.d/README: New. Document grub.d directory layout.
45099
b06a264d 451002007-05-01 Robert Millan <rmh@aybabtu.com>
45101
45102 * util/grub-emu.c: Move initialization functions
45103 grub_util_biosdisk_init() and grub_init_all() before
45104 grub_util_biosdisk_get_grub_dev(), which relies on them.
45105
41f0050e 451062007-04-19 Robert Millan <rmh@aybabtu.com>
45107
45108 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
45109 it is used later.
45110
04582bb3 451112007-04-18 Jerone Young <jerone@gmail.com>
45112
f19dbdb7 45113 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 45114 stanza.
45115
08db4632 451162007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 45117
08db4632 45118 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
45119 continue on and look for device node with real device name.
45120
801b76be 451212007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 45122
fe6b695a 45123 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 45124 ability.
45125 * Makefile.in: Add autoconf package transformation code.
45126 * util/i386/pc/grub-install.in: Likewise.
45127 * util/powerpc/ieee1275/grub-install.in: Likewise.
45128
6795c4e1 451292007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
45130
45131 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
45132 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
45133 (EXT2_REVISION): Likewise.
45134 (EXT2_INODE_SIZE): Likewise.
45135 (struct grub_ext2_block_group): Added a missing member
45136 "used_dirs".
45137 (grub_ext2_read_inode): Divide by the inode size in a superblock
45138 instead of 128 to obtain INODES_PER_BLOCK.
45139 Use the macro EXT2_INODE_SIZE instead of directly using
45140 SBLOCK->INODE_SIZE.
45141
d70af616 451422007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
45143
45144 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
45145 superblock instead of the structure size to compute an
45146 offset. This fixes the problem that GRUB could not read a
45147 filesystem when inode size is different from 128-byte.
45148
3b801603 451492007-03-05 Marco Gerards <marco@gnu.org>
45150
45151 * normal/main.c (read_config_file): When "menu" is not set, create
45152 an initial context.
45153
4785bfe4 451542007-02-21 Hollis Blanchard <hollis@penguinppc.org>
45155
45156 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
45157 (HEAP_LIMIT): New macro.
45158 (grub_claim_heap): Claim memory up to `heaplimit'.
45159
a0cbb023 451602007-02-21 Hollis Blanchard <hollis@penguinppc.org>
45161
45162 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
45163 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
45164 (_start): Likewise.
45165 (grub_arch_modules_addr): Return address after `_end'.
45166 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
45167 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
45168 (add_segments): Calculate `_end' from phdr size and location.
45169 (ALIGN_UP): Moved to ...
45170 * include/grub/misc.h: here.
45171 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45172 New macro.
45173 (GRUB_IEEE1275_MODULE_BASE): Removed.
45174
fd7d8eba 451752007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45176
45177 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
45178 loop boundary.
45179
9b09e6fc 451802007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45181
45182 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
45183 All users updated.
45184 (grub_elf64_load_hook_t): Likewise.
45185 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
45186 debug output.
45187
3ce27299 451882007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45189
45190 * kern/mm.c: Update copyright.
45191 (grub_mm_debug): Correct syntax error.
45192 (grub_mm_dump_free): New function.
45193 (grub_debug_free): Call `grub_free'.
45194 * include/grub/mm.h: Update copyright.
45195 (grub_mm_dump_free): Add declaration.
45196
077d5fee 451972007-02-12 Hollis Blanchard <hollis@penguinppc.org>
45198
45199 * include/grub/ieee1275/ieee1275.h: Update copyright.
45200 * kern/powerpc/ieee1275/init.c: Likewise.
45201 * kern/powerpc/ieee1275/openfw.c: Likewise.
45202
45203 * loader/powerpc/ieee1275/linux.c: Likewise.
45204 * include/grub/elfload.h: Likewise.
45205 * kern/elf.c: Likewise.
45206 (grub_elf32_load): Pass `base' and `size' parameters. Update all
45207 callers.
45208 (grub_elf64_load): Likewise.
45209 (grub_elf32_load_segment): Move to a nested function.
45210 (grub_elf64_load_segment): Likewise.
45211
dc946850 452122007-02-12 Hollis Blanchard <hollis@penguinppc.org>
45213
45214 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
45215 prototype.
45216 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
45217 (grub_heap_len): Likewise.
45218 (HEAP_SIZE): New macro.
45219 (grub_claim_heap): New function.
45220 (grub_machine_init): Don't claim heap directly. Call
45221 `grub_claim_heap'.
45222 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
45223 (grub_available_iterate): New function.
45224
baa2a121 452252007-02-03 Thomas Schwinge <tschwinge@gnu.org>
45226
45227 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
45228 * configure.ac: Use it for testing the HOST and TARGET compilers.
45229
4fe9862e 452302006-12-13 Thomas Schwinge <tschwinge@gnu.org>
45231
45232 * Makefile.in (enable_grub_emu): New variable.
45233 * configure.ac (--enable-grub-emu): New option.
45234 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
45235 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
45236 * conf/i386-pc.rmk: Likewise.
45237 * conf/powerpc-ieee1275.rmk: Likewise.
45238 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
45239
a8aa5762 452402006-12-12 Marco Gerards <marco@gnu.org>
45241
45242 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
45243
45244 * kern/env.c (grub_env_unset): Don't free the member `value' when
45245 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
45246 pointer.
45247
45248 * normal/main.c (current_menu): Removed.
45249 (free_menu): Unset the `menu' environment variable.
45250 (grub_normal_menu_addentry): Make use of the environment variable
45251 `menu', instead of using the global `current_menu'. Allocate
45252 memory for the sourcecode of this entry.
45253 (read_config_file): New argument `nested', changed all callers.
45254 Only in the case of a new context, initialize a new menu. Set the
45255 `menu' environment variable.
45256 (grub_normal_execute): Don't set and unset the environment
45257 variable `menu' here anymore. Only free the menu when leaving the
45258 context.
45259
45260 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
45261 leak.
45262
957b3a3e 452632006-12-11 Marco Gerards <marco@gnu.org>
45264
45265 * normal/menu_entry.c (run): Fix off by one bug so the last line
45266 is executed. Move the loader check to outside the loop.
45267
ef875714 452682006-12-08 Hollis Blanchard <hollis@penguinppc.org>
45269
45270 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
45271
4e739985 452722006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
45273
45274 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
45275 the number of sectors. Reported by Andrey Shuvikov
45276 <mr_hyro@yahoo.com>.
f19dbdb7 45277
790707f2 452782006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
45279
45280 * kern/disk.c (grub_disk_read): When there is a read error, always
45281 try to read only the necessary data.
f19dbdb7 45282
790707f2 45283 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
45284 disk/raid.c.
45285 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
45286 prototype.
45287 [GRUB_UTIL] (grub_raid_fini): Likewise.
45288 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 45289 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 45290 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
45291 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
45292 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
45293 and grub_raid_fini().
f19dbdb7 45294
03e58196 452952006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
45296
45297 * include/grub/types.h (__unused): Rename to UNUSED.
45298 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
45299 (grub_elf64_size): Likewise.
f19dbdb7 45300
ae4f23bf 453012006-11-03 Hollis Blanchard <hollis@penguinppc.org>
45302
45303 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
45304 grub_error_push and grub_error_pop in the error-handling path.
45305 (grub_elf32_load_segment): Only call grub_file_read with non-zero
45306 length.
45307
2166cc83 453082006-11-03 Hollis Blanchard <hollis@penguinppc.org>
45309
45310 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
45311 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45312 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45313 (kernel_elf_SOURCES): Likewise.
45314 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
45315 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
45316 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45317 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45318 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
45319 (elf_mod_SOURCES): New variable.
45320 (elf_mod_CFLAGS): Likewise.
45321 (elf_mod_LDFLAGS): Likewise.
45322 * include/grub/types.h (__unused): New macro.
45323 * include/grub/elfload.h: New file.
45324 * kern/elf.c: Likewise.
45325 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
45326 (ELF32_LOADMASK): New macro.
45327 (ELF64_LOADMASK): Likewise.
45328 (vmlinux): Removed.
45329 (grub_linux_load32): New function.
45330 (grub_linux_load64): Likewise.
45331 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
45332 Use grub_elf_t instead of grub_file_t.
45333
a09d5aa5 453342006-11-02 Hollis Blanchard <hollis@penguinppc.org>
45335
45336 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
45337 `catch_result' to struct set_color_args.
45338
d976fc51 453392006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
45340
45341 * normal/menu.c: Include grub/script.h.
45342 * normal/menu_entry.c: Likewise.
45343 * include/grub/normal.h: Do not include grub/script.h.
45344
67507549 453452006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45346
45347 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
45348
69203a99 453492006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45350
45351 * kern/disk.c (grub_disk_open): Print debug messages when opening a
45352 disk.
45353 (grub_disk_close): Print debug messages when closing a disk.
45354 (grub_disk_read): Print debug messages when disk read fails.
45355 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
45356 filesystem type.
45357 * kern/partition.c: Include misc.h.
45358 (grub_partition_iterate): Print debug messages when detecting
45359 partition type.
45360
e2b8278c 453612006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45362
45363 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
45364 is negative.
45365 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
45366
97b2f2ff 453672006-10-26 Hollis Blanchard <hollis@penguinppc.org>
45368
45369 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45370 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
45371
6555d655 453722006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
45373
45374 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
45375 instead of sizeof(lv). Patch by Michael Guntsche.
45376
4d42b77f 453772006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
45378
45379 * disk/lvm.c: Rename VGS to VG_LIST.
45380 (grub_lvm_iterate): Change VGS->LV to VG-LV.
45381 (grub_lvm_open): Likewise.
45382 Thanks to Michael Guntsche for finding this bug.
45383
5d74d927 453842006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45385
45386 * configure.ac (AC_INIT): Bumped to 1.95.
45387
a1bb27e4 453882006-10-14 Robert Millan <rmh@aybabtu.com>
45389
45390 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
45391 with "/dev/.static/dev/md".
45392
e0994b8b 453932006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
45394
45395 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
45396 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
45397 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
45398 DRIVE_NAME are always freed.
45399
45400 * util/i386/pc/biosdisk.c (make_device_name): Add one into
45401 DOS_PART, as a DOS partition is counted from one instead of zero
45402 now. Reported by Robert Millan.
45403
ddd5cee9 454042006-10-14 Robert Millan <rmh@aybabtu.com>
45405
45406 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
45407 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
45408 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
45409 string returned by grub_guess_root_device.
45410 * util/i386/pc/grub-setup.c: Likewise.
45411 * util/i386/pc/grub-probefs.c: Likewise.
45412
45413 * util/i386/pc/grub-probefs.c: Rename to ...
45414 * util/i386/pc/grub-probe.c: ... this.
45415 * DISTLIST: Remove grub-probefs, add grub-probe.
45416 * conf/i386-efi.rmk: Likewise.
45417 * conf/i386-pc.rmk: Likewise.
45418 * util/i386/pc/grub-install.in: Likewise.
45419
45420 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
45421 choose which information we want to print.
45422
2b002173 454232006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
45424
45425 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
45426 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
45427 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
45428 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
45429 video/readers/tga.c and video/i386/pc/vbeutil.c.
45430
454312006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
45432
45433 Added support for RAID and LVM.
f19dbdb7 45434
2b002173 45435 * disk/lvm.c: New file.
45436 * disk/raid.c: Likewise.
45437 * include/grub/lvm.h: Likewise.
f19dbdb7 45438 * include/grub/raid.h: Likewise.
2b002173 45439 * include/grub/util/lvm.h: Likewise.
45440 * include/grub/util/raid.h: Likewise.
45441 * util/lvm.c: Likewise.
45442 * util/raid.c: Likewise.
45443
45444 * include/grub/disk.h (grub_disk_dev_id): Add
45445 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
45446 (grub_disk_get_size): New prototype.
45447 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
45448 returns a partition.
45449 (grub_disk_get_size): New function.
f19dbdb7 45450
2b002173 45451 * kern/i386/pc/init.c (make_install_device): Copy the prefix
45452 verbatim if grub_install_dos_part is -2.
45453
45454 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
45455 and LVM devices.
45456
45457 * util/i386/pc/grub-setup.c (setup): New argument
45458 MUST_EMBED. Force embedding of GRUB when the argument is
45459 true. Close FILE before returning.
45460 (main): Add support for RAID and LVM.
f19dbdb7 45461
2b002173 45462 * conf/common.rmk: Add RAID and LVM modules.
45463 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
45464 util/lvm.c.
45465 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
45466
45467 * kern/misc.c (grub_strstr): New function.
45468 * include/grub/misc.h (grub_strstr): New prototype.
45469
050548d0 454702006-10-10 Tristan Gingold <tristan.gingold@bull.net>
45471
45472 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
45473
da849d2d 454742006-10-05 Tristan Gingold <tristan.gingold@bull.net>
45475
45476 * kern/misc.c (grub_strtoull): Guess the base only if not
45477 specified.
45478
97b2f2ff 454792006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 45480
45481 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
45482 PowerMac support.
45483
97b2f2ff 454842006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 45485
45486 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
45487
45488 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
45489 Remove `flags' argument. All callers changed.
45490 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
45491 (IEEE1275_IHANDLE_INVALID): New variable.
45492 (IEEE1275_CELL_INVALID): New variable.
45493 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
45494 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
45495 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
45496 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
45497 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
45498 codes from Open Firmware. All callers updated.
45499 (grub_ieee1275_next_property): Directly return Open Firmware return
45500 code.
45501 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
45502 Standardize error checking from `grub_ieee1275_get_property'.
45503 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
45504 `devalias' to `aliases'. Correct comments. Consolidate error paths.
45505
97b2f2ff 455062006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 45507
45508 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
45509 `instance_to_package_args' to `instance_to_path_args'.
45510
45511 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
45512 `grub_ieee1275_chosen'.
45513
45514 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
45515 `grub_ieee1275_interpret'.
45516
97b2f2ff 455172006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 45518
45519 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
45520
97b2f2ff 455212006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 45522
45523 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
45524 (__cmpdi): Likewise.
45525
45526 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
45527 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
45528 `grub_ssize_t'.
45529
02bb8acc 45530 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 45531
45532 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
45533 to type `grub_ssize_t'.
45534 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
45535
7f9a8531 455362006-09-22 Marco Gerards <marco@gnu.org>
45537
45538 * normal/script.c (grub_script_create_cmdmenu): Skip leading
45539 newlines.
45540
b5ef1102 455412006-09-22 Marco Gerards <marco@gnu.org>
45542
45543 * commands/echo.c: New file.
45544
45545 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
45546
45547 * conf/common.rmk (echo_mod_SOURCES): New variable.
45548 (echo_mod_CFLAGS): Likewise.
45549 (echo_mod_LDFLAGS): Likewise.
45550
2cff3677 455512006-09-22 Marco Gerards <marco@gnu.org>
45552
45553 * normal/main.c (get_line): Malloc memory instead of using
45554 preallocated memory. Removed the arguments `cmdline' and
45555 `max_len'. Updated all callers.
45556
6ba4688b 455572006-09-22 Marco Gerards <marco@gnu.org>
45558
45559 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
45560 (normal_mod_DEPENDENCIES): Likewise.
45561
45562 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
45563 (normal_mod_DEPENDENCIES): Likewise.
45564
45565 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
45566
e02ac02c 455672006-09-22 Johan Rydberg <jrydberg@gnu.org>
45568
45569 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
45570 programs.
45571 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
45572 (normal_mod_DEPENDENCIES): Likewise.
45573 * conf/i386-pc.mk: Regenerate.
45574 * conf/i386-efi.mk: Likewise
45575 * conf/common.mk: Likewise.
45576 * conf/powerpc-ieee1275.mk: Likewise.
45577 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 45578
8d252e44 455792006-09-22 Robert Millan <rmh@aybabtu.com>
45580
45581 Sync with i386 version.
45582 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
45583 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
45584
209bf7ac 455852006-09-21 Robert Millan <rmh@aybabtu.com>
45586
45587 Import from GRUB Legacy (lib/device.c):
45588 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
45589 (init_device_map) [__linux__]: Add support for I2O devices.
45590
6b146090 455912006-09-14 Marco Gerards <marco@gnu.org>
45592
45593 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
45594 `-melf_i386'.
45595
e38600a8 455962006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 45597
45598 * util/i386/pc/grub-install.in: Skip menu.lst when removing
45599 /boot/grub/*.lst.
78fa1790 45600
2952da5d 45601 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 45602
2952da5d 45603 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
45604 before adding it to device.map.
45605
01b82a64 456062006-08-15 Johan Rydberg <jrydberg@gnu.org>
45607
fe6b695a 45608 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 45609 compiles a file; using the -MD option.
45610 * conf/common.mk: Regenerate.
45611 * conf/i386-pc.mk: Likewise.
45612 * conf/i386-efi.mk: Likewise.
45613 * conf/powerpc-ieee1275.mk: Likewise.
45614 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 45615
1064790d 456162006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
45617
45618 Move the prototypes of grub_setjmp and grub_longjmp to
45619 cpu/setjmp.h, so that each architecture may specify different
45620 attributes.
f19dbdb7 45621
1064790d 45622 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
45623 (grub_longjmp): Likewise.
45624 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
45625 (grub_longjmp): Likewise.
45626 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
45627 (grub_longjmp): Likewise.
45628
45629 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
45630 [!GRUB_UTIL] (grub_longjmp): Removed.
45631
29dda3ed 456322006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
45633
45634 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
45635 "color!" method does not return any value.
45636
ad2a06ed 456372006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45638
45639 * include/grub/bitmap.h: New file.
45640
45641 * include/grub/i386/pc/vbeutil.h: Likewise.
45642
45643 * video/bitmap.c: Likewise.
45644
45645 * video/readers/tga.c: Likewise.
45646
45647 * video/i386/pc/vbeutil.c: Likewise.
45648
45649 * commands/videotest.c: Code cleanup and updated to reflect to new
45650 video API.
45651
45652 * term/gfxterm.c: Likewise.
45653
45654 * video/video.c: Likewise.
45655
45656 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
45657 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
45658 (bitmap_mod_SOURCES): New entry.
45659 (bitmap_mod_CFLAGS): Likewise.
45660 (bitmap_mod_LDFLAGS): Likewise.
45661 (tga_mod_SOURCES): Likewise.
45662 (tga_mod_CFLAGS): Likewise.
45663 (tga_mod_LDFLAGS): Likewise.
45664
45665 * include/grub/video.h (grub_video_blit_operators): New enum type.
45666 (grub_video_render_target): Changed as forward declaration and moved
45667 actual definition to be video driver specific.
45668 (grub_video_adapter.blit_bitmap): Added blitting operator.
45669 (grub_video_adapter.blit_render_target): Likewise.
45670 (grub_video_blit_bitmap): Likewise.
45671 (grub_video_blit_render_target): Likewise.
45672
45673 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
45674 driver specific render target definition.
45675 (grub_video_vbe_map_rgba): Added driver internal helper.
45676 (grub_video_vbe_unmap_color): Updated to use
45677 grub_video_i386_vbeblit_info.
45678 (grub_video_vbe_get_video_ptr): Likewise.
45679
45680 * include/grub/i386/pc/vbeblit.h
45681 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
45682 grub_video_i386_vbeblit_info.
45683 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
45684 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
45685 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
45686 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
45687 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
45688 (grub_video_i386_vbeblit_index_index): Likewise.
45689 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
45690 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
45691 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
45692 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
45693 operator.
45694 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
45695 operator.
45696
45697 * video/i386/pc/vbeblit.c: Updated to reflect changes on
45698 include/grub/i386/pc/vbeblit.h.
45699
45700 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
45701 Updated to use grub_video_i386_vbeblit_info.
45702 (grub_video_i386_vbefill_R8G8B8): Likewise.
45703 (grub_video_i386_vbefill_index): Likewise.
45704 (grub_video_i386_vbefill): Added generic filler.
45705
45706 * video/i386/pc/vbefill.c: Updated to reflect changes on
45707 include/grub/i386/pc/vbefill.h.
45708
45709 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
45710 grub_video_i386_vbeblit_info.
45711 (grub_video_vbe_unmap_color): Likewise.
45712 (grub_video_vbe_blit_glyph): Likewise.
45713 (grub_video_vbe_scroll): Likewise.
45714 (grub_video_vbe_draw_pixel): Removed function.
45715 (grub_video_vbe_get_pixel): Likewise.
45716 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
45717 updated code to use it.
45718 (common_blitter): Added common blitter for render target and bitmap.
45719 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
45720 (grub_video_vbe_blit_render_target): Likewise.
45721
bc8c036d 457222006-07-30 Johan Rydberg <jrydberg@gnu.org>
45723
45724 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
45725 is in text mode if there is no console control protocol instance
45726 available.
45727
684a8eff 457282006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45729
45730 * include/grub/video.h: Code cleanup.
45731
45732 * include/grub/i386/pc/vbe.h: Likewise.
45733
45734 * video/i386/pc/vbe.c: Likewise.
45735
45736 * video/i386/pc/vbeblit.c: Likewise.
45737
45738 * video/i386/pc/vbefill.c: Likewise.
45739
45740 * video/video.c: Likewise. Also added more comments.
45741
5915059b 457422006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45743
45744 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
45745 (struct grub_biosdisk_dap): Likewise.
45746
45747 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
45748 linkage settings for all functions.
45749
90ce5d56 457502006-07-12 Marco Gerards <marco@gnu.org>
45751
45752 * configure.ac (--enable-mm-debug): Fix typo.
45753
45754 * genkernsyms.sh.in: Use proper quoting for `CC'.
45755
43e7f879 457562006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
45757
45758 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
45759 (normal_mod_ASFLAGS): Remove "-m32".
45760
4889bdec 457612006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
45762
45763 * util/misc.c: Include config.h.
45764 [!HAVE_MEMALIGN]: Do not include malloc.h.
45765 (grub_memalign): Use posix_memalign, if present. Then, use
45766 memalign, if present. Otherwise, emit an error.
45767
45768 * util/grub-emu.c: Do not include malloc.h.
45769
45770 * include/grub/util/misc.h: Include unistd.h. This is required for
45771 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
45772 D. Eades III <hde@foobar-qux.org>.
45773
45774 * configure.ac (AC_GNU_SOURCE): Added.
45775 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
45776 type.
45777
fd39d4da 457782006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
45779
45780 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
45781 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
45782
b786f3b5 457832006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
45784
45785 * include/grub/types.h (grub_host_addr_t): Rename to
45786 grub_target_addr_t.
45787 (grub_host_off_t): Rename to grub_target_off_t.
45788 (grub_host_size_t): Rename to grub_target_size_t.
45789 (grub_host_ssize_t): Rename to grub_target_ssize_t.
45790 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
45791
45792 * include/grub/kernel.h (struct grub_module_header): Change type
45793 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
45794 (grub_module_info): Likewise.
f19dbdb7 45795
051988bb 457962006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45797
45798 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
45799 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
45800 Velazquez <jesus.velazquez@gmail.com>.
45801
deae281b 458022006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45803
45804 Count partitions from 1 instead of 0 in the string representation
45805 of partitions. Still use 0-based internally.
f19dbdb7 45806
deae281b 45807 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
45808 (sun_partition_map_iterate): Use grub_partition_t instead of
45809 struct grub_partition *. Cast DESC->START_CYLINDER to
45810 grub_uint64_t after converting the endian.
45811 (sun_partition_map_probe): Subtract 1 for PARTNUM.
45812 (sun_partition_map_get_name): Add 1 to P->INDEX.
45813
45814 * partmap/pc.c (grub_partition_parse): Subtract 1 for
45815 PCDATA->DOS_PART.
45816 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
45817
45818 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
45819 zero instead of one.
45820 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
45821 (gpt_partition_map_get_name): Add 1 into P->INDEX.
45822
45823 * partmap/apple.c (apple_partition_map_iterate): Change the type
45824 of POS to unsigned.
45825 (apple_partition_map_probe): Subtract 1 for PARTNUM.
45826 (apple_partition_map_get_name): Add 1 into P->INDEX.
45827
45828 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
45829 of POS to unsigned.
45830 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
45831 calculate the offset of a partition.
45832 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
45833 (amiga_partition_map_get_name): Add 1 into P->INDEX.
45834
45835 * partmap/acorn.c (acorn_partition_map_find): Change the type of
45836 SECTOR to grub_disk_addr_t.
45837 (acorn_partition_map_iterate): Likewise.
45838 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
45839 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
45840 top.
45841 (acorn_partition_map_get_name): Add 1 into P->INDEX.
45842
45843 * kern/i386/pc/init.c (make_install_device): Add 1 into
45844 GRUB_INSTALL_DOS_PART.
45845
45846 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
45847 conditional.
45848
524a1e6a 458492006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45850
45851 Clean up the code to support 64-bit addressing in disks and
45852 files. This change is not enough for filesystems yet.
f19dbdb7 45853
524a1e6a 45854 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
45855 type of "start" to grub_uint64_t.
45856 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
45857 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
45858 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
45859 convert addresses.
45860
45861 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
45862 to grub_disk_addr_t.
45863
45864 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
45865 string.
45866
45867 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45868
45869 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
45870 to char *.
45871
45872 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
45873
45874 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
45875
45876 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
45877
45878 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
45879 to grub_off_t, to detect an error from grub_file_seek.
45880 (grub_multiboot_load_elf32): Likewise.
45881
45882 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
45883 maximum unsigned long value when an overflow is detected.
45884 (grub_strtoull): New function.
45885 (grub_divmod64): Likewise.
45886 (grub_lltoa): use grub_divmod64.
45887
45888 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
45889 grub_disk_addr_t.
45890 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
45891 the pointer to next character. Use grub_strtoull instead of
45892 grub_strtoul.
45893 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
45894 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
45895 respectively.
45896
fe6b695a 45897 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 45898 return value is signed.
45899 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
45900 test if OFFSET is less than zero, as OFFSET is unsigned now.
45901
45902 * kern/disk.c (struct grub_disk_cache): Change the type of
45903 "sector" to grub_disk_addr_t.
45904 (grub_disk_cache_get_index): Change the type of SECTOR to
45905 grub_disk_addr_t. Calculate the hash with SECTOR casted to
45906 unsigned after shifting.
45907 (grub_disk_cache_invalidate): Change the type of SECTOR to
45908 grub_disk_addr_t.
45909 (grub_disk_cache_unlock): Likewise.
45910 (grub_disk_cache_store): Likewise.
45911 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
45912 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
45913 grub_disk_addr_t and grub_uint64_t, respectively.
45914 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
45915 body, as the value of OFFSET is tweaked by
45916 grub_disk_check_range. Change the types of START_SECTOR, LEN and
45917 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
45918 respectively.
45919 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
45920 body, as the value of OFFSET is tweaked by
45921 grub_disk_check_range. Change the types of LEN and N to
45922 grub_size_t.
45923
45924 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
45925 and "saved_offset" to grub_off_t.
45926 (test_header): Cast BUF to char *.
45927 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
45928 to char *.
45929 (grub_gzio_read): Change the types of OFFSET and SIZE to
45930 grub_off_t and grub_size_t, respectively.
45931
45932 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
45933 Removed.
45934 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
45935 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
45936 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
45937 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
45938 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
45939
45940 * include/grub/types.h (grub_off_t): Unconditionally set to
45941 grub_uint64_t.
45942 (grub_disk_addr_t): Changed to grub_uint64_t.
45943
45944 * include/grub/partition.h (struct grub_partition): Change the
45945 types of "start", "len" and "offset" to grub_disk_addr_t,
45946 grub_uint64_t and grub_disk_addr_t, respectively.
45947 (grub_partition_get_start): Return grub_disk_addr_t.
45948 (grub_partition_get_len): Return grub_uint64_t.
45949
45950 * include/grub/misc.h (grub_strtoull): New prototype.
45951 (grub_divmod64): Likewise.
45952
45953 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
45954 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
45955 grub_off_t, respectively.
45956 All callers and references changed.
45957
45958 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
45959 grub_size_t in "read".
45960 All callers and references changed.
45961
45962 * include/grub/file.h (struct grub_file): Change the types of
45963 "offset" and "size" to grub_off_t and grub_off_t,
45964 respectively. Change the type of SECTOR to grub_disk_addr_t in
45965 "read_hook".
45966 (grub_file_read): Change the type of LEN to grub_size_t.
45967 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
45968 grub_off_t.
45969 (grub_file_size): Return grub_off_t.
45970 (grub_file_tell): Likewise.
45971 All callers and references changed.
45972
45973 * include/grub/disk.h (struct grub_disk_dev): Change the types of
45974 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
45975 "write".
45976 (struct grub_disk): Change the type of "total_sectors" to
45977 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 45978 "read_hook".
524a1e6a 45979 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
45980 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
45981 (grub_disk_write): Likewise.
45982 All callers and references changed.
45983
45984 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
45985 char * for grub_strncmp to silence gcc.
45986 (grub_iso9660_mount): Likewise.
45987 (grub_iso9660_mount): Likewise.
45988 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
45989 return statement.
45990 (grub_iso9660_iterate_dir): Likewise.
45991 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
45992
45993 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
45994 LEN to grub_disk_addr_t and grub_size_t, respectively.
45995
45996 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45997
45998 * fs/jfs.c (grub_jfs_read_file): Likewise.
45999
46000 * fs/minix.c (grub_jfs_read_file): Likewise.
46001
46002 * fs/sfs.c (grub_jfs_read_file): Likewise.
46003
46004 * fs/ufs.c (grub_jfs_read_file): Likewise.
46005
46006 * fs/xfs.c (grub_jfs_read_file): Likewise.
46007
46008 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
46009 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
46010 respectively.
46011
46012 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
46013 BLKNR to -1 instead of returning GRUB_ERRNO.
46014 (grub_ext2_read_file): Change the types of SECTOR and
46015 LEN to grub_disk_addr_t and grub_size_t, respectively.
46016
46017 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
46018 LEN to grub_disk_addr_t and grub_size_t, respectively.
46019
46020 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
46021 grub_file_read.
46022
46023 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
46024 string. Do not cast SECTOR explicitly.
46025
46026 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
46027 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
46028 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
46029 grub_disk_addr_t and grub_size_t, respectively. If the sector is
46030 over 2TB and LBA mode is not supported, raise an error.
46031 (get_safe_sectors): New function.
46032 (grub_biosdisk_read): Use get_safe_sectors.
46033 (grub_biosdisk_write): Likewise.
46034
46035 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
46036 (grub_efidisk_write): Likewise.
46037
46038 * disk/loopback.c (delete_loopback): Cosmetic changes.
46039 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
46040 correctly.
46041 (grub_loopback_open): Likewise.
46042 (grub_loopback_read): Likewise. Also, change the type of POS to
46043 grub_off_t, and fix the usage of grub_memset.
46044
46045 * commands/i386/pc/play.c: Include grub/machine/time.h.
46046
46047 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
46048 print FILE->SIZE.
46049
46050 * commands/configfile.c: Include grub/env.h.
46051
46052 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
46053 GRUB_ERRNO directly instead. Change the type of POS to
46054 grub_off_t. Follow the coding standard.
46055
46056 * commands/blocklist.c: Include grub/partition.h.
46057 (grub_cmd_blocklist): Return an error if the underlying device is
46058 not a disk. Take the starting sector of a partition into account,
46059 if a partition is used.
46060
46061 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
46062 a length field.
46063 (lba_mode): Support 64-bit addresses.
46064 (chs_mode): Likewise.
46065 (copy_buffer): Adapted to the new offsets of a length field and a
46066 segment field.
46067 (blocklist_default_start): Allocate 64-bit space.
46068
46069 * boot/i386/pc/boot.S (force_lba): Removed.
46070 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 46071 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 46072 space.
46073 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
46074 is useless.
46075 (lba_mode): Refactored to support a 64-bit address. More size
46076 optimization.
46077 (setup_sectors): Likewise.
46078
53af98ad 460792006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
46080
46081 * DISTLIST: Added include/grub/i386/linux.h. Removed
46082 include/grub/i386/pc/linux.h
46083
46084 * configure.ac (AC_INIT): Bumped to 1.94.
46085
46086 * config.guess: Updated from gnulib.
46087 * config.sub: Likewise.
46088 * install-sh: Likewise.
46089 * mkinstalldirs: Likewise.
46090
b4c1940a 460912006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
46092
46093 * conf/common.rmk (grub_modules_init.lst): Depended on
46094 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
46095 MODSRCFILES.
46096
46097 * genmk.rb (PModule::rule): Reverted the previous change.
46098
cfca1cfd 460992006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
46100
46101 * conf/common.rmk (grub_modules_init.lst): Depends on
46102 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
46103 that the target does not exist before producing.
46104 (grub_modules_init.h): Remove the target before generating.
46105 (grub_emu_init.c): Likewise.
46106
46107 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
46108
aa6d7826 461092006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
46110
46111 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
46112 for the target-specific tests. Make sure that we also have the
46113 up-to-date target variables for those tests.
46114
26c607b9 461152006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
46116
46117 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
46118 (PModule::rule): Likewise.
46119
0162321a 461202006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
46121
46122 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
46123 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
46124 target-specific flags should be prefixed.
46125 (PModule::rule): Likewise.
46126
6c826348 461272006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
46128
46129 * configure.ac (CMP): Check if cmp is available explicitly.
46130
b977bf01 461312006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
46132
46133 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
46134 (target_cpu): New variable.
46135 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 46136
b977bf01 46137 * util/i386/pc/grub-install.in (host_cpu): Removed.
46138 (target_cpu): New variable.
46139 (pkglibdir): Use target_cpu instead of host_cpu.
46140
46141 * util/genmoddep.c: Removed.
f19dbdb7 46142
b977bf01 46143 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
46144 instead of GRUB_HOST_SIZEOF_VOID_P.
46145 * kern/dl.c: Likewise.
46146
46147 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
46148 ...
46149 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46150 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46151 (GRUB_TARGET_SIZEOF_LONG): ... this.
46152 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46153 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46154 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
46155 to ...
46156 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46157 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46158 (GRUB_TARGET_SIZEOF_LONG): ... this.
46159 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46160 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46161 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
46162 to ...
46163 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46164 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46165 (GRUB_TARGET_SIZEOF_LONG): ... this.
46166 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46167 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46168
46169 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
46170 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
46171 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
46172 instead of GRUB_HOST_SIZEOF_LONG.
46173 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
46174 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
46175 GRUB_CPU_WORDS_BIGENDIAN.
46176 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
46177 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
46178 grub_host_ssize_t.
46179
46180 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
46181 (genmoddep_SOURCES): Likewise.
46182 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
46183 (genmoddep_SOURCES): Likewise.
46184 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
46185 (genmoddep_SOURCES): Likewise.
46186 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
46187 Likewise.
46188 (genmoddep_SOURCES): Likewise.
46189
46190 * genmoddep.awk: New file.
46191
46192 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
46193 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
46194 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
46195 (PModule::rule): Likewise.
46196 (Program::rule): Likewise.
46197 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
46198 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
46199 respectively.
46200
46201 * configure.ac: Rewritten intensively to use host and target
46202 instead of build and host, respectively.
46203
46204 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
46205 (host_cpu): Removed.
46206 (target_cpu): New variable.
46207 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
46208 (BUILD_CC): Removed.
46209 (BUILD_CFLAGS): Likewise.
46210 (BUILD_CPPFLAGS): Likewise.
46211 (TARGET_CC): New variable.
46212 (TARGET_CFLAGS): Likewise.
46213 (TARGET_CPPFLAGS): Likewise.
46214 (TARGET_LDFLAGS): Likewise.
46215 (AWK): Likewise.
46216 (include): Use target_cpu instead of host_cpu.
46217 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 46218
b977bf01 46219 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
46220
f09771a1 462212006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
46222
46223 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
46224 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
46225 field 'false' to 'exec_on_false'.
46226 (grub_script_create_cmdif): Renamed argument names to reflect above
46227 changes.
46228
46229 * normal/execute.c (grub_script_execute_cmdif): Likewise.
46230
46231 * normal/script.c (grub_script_create_cmdif): Likewise.
46232
118f4fb3 462332006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
46234
46235 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
46236 top.
46237 (grub_hfsplus_btree_recptr): Likewise.
46238 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
46239 FILEBLOCK both to pass a block number and store next block
46240 number.
46241 (grub_hfsplus_read_block): Rewritten heavily to support an extent
46242 overflow file correctly. Specify errors appropriately, because
46243 fshelp expects that GRUB_ERRNO is set when fails. Reuse
46244 grub_hfsplus_btree_recptr to get the pointer to a found key.
46245 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
46246 is found.
46247
46248 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
46249 linux.mod.
46250 (_linux_mod_SOURCES): New variable.
46251 (_linux_mod_CFLAGS): Likewise.
46252 (_linux_mod_LDFLAGS): Likewise.
46253 (linux_mod_SOURCES): Likewise.
46254 (linux_mod_CFLAGS): Likewise.
46255 (linux_mod_LDFLAGS): Likewise.
46256
46257 * DISTLIST: Added loader/i386/efi/linux.c,
46258 loader/i386/efi/linux_normal.c and
46259 include/grub/i386/efi/loader.h.
46260
46261 * loader/i386/efi/linux.c: New file.
46262 * loader/i386/efi/linux_normal.c: Likewise.
46263 * include/grub/i386/efi/loader.h: Likewise.
46264
89a7d726 462652006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
46266
46267 * commands/blocklist.c: New file.
46268
46269 * DISTLIST: Added commands/blocklist.c.
46270
46271 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 46272 color for the background, and a darker color for the foreground.
89a7d726 46273 (grub_console_checkkey): Return READ_KEY.
46274 (grub_console_cls): Set the background to
46275 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
46276
46277 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
46278
46279 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
46280 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
46281
46282 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
46283 prototype.
46284
46285 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
46286 BG. The spec is wrong again.
46287
46288 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
46289 prototype.
46290 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
46291
46292 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46293 commands/blocklist.c.
46294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 46295
89a7d726 46296 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
46297 (blocklist_mod_SOURCES): New variable.
46298 (blocklist_mod_CFLAGS): Likewise.
46299 (blocklist_mod_LDFLAGS): Likewise.
46300
75c8f258 463012006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
46302
46303 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
46304 duplication.
46305 (lba_mode): Use %eax more intensively to reduce the code size.
46306
da2eb181 463072006-05-20 Marco Gerards <marco@gnu.org>
46308
46309 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
46310
46311 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
46312 for `menuentry'.
46313 (script): Accept leading newlines.
46314 (newlines): New rule to describe 0 or more newlines.
46315 (commands): Accept `command' with trailing newline. Fixed the
46316 order in which arguments were passed to `grub_script_add_cmd'.
46317 Accept commands separated by newlines.
46318 (function): Changed to accept newlines.
46319 (menuentry) Rewritten.
46320
46321 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
46322 front of the list, instead of to the end.
46323
577b4050 463242006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
46325
46326 * util/i386/pc/grub-install.in (bindir): New variable.
46327 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
46328 Shaver <lbgwjl@gmail.com>.
46329
0d6e1189 463302006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
46331
46332 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
46333 grub/machine/linux.h
46334 * loader/i386/pc/linux.c: Likewise.
46335
46336 * include/grub/i386/pc/linux.h: Moved to ...
46337 * include/grub/i386/linux.h: ... here.
46338
46339 * include/grub/i386/linux.h (struct linux_kernel_params): New
46340 struct.
f19dbdb7 46341
31b86e9f 463422006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
46343
46344 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
46345 checking.
46346 (grub_video_vbe_blit_glyph): Likewise.
46347 (grub_video_vbe_blit_bitmap): Likewise.
46348 (grub_video_vbe_blit_render_target): Likewise.
46349
83b984de 463502006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
46351
46352 * configure.ac (--with-platform): Properly quote the square
46353 brackets.
46354
5f0413bd 463552006-05-08 Marco Gerards <marco@gnu.org>
46356
46357 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
46358 this...
46359 (kernel_elf_HEADERS): ...to this. Updated all users.
46360 (grubof_symlist.c): Renamed from this...
46361 (kernel_elf_symlist.c): ...to this. Updated all users.
46362 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
46363 (grubof_SOURCES): Renamed from this...
46364 (kernel_elf_SOURCES): ...to this.
46365 (grubof_HEADERS): Renamed from this...
46366 (kernel_elf_HEADERS): ...to this.
46367 (grubof_CFLAGS): Renamed from this...
46368 (kernel_elf_CFLAGS): ...to this.
46369 (grubof_ASFLAGS): Renamed from this...
46370 (kernel_elf_ASFLAGS): ...to this.
46371 (grubof_LDFLAGS): Renamed from this...
46372 (kernel_elf_LDFLAGS): ...to this.
46373
46374 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
46375 this...
46376 (kernel_elf_HEADERS): ...to this. Updated all users.
46377 (grubof_symlist.c): Renamed from this...
46378 (kernel_elf_symlist.c): ...to this. Updated all users.
46379 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
46380 (grubof_SOURCES): Renamed from this...
46381 (kernel_elf_SOURCES): ...to this.
46382 (grubof_HEADERS): Renamed from this...
46383 (kernel_elf_HEADERS): ...to this.
46384 (grubof_CFLAGS): Renamed from this...
46385 (kernel_elf_CFLAGS): ...to this.
46386 (grubof_ASFLAGS): Renamed from this...
46387 (kernel_elf_ASFLAGS): ...to this.
46388 (grubof_LDFLAGS): Renamed from this...
46389 (kernel_elf_LDFLAGS): ...to this.
46390
46391 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
46392 `kernel.elf' instead of `grubof'.
46393
05568c2e 463942006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
46395
46396 Add --with-platform to configure. Use pkglibdir instead of
46397 pkgdatadir. This is reported by Roger Leigh.
46398
46399 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
46400 (host_vendor): Likewise.
46401 (host_os): Likewise.
46402 (pkgdatadir): Likewise.
46403 (platform): New variable.
46404 (pkglibdir): Likewise.
46405 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 46406
05568c2e 46407 * util/i386/pc/grub-install.in (datadir): Removed.
46408 (host_vendor): Likewise.
46409 (host_os): Likewise.
46410 (pkgdatadir): Likewise.
46411 (platform): New variable.
46412 (pkglibdir): Likewise.
46413 Use PKGLIBDIR instead of PKGDATADIR.
46414
46415 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
46416 instead of GRUB_DATADIR.
46417 (main): Likewise.
46418 * util/i386/pc/grub-mkimage.c (usage): Likewise.
46419 (main): Likewise.
46420 * util/i386/efi/grub-mkimage.c (usage): Likewise.
46421 (main): Likewise.
46422
46423 * configure.ac (--with-platform): New option.
46424 Use PLATFORM instead of HOST_VENDOR to specify a platform.
46425
46426 * Makefile.in: Include a makefile based on PLATFORM instead of
46427 HOST_VENDOR.
46428 (pkgdatadir): Not appended by the machine type.
46429 (pkglibdir): Appended by the machine type.
46430 (host_vendor): Removed.
46431 (platform): New variable.
46432 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
46433 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
46434 (uninstall): Likewise.
46435
4e93851c 464362006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
46437
46438 Use the environment context in the menu. Remove the commands
46439 "default" and "timeout", and use variables instead.
f19dbdb7 46440
4e93851c 46441 * normal/menu.c: Include grub/env.h.
46442 (print_entry): Cast TITLE to silence gcc.
46443 (get_timeout): New function.
46444 (set_timeout): Likewise.
46445 (get_entry_number): Likewise.
46446 (run_menu): Use a default entry, a fallback entry and a timeout
46447 in the environment variables "default", "fallback" and
46448 "timeout". Also, tweak the default entry if it is not within the
46449 current menu entries.
46450 (grub_menu_run): Use a fallback entry in the environment variable
46451 "fallback".
46452
46453 * normal/main.c (read_config_file): Do not initialize
46454 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
46455 NEWMENU->TIMEOUT.
46456 (grub_normal_execute): Use a data slot to store the menu.
46457
46458 * include/grub/normal.h (struct grub_menu): Removed default_entry,
46459 fallback_entry and timeout.
46460 (struct grub_menu_list): Removed.
46461 (grub_menu_list_t): Likewise.
46462 (struct grub_context): Likewise.
46463 (grub_context_t): Likewise.
46464 (grub_context_get): Likewise.
46465 (grub_context_get_current_menu): Likewise.
46466 (grub_context_push_menu): Likewise.
46467 (grub_context_pop_menu): Likewise.
46468 (grub_default_init): Likewise.
46469 (grub_default_fini): Likewise.
46470 (grub_timeout_init): Likewise.
46471 (grub_timeout_fini): Likewise.
46472
46473 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
46474 and timeout.mod.
46475 (normal_mod_SOURCES): Removed normal/context.c.
46476
46477 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
46478 commands/default.c, commands/timeout.c and normal/context.c.
46479 (normal_mod_SOURCES): Removed normal/context.c.
46480
46481 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
46482 commands/timeout.c and normal/context.c.
46483 (normal_mod_SOURCES): Removed normal/context.c.
46484
46485 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
46486 commands/default.c, commands/timeout.c and normal/context.c.
46487 (normal_mod_SOURCES): Removed normal/context.c.
46488
46489 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
46490 timeout.mod.
46491 (default_mod_SOURCES): Removed.
46492 (default_mod_CFLAGS): Likewise.
46493 (default_mod_LDFLAGS): Likewise.
46494 (timeout_mod_SOURCES): Removed.
46495 (timeout_mod_CFLAGS): Likewise.
46496 (timeout_mod_LDFLAGS): Likewise.
46497
46498 * DISTLIST: Removed commands/default.c, commands/timeout.c and
46499 normal/context.c.
46500
46501 * commands/default.c: Removed.
46502 * commands/timeout.c: Likewise.
46503 * normal/context.c: Likewise.
46504
1eb9cc1d 465052006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
46506
46507 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
46508
385bd9c1 465092006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
46510
46511 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
46512 "next" to "prev" for readability.
46513 (struct grub_env_sorted_var): New struct.
46514 (grub_env_context): Renamed to ...
46515 (initial_context): ... this.
46516 (grub_env_var_context): Renamed to ...
46517 (current_context): ... this.
46518 (grub_env_find): Look only at CURRENT_CONTEXT.
46519 (grub_env_context_open): Rewritten to copy exported variables from
46520 previous context.
46521 (grub_env_context_close): Rewritten according to the new
46522 scheme. Also, add an assertion to prevent the initial context from
46523 removed.
46524 (grub_env_insert): Removed the code for the sorted list.
46525 (grub_env_remove): Likewise.
46526 (grub_env_export): Simply mark the variable with
46527 GRUB_ENV_VAR_GLOBAL.
46528 (grub_env_set): A cosmetic change for naming consistency.
46529 (grub_env_get): Likewise.
46530 (grub_env_unset): Likewise.
46531 (grub_env_iterate): Rewritten to sort variables within this
46532 function.
46533 (grub_register_variable_hook): Fixed for naming consistency. Call
46534 grub_env_find again, only if NAME is not found at the first time.
46535 (mangle_data_slot_name): New function.
46536 (grub_env_set_data_slot): Likewise.
46537 (grub_env_get_data_slot): Likewise.
46538 (grub_env_unset_data_slot): Likewise.
46539
46540 * include/grub/env.h (grub_env_var_type): New enum.
46541 (GRUB_ENV_VAR_LOCAL): New constant.
46542 (GRUB_ENV_VAR_GLOBAL): Likewise.
46543 (GRUB_ENV_VAR_DATA): Likewise.
46544 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
46545 "type".
46546 (grub_env_set): Replace VAR with NAME for consistency.
46547 (grub_register_variable_hook): Likewise.
46548 (grub_env_export): Specify the name of the argument.
46549 (grub_env_set_data_slot): New prototype.
46550 (grub_env_get_data_slot): Likewise.
46551 (grub_env_unset_data_slot): Likewise.
46552
7f362539 465532006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46554
46555 Extend the loader so that GRUB can accept a loader which comes
46556 back to GRUB when a loaded image exits. Also, this change adds
46557 support for a chainloader on EFI.
f19dbdb7 46558
7f362539 46559 * term/efi/console.c: Include grub/misc.h.
46560 (grub_console_checkkey): Display a scan code on the top for
46561 debugging. This will be removed once the EFI port gets stable.
46562 Correct the scan code mapping.
46563
46564 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
46565 allocate memory from larger regions, in order to reduce the number
46566 of allocated regions. Otherwise, the MacOSX loader panics.
46567 (filter_memory_map): Avoid less than 1MB for compatibility with
46568 other loaders.
46569 (add_memory_regions): Allocate from the tail of a region, if
46570 possible, to avoid allocating a region near to 1MB, for the MacOSX
46571 loader.
46572
46573 * kern/efi/init.c (grub_efi_set_prefix): Specify
46574 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
46575
46576 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
46577 argument IMAGE_HANDLE and specify it to get a loaded image.
46578 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
46579 grub_efi_get_loaded_image.
fe6b695a 46580 (grub_efi_get_filename): Divide the length by the size of
7f362539 46581 grub_efi_char16_t.
46582 (grub_efi_get_device_path): New function.
46583 (grub_efi_print_device_path): Print End Device Path nodes. Divide
46584 the length by the size of grub_efi_char16_t for a file path device
46585 path node.
46586
46587 * kern/loader.c (grub_loader_noreturn): New variable.
46588 (grub_loader_set): Accept a new argument NORETURN. Set
46589 GRUB_LOADER_NORETURN to NORETURN.
46590 All callers changed.
46591 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
46592 grub_machine_fini.
46593
46594 * include/grub/efi/efi.h (grub_efi_get_device_path): New
46595 prototype.
46596 (grub_efi_get_loaded_image): Take an argument to specify an image
46597 handle.
46598
46599 * include/grub/loader.h (grub_loader_set): Added one more argument
46600 NORETURN.
46601
46602 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
46603 instead of grub_efi_open_protocol.
46604 (grub_efidisk_get_device_name): Likewise.
46605 (grub_efidisk_close): Print a newline.
46606 (grub_efidisk_get_device_handle): Fixed to use
46607 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
46608 GRUB_EFI_DEVICE_PATH_TYPE.
46609
46610 * disk/efi/efidisk.c (device_path_guid): Moved to ...
46611 * kern/efi/efi.c (device_path_guid): ... here.
46612
46613 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
46614 chain.mod.
46615 (kernel_mod_HEADERS): Added efi/disk.h.
46616 (_chain_mod_SOURCES): New variable.
46617 (_chain_mod_CFLAGS): Likewise.
46618 (_chain_mod_LDFLAGS): Likewise.
46619 (chain_mod_SOURCES): Likewise.
46620 (chain_mod_CFLAGS): Likewise.
46621 (chain_mod_LDFLAGS): Likewise.
46622
46623 * DISTLIST: Added include/grub/efi/chainloader.h,
46624 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
46625
46626 * include/grub/efi/chainloader.h: New file.
46627 * loader/efi/chainloader.c: Likewise.
46628 * loader/efi/chainloader_normal.c: Likewise.
46629
c0111d6e 466302006-04-30 Marco Gerards <marco@gnu.org>
46631
46632 * commands/configfile.c (grub_cmd_source): New function.
46633 (GRUB_MOD_INIT): Register the commands `source' and `.'.
46634 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
46635
df5341da 466362006-04-30 Marco Gerards <marco@gnu.org>
46637
46638 * normal/execute.c (grub_script_execute_cmd): Change the return
46639 type to `grub_err_t'. Correctly return the error.
46640 (grub_script_execute_cmdline): In case a command line is not a
46641 command or a function, try to interpret it as an assignment.
46642
f85934bd 466432006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46644
46645 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
46646 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
46647 skip a node whose name is obviously invalid as UTF-16,
46648 i.e. contains a NUL character. Stop the iteration when the last
46649 directory entry is found. Instead of using the return value of
46650 grub_hfsplus_btree_iterate_node, store the value in RET and use
46651 it, because the iterator can be stopped by the last directory
46652 entry.
46653
8f8a2cf8 466542006-04-30 Marco Gerards <marco@gnu.org>
46655
46656 * include/grub/env.h (grub_env_export): New prototype. Reported
46657 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
46658
a27e84ce 466592006-04-30 Marco Gerards <marco@gnu.org>
46660
46661 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
46662 size of the extents in a catalog file record.
46663
eaef0553 466642006-04-29 Marco Gerards <marco@gnu.org>
46665
46666 * commands/configfile.c (grub_cmd_configfile): Execute the
46667 configfile within its own context.
46668
46669 * include/grub/env.h (grub_env_context_open): New prototype.
46670 (grub_env_context_close): Likewise.
46671
46672 * kern/env.c (grub_env): Removed.
46673 (grub_env_sorted): Likewise.
46674 (grub_env_context): New variable.
46675 (grub_env_var_context): Likewise.
46676 (grub_env_find): Search both the active context and the global
46677 context.
46678 (grub_env_context_open): New function.
46679 (grub_env_context_close): Likewise.
46680 (grub_env_insert): Likewise.
46681 (grub_env_remove): Likewise.
46682 (grub_env_export): Likewise.
46683 (grub_env_set): Changed to use helper functions to avoid code
46684 duplication.
46685 (grub_env_iterate): Rewritten so both the current context and the
46686 global context are being used.
46687
46688 * normal/command.c (export_command): New function.
46689 (grub_command_init): Register the `export' function.
46690
7b455f4d 466912006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
46692
46693 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
46694 explicitly to suppress gcc's warnings.
46695 * fs/fat.c (grub_fat_find_dir): Likewise.
46696 (grub_fat_label): Likewise.
46697 * fs/xfs.c (grub_xfs_read_inode): Likewise.
46698 (grub_xfs_mount): Likewise.
46699 (grub_xfs_label): Likewise.
46700 * fs/affs.c (grub_affs_mount): Likewise.
46701 (grub_affs_label): Likewise.
46702 (grub_affs_iterate_dir): Likewise.
46703 * fs/sfs.c (grub_sfs_mount): Likewise.
46704 (grub_sfs_iterate_dir): Likewise.
46705 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
46706 * fs/hfs.c (grub_hfs_mount): Likewise.
46707 (grub_hfs_cmp_catkeys): Likewise.
46708 (grub_hfs_find_dir): Likewise.
46709 (grub_hfs_dir): Likewise.
46710 (grub_hfs_label): Likewise.
46711 * fs/jfs.c (grub_jfs_mount): Likewise.
46712 (grub_jfs_opendir): Likewise.
46713 (grub_jfs_getent): Likewise.
46714 (grub_jfs_lookup_symlink): Likewise.
46715 (grub_jfs_label): Likewise.
46716 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
46717 (grub_hfsplus_iterate_dir): Likewise.
46718 (grub_hfsplus_btree_iterate_node): Made static.
46719
46720 * util/grub-emu.c (prefix): New variable.
46721 (grub_machine_set_prefix): New function.
46722 (main): Do not set the environment variable "prefix" here. Only
46723 set PREFIX, which is used later by grub_machine_set_prefix.
46724
46725 * include/grub/video.h: Do not include grub/symbol.h.
46726 (grub_video_register): Not exported. This symbol is not defined in
46727 the kernel.
46728 (grub_video_unregister): Likewise.
46729 (grub_video_iterate): Likewise.
46730 (grub_video_setup): Likewise.
46731 (grub_video_restore): Likewise.
46732 (grub_video_get_info): Likewise.
46733 (grub_video_get_blit_format): Likewise.
46734 (grub_video_set_palette): Likewise.
46735 (grub_video_get_palette): Likewise.
46736 (grub_video_set_viewport): Likewise.
46737 (grub_video_get_viewport): Likewise.
46738 (grub_video_map_color): Likewise.
46739 (grub_video_map_rgb): Likewise.
46740 (grub_video_map_rgba): Likewise.
46741 (grub_video_fill_rect): Likewise.
46742 (grub_video_blit_glyph): Likewise.
46743 (grub_video_blit_bitmap): Likewise.
46744 (grub_video_blit_render_target): Likewise.
46745 (grub_video_scroll): Likewise.
46746 (grub_video_swap_buffers): Likewise.
46747 (grub_video_create_render_target): Likewise.
46748 (grub_video_delete_render_target): Likewise.
46749 (grub_video_set_active_render_target): Likewise.
46750
46751 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
46752 Undefined.
46753 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
46754
46755 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
46756 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46757 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46758 instead of $(srcdir)/genkernsyms.sh.
46759
46760 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
46761 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46762 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46763 instead of $(srcdir)/genkernsyms.sh.
46764
46765 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
46766 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46767 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46768 instead of $(srcdir)/genkernsyms.sh.
46769
46770 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
46771 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46772 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46773 instead of $(srcdir)/genkernsyms.sh.
46774
46775 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
46776 genkernsyms.sh.
46777
46778 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
46779 genkernsyms.sh.
46780 (gensymlist.sh): New target.
46781 (genkernsyms.sh): Likewise.
46782
46783 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
46784 genkernsyms.sh.in and gensymlist.sh.in.
46785
46786 * genkernsyms.sh: Removed.
46787 * gensymlist.sh: Likewise.
f19dbdb7 46788
7b455f4d 46789 * genkernsyms.sh.in: New file.
46790 * gensymlist.sh.in: Likewise.
46791
1885bb27 467922006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46793
46794 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
46795 clobber "prefix", since we may have already set it manually.
46796
71538dff 467972006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46798
46799 * kern/misc.c (abort): New alias for grub_abort.
46800
2965c7cc 468012006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
46802
46803 A new machine-specific function "grub_machine_set_prefix" is
46804 defined. This is called after loading modules, so that a prefix
46805 initialization can use modules. Also, this change adds an
46806 intensive debugging feature for the memory manager via the
46807 configure option "--enable-mm-debug".
f19dbdb7 46808
2965c7cc 46809 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
46810 PART.LEN.
46811
46812 * kern/sparc64/ieee1275/init.c (abort): Removed.
46813 (grub_stop): Likewise.
46814 (grub_exit): New function.
46815 (grub_set_prefix): Renamed to ...
46816 (grub_machine_set_prefix): ... this.
46817 (grub_machine_init): Do not call grub_set_prefix.
46818
46819 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
46820 (grub_machine_set_prefix): ... this.
46821 (grub_machine_init): Do not call grub_set_prefix.
46822
46823 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
46824 (grub_machine_init): Do not set the prefix here.
46825
46826 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
46827
46828 * kern/efi/init.c: Include grub/mm.h.
46829 (grub_efi_set_prefix): New function.
46830
46831 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
46832 (grub_efi_get_filename): New function.
46833 (grub_print_device_path): Renamed to ...
46834 (grub_efi_print_device_path): ... this.
46835
46836 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
46837 [MM_DEBUG] (grub_realloc): Likewise.
46838 [MM_DEBUG] (grub_free): Likewise.
46839 [MM_DEBUG] (grub_memalign): Likewise.
46840 [MM_DEBUG] (grub_mm_debug): New variable.
46841 [MM_DEBUG] (grub_debug_malloc): New function.
46842 [MM_DEBUG] (grub_debug_free): New function.
46843 [MM_DEBUG] (grub_debug_realloc): New function.
46844 [MM_DEBUG] (grub_debug_memalign): New function.
46845
46846 * kern/misc.c (grub_abort): Print a newline to distinguish
46847 the message.
46848
46849 * kern/main.c (grub_main): Call grub_machine_set_prefix and
46850 grub_set_root_dev after loading modules. This is necessary when
46851 setting a prefix depends on modules.
46852
46853 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
46854 (grub_efi_print_device_path): ... this.
46855 (grub_efi_get_filename): New prototype.
46856 (grub_efi_set_prefix): Likewise.
46857
46858 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
46859 and grub/disk.h.
46860 (grub_efidisk_get_device_handle): New prototype.
46861 (grub_efidisk_get_device_name): Likewise.
46862
46863 * include/grub/mm.h: Include config.h.
46864 (MM_DEBUG): Removed.
46865 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
46866 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
46867 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
46868 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
46869 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
46870 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
46871 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
46872 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
46873 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
46874
46875 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
46876
46877 * disk/efi/efidisk.c: Include grub/partition.h.
46878 (iterate_child_devices): New function.
46879 (add_device): First, compare only last device path nodes, so that
46880 devices are sorted by the types.
46881 (grub_efidisk_get_device_handle): New function.
46882 (grub_efidisk_get_device_name): Likewise.
46883
46884 * configure.ac (--enable-mm-debug): New option to enable the
46885 memory manager debugging feature. This makes the binary much
46886 bigger, so is disabled by default.
46887
9cacaa17 468882006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
46889
46890 Use grub_abort instead of grub_stop, and grub_exit must be
46891 define in each architecture now. Also, this change adds support
46892 for EFI disks.
f19dbdb7 46893
9cacaa17 46894 * util/i386/pc/grub-probefs.c: Include grub/term.h.
46895 (grub_getkey): New function.
46896 (grub_term_get_current): Likewise.
46897
46898 * util/i386/pc/grub-setup.c: Include grub/term.h.
46899 (grub_getkey): New function.
46900 (grub_term_get_current): Likewise.
46901
46902 * util/misc.c (grub_stop): Renamed to ...
46903 (grub_exit): ... this.
46904
46905 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
46906 (grub_exit): ... this.
46907 (grub_machine_init): Use grub_abort instead of abort.
46908 (grub_stop): Removed.
46909
46910 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
46911 abort.
46912
46913 * kern/i386/pc/startup.S (grub_exit): New function.
46914 (cold_reboot): New label.
46915
46916 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
46917 (grub_efi_init): Call grub_efidisk_init.
46918 (grub_efi_fini): Call grub_efidisk_fini.
46919
46920 * kern/efi/efi.c: Include grub/mm.h.
46921 (grub_efi_console_control_guid): Renamed to ...
46922 (console_control_guid): ... this.
46923 (grub_efi_loaded_image_guid): Renamed to ...
46924 (loaded_image_guid): ... this.
46925 (grub_efi_locate_handle): New function.
46926 (grub_efi_open_protocol): Likewise.
46927 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
46928 GRUB_EFI_CONSOLE_CONTROL_GUID.
46929 (grub_efi_exit): Removed.
46930 (grub_stop): Likewise.
46931 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
46932 (grub_exit): New function.
46933 (grub_print_device_path): Likewise.
46934
46935 * kern/rescue.c (grub_rescue_cmd_exit): New function.
46936 (grub_enter_rescue_mode): Register "exit".
46937
46938 * kern/misc.c (grub_real_dprintf): A cosmetic change.
46939 (grub_abort): New function.
46940
46941 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
46942
46943 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
46944
46945 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
46946
46947 * include/grub/efi/efi.h (grub_efi_exit): Removed.
46948 (grub_print_device_path): New prototype.
46949 (grub_efi_locate_handle): Likewise.
46950 (grub_efi_open_protocol): Likewise.
46951
46952 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
46953 * disk/efi/efidisk.c: Likewise.
46954
46955 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
46956
46957 * include/grub/efi/console_control.h
46958 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
46959
46960 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
46961 last 8 bytes as an array.
46962 (GRUB_EFI_DISK_IO_GUID): New macro.
46963 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
46964 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
46965 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
46966 grub_uint8_t.
46967 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
46968 (struct grub_efi_device_path): Rename the member "sub_type" to
46969 "subtype".
46970 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
46971 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
46972 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
46973 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
46974 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
46975 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
46976 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
46977 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
46978 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
46979 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
46980 (struct grub_efi_pci_device_path): New structure.
46981 (grub_efi_pci_device_path_t): New type.
46982 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
46983 (struct grub_efi_pccard_device_path): New structure.
46984 (grub_efi_pccard_device_path_t): New type.
46985 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
46986 (struct grub_efi_memory_mapped_device_path): New structure.
46987 (grub_efi_memory_mapped_device_path_t): New type.
46988 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
46989 (struct grub_efi_vendor_device_path): New structure.
46990 (grub_efi_vendor_device_path_t): New type.
46991 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
46992 (struct grub_efi_controller_device_path): New structure.
46993 (grub_efi_controller_device_path_t): New type.
46994 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
46995 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
46996 (struct grub_efi_acpi_device_path): New structure.
46997 (grub_efi_acpi_device_path_t): New type.
46998 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
46999 (struct grub_efi_expanded_acpi_device_path): New structure.
47000 (grub_efi_expanded_acpi_device_path_t): New type.
47001 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
47002 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
47003 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
47004 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
47005 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
47006 (struct grub_efi_atapi_device_path): New structure.
47007 (grub_efi_atapi_device_path_t): New type.
47008 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
47009 (struct grub_efi_fibre_channel_device_path): New structure.
47010 (grub_efi_fibre_channel_device_path_t): New type.
47011 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
47012 (struct grub_efi_1394_device_path): New structure.
47013 (grub_efi_1394_device_path_t): New type.
47014 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
47015 (struct grub_efi_usb_device_path): New structure.
47016 (grub_efi_usb_device_path_t): New type.
47017 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
47018 (struct grub_efi_usb_class_device_path): New structure.
47019 (grub_efi_usb_class_device_path_t): New type.
47020 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
47021 (struct grub_efi_i2o_device_path): New structure.
47022 (grub_efi_i2o_device_path_t): New type.
47023 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
47024 (struct grub_efi_mac_address_device_path): New structure.
47025 (grub_efi_mac_address_device_path_t): New type.
47026 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
47027 (struct grub_efi_ipv4_device_path): New structure.
47028 (grub_efi_ipv4_device_path_t): New type.
47029 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
47030 (struct grub_efi_ipv6_device_path): New structure.
47031 (grub_efi_ipv6_device_path_t): New type.
47032 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
47033 (struct grub_efi_infiniband_device_path): New structure.
47034 (grub_efi_infiniband_device_path_t): New type.
47035 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
47036 (struct grub_efi_uart_device_path): New structure.
47037 (grub_efi_uart_device_path_t): New type.
47038 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
47039 (struct grub_efi_vendor_messaging_device_path): New structure.
47040 (grub_efi_vendor_messaging_device_path_t): New type.
47041 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
47042 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
47043 (struct grub_efi_hard_drive_device_path): New structure.
47044 (grub_efi_hard_drive_device_path_t): New type.
47045 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
47046 (struct grub_efi_cdrom_device_path): New structure.
47047 (grub_efi_cdrom_device_path_t): New type.
47048 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
47049 (struct grub_efi_vendor_media_device_path): New structure.
47050 (grub_efi_vendor_media_device_path_t): New type.
47051 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
47052 (struct grub_efi_file_path_device_path): New structure.
47053 (grub_efi_file_path_device_path_t): New type.
47054 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
47055 (struct grub_efi_protocol_device_path): New structure.
47056 (grub_efi_protocol_device_path_t): New type.
47057 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
47058 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
47059 (struct grub_efi_bios_device_path): New structure.
47060 (grub_efi_bios_device_path_t): New type.
47061 (struct grub_efi_disk_io): New structure.
47062 (grub_efi_disk_io_t): New type.
47063 (struct grub_efi_block_io_media): New structure.
47064 (grub_efi_block_io_media_t): New type.
47065 (struct grub_efi_block_io): New structure.
47066 (grub_efi_block_io_t): New type.
47067
47068 * include/grub/misc.h (grub_stop): Removed.
47069 (grub_exit): New prototype.
47070 (grub_abort): Likewise.
47071
47072 * include/grub/disk.h (enum grub_disk_dev_id): Added
47073 GRUB_DISK_DEVICE_EFIDISK_ID.
47074
47075 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
47076 disk/efi/efidisk.c.
47077 (kernel_syms.lst): Remove the target if an error occurs.
47078
49986a9f 470792006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
47080
47081 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
47082 as it was simply too buggy.
47083
970d3b8a 470842006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
47085
47086 * kern/misc.c (grub_lltoa): New function.
47087 (grub_vsprintf): Added support for the long long suffix,
47088 i.e. "ll".
47089
ff04ec24 470902006-04-20 Hollis Blanchard <hollis@penguinppc.org>
47091
47092 * Makefile.in (LDFLAGS): Add variable.
47093 (LD): Remove variable.
47094 * configure.ac: Add -m32 to LDFLAGS.
47095 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
47096 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
47097 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
47098 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
47099 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
47100 variables.
47101 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
47102 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
47103 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
47104
37e5e1a4 471052006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
47106
47107 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
47108 length for unknown glyph.
47109
c352d8dd 471102006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
47111
2eab1c0d 47112 Add support for pre-loaded modules into the EFI port.
f19dbdb7 47113
2eab1c0d 47114 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
47115 completely. Accept one more argument DIR. The caller has changed.
47116
47117 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
47118
47119 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
47120 (grub_efi_loaded_image_guid): New variable.
47121 (grub_efi_get_loaded_image): New function.
47122 (grub_arch_modules_addr): Likewise.
47123
47124 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
47125 prototype.
47126
47127 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
47128 (struct grub_efi_loaded_image): New structure.
47129 (grub_efi_loaded_image_t): New type.
47130
471312006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 47132
c352d8dd 47133 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
47134 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
47135 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
47136
6d01d6b4 471372006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
47138
47139 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
47140
976a4ea0 471412006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
47142
47143 * DISTLIST: Added include/grub/efi/console.h,
47144 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
47145 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
47146
47147 * include/grub/efi/console.h: New file.
47148 * include/grub/efi/time.h: Likewise.
47149 * include/grub/i386/efi/kernel.h: Likewise.
47150 * kern/efi/init.c: Likewise.
47151 * kern/efi/mm.c: Likewise.
47152 * term/efi/console.c: Likewise.
f19dbdb7 47153
976a4ea0 47154 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
47155 (grub_stop): Removed.
47156 (grub_get_rtc): Likewise.
47157 (grub_machine_init): Simply call grub_efi_init.
47158 (grub_machine_fini): Call grub_efi_fini.
47159
47160 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
47161 (grub_efi_output_string): Removed.
47162 (grub_efi_stall): New function.
47163 (grub_stop): Likewise.
47164 (grub_get_rtc): Likewise.
47165
47166 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
47167 (grub_efi_stall): New prototype.
47168 (grub_efi_allocate_pages): Likewise.
47169 (grub_efi_free_pages): Likewise.
47170 (grub_efi_get_memory_map): Likewise.
47171 (grub_efi_mm_init): Likewise.
47172 (grub_efi_mm_fini): Likewise.
47173 (grub_efi_init): Likewise.
47174 (grub_efi_fini): Likewise.
47175
47176 * include/grub/i386/efi/time.h: Do not include
47177 grub/symbol.h. Include grub/efi/time.h.
47178 (GRUB_TICKS_PER_SECOND): Removed.
47179 (grub_get_rtc): Likewise.
47180
47181 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
47182 Added padding. The EFI spec is buggy.
47183 (GRUB_EFI_BLACK): New macro.
47184 (GRUB_EFI_BLUE): Likewise.
47185 (GRUB_EFI_GREEN): Likewise.
47186 (GRUB_EFI_CYAN): Likewise.
47187 (GRUB_EFI_RED): Likewise.
47188 (GRUB_EFI_MAGENTA): Likewise.
47189 (GRUB_EFI_BROWN): Likewise.
47190 (GRUB_EFI_LIGHTGRAY): Likewise.
47191 (GRUB_EFI_BRIGHT): Likewise.
47192 (GRUB_EFI_DARKGRAY): Likewise.
47193 (GRUB_EFI_LIGHTBLUE): Likewise.
47194 (GRUB_EFI_LIGHTGREEN): Likewise.
47195 (GRUB_EFI_LIGHTCYAN): Likewise.
47196 (GRUB_EFI_LIGHTRED): Likewise.
47197 (GRUB_EFI_LIGHTMAGENTA): Likewise.
47198 (GRUB_EFI_YELLOW): Likewise.
47199 (GRUB_EFI_WHITE): Likewise.
47200 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
47201 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
47202 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
47203 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
47204 (GRUB_EFI_BACKGROUND_RED): Likewise.
47205 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
47206 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
47207 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
47208 (GRUB_EFI_TEXT_ATTR): Likewise.
47209
47210 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
47211 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
47212 (kernel_mod_HEADERS): Added efi/time.h.
47213
83709125 472142006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
47215
47216 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
47217 include/grub/efi/api.h, include/grub/efi/console_control.h,
47218 include/grub/efi/efi.h, include/grub/efi/pe32.h,
47219 include/grub/i386/efi/time.h, kern/efi/efi.c,
47220 kern/i386/efi/init.c, kern/i386/efi/startup.S,
47221 and util/i386/efi/grub-mkimage.c.
47222
47223 * Makefile.in (RMKFILES): Added i386-efi.rmk.
47224
47225 * genmk.rb (PModule#rule): Do not export symbols if
47226 #{prefix}_EXPORTS is set to "no".
47227
47228 * conf/i386-efi.mk: New file.
47229 * conf/i386-efi.rmk: Likewise.
47230 * include/grub/efi/api.h: Likewise.
47231 * include/grub/efi/console_control.h: Likewise.
47232 * include/grub/efi/efi.h: Likewise.
47233 * include/grub/efi/pe32.h: Likewise.
47234 * include/grub/i386/efi/time.h: Likewise.
47235 * kern/efi/efi.c: Likewise.
47236 * kern/i386/efi/init.c: Likewise.
47237 * kern/i386/efi/startup.S: Likewise.
47238 * util/i386/efi/grub-mkimage.c: Likewise.
47239
472402006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 47241
47242 * include/grub/script.h: Include <grub/parser.h> and
47243 "grub_script.tab.h".
47244 (struct grub_lexer_param): New struct.
47245 (struct grub_parser_param): Likewise.
47246 (grub_script_create_arglist): Pass the state in an argument.
47247 (grub_script_add_arglist): Likewise.
47248 (grub_script_create_cmdline): Likewise.
47249 (grub_script_create_cmdblock): Likewise.
47250 (grub_script_create_cmdif): Likewise.
47251 (grub_script_create_cmdmenu): Likewise.
47252 (grub_script_add_cmd): Likewise.
47253 (grub_script_arg_add): Likewise.
47254 (grub_script_lexer_ref): Likewise.
47255 (grub_script_lexer_deref): Likewise.
47256 (grub_script_lexer_record_start): Likewise.
47257 (grub_script_lexer_record_stop): Likewise.
47258 (grub_script_mem_record): Likewise.
47259 (grub_script_mem_record_stop): Likewise.
47260 (grub_script_malloc): Likewise.
47261 (grub_script_yylex): Likewise.
47262 (grub_script_yyparse): Likewise.
47263 (grub_script_yyerror): Likewise.
47264 (grub_script_yylex): Likewise.
47265 (grub_script_lexer_init): Return the state.
47266
47267 * normal/lexer.c (grub_script_lexer_state): Removed variable.
47268 (grub_script_lexer_done): Likewise.
47269 (grub_script_lexer_getline): Likewise.
47270 (grub_script_lexer_refs): Likewise.
47271 (script): Likewise.
47272 (newscript): Likewise.
47273 (record): Likewise.
47274 (recording): Likewise.
47275 (recordpos): Likewise.
47276 (recordlen): Likewise.
47277 (grub_script_lexer_init): Return the state instead of setting
47278 global variables.
47279 (grub_script_lexer_ref): Use the newly added argument for state
47280 instead of globals.
47281 (grub_script_lexer_deref): Likewise.
47282 (grub_script_lexer_record_start): Likewise.
47283 (grub_script_lexer_record_stop): Likewise.
47284 (recordchar): Likewise.
47285 (nextchar): Likewise.
47286 (grub_script_yylex2): Likewise.
47287 (grub_script_yylex): Likewise.
47288 (grub_script_yyerror): Likewise.
47289
47290 * normal/parser.y (func_mem): Removed variable.
47291 (menu_entry): Likewise.
47292 (err): Likewise.
47293 (%lex-param): New parser option.
47294 (%parse-param): Likewise.
47295 (script): Always return the AST.
47296 (argument): Pass the state around.
47297 (arguments): Likewise.
47298 (grubcmd): Likewise.
47299 (commands): Likewise.
47300 (function): Likewise.
47301 (menuentry): Likewise.
47302 (if_statement): Likewise.
47303 (if): Likewise.
47304
47305 * normal/script.c (grub_script_memused): Removed variable.
47306 (grub_script_parsed): Likewise.
47307 (grub_script_malloc): Added a state argument. Use that instead of
47308 global variables.
47309 (grub_script_mem_record): Likewise.
47310 (grub_script_mem_record_stop): Likewise.
47311 (grub_script_arg_add): Likewise.
47312 (grub_script_add_arglist): Likewise.
47313 (grub_script_create_cmdline): Likewise.
47314 (grub_script_create_cmdif): Likewise.
47315 (grub_script_create_cmdmenu): Likewise.
47316 (grub_script_add_cmd): Likewise.
47317 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 47318
e2a8c904 473192006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 47320
47321 * normal/command.c (grub_command_init): Remove the title command.
47322
47323 * normal/lexer.c (grub_script_yylex): Renamed from this...
47324 (grub_script_yylex2): ... to this.
47325 (grub_script_yylex): New function. Temporary
47326 introduced to filter some tokens.
47327 (grub_script_yyerror): Print a newline.
47328
47329 * normal/main.c (read_config_file): Output information about the
47330 lines that contain errors. Wait for a key after all lines have
47331 been processed. Don't return an empty menu.
47332
47333 * normal/parser.y (func_mem): Don't initialize.
47334 (menu_entry): Likewise.
47335 (err): New variable.
47336 (script): Don't return anything when an error was encountered.
47337 (ws, returns): Removed rules.
47338 (argument): Disabled concatenated variable support.
47339 (arguments): Remove explicit separators.
47340 (grubcmd): Likewise.
47341 (function): Likewise.
47342 (menuentry): Likewise.
47343 (if): Likewise.
47344 (commands): Likewise. Add error handling.
47345
47346 * normal/script.c (grub_script_create_cmdline): If
47347 `grub_script_parsed' is 0, assume the parser encountered an error.
47348
c9a86192 473492006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
47350
47351 * configure.ac: Add support for EFI. Fix the typo
47352 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
47353
70f3b243 473542006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
47355
47356 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
47357 foreign multibyte characters should be shown correctly.
47358
65f201ad 473592006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
47360
47361 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
47362 calculation.
47363 (read_config_file): Made it to close file before returning.
47364
b4b93674 473652006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
47366
47367 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
47368 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
47369 video/i386/pc/vbefill.c.
47370
47371 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
47372 video/i386/pc/vbefill.c.
47373
47374 * include/grub/video.h (grub_video_blit_format): New enum.
47375 (grub_video_mode_info): Added new member blit_format.
47376 (grub_video_get_blit_format): New function prototype.
47377
47378 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
47379 function prototype.
47380 (grub_video_vbe_map_rgb): Likewise.
47381 (grub_video_vbe_unmap_color): Likewise.
47382
47383 * include/grub/i386/pc/vbeblit.h: New file.
47384
47385 * include/grub/i386/pc/vbefill.h: New file.
47386
47387 * video/video.c (grub_video_get_blit_format): New function.
47388 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
47389 (grub_video_vbe_map_rgb): Likewise.
47390 (grub_video_vbe_unmap_color): Likewise.
47391
47392 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
47393 optimized fills.
47394 (grub_video_vbe_blit_render_target): Changed to use more optimized
47395 blits.
47396 (grub_video_vbe_setup): Added detection for optimized settings.
47397 (grub_video_vbe_create_render_target): Likewise.
47398
47399 * video/i386/pc/vbeblit.c: New file.
47400
47401 * video/i386/pc/vbefill.c: New file.
47402
c2379b9c 474032006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
47404
47405 * font/manager.c (grub_font_get_glyph): Removed font fixup from
47406 here...
47407
47408 * util/unifont2pff.rb: ... and moved it to here. Improved argument
47409 parsing to support both hex and dec ranges. If filename was missing
47410 show usage information.
47411
bd0d7896 474122006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
47413
47414 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
47415 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
47416
47417 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
47418 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
47419 (video_mod_SOURCES): Added.
47420 (video_mod_CFLAGS): Likewise.
47421 (video_mod_LDFLAGS): Likewise.
47422 (gfxterm_mod_SOURCES): Likewise.
47423 (gfxterm_mod_CFLAGS): Likewise.
47424 (gfxterm_mod_LDFLAGS): Likewise.
47425 (videotest_mod_SOURCES): Likewise.
47426 (videotest_mod_CFLAGS): Likewise.
47427 (videotest_mod_LDFLAGS): Likewise.
47428 (vesafb_mod_SOURCES): Removed.
47429 (vesafb_mod_CFLAGS): Likewise.
47430 (vesafb_mod_LDFLAGS): Likewise.
47431 (vga_mod_SOURCES): Likewise.
47432 (vga_mod_CFLAGS): Likewise.
47433 (vga_mod_LDFLAGS): Likewise.
47434
47435 * commands/videotest.c: New file.
47436
47437 * font/manager.c (fill_with_default_glyph): Modified to use
47438 grub_font_glyph.
47439 (grub_font_get_glyph): Likewise.
47440 (fontmanager): Renamed from this...
47441 (font_manager): ... to this.
47442
47443 * include/grub/font.h (grub_font_glyph): Added new structure.
47444 (grub_font_get_glyph): Modified to use grub_font_glyph.
47445
47446 * include/grub/misc.h (grub_abs): Added as inline function.
47447
47448 * include/grub/video.h: New file.
47449
47450 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
47451 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
47452 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
47453 (grub_vbe_get_controller_info): Renamed from this...
47454 (grub_vbe_bios_get_controller_info): ... to this.
47455 (grub_vbe_get_mode_info): Renamed from this...
47456 (grub_vbe_bios_get_mode_info): ... to this.
47457 (grub_vbe_set_mode): Renamed from this...
47458 (grub_vbe_bios_set_mode): ... to this.
47459 (grub_vbe_get_mode): Renamed from this...
47460 (grub_vbe_bios_get_mode): ... to this.
47461 (grub_vbe_set_memory_window): Renamed from this...
47462 (grub_vbe_bios_set_memory_window): ... to this.
47463 (grub_vbe_get_memory_window): Renamed from this...
47464 (grub_vbe_bios_get_memory_window): ... to this.
47465 (grub_vbe_set_scanline_length): Renamed from this...
47466 (grub_vbe_set_scanline_length): ... to this.
47467 (grub_vbe_get_scanline_length): Renamed from this...
47468 (grub_vbe_bios_get_scanline_length): ... to this.
47469 (grub_vbe_set_display_start): Renamed from this...
47470 (grub_vbe_bios_set_display_start): ... to this.
47471 (grub_vbe_get_display_start): Renamed from this...
47472 (grub_vbe_bios_get_display_start): ... to this.
47473 (grub_vbe_set_palette_data): Renamed from this...
47474 (grub_vbe_bios_set_palette_data): ... to this.
47475 (grub_vbe_set_pixel_rgb): Removed.
47476 (grub_vbe_set_pixel_index): Likewise.
47477
47478 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
47479 from this...
47480 (grub_vbe_bios_get_controller_info): ... to this.
47481 (grub_vbe_get_mode_info): Renamed from this...
47482 (grub_vbe_bios_get_mode_info): ... to this.
47483 (grub_vbe_set_mode): Renamed from this...
47484 (grub_vbe_bios_set_mode): ... to this.
47485 (grub_vbe_get_mode): Renamed from this...
47486 (grub_vbe_bios_get_mode): ... to this.
47487 (grub_vbe_set_memory_window): Renamed from this...
47488 (grub_vbe_bios_set_memory_window): ... to this.
47489 (grub_vbe_get_memory_window): Renamed from this...
47490 (grub_vbe_bios_get_memory_window): ... to this.
47491 (grub_vbe_set_scanline_length): Renamed from this...
47492 (grub_vbe_set_scanline_length): ... to this.
47493 (grub_vbe_get_scanline_length): Renamed from this...
47494 (grub_vbe_bios_get_scanline_length): ... to this.
47495 (grub_vbe_set_display_start): Renamed from this...
47496 (grub_vbe_bios_set_display_start): ... to this.
47497 (grub_vbe_get_display_start): Renamed from this...
47498 (grub_vbe_bios_get_display_start): ... to this.
47499 (grub_vbe_set_palette_data): Renamed from this...
47500 (grub_vbe_bios_set_palette_data): ... to this.
47501 (grub_vbe_bios_get_controller_info): Fixed problem with registers
47502 getting corrupted after calling it. Added more pushes and pops.
47503 (grub_vbe_bios_set_mode): Likewise.
47504 (grub_vbe_bios_get_mode): Likewise.
47505 (grub_vbe_bios_get_memory_window): Likewise.
47506 (grub_vbe_bios_set_scanline_length): Likewise.
47507 (grub_vbe_bios_get_scanline_length): Likewise.
47508 (grub_vbe_bios_get_display_start): Likewise.
47509 (grub_vbe_bios_set_palette_data): Likewise.
47510
47511 * normal/cmdline.c (cl_set_pos): Refresh the screen.
47512 (cl_insert): Likewise.
47513 (cl_delete): Likewise.
47514
47515 * term/gfxterm.c: New file.
47516
47517 * term/i386/pc/vesafb.c: Removed file.
47518
47519 * video/video.c: New file.
47520
47521 * video/i386/pc/vbe.c (real2pm): Added new function.
47522 (grub_video_vbe_draw_pixel): Likewise.
47523 (grub_video_vbe_get_video_ptr): Likewise.
47524 (grub_video_vbe_get_pixel): Likewise
47525 (grub_video_vbe_init): Likewise.
47526 (grub_video_vbe_fini): Likewise.
47527 (grub_video_vbe_setup): Likewise.
47528 (grub_video_vbe_get_info): Likewise.
47529 (grub_video_vbe_set_palette): Likewise.
47530 (grub_video_vbe_get_palette): Likewise.
47531 (grub_video_vbe_set_viewport): Likewise.
47532 (grub_video_vbe_get_viewport): Likewise.
47533 (grub_video_vbe_map_color): Likewise.
47534 (grub_video_vbe_map_rgb): Likewise.
47535 (grub_video_vbe_map_rgba): Likewise.
47536 (grub_video_vbe_unmap_color): Likewise.
47537 (grub_video_vbe_fill_rect): Likewise.
47538 (grub_video_vbe_blit_glyph): Likewise.
47539 (grub_video_vbe_blit_bitmap): Likewise.
47540 (grub_video_vbe_blit_render_target): Likewise.
47541 (grub_video_vbe_scroll): Likewise.
47542 (grub_video_vbe_swap_buffers): Likewise.
47543 (grub_video_vbe_create_render_target): Likewise.
47544 (grub_video_vbe_delete_render_target): Likewise.
47545 (grub_video_vbe_set_active_render_target): Likewise.
47546 (grub_vbe_set_pixel_rgb): Remove function.
47547 (grub_vbe_set_pixel_index): Likewise.
47548 (index_color_mode): Remove static variable.
47549 (active_mode): Likewise.
47550 (framebuffer): Likewise.
47551 (bytes_per_scan_line): Likewise.
47552 (grub_video_vbe_adapter): Added new static variable.
47553 (framebuffer): Likewise.
47554 (render_target): Likewise.
47555 (initial_mode): Likewise.
47556 (mode_in_use): Likewise.
47557 (mode_list): Likewise.
47558
5f97350b 475592006-03-10 Marco Gerards <marco@gnu.org>
47560
47561 * configure.ac (AC_INIT): Bumped to 1.93.
47562
47563 * DISTLIST: Added `include/grub/hfs.h'.
47564
a3c5c6f8 475652006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
47566
47567 * boot/i386/pc/boot.S (general_error): Before looping, try INT
47568 18H, which might help the BIOS falling back to next boot media.
47569
6de53d26 475702006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
47571
47572 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
47573 Poe Chen <poe.poechen@gmail.com>.
47574
77c4a393 475752006-01-17 Marco Gerards <marco@gnu.org>
47576
47577 * include/grub/normal.h: Include <grub/script.h>.
47578 (grub_command_list): Removed struct.
47579 (grub_command_list_t): Removed type.
47580 (grub_menu_entry): Remove members `num' and `command_list'. Add
47581 members `commands' and `sourcecode'.
47582 * include/grub/script.h: Add inclusion guards.
47583 (grub_script_cmd_menuentry): New struct.
47584 (grub_script_execute_menuentry): New prototype.
47585 (grub_script_lexer_record_start): Likewise.
47586 (grub_script_lexer_record_stop): Likewise.
47587 * normal/execute.c (grub_script_execute_menuentry): New function.
47588 * normal/lexer.c (record, recording, recordpos, recordlen): New
47589 variables.
47590 (grub_script_lexer_record_start): New function.
47591 (grub_script_lexer_record_stop): Likewise.
47592 (recordchar): Likewise.
47593 (nextchar): Likewise.
47594 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
47595 2048 as the buffer size. Add the tokens `menuentry' and `@'.
47596 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
47597 (current_menu): New variable.
47598 (free_menu): Mainly rewritten.
47599 (grub_normal_menu_addentry): New function.
47600 (read_config_file): Rewritten.
47601 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 47602 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 47603 the menu entry.
47604 (run): Mainly rewritten.
47605 * normal/parser.y (menu_entry): New variable.
47606 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
47607 (menuentry): New rule.
47608 (command): Add `menuentry'.
47609 (if_statement): Allow additional returns before `fi'.
47610 * normal/script.c (grub_script_create_cmdmenu): New function.
47611
144f1f98 476122006-01-03 Marco Gerards <marco@gnu.org>
47613
47614 * INSTALL: GNU Bison is required.
47615 * configure.ac: Rewritten the test to detect Bison.
47616 * Makefile.in (YACC): New variable. Reported by Xun Sun
47617 <xun.sun.cn@gmail.com>.
47618
af4b2d89 476192006-01-03 Marco Gerards <marco@gnu.org>
47620
47621 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
47622 the HFS+ filesystem to filesystem blocks.
47623 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
47624 GCC warning is silenced.
47625
15643b71 476262006-01-03 Marco Gerards <marco@gnu.org>
47627
47628 * partmap/apple.c (apple_partition_map_iterate): Convert the data
47629 read from disk from big endian to host byte order.
47630
00905879 476312006-01-03 Hollis Blanchard <hollis@penguinppc.org>
47632
47633 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
47634 documentation.
47635 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
47636 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
47637 embedded HFS+ filesystem.
47638 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
47639 (grub_hfs_sblock): Move from here...
47640 * include/grub/hfs.h: To here... New file.
47641 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
47642 documentation.
47643 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
47644 New macros.
47645 (grub_hfsplus_volheader): Change type of member `magic' to
47646 `grub_uint16_t'.
47647 (grub_hfsplus_data): Add new member `embedded_offset'.
47648 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
47649 returned block.
47650 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
47651 Calculate the offset.
47652
8899bc3e 476532005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47654
47655 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
47656 Removed.
47657 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
47658
ae8c0277 476592005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47660
47661 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
47662 ENV->NAME is NULL after allocating ENV->VALUE.
47663
07084456 476642005-12-25 Marco Gerards <marco@gnu.org>
47665
47666 * kern/env.c (grub_env_set): Rewritten the error handling code.
47667
4750f5f1 476682005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47669
47670 * geninit.sh: Made more robust, and more portable.
47671
50214199 476722005-12-25 Marco Gerards <marco@gnu.org>
47673
47674 Add support for Apple HFS+ filesystems.
f19dbdb7 47675
50214199 47676 * fs/hfsplus.c: New file.
47677
47678 * DISTLIST: Added `fs/hfsplus.c'.
47679
47680 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
47681 (hfsplus_mod_SOURCES): New variable.
47682 (hfsplus_mod_CFLAGS): Likewise.
47683 (hfsplus_mod_LDFLAGS): Likewise.
47684 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
47685 (grub_setup_SOURCES): Likewise.
47686 (grub_mkdevicemap_SOURCES): Likewise.
47687 (grub_emu_SOURCES): Likewise.
47688 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47689
47690 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
47691
47692 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
47693
befaed6c 476942005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47695
47696 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
47697 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
47698 include/grub/parser.h, include/grub/script.h, kern/parser.c,
47699 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
47700 normal/lexer.c, normal/parser.y, normal/script.c, and
47701 partmap/gpt.c.
47702 Removed kern/sparc64/cache.c.
47703
47704 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
47705 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
47706 grub_emu_init.c.
47707
47708 * configure.ac (AC_INIT): Bumped to 1.92.
47709
6a124103 477102005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
47711
47712 * kern/err.c (grub_error_push): Added new function to support error
47713 stacks.
47714 (grub_error_pop): Likewise.
47715 (grub_error_stack_items): New local variable to support error stacks.
47716 (grub_error_stack_pos): Likewise.
47717 (grub_error_stack_assert): Likewise.
47718 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
47719 stack depth.
47720 (grub_print_error): Added support to print errors from error stack.
47721
47722 * include/grub/err.h (grub_error_push): Added function prototype.
47723 (grub_error_pop): Likewise.
47724
be973c1b 477252005-12-09 Hollis Blanchard <hollis@penguinppc.org>
47726
47727 * configure.ac: Accept `powerpc64' as host_cpu.
47728 (amd64): Rename to `biarch32'.
47729
47730 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
47731 non-cacheline-aligned addresses.
47732
47733 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
47734 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
47735 if `size' is non-zero.
47736
b04216ab 477372005-12-03 Marco Gerards <mgerards@xs4all.nl>
47738
47739 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
47740 and `cd' to make sure the filename is not prefixed with a
47741 directory name.
47742 (pkgdata_MODULES): Add `gpt.mod'.
47743 (gpt_mod_SOURCES): New variable.
47744 (gpt_mod_CFLAGS): Likewise.
47745 (gpt_mod_LDFLAGS): Likewise.
47746
47747 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
47748
47749 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
47750 New macro.
47751
47752 * partmap/gpt.c: New file.
47753
47754 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
47755 GPT partition map is detected.
47756
41730ed9 477572005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
47758
47759 * commands/i386/pc/play.c: New file.
47760 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
47761 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
47762 macros.
f19dbdb7 47763
95dc3643 477642005-11-27 Marco Gerards <mgerards@xs4all.nl>
47765
47766 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
47767 ((unused))' to silence gcc warning.
47768
1569ec51 477692005-11-26 Hollis Blanchard <hollis@penguinppc.org>
47770
47771 * configure.ac: Correct `AC_PROG_YACC' test.
47772
9abde152 477732005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47774
47775 * util/powerpc/ieee1275/grub-install.in: Run the mount point
47776 check before installing files.
47777
44b83271 477782005-11-22 Mike Small <smallm@panix.com>
47779
47780 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
47781 number regex so multidigit numbers are recognized correctly.
47782
477832005-11-22 Mike Small <smallm@panix.com>
47784
47785 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
47786 debugging message before attempting to claim memory.
47787 (grub_rescue_cmd_initrd): Add a claim debugging message and try
47788 multiple addresses in case of failure.
47789
9c12956b 477902005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47791
47792 * term/tparm.c (get_space): Remove empty `if' statement.
47793
47794 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
47795
47796 * kern/parser.c (check_varstate): Rename `state' to 's'.
47797
aeaf81d9 477982005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47799
47800 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
47801 variable definitions to the beginning of each function. Sort stack
47802 variables by size.
47803 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
47804 `buf' argument to `char *'.
47805
79bbb63f 478062005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47807
47808 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
47809 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47810 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 47811 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47812 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47813 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47814 configfile.mod, search.mod, gzio.mod and test.mod.
47815 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47816 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47817 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47818 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47819 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47820 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47821 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47822 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47823 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47824 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47825 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47826 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47827 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47828 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47829 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47830 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47831 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47832 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47833 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47834 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47835 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47836 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47837 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
47838
47839 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
47840 `grep --include'.
47841 (pkgdata_MODULES): Add test.mod.
47842
233b1628 478432005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47844
47845 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
47846 appending to variables with "+=".
47847 (PModule): Use full pathname to generate *.lst filenames.
47848
47849 * Makefile.in: Fixed list rules moved from genmk.rb.
47850 (.DELETE_ON_ERROR): New special target.
47851 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
47852
47853 * conf/i386-pc.rmk: Include conf/common.mk.
47854 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47855 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 47856 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47857 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47858 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47859 configfile.mod, search.mod, gzio.mod and test.mod.
47860 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47861 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47862 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47863 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47864 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47865 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47866 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47867 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47868 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47869 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47870 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47871 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47872 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47873 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47874 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47875 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47876 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47877 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47878 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47879 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47880 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47881 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47882 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
47883 here...
47884 * conf/common.rmk: ... to here. New file.
47885
47886 * conf/common.mk: New file.
47887
16f820c8 478882005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
47889
47890 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
47891 (grub_script.tab.c): ... here.
47892
47893 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
47894 (grub_script.tab.c): ... here.
47895
47896 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
47897 (grub_script.tab.c): ... here.
47898
47899 * normal/command.c (grub_command_find): Fixed a memory leak of
47900 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
47901
63ba1554 479022005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47903
47904 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
47905 "@" which marks the start of a comment on ARM.
47906 (VARIABLE): Likewise.
47907
7f67dc13 479082005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47909
79bbb63f 47910 Add support for Linux/ADFS partition tables.
7f67dc13 47911
47912 * partmap/acorn.c: New file.
47913
47914 * include/grub/acorn_filecore.h: Likewise.
47915
47916 * DISTLIST: Added `partmap/acorn.c' and
47917 `include/grub/acorn_filecore.h'.
f19dbdb7 47918
7f67dc13 47919 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47920 `partmap/acorn.c'.
47921 (pkgdata_MODULES): Add `acorn.mod'.
47922 (acorn_mod_SOURCES): New variable.
47923 (acorn_mod_CFLAGS): Likewise.
47924
47925 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47926 `partmap/acorn.c'.
47927 (pkgdata_MODULES): Add `acorn.mod'.
47928 (acorn_mod_SOURCES): New variable.
47929 (acorn_mod_CFLAGS): Likewise.
47930
47931 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
47932 (pkgdata_MODULES): Add `acorn.mod'.
47933 (acorn_mod_SOURCES): New variable.
47934 (acorn_mod_CFLAGS): Likewise.
47935 (acorn_mod_LDFLAGS): Likewise.
47936
47937 * include/types.h (grub_disk_addr_t): New typedef.
47938
6d099807 479392005-11-13 Marco Gerards <mgerards@xs4all.nl>
47940
47941 * geninit.sh: New file.
47942
47943 * geninitheader.sh: Likewise.
47944
47945 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
47946 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
47947 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
47948 * commands/configfile.c (grub_configfile_init)
47949 (grub_configfile_fini): Likewise.
47950 * commands/default.c (grub_default_init, grub_default_fini):
47951 Likewise.
47952 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
47953 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
47954 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
47955 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
47956 Likewise.
47957 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
47958 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
47959 Likewise.
47960 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 47961 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 47962 Likewise.
47963 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
47964 Likewise.
fe6b695a 47965 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 47966 Likewise.
47967 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
47968 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
47969 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
47970 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
47971 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
47972 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
47973 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
47974 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
47975 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
47976 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
47977 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
47978 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
47979 * partmap/amiga.c (grub_amiga_partition_map_init)
47980 (grub_amiga_partition_map_fini): Likewise.
47981 * partmap/apple.c (grub_apple_partition_map_init)
47982 (grub_apple_partition_map_fini): Likewise.
47983 * partmap/pc.c (grub_pc_partition_map_init)
47984 (grub_pc_partition_map_fini): Likewise.
47985 * partmap/sun.c (grub_sun_partition_map_init,
47986 grub_sun_partition_map_fini): Likewise.
47987 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
47988 Likewise.
47989
47990 * util/grub-emu.c: Include <grub_modules_init.h>.
47991 (main): Don't initialize and de-initialize any modules directly,
47992 use `grub_init_all' and `grub_fini_all' instead.
47993
47994 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
47995 `grub_vesafb_mod_init'.
47996 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
47997 all users.
47998 * term/i386/pc/vga.c (grub_vga_init): Renamed to
47999 `grub_vga_mod_init'. Updated all users.
48000 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 48001
6d099807 48002 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
48003 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
48004 rules.
48005
48006 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
48007 Generate a function to initialize the module in utilities.
48008 Updated all callers.
48009 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
48010 initialize the module in utilities. Updated all callers.
48011
9046bcf0 480122005-11-09 Hollis Blanchard <hollis@penguinppc.org>
48013
48014 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
48015 escape sequence and a literal ^L to clear the screen.
48016
48017 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
48018 when returning from Open Firmware.
48019
d13ea639 480202005-11-09 Hollis Blanchard <hollis@penguinppc.org>
48021
48022 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
48023 (grub_ofconsole_height): Likewise.
48024 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
48025 manually insert a '\n'.
48026 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
48027 `grub_ofconsole_height'. Return early if these are already set.
48028
a8fcf206 480292005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
48030
48031 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
48032 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
48033 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
48034 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
48035 and `normal/script.c'.
48036 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48037 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48038 (test_mod_SOURCES): New variable.
48039 (test_mod_CFLAGS): Likewise.
48040 (test_mod_LDFLAGS): Likewise.
48041 (pkgdata_MODULES): Add `test.mod'.
48042 (grub_script.tab.c): New rule.
48043 (grub_script.tab.h): Likewise.
48044
b6b32745 480452005-11-07 Marco Gerards <mgerards@xs4all.nl>
48046
48047 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48048 `commands/test.c', `normal/execute.c', `normal/lexer.c',
48049 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48050 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48051 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48052 (test_mod_SOURCES): New variable.
48053 (test_mod_CFLAGS): Likewise.
48054 (pkgdata_MODULES): Add `test.mod'.
48055 (grub_script.tab.c): New rule.
48056 (grub_script.tab.h): Likewise.
48057
daac212a 480582005-11-06 Marco Gerards <mgerards@xs4all.nl>
48059
48060 Add initial scripting support.
48061
48062 * commands/test.c: New file.
48063 * include/grub/script.h: Likewise.
48064 * normal/execute.c: Likewise.
48065 * normal/function.c: Likewise.
48066 * normal/lexer.c: Likewise.
48067 * normal/parser.y: Likewise.
48068 * normal/script.c: Likewise.
48069
48070 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 48071
daac212a 48072 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
48073 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
48074 `normal/function.c' and `normal/script.c'.
48075 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48076 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 48077 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
48078 variables.
daac212a 48079 (pkgdata_MODULES): Add `test.mod'.
48080 (grub_script.tab.c): New rule.
48081 (grub_script.tab.h): Likewise.
48082
48083 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
48084
48085 * include/grub/normal.h (grub_test_init): New prototype.
48086 (grub_test_fini): Likewise.
f19dbdb7 48087
daac212a 48088 * normal/command.c: Include <grub/script.h>.
48089 (grub_command_execute): Rewritten.
f19dbdb7 48090
daac212a 48091 * util/grub-emu.c (main): Call `grub_test_init' and
48092 `grub_test_fini'.
48093
77500b2b 480942005-11-03 Hollis Blanchard <hollis@penguinppc.org>
48095
48096 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
48097 to 0.
48098 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
48099 there are no pending characters.
48100
e45deb9e 481012005-11-03 Hollis Blanchard <hollis@penguinppc.org>
48102
48103 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
48104 `grub_strndup' to drop device arguments. Replace unnecessary
48105 `grub_strndup' with `grub_strdup'.
48106
4ce32619 481072005-11-03 Hollis Blanchard <hollis@penguinppc.org>
48108
48109 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
48110 `debug' environment variable has been set.
48111
481122005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 48113
4ce32619 48114 * Makefile.in (install-local): Use $(DATA).
48115 (uninstall): Likewise.
48116 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
48117 (sbin_UTILITIES): ... to here.
48118 (sbin_SCRIPTS): New variable.
48119 (grub_install_SOURCES): New variable.
48120 * util/powerpc/ieee1275/grub-install.in: New file.
48121 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
48122 variable.
48123 (add_segments): Call `grub_util_get_path'.
48124
25fe6f03 481252005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48126
48127 From Timothy Baldwin:
48128 * commands/ls.c (grub_ls_list_files): Close FILE with
48129 grub_file_close.
48130 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
48131
04ccf3ec 481322005-10-24 Marco Gerards <mgerards@xs4all.nl>
48133
48134 * include/grub/parser.h: New file.
48135
48136 * kern/parser.c: Likewise.
48137
48138 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
48139 (grub_setup_SOURCES): Likewise.
48140 (grub_probefs_SOURCES): Likewise.
48141 (grub_emu_SOURCES): Likewise.
48142 (kernel_img_HEADERS): Add `parser.h'.
48143
48144 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
48145 (grub_emu_SOURCES): Add `kern/parser.c'.
48146 (grubof_SOURCES): Likewise.
48147
48148 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
48149 (grubof_SOURCES): Add `kern/parser.c'.
48150
48151 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
48152
48153 * kern/misc.c (grub_split_cmdline): Removed function.
48154
48155 * kern/rescue.c: Include <grub/parser.h>.
48156 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
48157 of `grub_split_cmdline'.
48158
48159 * normal/command.c: Include <grub/parser.h>.
48160 (grub_command_execute): Use `grub_parser_split_cmdline' instead
48161 of `grub_split_cmdline'.
48162
48163 * normal/completion.c: Include <grub/parser.h>.
48164 (cmdline_state): New variable.
48165 (iterate_dir): End the filename with a quote depending on the
48166 command line state.
48167 (get_state): new function.
48168 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
48169 split the arguments and determine the current argument. When the
48170 argument string is not quoted, escape all spaces.
48171
6d8f4b0e 481722005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48173
48174 * normal/sparc64/setjmp.S: New file.
48175
15cf03ed 481762005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48177
48178 * include/grub/sparc64/libgcc.h: New file.
48179 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
48180 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
48181 normal/sparc64/setjmp.c.
48182
03e8661a 481832005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48184
48185 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
48186 * kern/sparc64/cache.S: New file.
48187 * kern/sparc64/cache.c: Removed.
48188 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
48189 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
48190 -mtune=ultrasparc.
48191 (COMMON_LDFLAGS): Add -melf64_sparc.
48192 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
48193 (grubof_SOURCES): Use cache.S instead of cache.c.
48194 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
48195 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
48196 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
48197 commented though.
48198 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
48199 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
48200 (linux_mod_CFLAGS): Commented out.
48201 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
48202 out because module isn't built.
48203 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
48204 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
48205 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
48206 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
48207 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
48208 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
48209 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
48210 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
48211 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
48212 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
48213 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48214 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48215 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
48216 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
48217
34eeec8a 482182005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
48219
48220 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
48221 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
48222 longer, because HFS should not be used on PC.
48223
708367a3 482242005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48225
48226 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
48227 consistently within the loop.
48228
6fa1251a 482292005-10-15 Marco Gerards <mgerards@xs4all.nl>
48230
48231 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
48232 directory can not be read.
48233
4801580b 482342005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48235
48236 * configure.ac (AC_INIT): Increase the version number to 1.91.
48237
48238 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
48239 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
48240 term/i386/pc/serial.c.
48241
219ad426 482422005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48243
48244 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
48245 file size must be permitted.
48246
48247 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
48248 between %ah and %al.
48249
688e5699 482502005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48251
48252 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
48253 grub_uint64_t.
48254 Call the hook with a NUL-terminated filename.
48255 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
48256 grub_cpu_to_be32.
48257
48258 * kern/term.c (cursor_state): New variable.
48259 (grub_term_set_current): Reset the cursor state on a new
48260 terminal.
48261 (grub_setcursor): Rewritten to use CURSOR_STATE.
48262 (grub_getcursor): New function.
48263
48264 * include/grub/term.h (grub_getcursor): New prototype.
48265
48266 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
48267 integers on ARM. Reported by Timothy Baldwin
48268 <T.E.Baldwin99@members.leeds.ac.uk>.
48269
bb34586c 482702005-10-11 Marco Gerards <mgerards@xs4all.nl>
48271
48272 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
48273 allocated.
48274 (grub_sfs_dir): Likewise.
48275
9a909877 482762005-10-09 Marco Gerards <mgerards@xs4all.nl>
48277
48278 Add support for the SFS filesystem.
48279
48280 * fs/sfs.c: New file.
48281
48282 * DISTLIST: Added `fs/sfs.c'.
48283
48284 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
48285 (grub_probefs_SOURCES): Likewise.
48286 (grub_emu_SOURCES): Likewise.
48287 (pkgdata_MODULES): Add `sfs.mod'.
48288 (sfs_mod_SOURCES): New variable.
48289 (sfs_mod_CFLAGS): Likewise.
48290 (sfs_mod_LDFLAGS): Likewise.
48291
48292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
48293 (pkgdata_MODULES): Add `sfs.mod'.
48294 (sfs_mod_SOURCES): New variable.
48295 (sfs_mod_CFLAGS): Likewise.
48296
48297 * util/grub-emu.c (main): Call `grub_sfs_init' and
48298 `grub_sfs_fini'.
48299
48300 * include/grub/fs.h (grub_sfs_init): New prototype.
48301 (grub_sfs_fini): Likewise.
48302
57bdbde3 483032005-10-07 Marco Gerards <mgerards@xs4all.nl>
48304
48305 Add support for the AFFS filesystem.
48306
48307 * fs/affs.c: New file.
48308
48309 * DISTLIST: Added `fs/affs.c'.
48310
48311 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
48312 (grub_probefs_SOURCES): Likewise.
48313 (grub_emu_SOURCES): Likewise.
48314 (pkgdata_MODULES): Add `affs.mod'.
48315 (affs_mod_SOURCES): New variable.
48316 (affs_mod_CFLAGS): Likewise.
48317 (affs_mod_LDFLAGS): Likewise.
48318
48319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
48320 (pkgdata_MODULES): Add `affs.mod'.
48321 (affs_mod_SOURCES): New variable.
48322 (affs_mod_CFLAGS): Likewise.
48323
48324 * util/grub-emu.c (main): Call `grub_affs_init' and
48325 `grub_affs_fini'.
48326
48327 * include/grub/fs.h (grub_affs_init): New prototype.
48328 (grub_affs_fini): Likewise.
48329
047b67e0 483302005-10-01 Marco Gerards <mgerards@xs4all.nl>
48331
48332 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
48333
59b8208a 483342005-10-01 Marco Gerards <mgerards@xs4all.nl>
48335
48336 * configure.ac: Accept `x86_64' as host_cpu. In that case add
48337 `-m32' to CFLAGS.
48338
48339 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
48340 linking.
f19dbdb7 48341
59b8208a 48342 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
48343 (COMMON_LDFLAGS): New variable.
48344 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
48345 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
48346 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
48347 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
48348 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
48349 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
48350 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
48351 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
48352 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
48353 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
48354 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
48355 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
48356 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
48357 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
48358 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
48359 variables.
48360 (normal_mod_ASFLAGS): Add `-m32'.
48361
48362 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
48363 (grub_host_size_t, grub_host_ssize_t): New types.
48364 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 48365 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 48366 `GRUB_HOST_SIZEOF_VOID_P'.
48367
48368 * include/grub/kernel.h (struct grub_module_header): Type of
48369 member offset changed to `grub_host_off_t'. Type of member size
48370 changed to `grub_host_size_t'.
48371 (struct grub_module_info): Type of member offset changed to
48372 `grub_host_off_t'. Type of member size changed to
48373 `grub_host_size_t'.
48374
b4093103 483752005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
48376
48377 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 48378
b4093103 48379 * kern/i386/pc/startup.S (multiboot_header): New label.
48380 (multiboot_entry): Likewise.
48381 (multiboot_trampoline): Likewise.
48382
48383 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48384 Increased to 0x4A0.
48385
48386 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
48387 put parentheses after a question mark.
48388 [!GRUB_UTIL] (my_mod): New variable.
48389
48390 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
48391
b2499b29 483922005-09-28 Marco Gerards <mgerards@xs4all.nl>
48393
48394 Adds support for the XFS filesystem. Btrees are not supported
48395 yet.
48396
48397 * fs/xfs.c: New file.
48398
48399 * DISTLIST: Added `fs/xfs.c'.
48400
48401 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
48402 (grub_probefs_SOURCES): Likewise.
48403 (grub_emu_SOURCES): Likewise.
48404 (pkgdata_MODULES): Add `xfs.mod'.
48405 (xfs_mod_SOURCES): New variable.
48406 (xfs_mod_CFLAGS): Likewise.
48407
48408 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
48409 (pkgdata_MODULES): Add `xfs.mod'.
48410 (xfs_mod_SOURCES): New variable.
48411 (xfs_mod_CFLAGS): Likewise.
48412
48413 * util/grub-emu.c (main): Call `grub_xfs_init' and
48414 `grub_xfs_fini'.
48415
48416 * include/grub/fs.h (grub_xfs_init): New prototype.
48417 (grub_xfs_fini): Likewise.
48418
f19dbdb7 48419
83d37a62 484202005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
48421
48422 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
48423 color modes, allow greater than 16 colors to be configured as
48424 a default palette.
48425
47d2d65e 484262005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
48427
48428 * normal/completion.c (complete_arguments): Add the qualifier
48429 const into OPTIONS.
48430
48431 From Omniflux <omniflux+lists@omniflux.com>:
48432 * include/grub/terminfo.h: New file.
48433 * include/grub/tparm.h: Likewise.
48434 * include/grub/i386/pc/serial.h: Likewise.
48435 * term/terminfo.c: Likewise.
48436 * term/tparm.c: Likewise.
48437 * term/i386/pc/serial.c: Likewise.
48438 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
48439 serial.mod.
48440 (terminfo_mod_SOURCES): New variable.
48441 (terminfo_mod_CFLAGS): Likewise.
48442 (serial_mod_SOURCES): Likewise.
48443 (serial_mod_CFLAGS): Likewise.
48444
48b671ff 484452005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
48446
48447 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
48448 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
48449 and kern/powerpc/ieee1275/cmain.c, respectively.
48450
48451 * boot/powerpc/ieee1275/crt0.S: Moved to ...
48452 * kern/powerpc/ieee1275/crt0.S: ... here.
48453
48454 * boot/powerpc/ieee1275/cmain.c: Moved to ...
48455 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 48456
48b671ff 48457 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
48458 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
48459 instead of boot/powerpc/ieee1275/crt0.S and
48460 boot/powerpc/ieee1275/cmain.c, respectively.
48461
48462 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
48463 sectors. It was not used anyway.
48464
09fc77a7 484652005-08-30 Hollis Blanchard <hollis@penguinppc.org>
48466
48467 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
48468 `unused parameter' warning.
48469
003789c7 484702005-08-30 Hollis Blanchard <hollis@penguinppc.org>
48471
48472 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
48473 function.
48474 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
48475 getcharwidth.
48476
67f44c86 484772005-08-28 Marco Gerards <metgerards@student.han.nl>
48478
48479 * include/grub/normal.h (enum grub_completion_type): Added
48480 `GRUB_COMPLETION_TYPE_ARGUMENT'.
48481
48482 * normal/cmdline.c (print_completion): Handle
48483 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
48484 * normal/menu_entry.c (store_completion): Likewise.
48485
48486 * normal/completion.c (complete_arguments): New function.
48487 (grub_normal_do_completion): Call `complete_arguments' when the
48488 current words start with a dash.
48489
0b5abe02 484902005-08-27 Marco Gerards <metgerards@student.han.nl>
48491
48492 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
48493 `gzio.mod' instead of `io.mod').
48494
d9864ee1 484952005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
48496
48497 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
48498 (DISTDIRS): Added io and video.
48499 Rewrite the search routine to make an output consistently.
48500
48501 * DISTLIST: Added conf/sparc64-ieee1275.mk,
48502 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
48503 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
48504 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
48505 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
48506 util/powerpc/ieee1275/misc.c.
f19dbdb7 48507
d9864ee1 48508 * include/grub/gzio.h: New file.
48509 * io/gzio.c: Likewise.
f19dbdb7 48510
d9864ee1 48511 * kern/file.c (grub_file_close): Call grub_device_close only if
48512 FILE->DEVICE is not NULL.
48513
48514 * include/grub/mm.h [!NULL] (NULL): New macro.
48515
48516 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
48517
48518 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
48519 (pkgdata_MODULES): Added gzio.mod.
48520 (gzio_mod_SOURCES): New variable.
48521 (gzio_mod_CFLAGS): Likewise.
48522
48523 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
48524 (pkgdata_MODULES): Added gzio.mod.
48525 (gzio_mod_SOURCES): New variable.
48526 (gzio_mod_CFLAGS): Likewise.
48527
48528 * commands/cat.c: Include grub/gzio.h.
48529 (grub_cmd_cat): Use grub_gzfile_open instead of
48530 grub_file_open.
f19dbdb7 48531
d9864ee1 48532 * commands/cmp.c: Include grub/gzio.h.
48533 (grub_cmd_cmp): Use grub_gzfile_open instead of
48534 grub_file_open.
48535
48536 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
48537 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
48538 grub_file_open.
48539 (grub_rescue_cmd_module): Likewise.
48540
fa46f4b5 485412005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
48542
48543 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
48544 kern/sparc64/ieee1275/init.c because it contains _start.
48545 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
48546
e9211b5d 485472005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
48548
48549 * configure.ac: Add support for sparc64 host with ieee1275
48550 firmware.
48551 * configure: Generated from configure.ac.
48552 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
48553 instead of int.
48554 (grub_ofdisk_read): Likewise.
48555 (grub_ofdisk_open): Use %p to print pointer values, and cast the
48556 pointers as (void *) to remove a warning.
48557 (grub_ofdisk_close): Likewise.
48558 (grub_ofdisk_read): Likewise.
48559 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
48560 returns, so make it return void to remove a warning.
48561 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
48562 Corresponding prototype change.
48563 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
48564 values, and cast the pointers as (void *) to remove a warning.
48565 (grub_mm_dump): Likewise.
48566 * conf/sparc64-ieee1275.mk: New file.
48567 * conf/sparc64-ieee1275.rmk: Likewise.
48568 * include/grub/sparc64/setjmp.h: Likewise.
48569 * include/grub/sparc64/types.h: Likewise.
48570 * include/grub/sparc64/ieee1275/console.h: Likewise.
48571 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
48572 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
48573 * include/grub/sparc64/ieee1275/time.h: Likewise.
48574 * kern/sparc64/cache.c: Likewise.
48575 * kern/sparc64/dl.c: Likewise.
48576 * kern/sparc64/ieee1275/init.c: Likewise.
48577 * kern/sparc64/ieee1275/openfw.c: Likewise.
48578
385c6a92 485792005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48580
48581 * util/console.c (grub_ncurses_putchar): If C is greater than
48582 0x7f, set C to a question mark.
48583 (grub_ncurses_getcharwidth): New function.
48584 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
48585 getcharwidth.
48586
48587 * normal/menu.c (print_entry): Made aware of Unicode. First,
48588 convert TITLE to UCS-4, and predict the cursor position by
48589 grub_getcharwidth.
48590
48591 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
48592 const to SRC.
48593 * kern/misc.c (grub_utf16_to_utf8): Likewise.
48594
16ccb8b1 485952005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48596
48597 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
48598 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48599 grub_strcat.
48600
48601 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
48602 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48603 grub_strcpy and grub_strlen. Take it into account that a space
48604 character is inserted as a delimiter.
48605
6a85ce79 486062005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48607
48608 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 48609 invalid magic in the error.
6a85ce79 48610
48611 * commands/search.c: New file.
f19dbdb7 48612
6a85ce79 48613 * util/grub-emu.c (main): Call grub_search_init and
48614 grub_search_fini.
48615
48616 * kern/rescue.c (grub_rescue_print_disks): Removed.
48617 (grub_rescue_print_devices): New function.
48618 (grub_rescue_cmd_ls): Use grub_device_iterate with
48619 grub_rescue_print_devices instead of grub_disk_dev_iterate with
48620 grub_rescue_print_disks.
48621
48622 * kern/partition.c (grub_partition_iterate): Return the result of
48623 PARTMAP->ITERATE instead of GRUB_ERRNO.
48624
48625 * kern/device.c: Include grub/partition.h.
48626 (grub_device_iterate): New function.
48627
48628 * include/grub/partition.h (grub_partition_iterate): Return int
48629 instead of grub_err_t.
48630
48631 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
48632 prototype.
48633 [GRUB_UTIL] (grub_search_fini): Likewise.
48634
48635 * include/grub/device.h (grub_device_iterate): New prototype.
48636
48637 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48638 commands/search.c.
48639 (pkgdata_MODULES): Added search.mod.
48640 (search_mod_SOURCES): New variable.
48641 (search_mod_CFLAGS): Likewise.
48642
48643 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
48644 (pkgdata_MODULES): Added search.mod.
48645 (search_mod_SOURCES): New variable.
48646 (search_mod_CFLAGS): Likewise.
48647
48648 * commands/ls.c (grub_ls_list_disks): Renamed to ...
48649 (grub_ls_list_devices): ... this, and use grub_device_iterate.
48650 All callers changed.
48651
48652 * DISTLIST: Added commands/search.c.
48653
ef095434 486542005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48655
48656 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
48657 conversion.
48658 (grub_getcharwidth): New function.
48659
48660 * kern/misc.c (grub_utf8_to_ucs4): New function.
48661
48662 * include/grub/term.h (struct grub_term): Added a new member
48663 "getcharwidth".
48664 (grub_getcharwidth): New prototype.
48665
48666 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
48667
48668 * term/i386/pc/console.c (map_char): New function. Segregated from
48669 grub_console_putchar.
48670 (grub_console_putchar): Use map_char.
48671 (grub_console_getcharwidth): New function.
48672 (grub_console_term): Specified grub_console_getcharwidth as
48673 getcharwidth.
48674
48675 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
48676 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
48677
48678 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
48679 GRUB_ERRNO.
48680 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
48681 on grub_strtoul completely.
48682 (write_char): Declare local variables in the beginning of the
48683 function.
48684 (grub_vesafb_getcharwidth): New function.
48685 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
48686 getcharwidth.
48687
1f0a95e4 486882005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
48689
48690 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
48691 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
48692 commands/i386/pc/vbetest.c.
48693
48694 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
48695 call grub_vbe_get_controller_info again, because the returned
48696 information is volatile.
48697 (grub_vbe_set_video_mode): Mostly rewritten.
48698 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
48699 grub_vbe_status_t correctly.
48700 (grub_vbe_get_video_mode_info): Likewise.
48701 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
48702 several if statements.
48703
48704 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
48705 * commands/i386/pc/vbeinfo.c: ... this.
48706
48707 * commands/i386/pc/vbe_test.c: Renamed to ...
48708 * commands/i386/pc/vbetest.c: ... this.
48709
48710 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
48711 ...
48712 (grub_cmd_vbeinfo): ... this. Save video modes before
48713 iterating. Skip a video mode, if it is not available, not enough
48714 information is given or it is monochrome. Show the memory
48715 model. Leave the interpretation of MODEVAR to grub_strtoul
48716 completely.
48717 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
48718 (GRUB_MOD_FINI): Likewise.
48719
48720 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
48721 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
48722 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
48723 duplicated grub_env_get. Leave the interpretation of MODEVAR to
48724 grub_strtoul completely.
48725 (real2pm): Removed.
48726 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
48727 (GRUB_MOD_FINI): Likewise.
48728
48729 * normal/misc.c: Include grub/mm.h.
48730
48731 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
48732 vbe_list_modes with vbetest.mod and vbeinfo.mod.
48733 (vbe_list_modes_mod_SOURCES): Removed.
48734 (vbe_list_modes_mod_CFLAGS): Likewise.
48735 (vbe_test_mod_SOURCES): Likewise.
48736 (vbe_test_mod_CFLAGS): Likewise.
48737 (vbeinfo_mod_SOURCES): New variable.
48738 (vbeinfo_mod_CFLAGS): Likewise.
48739 (vbetest_mod_SOURCES): Likewise.
48740 (vbetest_mod_CFLAGS): Likewise.
48741
992ffbbe 487422005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
48743
48744 * normal/misc.c: New file.
48745
48746 * DISTLIST: Added normal/misc.c.
f19dbdb7 48747
992ffbbe 48748 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
48749 DISK to HOOK. Call HOOK with DISK.
48750 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48751 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48752 * partmap/sun.c (sun_partition_map_iterate): Likewise.
48753
48754 * normal/menu_entry.c (struct screen): Added a new member
48755 "completion_shown".
48756 (completion_buffer): New global variable.
48757 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
48758 (store_completion): New function.
48759 (complete): Likewise.
48760 (clear_completions): Likewise.
48761 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
48762 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
48763 a tab, call complete.
48764
48765 * normal/completion.c (disk_dev): Removed.
48766 (print_simple_completion): Likewise.
48767 (print_partition_completion): Likewise.
48768 (print_func): New global variable.
48769 (add_completion): Do not take the arguments WHAT or PRINT any
48770 longer. Added a new argument TYPE. Instead of printing directly,
48771 call PRINT_FUNC if not NULL.
48772 All callers changed.
48773 (complete_device): Use a local variable DEV instead of
48774 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
48775 (grub_normal_do_completion): Take a new argument HOOK. Do not
48776 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
48777 empty string, return NULL instead.
48778 All callers changed.
48779
48780 * normal/cmdline.c (print_completion): New function.
48781
48782 * kern/partition.c (grub_partition_iterate): Add an argument DISK
48783 to HOOK.
48784 All callers changed.
48785
48786 * kern/disk.c (grub_print_partinfo): Removed.
48787
48788 * include/grub/partition.h (struct grub_partition_map): Add a new
48789 argument DISK into HOOK of ITERATE.
48790 (grub_partition_iterate): Add a new argument DISK to HOOK.
48791
48792 * include/grub/normal.h (enum grub_completion_type): New enum.
48793 (grub_completion_type_t): New type.
48794 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
48795 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
48796 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
48797 (GRUB_COMPLETION_TYPE_FILE): Likewise.
48798 (grub_normal_do_completion): Added a new argument HOOK.
48799 (grub_normal_print_device_info): New prototype.
48800
48801 * include/grub/disk.h (grub_print_partinfo): Removed.
48802
48803 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
48804 (normal_mod_SOURCES): Likewise.
48805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48806 (normal_mod_SOURCES): Likewise.
48807
48808 * commands/ls.c (grub_ls_list_disks): Use
48809 grub_normal_print_device_info instead of grub_print_partinfo. Free
48810 PNAME.
48811 (grub_ls_list_files): Use grub_normal_print_device_info instead of
48812 duplicating the code.
48813
0bd41162 488142005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48815
48816 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 48817 follow GCS more precisely.
48818 * commands/i386/pc/vbe_test.c: Likewise.
48819 * include/grub/i386/pc/vbe.h: Likewise.
48820 * term/i386/pc/vesafb.c: Likewise.
48821 * video/i386/pc/vbe.c: Likewise.
0bd41162 48822
6323696a 488232005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48824
48825 * DISTLIST: Added term/i386/pc/vesafb.c
48826 DISTLIST: Added video/i386/pc/vbe.c
48827 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
48828 DISTLIST: Added commands/i386/pc/vbe_test.c.
48829 * commands/i386/pc/vbe_list_modes.c: New file.
48830 * commands/i386/pc/vbe_test.c: Likewise.
48831 * term/i386/pc/vesafb.c: Likewise.
48832 * video/i386/pc/vbe.c: Likewise.
48833 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
48834 (grub_vbe_probe) Added prototype.
48835 (grub_vbe_set_video_mode) Likewise.
48836 (grub_vbe_get_video_mode) Likewise.
48837 (grub_vbe_get_video_mode_info) Likewise.
48838 (grub_vbe_set_pixel_rgb) Likewise.
48839 (grub_vbe_set_pixel_index) Likewise.
48840 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
48841 (pkgdata_MODULES): Added vesafb.mod.
48842 (pkgdata_MODULES): Added vbe_list_modes.mod.
48843 (pkgdata_MODULES): Added vbe_test.mod.
48844 (vbe_mod_SOURCES): Added.
48845 (vbe_mod_CFLAGS): Likewise.
48846 (vesafb_mod_SOURCES): Likewise.
48847 (vesafb_mod_CFLAGS): Likewise.
48848 (vbe_list_modes_mod_SOURCES): Likewise.
48849 (vbe_list_modes_mod_CFLAGS): Likewise.
48850 (vbe_test_mod_SOURCES): Likewise.
48851 (vbe_test_mod_CFLAGS): Likewise.
48852
0a74e62f 488532005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
48854
0a74e62f 48855 * normal/command.c (grub_command_execute): If INTERACTIVE is
48856 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
48857 CMDLINE. Disable the pager if INTERACTIVE is true.
48858 All callers are changed.
48859
48860 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
48861 before reading a config file.
48862 * normal/main.c (read_config_file): Even if a command is not
48863 found, register it if it is within an entry.
48864
48865 * util/grub-emu.c: Include sys/types.h and unistd.h.
48866 (options): Added --hold.
48867 (struct arguments): Added a new member "hold".
48868 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
48869 missing.
48870 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
48871 cleared by a debugger, if it is not zero.
48872
48873 * include/grub/normal.h (grub_command_execute): Add an argument
48874 INTERACTIVE.
48875
e51f85ae 488762005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
48877
48878 * DISTLIST: Added include/grub/i386/pc/vbe.h.
48879
e9c6f39b 488802005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
48881
48882 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
48883 program with another one, because the old one didn't detect a bug
48884 in gcc-3.4. Always use regparm 2, because the new test is still
48885 not enough for gcc-4.0. Someone must investigate a simple test
48886 case which detects a bug in gcc-4.0.
48887
8de3495c 488882005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
48889
48890 * DISTLIST: Added normal/completion.c.
48891
48892 * normal/completion.c: New file.
f19dbdb7 48893
8de3495c 48894 * term/i386/pc/console.c (grub_console_getwh): New function.
48895 (grub_console_term): Assign grub_console_getwh to getwh.
48896
48897 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
48898 function is defined in normal/completion.c as
48899 grub_normal_do_completion.
48900 (grub_cmdline_get): Use grub_normal_do_completion instead of
48901 grub_tab_complete.
48902
48903 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
48904 returns non-zero, otherwise return 0.
48905 (grub_partition_iterate): First, probe the partition map. Then,
48906 call ITERATE only for this partition map.
48907
48908 * kern/misc.c (grub_strncmp): Rewritten.
48909
48910 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
48911 returns non-zero. Otherwise return 0.
48912
48913 * include/grub/partition.h (grub_partition_map_iterate): Return
48914 int instead of void.
48915
48916 * include/grub/normal.h (grub_normal_do_completion): New prototype.
48917
48918 * include/grub/misc.h (grub_strncmp): Change the type of N to
48919 grub_size_t.
48920
48921 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
48922 of void.
48923
48924 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 48925 unsigned explicitly before comparing it with I.
8de3495c 48926
48927 * kern/main.c (grub_env_write_root): Add the attribute unused into
48928 VAR.
48929
48930 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48931 normal/completion.c.
48932 (normal_mod_SOURCES): Likewise.
48933 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48934 (normal_mod_SOURCES): Likewise.
48935
48936 * normal/command.c (grub_iterate_commands): If ITERATE returns
48937 non-zero, return one immediately.
48938
e85e144b 489392005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
48940
48941 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
48942 * kern/i386/pc/startup.S: Updated Global Descriptor table's
48943 descriptions.
48944 (grub_vbe_get_controller_info): New function.
48945 (grub_vbe_get_mode_info): Likewise.
48946 (grub_vbe_set_mode): Likewise.
48947 (grub_vbe_get_mode): Likewise.
48948 (grub_vbe_set_memory_window): Likewise.
48949 (grub_vbe_get_memory_window): Likewise.
48950 (grub_vbe_set_scanline_length): Likewise.
48951 (grub_vbe_get_scanline_length): Likewise.
48952 (grub_vbe_set_display_start): Likewise.
48953 (grub_vbe_get_display_start): Likewise.
48954 (grub_vbe_set_palette_data): Likewise.
48955 * include/grub/i386/pc/vbe.h: New file.
48956
c46153d2 489572005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48958
48959 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48960 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
48961 * DISTLIST: Likewise.
48962 * kern/ieee1275/of.c: Moved to ...
48963 * kern/ieee1275/ieee1275.c: ... here.
48964
0cb90c45 489652005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48966
48967 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
48968 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
48969 Pass 0 as `end' parameter to grub_strtoul().
48970
a19fb360 489712005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48972
48973 * include/grub/powerpc/ieee1275/console.h: Do not include
48974 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
48975 ifdef.
48976 (grub_console_cur_color): Remove i386-specific prototype.
48977 (grub_console_real_putchar): Likewise.
48978 (grub_console_checkkey): Likewise.
48979 (grub_console_getkey): Likewise.
48980 (grub_console_getxy): Likewise.
48981 (grub_console_gotoxy): Likewise.
48982 (grub_console_cls): Likewise.
48983 (grub_console_setcursor): Likewise.
48984 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
48985 Include <grub/machine/console.h>.
48986 * term/ieee1275/ofconsole.c: Likewise.
48987
4ac9bd04 489882005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
48989
48990 * Makefile.in (LIBLZO): New variable.
48991
48992 * configure.ac: Check for LZO version 2.
48993
48994 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
48995 lzo/lzo1x.h instead of lzo1x.h.
48996
48997 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
48998 of -llzo.
48999
49000 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
49001 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
49002
49003 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
49004 copying the data from PARTITION to P.
49005
f4917dfd 490062005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49007
49008 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
49009 negative, unload the module.
49010
49011 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
49012 map is "pc_partition_map" but not "pc".
49013 (usage): Fix the description. The options are --boot-image and
49014 --core-image but not --boot-file or --core-file.
49015 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
49016 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
49017 DEFAULT_DIRECTORY.
49018
49019 * util/i386/pc/grub-install.in: Do not specify --boot-file or
49020 --core-file. Specify INSTALL_DEVICE as an argument.
49021
49022 * util/console.c: Include config.h.
49023 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
49024 [HAVE_NCURSES_H]: Include ncurses.h.
49025 [HAVE_CURSES_H]: Include curses.h.
49026 [!A_NORMAL] (A_NORMAL): Defined as zero.
49027 [!A_STANDOUT] (A_STANDOUT): Likewise.
49028
49029 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
49030 -lncurses.
49031 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
49032
49033 * configure.ac: Check for curses libraries and headers.
49034
49035 * Makefile.in (LIBCURSES): New variable.
49036
49037 * genmk.rb (Script::rule): Set the executable bits.
49038
49039 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
49040 name of the PC partition map is "pc_partition_map" but not "pc".
49041
0e143073 490422005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49043
49044 * util/i386/pc/grub-install.in (grub_probefs): New variable.
49045 (modules): Likewise.
49046 (usage): Added descriptions for --modules and --grub-probefs.
49047 Handle --modules and --grub-probefs. Save the arguments in MODULES
49048 and GRUB_PROBEFS, respectively.
49049 Auto-detect a filesystem module against GRUBDIR. If the result is
49050 empty and modules are not specified explicitly, abort the
49051 installation. Add the result to MODULES.
49052
49053 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
49054 disk/powerpc/ieee1275/ofdisk.c,
49055 include/grub/powerpc/ieee1275/init.h and
49056 term/powerpc/ieee1275/ofconsole.c.
49057 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
49058 term/ieee1275/ofconsole.c.
49059
49060 * include/grub/powerpc/ieee1275/console.h: Resurrected.
49061
49062 * COPYING: Upgraded to the latest version. Only the address of the
49063 FSF office has changed.
f19dbdb7 49064
efd6e6d5 490652005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49066
49067 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
49068 kern/ieee1275.c with kern/ieee1275/of.c.
49069
49070 * kern/ieee1275.c: Moved to ...
49071 * kern/ieee1275/of.c: ... here.
49072
8ceafda2 490732005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
49074
49075 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 49076 readability.
8ceafda2 49077
49078 * config.guess: Updated to the latest version from gnulib.
49079 * config.sub: Likewise.
49080 * install.sh: Likewise.
49081 * mkinstalldirs: Likewise.
49082
49083 * include/grub/console.h: Removed. This file is arch-specific. Do
49084 not put this in include/grub.
49085
49086 * include/grub/i386/pc/console.h: Resurrected.
49087
49088 * util/console.c: Include grub/machine/console.h instead of
49089 grub/console.h.
49090 * util/grub-emu.c: Likewise.
49091
267f6cd9 490922005-08-04 Marco Gerards <metgerards@student.han.nl>
49093
49094 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
49095 hardcoded value.
f19dbdb7 49096
267f6cd9 49097 From Vincent Pelletier <subdino2004@yahoo.fr>
49098 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
49099 Redefined to use grub_getwh.
49100 (grub_term): New member named getwh.
49101 (grub_getwh): New prototype.
49102 * kern/term.c (grub_getwh): New function.
49103 * term/i386/pc/console.c (grub_console_getwh): New function.
49104 (grub_console_term): New member `getwh'.
49105 * term/i386/pc/vga.c (grub_vga_getwh): New function.
49106 (grub_vga_term): New member `getwh'.
0b5abe02 49107 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 49108 grub_ssize_t.
49109 (grub_ofconsole_getw): New function.
49110 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
49111 (grub_ofconsole_term): New field named getwh and new initial
49112 value.
49113
3be7266d 491142005-08-03 Hollis Blanchard <hollis@penguinppc.org>
49115
49116 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
49117 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
49118 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
49119 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
49120 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
49121 of <grub/machine/ieee1275.h>.
49122 * commands/ieee1275/reboot.c: Likewise.
49123 * boot/powerpc/ieee1275/ieee1275.c: Move ...
49124 * kern/ieee1275.c: ... to here. All users updated. Change all
49125 parameter structs to use new type `grub_ieee1275_cell_t'.
49126 * term/powerpc/ieee1275/ofconsole.c: Move ...
49127 * term/ieee1275/ofconsole.c: ... to here. All users updated.
49128 * disk/powerpc/ieee1275/ofdisk.c: Move ...
49129 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
49130 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
49131 to return int.
49132 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
49133 Remove unused prototypes. All users updated.
49134 * include/grub/powerpc/ieee1275/console.h: Removed.
49135 * include/grub/powerpc/ieee1275/ieee1275.h: Define
49136 `grub_ieee1275_cell_t'.
49137 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
49138 Cast comparisons with -1 to the correct type.
49139 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
49140 type to match `grub_ieee1275_entry_fn'.
49141
8b5f3938 491422005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
49143
49144 * DISTLIST: Added util/i386/pc/grub-probefs.c.
49145
49146 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
49147 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
49148 partmap/sun.c.
49149 (grub_probefs_SOURCES): New variable.
49150
49151 * util/i386/pc/grub-probefs.c: New file.
49152
49153 * util/i386/pc/grub-setup.c (main): Call
49154 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
49155 grub_hfs_init and grub_jfs_init to initialize the system. Call
49156 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
49157 grub_pc_partition_map_fini to finish the system.
49158
ea409713 491592005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
49160
49161 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
49162 function.
49163 (grub_multiboot_load_elf32): Likewise.
49164 (grub_multiboot_is_elf64): Likewise.
49165 (grub_multiboot_load_elf64): Likewise.
49166 (grub_multiboot_load_elf): Likewise.
49167 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
49168 an ELF32 or ELF64 file.
49169 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
49170
49171 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
49172 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
49173 NULL before calling FS->LABEL.
49174 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
49175 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
49176 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
49177 before calling FS->LABEL.
49178
141a288b 491792005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
49180
49181 * util/i386/pc/grub-install.in (datadir): New variable.
49182 (libdir): Removed.
49183 (pkgdatadir): New variable.
49184 (pkglibdir): Removed.
49185
0d5f8a54 491862005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
49187
49188 * DISTLIST: Added util/i386/pc/grub-install.in.
49189
49190 * util/i386/pc/grub-install.in: New file.
49191
49192 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
49193 (grub_install_SOURCES): Likewise.
49194
49195 * genmk.rb: Added support for scripts.
49196 (Script): New class.
49197 (scripts): New variable.
49198
49199 * Makefile.in (install-local): Install sbin_SCRIPTS by
49200 INSTALL_SCRIPT.
49201 (uninstall): Remove sbin_SCRIPTS.
49202
49203 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
49204 device, try to get a GRUB device by
49205 grub_util_biosdisk_get_grub_dev.
49206 Free DEST_DEV.
49207
49208 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
49209 description for --device-map.
49210
5f968e1e 492112005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
49212
49213 Change the semantics of variable hooks. They now return strings
49214 instead of error values.
f19dbdb7 49215
5f968e1e 49216 * util/i386/pc/grub-setup.c: Include grub/env.h.
49217 (setup): Use grub_device_set_root instead of grub_env_set.
49218
49219 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
49220 grub_env_get instead of grub_device_set_root and
49221 grub_device_get_root, respectively.
49222
49223 * kern/main.c (grub_env_write_root): New function.
49224 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
49225 grub_env_set instead of grub_device_set_root.
49226
49227 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
49228 many variables.
49229 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
49230 rather than calling ENV->WRITE_HOOK afterwards.
49231 (grub_env_get): Return the result of ENV->READ_HOOK rather than
49232 passing a pointer of a pointer.
49233 (grub_register_variable_hook): Change the types of "read_hook" and
49234 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
49235 respectively.
49236 Allocate the default empty string on the heap, because this string
49237 may be freed later.
49238
49239 * kern/device.c: Include grub/env.h.
49240 (grub_device_set_root): Removed.
49241 (grub_device_get_root): Likewise.
49242 (grub_device_open): Use grub_env_get instead of
49243 grub_device_get_root.
49244
49245 * include/grub/env.h (grub_env_read_hook_t): New type.
49246 (grub_env_write_hook_t): Likewise.
49247 (grub_env_var): Change the types of "read_hook" and "write_hook"
49248 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
49249 (grub_register_variable_hook): Likewise.
49250
49251 * include/grub/device.h (grub_device_set_root): Removed.
49252 (grub_device_set_root): Likewise.
49253
49254 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
49255 make sure that DIRNAME terminates with '/', so that
49256 grub_fat_find_dir will fail if PATH is not a directory.
49257
49258 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
49259 from DIRNAME.
49260 Use the qualifier auto for print_files and print_files_long.
49261 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
49262 as a regular file.
49263 Put a newline only if there is no error.
49264 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
49265 used.
49266
896f0afd 492672005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
49268
49269 * kern/partition.c (grub_partition_probe): Initialize PART to
49270 NULL. Otherwise, when no partition map is registered, this returns
49271 a garbage.
49272
b28b81b2 492732005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
49274
49275 * partmap/apple.c (apple_partition_map_iterate): Check if POS
49276 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
49277 valid.
49278
5f3607e0 492792005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
49280
49281 * commands/ls.c (grub_ls_list_disks): Print the filesystem
49282 information on each device, if it does not have partitions. Print
49283 "Device" instead of "Disk", because this function is not specific
49284 to disk devices.
49285
49286 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
49287 static to ensure that it is put on the memory rather than a
49288 register.
49289
502c87e8 492902005-07-17 Yoshinori Okuji <okuji@enbug.org>
49291
49292 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
49293 (grub_cat_init): Likewise.
49294 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
49295 (options): Likewise.
49296 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
49297 (grub_configfile_init): Likewise.
49298 * font/manager.c (GRUB_MOD_INIT): Likewise.
49299 * commands/help.c (GRUB_MOD_INIT): Likewise.
49300 (grub_help_init): Likewise.
49301 * normal/command.c (grub_command_init): Likewise.
49302 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
49303 * disk/loopback.c (grub_loop_init): Likewise.
49304 (GRUB_MOD_INIT): Likewise.
49305 * commands/ls.c (grub_ls_init): Likewise.
49306 (GRUB_MOD_INIT): Likewise.
49307 (options): Likewise.
49308 * commands/boot.c (grub_boot_init): Likewise.
49309 (GRUB_MOD_INIT): Likewise.
49310 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
49311 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
49312 (GRUB_MOD_INIT): Likewise.
49313 * commands/cmp.c (grub_cmp_init): Likewise.
49314 (GRUB_MOD_INIT): Likewise.
49315
49316 * normal/arg.c: Use <> instead of "" to include header files.
49317 (SHORT_ARG_HELP): New macro.
49318 (SHORT_ARG_USAGE): Likewise.
49319 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
49320 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
49321 descriptions.
49322 (find_short): Check if C is 'h' or 'u' explicitly.
49323 (grub_arg_show_help): Use space characters instead of tabs. Treat
49324 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
49325 are shown with --help and --usage only if they are not used for
49326 the command itself.
49327 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
49328 'h' and 'u'.
49329
49330 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
49331 const into "longarg". Change the type of "shortarg" to int.
49332
f806d18e 493332005-07-17 Yoshinori Okuji <okuji@enbug.org>
49334
49335 * boot/i386/pc/boot.S (boot_drive_check): New label.
49336
49337 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
49338 macro.
49339
49340 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
49341 which do not pass a boot drive correctly. Copied from GRUB Legacy.
49342
e293232b 493432005-07-17 Yoshinori Okuji <okuji@enbug.org>
49344
49345 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
49346 When turning off Gate A20, skip the check and return immediately,
49347 because this is not fatal usually.
49348
ebedfd00 493492005-07-17 Yoshinori Okuji <okuji@enbug.org>
49350
49351 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
49352 be 0x7C00 instead of 0x8000.
49353
49354 * boot/i386/pc/pxeboot.S: Rewritten.
49355
49356 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
49357 EXT_C.
49358 (gate_a20_check_state): Read a byte from 0x108000. Invert the
49359 result.
49360
654fc59f 493612005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
49362
49363 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
49364 robustness. This routine now supports a BIOS call and System
49365 Control Port A to modify the gate A20.
49366
49367 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49368 Increased to 0x440.
49369
09f9923f 493702005-07-12 Hollis Blanchard <hollis@penguinppc.org>
49371
49372 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
49373 device path and resulting ihandle.
49374 (grub_ofdisk_close): dprintf the ihandle being closed.
49375 (grub_ofdisk_read): dprintf function parameters.
49376 * kern/mm.c (grub_mm_init_region): Likewise.
49377 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
49378 (grub_linux_boot): dprintf the Linux entry point, initrd address and
49379 size, and boot arguments.
49380 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
49381 before loading into memory.
49382 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
49383 before loading into memory.
49384
7ef504d8 493852005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
49386
49387 * kern/mm.c: Added much documentation.
49388 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
49389 8, set to 5 instead of 8.
49390
e0f050c2 493912005-07-10 Yoshinori Okuji <okuji@enbug.org>
49392
49393 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
49394
49395 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
49396 (grub_mkdevicemap_SOURCES): New variable.
49397
49398 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
49399 lib/device.c of GRUB Legacy.
49400
7224189a 494012005-07-10 Yoshinori Okuji <okuji@enbug.org>
49402
49403 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
49404 instead of PATH is NULL.
49405
68c864eb 494062005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
49407
49408 * commands/cmp.c (BUFFER_SIZE): New macro.
49409 (grub_cmd_cmp): Close the right file at the right time. Compare
49410 only data just read. Don't report files of different size as
49411 identical. Dynamically allocate buffers. Move variable
49412 declarations at the beginning of function.
49413
e6f3e614 494142005-07-09 Yoshinori Okuji <okuji@enbug.org>
49415
49416 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
49417 reverse.
49418
f8f1559a 494192004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
49420
49421 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
49422 when backspace is pressed at beginning of line.
49423
39c9d41d 494242005-07-03 Yoshinori Okuji <okuji@enbug.org>
49425
49426 * DISTLIST: Added genfslist.sh.
49427
49428 * normal/main.c (fs_module_list): New variable.
49429 (autoload_fs_module): New function.
49430 (read_fs_list): Likewise.
49431 (grub_normal_execute): Call read_fs_list.
49432
49433 * kern/fs.c (grub_fs_autoload_hook): New variable.
49434 (grub_fs_probe): Added support for auto-loading.
49435
49436 * include/grub/normal.h (struct grub_fs_module_list): New struct.
49437 (grub_fs_module_list_t): New type.
49438
49439 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
49440 (grub_fs_autoload_hook): New prototype.
49441
49442 * genfslist.sh: New file.
f19dbdb7 49443
39c9d41d 49444 * genmk.rb: Added a rule to generate a filesystem list.
49445
121c1d83 494462005-06-30 Marco Gerards <metgerards@student.han.nl>
49447
49448 * configure.ac: Fix the test for cross-compiling.
49449
49450 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
49451 define GRUB_UTIL anymore.
49452
49453 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
49454 so this function works on other systems than just big endian.
49455 (load_modules): Likewise.
49456 (add_segments): Likewise.
49457
e75d76e1 494582005-06-23 Hollis Blanchard <hollis@penguinppc.org>
49459
49460 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
49461 contains `l' modifier, get a long from va_arg().
49462
50b5a0a7 494632005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
49464
49465 * kern/mm.c (grub_free): If the next free block which is being
49466 merged is the first free block, set the first block to the block
49467 being freed.
49468 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
49469
89371b20 494702005-05-08 Hollis Blanchard <hollis@penguinppc.org>
49471
49472 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
49473 `grub_ieee1275_chosen'.
49474
168d6e58 494752005-05-08 Hollis Blanchard <hollis@penguinppc.org>
49476
49477 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
49478 (grub_ieee1275_chosen): New variable.
49479 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
49480 `chosen'.
49481 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
49482 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49483 Rename first argument to `phandle' for consistency.
49484 (grub_ieee1275_get_property_length): Likewise.
49485 (grub_ieee1275_next_property): Likewise. Change type of first argument
49486 to grub_ieee1275_phandle_t.
49487 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
49488 Move export next to declaration.
49489 (grub_ieee1275_chosen): New variable.
49490 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
49491 Correct cosmetic typo.
49492 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
49493 `grub_ieee1275_chosen'.
49494 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
49495 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
49496 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
49497 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
49498 `grub_ieee1275_chosen'.
49499
ca5baa3f 495002005-05-10 Hollis Blanchard <hollis@penguinppc.org>
49501
49502 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
49503 /chosen/bootargs.
49504 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
49505 /chosen/bootargs as "variable=value" pairs.
49506
708b345f 495072005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
49508
49509 * include/grub/misc.h (grub_dprintf): New macro.
49510 (grub_real_dprintf): New prototype.
49511 (grub_strword): Likewise.
49512 (grub_iswordseparator): Likewise.
49513 * kern/misc.c (grub_real_dprintf): New function.
49514 (grub_strword): Likewise.
49515 (grub_iswordseparator): Likewise.
49516
f4c5e67c 495172005-04-30 Hollis Blanchard <hollis@penguinppc.org>
49518
49519 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
49520 (roundup): Remove macro.
49521 (grub_ieee1275_flags): Make static.
49522 (grub_ieee1275_realmode): Remove.
49523 (grub_ieee1275_test_flag): New function.
49524 (grub_ieee1275_set_flag): Likewise.
49525 (find_options): Rename to `grub_ieee1275_find_options'; update
49526 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
49527 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
49528 (cmain): New prototype.
49529 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
49530 `grub_ieee1275_flags' directly.
49531 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
49532 machine/biosdisk.h.
49533 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
49534 Don't include grub/machine/init.h.
49535 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
49536 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49537 Remove prototype.
49538 (grub_ieee1275_realmode): Likewise.
49539 (grub_ieee1275_flag): New enum.
49540 (grub_ieee1275_test_flag): New prototype.
49541 (grub_ieee1275_set_flag): New prototype.
49542 * include/grub/powerpc/ieee1275/init.h: Remove file.
49543 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
49544 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
49545 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
49546 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
49547 comment.
49548 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
49549 `grub_ieee1275_test_flag'.
49550 (grub_ieee1275_encode_devname): Likewise.
49551
ed16607e 495522005-04-21 Hollis Blanchard <hollis@penguinppc.org>
49553
49554 * include/grub/powerpc/ieee1275/ieee1275.h
49555 (grub_ieee1275_encode_devname): New prototype.
49556 (grub_ieee1275_get_filename): Likewise.
49557 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
49558 function.
49559 (grub_set_prefix): Likewise.
49560 (grub_machine_init): Call grub_set_prefix.
49561 * kern/powerpc/ieee1275/openfw.c: Fix typos.
49562 (grub_parse_type): New enum.
49563 (grub_ieee1275_get_devargs): New function.
49564 (grub_ieee1275_get_devname): Likewise.
49565 (grub_ieee1275_parse_args): Likewise.
49566 (grub_ieee1275_get_filename): Likewise.
49567 (grub_ieee1275_encode_devname): Likewise.
49568
be369920 495692005-03-30 Marco Gerards <metgerards@student.han.nl>
49570
49571 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
49572 `grub_loader_unset'.
49573
a5ce3a4a 495742005-03-26 Hollis Blanchard <hollis@penguinppc.org>
49575
49576 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
49577 instead of grub_ieee1275_interpret.
49578 (grub_halt_init): New function.
49579 (grub_halt_fini): Likewise.
49580 (GRUB_MOD_INIT): Correct message grammar.
49581 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
49582 instead of grub_ieee1275_interpret.
49583 (grub_reboot_init): New function.
49584 (grub_reboot_fini): Likewise.
49585 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
49586 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
49587 util/i386/pc/misc.c with commands/ieee1275/halt.c,
49588 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
49589 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
49590 function.
49591 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
49592 Add prototype.
49593 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
49594 prototype.
49595 (grub_halt): Likewise.
49596 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
49597 (cmain): Remove __attribute__((unused)).
49598 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
49599 (grub_heap_len): Likewise.
49600 (grub_machine_fini): New function.
49601 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
49602 (grub_halt): Likewise.
49603 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
49604 function.
49605 * util/powerpc/ieee1275/misc.c: New file.
49606
0058f771 496072005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
49608
49609 * DISTLIST: New file.
49610 * gendistlist.sh: Likewise.
f19dbdb7 49611
0058f771 49612 * Makefile.in (COMMON_DISTFILES): Removed.
49613 (BOOT_DISTFILES): Likewise.
49614 (CONF_DISTFILES): Likewise.
49615 (DISK_DISTFILES): Likewise.
49616 (FS_DISTFILES): Likewise.
49617 (INCLUDE_DISTFILES): Likewise.
49618 (KERN_DISTFILES): Likewise.
49619 (LOADER_DISTFILES): Likewise.
49620 (TERM_DISTFILES): Likewise.
49621 (UTIL_DISTFILES): Likewise.
49622 (DISTFILES): Likewise.
49623 (uninstall): Uninstall files in $(pkgdata_DATA).
49624 (DISTLIST): New target.
49625 (distdir): Use the contents of the file DISTLIST to get a list of
49626 distributed files.
49627
46b3b8a5 496282005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
49629
49630 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
49631 descriptor. This is ported from GRUB Legacy.
49632
49633 * gencmdlist.sh: Added an extra semicolon to make it work with
49634 old sed versions. Reported by Robert Bihlmeyer
49635 <robbe@orcus.priv.at>.
49636
5822ff87 496372005-03-08 Yoshinori Okuji <okuji@enbug.org>
49638
49639 Automatic loading of commands is supported.
f19dbdb7 49640
5822ff87 49641 * normal/main.c (read_command_list): New function.
49642 (grub_normal_execute): Call read_command_list.
49643
49644 * normal/command.c (grub_register_command): Return zero or CMD.
49645 Allocate CMD->NAME from the heap.
49646 Initialize CMD->MODULE_NAME to zero.
49647 Find the same name as well. If the same command is found and it is
49648 a dummy command, overwrite members. If it is not a dummy command,
49649 return zero.
49650 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
49651 (grub_command_find): If a dummy command is found, load a module
49652 and retry to find a command only once.
49653
49654 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
49655 make sure that each command is loaded.
49656
49657 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
49658 macro.
49659 (struct grub_command): Remove const from the member `name'.
49660 Add a new member `module_name'.
49661 (grub_register_command): Return grub_command_t.
49662
49663 * commands/help.c (grub_cmd_help): Call grub_command_find to make
49664 sure that each command is loaded.
49665
49666 * genmk.rb (PModule::rule): Specify a module name without the
49667 suffix ".mod" to gencmdlist.sh.
49668
7b1f4b57 496692005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49670
49671 * gencmdlist.sh: New file.
f19dbdb7 49672
7b1f4b57 49673 * genmk.rb (PModule::rule): Generate a rule for a command list.
49674 Clean command.lst.
49675 Generate command.lst from $(COMMANDFILES).
49676
49677 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
49678 (DATA): Added $(pkgdata_DATA).
49679 (install-local): Install files in $(pkgdata_DATA).
49680
062aaf39 496812005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49682
49683 * term/i386/pc/vga.c (debug_command): Removed.
49684 (GRUB_MOD_INIT): Do not register the command "debug".
49685
49686 From Hollis Blanchard:
49687 * commands/configfile.c: New file.
49688 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49689 commands/configfile.c.
49690 (pkgdata_MODULES): Added configfile.mod.
49691 (configfile_mod_SOURCES): New variable.
49692 (configfile_mod_CFLAGS): Likewise.
49693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49694 commands/configfile.c.
49695 (pkgdata_MODULES): Added configfile.mod.
49696 (configfile_mod_SOURCES): New variable.
49697 (configfile_mod_CFLAGS): Likewise.
49698 * util/grub-emu.c (main): Call grub_configfile_init and
49699 grub_configfile_fini.
49700 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
49701 prototype.
49702 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 49703
cee01aa6 497042005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49705
49706 * normal/arg.c (grub_arg_show_help): Do not show the bug report
49707 address.
49708
49709 * commands/help.c (grub_cmd_help): Do not print newlines after
49710 the last command in print_command_help.
49711
93f3a1d8 497122005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49713
49714 * commands/default.h: New file.
49715 * commands/timeout.h: Likewise.
49716 * normal/context.c: Likewise.
f19dbdb7 49717
93f3a1d8 49718 * util/misc.c: Do not include sys/times.h.
49719 Include sys/time.h and grub/machine/time.h.
49720 (grub_get_rtc): Rewritten with gettimeofday.
49721
49722 * util/grub-emu.c (main): Call grub_default_init and
49723 grub_timeout_init before grub_normal_init, and call
49724 grub_timeout_fini and grub_default_fini after grub_main.
49725
49726 * util/console.c (grub_ncurses_checkkey): Return the read
49727 character or -1.
49728
49729 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
49730 timeouts.
49731
49732 * normal/main.c (read_config_file): Push MENU. If this fails,
49733 print an error and wait for a user input.
49734 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
49735 If a menu is empty or an error occurs, pop MENU.
49736 (grub_normal_execute): Pop and free MENU after grub_menu_run
49737 returns.
49738
49739 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
49740
49741 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
49742 include time.h.
49743 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49744 without GRUB_UTIL.
49745 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
49746 time.h.
49747 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49748 without GRUB_UTIL.
49749
49750 * include/grub/normal.h (struct grub_menu_list): New struct.
49751 (grub_menu_list_t): New type.
49752 (struct grub_context): New struct.
49753 (grub_context_t): New type.
49754 (grub_register_command): Got rid of EXPORT_FUNC.
49755 (grub_unregister_command): Likewise.
49756 (grub_context_get): New prototype.
49757 (grub_context_get_current_menu): Likewise.
49758 (grub_context_push_menu): Likewise.
49759 (grub_context_pop_menu): Likewise.
49760 [GRUB_UTIL] (grub_default_init): Likewise.
49761 [GRUB_UTIL] (grub_default_fini): Likewise.
49762 [GRUB_UTIL] (grub_timeout_init): Likewise.
49763 [GRUB_UTIL] (grub_timeout_fini): Likewise.
49764
49765 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
49766 commands/timeout.c and normal/context.c.
49767 (pkgdata_MODULES): Added default.mod and timeout.mod.
49768 (normal_mod_SOURCES): Added normal/context.c.
49769 (default_mod_SOURCES): New variable.
49770 (default_mod_CFLAGS): Likewise.
49771 (timeout_mod_SOURCES): Likewise.
49772 (timeout_mod_CFLAGS): Likewise.
49773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
49774 conf/i386-pc.rmk.
49775 (pkgdata_MODULES): Added default.mod and timeout.mod.
49776 (normal_mod_SOURCES): Added normal/context.c.
49777 (default_mod_SOURCES): New variable.
49778 (default_mod_CFLAGS): Likewise.
49779 (timeout_mod_SOURCES): Likewise.
49780 (timeout_mod_CFLAGS): Likewise.
49781
49782 * Makefile.in (all-local): Added $(MKFILES).
49783
4ed2e1dd 497842005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
49785
49786 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
49787 (grub_emu_SOURCES): Likewise.
49788 (pkgdata_MODULES): Add `sun.mod'.
49789 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49791 `partmap/sun.c'.
49792 (pkgdata_MODULES): Add `sun.mod'.
49793 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49794 * include/grub/partition.h (grub_sun_partition_map_init): New
49795 prototype.
49796 (grub_sun_partition_map_fini): Likewise.
49797 * partmap/sun.c: New file.
49798 * util/grub-emu.c (main): Initialize and de-initialize the sun
49799 partitionmap support.
49800
4d4e372e 498012005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
49802
49803 This implements an Emacs-like menu entry editor.
f19dbdb7 49804
4d4e372e 49805 * normal/menu_entry.c: New file.
f19dbdb7 49806
4d4e372e 49807 * util/console.c (grub_ncurses_putchar): Translate some Unicode
49808 characters to ASCII.
49809 (saved_char): New variable.
49810 (grub_ncurses_checkkey): Rewritten completely.
49811 (grub_ncurses_getkey): Likewise.
49812 (grub_ncurses_init): Call raw instead of cbreak.
49813
49814 * normal/menu.c (print_entry): Do not put a space.
49815 (init_page): Renamed to ...
49816 (grub_menu_init_page): ... this. All callers changed.
49817 (edit_menu_entry): Removed.
49818 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
49819
49820 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
49821
49822 * kern/misc.c (grub_vprintf): Call grub_refresh.
49823
49824 * normal/menu.c (DISP_LEFT): Renamed to ...
49825 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
49826 * normal/menu.c (DISP_UP): Renamed to ...
49827 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
49828 * normal/menu.c (DISP_RIGHT): Renamed to ...
49829 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
49830 * normal/menu.c (DISP_DOWN): Renamed to ...
49831 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
49832 * normal/menu.c (DISP_HLINE): Renamed to ...
49833 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
49834 * normal/menu.c (DISP_VLINE): Renamed to ...
49835 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
49836 * normal/menu.c (DISP_UL): Renamed to ...
49837 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
49838 * normal/menu.c (DISP_UR): Renamed to ...
49839 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
49840 * normal/menu.c (DISP_LL): Renamed to ...
49841 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
49842 * normal/menu.c (DISP_LR): Renamed to ...
49843 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
49844 * normal/menu.c (TERM_WIDTH): Renamed to ...
49845 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
49846 * normal/menu.c (TERM_HEIGHT): Renamed to ...
49847 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
49848 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
49849 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
49850 * normal/menu.c (TERM_MARGIN): Renamed to ...
49851 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
49852 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
49853 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
49854 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
49855 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
49856 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
49857 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
49858 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
49859 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
49860 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
49861 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
49862 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
49863 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
49864 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
49865 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
49866 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
49867 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
49868 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
49869 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
49870 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
49871 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
49872 All callers changed.
49873
49874 * include/grub/normal.h: New prototype.
49875
49876 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49877 normal/menu_entry.c.
49878 (normal_mod_SOURCES): Likewise.
49879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49880 (normal_mod_SOURCES): Likewise.
49881
e6b92c8a 498822005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
49883
49884 * include/grub/normal.h (grub_halt_init): New prototype.
49885 (grub_halt_fini): Likewise.
49886 (grub_reboot_init): Likewise.
49887 (grub_reboot_fini): Likewise.
49888
49889 * util/grub-emu.c: Include signal.h.
49890 (main_env): New global variable.
49891 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
49892 catch C-c.
49893 (grub_machine_fini): New function.
49894 (main): Call grub_halt_init and grub_reboot_init before
49895 grub_main, and grub_reboot_fini and grub_halt_fini after it.
49896 Call setjmp with MAIN_ENV to go back afterwards.
49897 Call grub_machine_fini right before return.
49898
49899 * include/grub/util/misc.h: Include setjmp.h.
49900 (main_env): New prototype.
49901
49902 * include/grub/kernel.h (grub_machine_fini): New prototype.
49903 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
49904 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
49905
49906 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
49907 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
49908 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 49909
e6b92c8a 49910 * util/i386/pc/misc.c: New file.
f19dbdb7 49911
e6b92c8a 49912 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49913 util/i386/pc/misc.c, commands/i386/pc/halt.c and
49914 commands/i386/pc/reboot.c.
49915
c642636f 499162005-02-14 Guillem Jover <guillem@hadrons.org>
49917
49918 * include/grub/dl.h (grub_dl_check_header): New prototype.
49919 (grub_arch_dl_check_header): Change return type to grub_err_t,
49920 remove size parameter and export function. Update all callers.
49921 * kern/dl.c (grub_dl_check_header): New function.
49922 (grub_dl_load_core): Use `grub_dl_check_header' instead of
49923 `grub_arch_dl_check_header'. Check ELF type. Check if sections
49924 are inside the core.
49925 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
49926 independent ELF header checks.
49927 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49928 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
49929 `grub_dl_check_header' instead of explicit checks. Check for the
49930 ELF type.
49931 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
49932 `grub_dl_check_header' instead of explicit checks. Remove arch
49933 specific ELF header checks.
49934
e6b92c8a 49935 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
49936 argument SIZE.
49937
5eabe94b 499382005-02-13 Hollis Blanchard <hollis@penguinppc.org>
49939
49940 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
49941 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
49942
1b14a681 499432005-02-12 Hollis Blanchard <hollis@penguinppc.org>
49944
49945 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 49946 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 49947 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 49948 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 49949 * partmap/amiga.c (amiga_partition_map_iterate): Return
49950 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
49951 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49952
aca108aa 499532005-02-01 Guillem Jover <guillem@hadrons.org>
49954
49955 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
49956 help info.
49957
c9f9c556 499582005-01-31 Marco Gerards <metgerards@student.han.nl>
49959
49960 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
49961 Removed prototype.
49962 (grub_rescue_cmd_linux): New prototype.
49963 (grub_rescue_cmd_initrd): Likewise.
49964 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
49965 `bi_rec'.
49966 (grub_linux_release_mem): Release the memory for the initrd.
49967 (grub_load_linux): Renamed from this...
49968 (grub_rescue_cmd_linux): ...To this. Changed all callers.
49969 Changed `entry' not to be static. Loop over memory regions to
49970 find another one when the default fails.
49971 (grub_rescue_cmd_initrd): New function.
49972 (grub_linux_init): Remove function.
49973 (grub_linux_fini): Likewise.
49974 (GRUB_MOD_INIT): Register `initrd'.
49975 (GRUB_MOD_FINI): Unregister `initrd'.
49976 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
49977 Function removed.
49978 (grub_linux_normal_fini): Likewise.
49979 (GRUB_MOD_INIT): Register `initrd'.
49980 (GRUB_MOD_FINI): Unregister `initrd'.
49981
990cf3aa 499822005-01-31 Marco Gerards <metgerards@student.han.nl>
49983
49984 * commands/help.c: New file.
49985 * normal/arg.c (show_help): Renamed to...
49986 (grub_arg_show_help): ... this.
49987 * commands/i386/pc/halt.c: New file.
49988 * commands/i386/pc/reboot.c: Likewise.
49989 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
49990 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
49991 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
49992 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
49993 variables.
49994 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49995 `commands/help.c'.
49996 (pkgdata_MODULES): Add `help.mod'.
49997 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
49998 * grub/i386/pc/init.h (grub_reboot): New prototype.
49999 (grub_halt): Likewise.
50000 * include/grub/normal.h (grub_arg_show_help): New prototype.
50001 (grub_help_init): Likewise.
50002 (grub_help_fini): Likewise.
50003 * util/grub-emu.c (main): Initialize and deinitialize the help
50004 command.
50005
50006 * normal/cmdline.c (grub_cmdline_get): Doc fix.
50007
50008 * normal/command.c (grub_command_init): Fixed the description of
50009 the `set' and `unset' commands.
50010
500112005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 50012
50013 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
50014 function.
50015 * commands/ieee1275/halt.c: New file.
50016 * commands/ieee1275/reboot.c: Likewise.
50017 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
50018 `__attribute__ ((unused))'. Some GCS related fixed.
50019 (grub_suspend_init) [GRUB_UTIL]: Function removed.
50020 (grub_suspend_fini): Likewise.
50021 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
50022 and `halt.mod'.
50023 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
50024 (halt_mod_CFLAGS): New variables.
50025 * include/grub/powerpc/ieee1275/ieee1275.h
50026 (grub_ieee1275_interpret): New prototype.
50027
1ab09cc7 500282005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
50029
50030 * include/grub/misc.h (memmove): New prototype.
50031 (memcpy): Likewise.
50032
8b8cbdb2 500332005-01-22 Hollis Blanchard <hollis@penguinppc.org>
50034
50035 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
50036 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
50037
e3741a27 500382005-01-22 Marco Gerards <metgerards@student.han.nl>
50039
50040 * kern/misc.c (grub_strndup): Function rewritten.
50041
776bd780 500422005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
50043
50044 * normal/menu.c (TERM_WIDTH): Macro redefined.
50045 (TERM_TOP_BORDER_Y): Likewise.
50046 (draw_border): Replaced while-loop by a for-loop. Make the number
50047 of lines consistent with the number of lines displayed in
50048 print_entries. Added a margin below the rectangle.
50049 (print_entry): Make the entry fit in the rectangle.
50050 (print_entries): Display the scroll arrows next to the right
50051 border.
50052
78026bce 500532005-01-21 Marco Gerards <metgerards@student.han.nl>
50054
50055 * fs/minix.c (grub_minix_find_file): Reserve more space for
50056 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
50057 `grub_strncpy' to copy `path' into it.
50058
67bbaf0f 500592005-01-21 Marco Gerards <metgerards@student.han.nl>
50060
50061 Add the loopback device, a device via which files can be accessed
50062 as devices.
f19dbdb7 50063
67bbaf0f 50064 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
50065 (pkgdata_MODULES): Add loopback.mod.
50066 (loopback_mod_SOURCES): New variable.
50067 (loopback_mod_CFLAGS): Likewise.
50068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50069 `disk/loopback.c'.
50070 (pkgdata_MODULES): Add loopback.mod.
50071 (loopback_mod_SOURCES): New variable.
50072 (loopback_mod_CFLAGS): Likewise.
50073 * disk/loopback.c: new file.
50074 * include/grub/normal.h (grub_loop_init): New prototype.
50075 (grub_loop_fini): New prototype.
50076 * util/grub-emu.c (main): Initialize and de-initialize loopback
50077 support.
50078 * include/grub/disk.h (grub_disk_dev_id): Add
50079 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
50080
6f1c18bd 500812005-01-20 Hollis Blanchard <hollis@penguinppc.org>
50082
50083 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
50084 function.
50085 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
50086 (suspend_mod_SOURCES): New variable.
50087 (suspend_mod_CFLAGS): Likewise.
50088 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
50089 New prototype.
50090 * commands/ieee1275/suspend.c: New file.
50091
b38551da 500922005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50093
50094 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 50095 ((unused))' to `__attribute__ ((used))'.
b38551da 50096 (GRUB_MOD_FINI): Likewise.
50097 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
50098 * genmk.rb (PModule): Assign space to common symbols when linking
50099 modules.
50100
777aff39 501012005-01-20 Marco Gerards <metgerards@student.han.nl>
50102
50103 * include/grub/mm.h (grub_mm_init_region): Change the type of the
50104 `unsigned' arguments to `grub_size_t'.
50105 (grub_malloc): Likewise.
50106 (grub_realloc): Likewise.
50107 (grub_memalign): Likewise.
50108 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
50109 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
50110 * util/misc.c (grub_malloc): Likewise.
50111 (grub_realloc): Likewise.
50112 * kern/mm.c (get_header_from_pointer): Change the casts to
50113 `unsigned' into a cast to `grub_size_t'.
50114
50115 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
50116 point to `currnode' when `currnode' is changed.
50117
50118 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
50119 Schottelius <nico-linux@schottelius.org>.
50120
d0ff18e1 501212005-01-09 Hollis Blanchard <hollis@penguinppc.org>
50122
50123 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
50124 (note_path): Remove variable.
50125 (GRUB_IEEE1275_NOTE_NAME): New macro.
50126 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
50127 (grub_ieee1275_note_hdr): New structure.
50128 (grub_ieee1275_note_desc): Likewise.
50129 (grub_ieee1275_note): Likewise.
50130 (load_note): Remove `dir' argument. All callers updated. Remove
50131 `note_img' and `path'. Do not load a file from `note_path'.
50132 Initialize a struct grub_ieee1275_note and write that to `out'.
50133 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
50134
4ca7004c 501352005-01-05 Marco Gerards <metgerards@student.han.nl>
50136
50137 * util/misc.c (grub_util_read_image): Revert last change. It
50138 called `grub_util_read_at', which seeks from the beginning of the
50139 file.
50140
0b412211 501412005-01-04 Hollis Blanchard <hollis@penguinppc.org>
50142
50143 * TODO: Add note about endianness in grub-mkimage.
50144 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
50145 section.
50146 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
50147 (grub_mkimage_SOURCES): New target.
50148 * include/grub/kernel.h (grub_start_addr): Remove variable.
50149 (grub_end_addr): Likewise.
50150 (grub_total_module_size): Likewise.
50151 (grub_kernel_image_size): Likewise.
50152 (GRUB_MODULE_MAGIC): New constant.
50153 (grub_module_info): New structure.
50154 (grub_arch_modules_addr): New prototype.
50155 (grub_get_end_addr): Remove prototype.
50156 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
50157 * include/grub/powerpc/ieee1275/kernel.h: New file.
50158 * include/grub/util/misc.h (grub_util_get_fp_size): New
50159 prototype.
50160 (grub_util_read_at): Likewise.
50161 (grub_util_write_image_at): Likewise.
50162 * kern/main.c (grub_get_end_addr): Remove function.
50163 (grub_load_modules): Call grub_arch_modules_addr instead of using
50164 grub_end_addr. Look for a grub_module_info struct in memory. Use
50165 the grub_module_info fields instead of calling grub_get_end_addr
50166 as loop conditions. Move grub_add_unused_region code here.
50167 (grub_add_unused_region): Remove function.
50168 * kern/i386/pc/init.c: Include grub/cache.h.
50169 (grub_machine_init): Remove call to grub_get_end_addr. Remove
50170 one call to add_mem_region.
50171 (grub_arch_modules_addr): New function.
50172 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
50173 (grub_total_module_size): Likewise.
50174 Include grub/machine/kernel.h.
50175 (grub_arch_modules_addr): New function.
50176 * util/grub-emu.c (grub_end_addr): Remove variable.
50177 (grub_total_module_size): Likewise.
50178 (grub_arch_modules_addr): New function.
50179 * util/misc.c: Include unistd.h.
50180 (grub_util_get_fp_size): New function.
50181 (grub_util_read_at): Likewise.
50182 (grub_util_write_image_at): Likewise.
50183 (grub_util_read_image): Call grub_util_read_at.
50184 (grub_util_write_image): Call grub_util_write_image_at.
50185 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
50186 additional memory in kernel_img for a struct grub_module_info.
50187 Fill in that grub_module_info.
50188 * util/powerpc/ieee1275/grub-mkimage.c: New file.
50189
458786f8 501902005-01-03 Hollis Blanchard <hollis@penguinppc.org>
50191
50192 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
50193 New function.
50194 * include/grub/powerpc/ieee1275/ieee1275.h
50195 (grub_ieee1275_milliseconds): New prototype.
50196 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
50197 Change to 1000.
50198 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
50199 grub_ieee1275_milliseconds.
50200
ac507d1b 502012005-01-03 Hollis Blanchard <hollis@penguinppc.org>
50202
50203 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
50204 variable.
50205 (find_options): New function.
50206 (cmain): Call find_options.
50207 * include/grub/powerpc/ieee1275/ieee1275.h
50208 (grub_ieee1275_realmode): New extern variable.
50209 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
50210 grub_map if grub_ieee1275_realmode is false.
50211
6b8fd1c4 502122004-12-29 Marco Gerards <metgerards@student.han.nl>
50213
50214 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
50215 lines are inserted and make it work like readline. Reported by
50216 Vincent Pelletier <subdino2004@yahoo.fr>.
50217
8514a1e0 502182004-12-28 Marco Gerards <metgerards@student.han.nl>
50219
50220 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
50221
50222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
50223 `kern/powerpc/cache.S'.
50224
924b6140 502252004-12-27 Marco Gerards <metgerards@student.han.nl>
50226
50227 * genmk.rb: Handle the `Program' class in the main loop. Written
50228 by Johan Rydberg <jrydberg@gnu.org>.
50229 (Program): New class.
50230 (programs): New variable.
50231 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
50232 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
50233 instead of "grub/kernel.h". Include <grub/machine/init.h>.
50234 (help_arch): Function removed.
50235 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
50236 `powerpc/libgcc.h' and `loader.h'.
50237 (pkgdata_PROGRAMS): New variable.
50238 (sbin_UTILITIES): Variable removed.
50239 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
50240 (grubof_SOURCES): Variable re-defined so it only includes the
50241 core functionality.
50242 (grubof_CFLAGS): Remove `-DGRUBOF'.
50243 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
50244 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
50245 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
50246 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
50247 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
50248 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
50249 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
50250 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
50251 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
50252 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
50253 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50254 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
50255 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
50256 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
50257 (pc_mod_CFLAGS): New variables.
50258 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
50259 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
50260 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
50261 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
50262 Moved from here...
50263 * include/grub/i386/pc/init.h (grub_os_area_addr)
50264 (rub_os_area_size): ... to here.
50265 * include/grub/powerpc/ieee1275/ieee1275.h
50266 (grub_ieee1275_entry_fn): Export symbol.
50267 * include/grub/powerpc/ieee1275/init.h: New file.
50268 * include/grub/powerpc/libgcc.h: Likewise.
50269 * include/grub/cache.h: Likewise.
50270 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
50271 <hollis@penguinppc.org>.
50272 * kern/dl.c: Include <grub/cache.h>.
50273 (grub_dl_flush_cache): New function.
50274 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
50275 for this module.
50276 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
50277 (grub_console_init): Removed prototypes.
50278 (grub_machine_init): Don't initialize the modules anymore.
50279 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
50280 static.
50281 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
50282 Macro undef removed.
50283 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
50284 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
50285 relocation `R_PPC_REL32'. Return an error when the relocation is
50286 unknown.
50287 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
50288 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
50289 * util/misc.c (grub_arch_sync_caches): Likewise.
50290
e4b47e0c 502912004-12-19 Marco Gerards <metgerards@student.han.nl>
50292
50293 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
50294 `symlist.c', add `grubof_symlist.c'.
50295 (symlist.c): Variable removed.
50296 (grubof_HEADERS): Variable added.
50297 (grubof_symlist.c): New target.
50298 (kernel_syms.lst): Use `grubof_HEADERS' instead of
50299 `kernel_img_HEADERS'.
50300 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
50301 * kern/powerpc/dl.c: New file.
50302 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
50303 Function removed.
50304 (grub_arch_dl_relocate_symbols): Likewise.
50305 (grub_register_exported_symbols): Likewise.
50306
4ceb3636 503072004-12-13 Marco Gerards <metgerards@student.han.nl>
50308
50309 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
50310 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
50311 to fail instead. Reported by Vincent Pelletier
50312 <subdino2004@yahoo.fr>.
50313
50314 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
50315 it is not allocated. Reported by Vincent Pelletier
50316 <subdino2004@yahoo.fr>.
50317
50318 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
50319 output so the output looks better.
f19dbdb7 50320
3f1578fe 503212004-12-04 Marco Gerards <metgerards@student.han.nl>
50322
50323 Modulize the partition map support and add support for the amiga
50324 partition map.
f19dbdb7 50325
3f1578fe 50326 * commands/ls.c: Include <grub/partition.h> instead of
50327 <grub/machine/partition.h>.
50328 * kern/disk.c: Likewise.
50329 * kern/rescue.c: Likewise.
50330 * loader/i386/pc/chainloader.c: Likewise.
50331 * normal/cmdline.c: Likewise.
50332 * kern/powerpc/ieee1275/init.c: Likewise.
50333 (grub_machine_init): Call `grub_pc_partition_map_init',
50334 `grub_amiga_partition_map_init' and
50335 `grub_apple_partition_map_init'.
50336 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
50337 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
50338 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
50339 `partition.h' and `pc_partition.h'.
50340 (grub_setup_SOURCES): Remove
50341 `disk/i386/pc/partition.c'. Add `kern/partition.c',
50342 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
50343 (grub_emu_SOURCES): Likewise.
50344 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
50345 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
50346 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
50347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
50348 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
50349 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
50350 (grubof_SOURCES): Likewise.
50351 * disk/i386/pc/partition.c: File removed.
50352 * disk/powerpc/ieee1275/partition.c: Likewise.
50353 * include/grub/powerpc/ieee1275/partition.h: Likewise.
50354 * include/grub/i386/pc/partition.h: Likewise.
50355 * kern/partition.c: New file.
50356 * partmap/amiga.c: Likewise.
50357 * partmap/apple.c: Likewise.
50358 * partmap/pc.c: Likewise.
50359 * include/grub/partition.h: Likewise..
50360 * include/grub/pc_partition.h: Likewise.
50361 * util/grub-emu.c: Include <grub/partition.h> instead of
50362 <grub/machine/partition.h>.
50363 (main): Call `grub_pc_partition_map_init',
50364 `grub_amiga_partition_map_init' and
50365 `grub_apple_partition_map_init' and deinitialize afterwards.
50366 * util/i386/pc/biosdisk.c: Include `#include
50367 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
50368 `<grub/machine/partition.h>'.
50369 * util/i386/pc/grub-setup.c: Likewise.
50370 * util/i386/pc/biosdisk.c: Likewise.
50371 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
50372 partition information in case of a PC partition.
50373 * util/i386/pc/grub-setup.c: Include `#include
50374 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
50375 `<grub/machine/partition.h>'.
50376 (setup): Only access the PC specific partition information in case
50377 of a PC partition.
50378
0ef4ced9 503792004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 50380
0ef4ced9 50381 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
50382 (grub_longjmp): Likewise.
50383 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
50384 20.
50385 * normal/powerpc/setjmp.S: New file.
50386 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50387 `normal/powerpc/setjmp.S'.
50388 (grubof_CFLAGS): Add `-DGRUBOF'.
50389 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
50390 [GRUB_UTIL && !GRUBOF].
f19dbdb7 50391
19950e29 503922004-11-16 Marco Gerards <metgerards@student.han.nl>
50393
50394 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
50395 property named `name'. Correctly handle the error returned by
50396 `grub_ieee1275_finddevice' if a device can not be opened.
50397
a2fea427 503982004-11-02 Hollis Blanchard <hollis@penguinppc.org>
50399
50400 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
50401 `actual' for negativity.
50402 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
50403 kern/fshelp.c.
50404
41ea0ea3 504052004-11-01 Marco Gerards <metgerards@student.han.nl>
50406
50407 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
50408 (PAGE_OFFSET): New macro.
50409 (CRTC_ADDR_PORT): Likewise.
50410 (CRTC_DATA_PORT): Likewise.
50411 (START_ADDR_HIGH_REGISTER): Likewise.
50412 (START_ADDR_LOW_REGISTER): Likewise.
50413 (GRAPHICS_ADDR_PORT): Likewise.
50414 (GRAPHICS_DATA_PORT): Likewise.
50415 (READ_MAP_REGISTER): Likewise.
50416 (INPUT_STATUS1_REGISTER): Likewise.
50417 (INPUT_STATUS1_VERTR_BIT): Likewise.
50418 (page): New variable.
50419 (wait_vretrace): New function.
50420 (set_read_map): Likewise.
50421 (set_start_address): Likewise.
50422 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
50423 the right page.
50424 (check_vga_mem): Take the page into account.
50425 (write_char): Likewise.
50426 (write_cursor): Likewise.
50427 (scroll_up): Likewise. Copy the page to the page that is not
50428 shown and switch between both pages.
50429 (grub_vga_putchar): Fix off by one error.
50430 (grub_vga_cls): Wait for the vertical retrace. Take the page into
50431 account.
50432
ad0bd20b 504332004-11-01 Marco Gerards <metgerards@student.han.nl>
50434
50435 Add support for iso9660 (including rockridge).
f19dbdb7 50436
ad0bd20b 50437 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
50438 (iso9660_mod_SOURCES): New variable.
50439 (iso9660_mod_CFLAGS): Likewise.
50440 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
50441 * include/grub/fs.h (grub_iso9660_init): New prototype.
50442 * util/grub-emu.c (main): Call `grub_iso9660_init'.
50443 * fs/iso9660.c: New file.
50444
50445 * include/grub/misc.h (grub_strncat): New prototype.
50446 * kern/misc.c (grub_strncat): New function.
f19dbdb7 50447
ad0bd20b 50448 * fs/hfs.c (grub_hfs_mount): Translate the error
50449 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
50450 * fs/jfs.c (grub_jfs_mount): Likewise.
50451 * fs/ufs.c (grub_ufs_mount): Likewise.
50452
a5477a59 504532004-10-28 Hollis Blanchard <hollis@penguinppc.org>
50454
50455 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
50456 which initialized BAT registers.
50457 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
50458 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
50459 Move from here...
50460 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
50461 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
50462 ... to here.
50463 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
50464 (grub_mapclaim): Likewise.
50465 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
50466 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
50467 hand.
50468
9304c1f8 504692004-10-19 Hollis Blanchard <hollis@penguinppc.org>
50470
50471 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
50472 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
50473 -ffreestanding and -msoft-float.
50474
86f4ae25 504752004-10-15 Hollis Blanchard <hollis@penguinppc.org>
50476
50477 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
50478 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
50479 set in grub_ieee1275_flags.
50480
38912228 504812004-10-14 Hollis Blanchard <hollis@penguinppc.org>
50482
50483 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
50484 prototype.
50485 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
50486 grub_console_init first.
50487 Change the memory range used for grub_ieee1275_claim and
50488 grub_mm_init_region.
50489 Print an error message if the claim fails.
50490 Include <grub/misc.h>.
50491
d1923dc8 504922004-10-13 Hollis Blanchard <hollis@penguinppc.org>
50493
50494 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
50495 Call grub_children_iterate for device nodes of type `scsi',
50496 `ide', or `ata'.
50497 (grub_ofdisk_open): Remove manual device alias resolution.
50498 Fix memory leak when device cannot be opened.
f19dbdb7 50499 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 50500 (grub_children_iterate): New prototype.
50501 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
50502 New function.
50503 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50504 Return -1 if args.size was -1.
50505
4512e4f3 505062004-10-11 Hollis Blanchard <hollis@penguinppc.org>
50507
50508 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
50509 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
50510 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
50511 Open Firmware's memory for it; claim memory from _start to _end.
50512 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
50513 (_end): New extern.
50514 (_start): Zero BSS from __bss_start to _end.
50515 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50516 New extern.
50517 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
50518
4d61feb0 505192004-10-11 Hollis Blanchard <hollis@penguinppc.org>
50520
ad0bd20b 50521 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
50522 -1 if args.base was -1.
4d61feb0 50523
026fa2f9 505242004-10-08 Hollis Blanchard <hollis@penguinppc.org>
50525
50526 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
50527 escape sequence instead of a literal ^L. Also call
50528 grub_ofconsole_gotoxy.
50529
9f2220ef 505302004-10-03 Hollis Blanchard <hollis@penguinppc.org>
50531
50532 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
50533 void * arguments to grub_addr_t. All callers updated. Also make
50534 the `result' argument optional.
50535 (grub_ieee1275_release): change void * arguments to grub_addr_t.
50536 All callers updated.
50537
8a572cd7 505382004-09-22 Hollis Blanchard <hollis@penguinppc.org>
50539
50540 * commands/ls.c (grub_ls_list_files): Use the string following the
50541 initial ')', if present, as the filesystem path.
50542 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
50543
50544 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
50545
18aa81f2 505462004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
50547
50548 Make the source code of the menu interface more readable.
f19dbdb7 50549
18aa81f2 50550 * normal/menu.c: Include grub/mm.h.
50551 (TERM_WIDTH): New macro.
50552 (TERM_HEIGHT): Likewise.
50553 (TERM_INFO_HEIGHT): Likewise.
50554 (TERM_MARGIN): Likewise.
50555 (TERM_SCROLL_WIDTH): Likewise.
50556 (TERM_TOP_BORDER_Y): Likewise.
50557 (TERM_LEFT_BORDER_X): Likewise.
50558 (TERM_BORDER_WIDTH): Likewise.
50559 (TERM_MESSAGE_HEIGHT): Likewise.
50560 (TERM_BORDER_HEIGHT): Likewise.
50561 (TERM_NUM_ENTRIES): Likewise.
50562 (TERM_FIRST_ENTRY_Y): Likewise.
50563 (TERM_ENTRY_WIDTH): Likewise.
50564 (TERM_CURSOR_X): Likewise.
50565 (draw_border): Use macros instead of magic numbers.
50566 (print_entry): Likewise.
50567 (print_entries): Likewise.
50568 (run_menu): Likewise. Also, handle the key 'e'.
50569 (run_menu_entry): Ignore empty command lines.
50570 (print_message): Added a new argument EDIT. If EDIT is true,
50571 print a different message.
50572 (init_page): Likewise.
50573 (edit_menu_entry): New function. Not implemented yet.
50574
b47efe30 505752004-09-17 Marco Gerards <metgerards@student.han.nl>
50576
50577 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
50578 can be loaded from normal mode.
f19dbdb7 50579
b47efe30 50580 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
50581 `multiboot.mod'.
50582 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
50583 (multiboot_mod_CFLAGS): New variables.
50584 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 50585 * loader/i386/pc/multiboot_normal.c: Likewise.
50586
b47efe30 50587 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
50588 attribute `unused'.
f19dbdb7 50589
b47efe30 50590 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
50591 `fdiro' to read the mode information from instead of `diro'.
50592
50593 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
50594 looking up a symlink.
50595
50596 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
50597 macro.
50598 * normal/command.c (grub_command_execute): Don't parse the
50599 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
50600 flags of the command.
50601
50602 * normal/menu.c (grub_menu_run): Fix typo.
50603
da75ac71 506042004-09-14 Hollis Blanchard <hollis@penguinppc.org>
50605
50606 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
50607
50608 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
50609 `y + 1' instead of `y - 1'.
50610
50611 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 50612
062b24c2 506132004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
50614
50615 From Hollis Blanchard <hollis@penguinppc.org>:
50616 * kern/misc.c (memmove): New alias for grub_memmove.
50617 (memcmp): New alias for grub_memcmp.
50618 (memset): New alias for grub_memset.
f19dbdb7 50619 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 50620 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 50621 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 50622 (grub_ieee1275_get_property): Likewise.
f19dbdb7 50623
8ddad845 506242004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
50625
50626 Added normal mode command `chainloader' as module chain.mod, which
50627 depends on normal.mod and _chain.mod.
f19dbdb7 50628
8ddad845 50629 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
50630 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
50631 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
50632 Deleted prototype.
50633 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
50634 but arguments parsing moved to ...
50635 (grub_chainloader_cmd): ... here. New function.
50636 * include/grub/i386/pc/chainloader.h: New file.
50637 * loader/i386/pc/chainloader_normal.c: Likewise.
50638
2c1f4ce3 506392004-09-11 Marco Gerards <metgerards@student.han.nl>
50640
50641 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
50642 (grub_mkimage_LDFLAGS): Likewise.
50643 (grub_emu_SOURCES): Likewise.
50644 (kernel_img_HEADERS): Added fshelp.h.
50645 * fs/ext2.c: Include <grub/fshelp.h>.
50646 (FILETYPE_REG): New macro.
50647 (FILETYPE_INO_REG): Likewise.
50648 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
50649 Changed all users.
50650 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
50651 all users.
50652 (grub_fshelp_node): New struct.
50653 (grub_ext2_data): Added member `diropen'. Changed member `inode'
50654 to a pointer.
50655 (grub_ext2_get_file_block): Removed function.
50656 (grub_ext2_read_block): New function.
50657 (grub_ext2_read_file): Replaced parameter `data' by `node'.
50658 This function was written.
50659 (grub_ext2_mount): Read the root inode. Create a diropen struct.
50660 (grub_ext2_find_file): Removed function.
50661 (grub_ext2_read_symlink): New function.
50662 (grub_ext2_iterate_dir): Likewise.
50663 (grub_ext2_open): Rewritten.
50664 (grub_ext2_dir): Rewritten.
50665 * include/grub/fshelp.h: New file.
50666 * fs/fshelp.c: Likewise.
50667
3c52136a 506682004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
50669
50670 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
50671 (print_message): Add a missing newline.
50672 (run_menu): Added timeout support.
50673 (run_menu_entry): New local function.
50674 (grub_menu_run): Added support for booting.
50675
50676 * kern/loader.c (grub_loader_is_loaded): New function.
50677
50678 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
50679 (grub_get_rtc): Exported.
50680
50681 * include/grub/i386/pc/time.h: Include grub/symbol.h.
50682 (grub_get_rtc): Exported.
50683
50684 * include/grub/normal.h (struct grub_command_list): Remove
50685 constant from the member `command'.
50686
50687 * include/grub/loader.h (grub_loader_is_loaded): Declared.
50688
50689 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
50690
50691 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
50692
aa033560 506932004-08-28 Marco Gerards <metgerards@student.han.nl>
50694
50695 Add support for the JFS filesystem.
50696
50697 * fs/jfs.c: New file.
50698 * include/grub/fs.h (grub_jfs_init): New prototype.
50699 (grub_jfs_fini): New prototype.
50700 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
50701 (grub_emu_SOURCES): Likewise.
50702 (pkgdata_MODULES): Add jfs.mod.
50703 (jfs_mod_SOURCES): New variable.
50704 (jfs_mod_CFLAGS): Likewise.
50705 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
50706 (grubof_SOURCES): Likewise.
50707 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
50708
50709 * fs/fat.c (grub_fat_find_dir): Convert the filename little
50710 endian to the host endian.
50711 (grub_fat_utf16_to_utf8): Move function from there...
50712 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 50713 the endianness of the source string anymore.
aa033560 50714 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
50715
94bc45af 507162004-08-24 Marco Gerards <metgerards@student.han.nl>
50717
50718 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
50719 (grub_boot_fini) [GRUB_UTIL]: Likewise.
50720 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
50721 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 50722
94bc45af 50723 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
50724 (grub_hfs_iterate_dir): Make the function static. Add prototypes
50725 for `node_found' and `it_dir'.
50726 (grub_hfs_dir): Add prototype for `dir_hook'.
50727
50728 * fs/minix.c (grub_minix_get_file_block): Add prototype for
50729 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
50730 and `indir32' to silence a gcc warning.
50731
50732 * include/grub/fs.h (grub_hfs_init): New prototype.
50733 (grub_hfs_fini): Likewise.
f19dbdb7 50734
50735
97543f08 507362004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50737
50738 Each disk device has its own id now. This is useful to make use
50739 of multiple disk devices.
f19dbdb7 50740
97543f08 50741 * include/grub/disk.h (grub_disk_dev_id): New enum.
50742 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
50743 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
50744
50745 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
50746 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50747
50748 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
50749 GRUB_DISK_DEVICE_OFDISK_ID as an id.
50750
50751 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
50752 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50753
50754 * include/grub/disk.h (struct grub_disk_dev): Added a new member
50755 "id" which is used by the cache manager.
50756
50757 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
50758 of just "GRUB".
50759
64372eb4 507602004-08-18 Marco Gerards <metgerards@student.han.nl>
50761
50762 * fs/hfs.c: New file.
50763 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
50764 (grub_emu_SOURCES): Likewise.
50765 (pkgdata_MODULES): Add hfs.mod.
50766 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
50767 (grubof_SOURCES): Likewise.
50768 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
50769
50770 * include/grub/misc.h (grub_strncasecmp): Add prototype.
50771 * kern/misc.c (grub_strncasecmp): Add function.
50772
cc61b58f 507732004-08-14 Marco Gerards <metgerards@student.han.nl>
50774
50775 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
50776 with parentheses.
50777
50778 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
50779 (grub_ext2_dir): In case the directory entry type is unknown, read
50780 it from the inode.
50781
0ef123f6 507822004-08-02 Peter Bruin <pjbruin@dds.nl>
50783
50784 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
50785 grub_load_linux instead of grub_rescue_cmd_linux as second
50786 argument of grub_rescue_register_command.
50787
50788 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
50789
a447c5df 507902004-07-27 Marco Gerards <metgerards@student.han.nl>
50791
50792 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
50793 function.
50794 * commands/boot.c: Remove the check for `GRUB_UTIL'.
50795 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50796 `loader/powerpc/ieee1275/linux.c',
50797 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
50798 * include/grub/powerpc/ieee1275/ieee1275.h
50799 (grub_ieee1275_release): New prototype.
50800 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
50801 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
50802 normal, boot, linux and linux_normal.
50803 * loader/powerpc/ieee1275/linux.c: New file.
50804 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
50805
5a9e3546 508062004-07-12 Marco Gerards <metgerards@student.han.nl>
50807
50808 * normal/arg.c (grub_arg_parse): Correct error handling after
50809 reallocating the argumentlist (check if `argl' is not null instead
50810 of checking if `args' is not null).
50811 * kern/mm.c (grub_realloc): Return the same pointer when using the
50812 same region, instead of returning the header address.
50813
e15199cb 508142004-07-11 Marco Gerards <metgerards@student.han.nl>
50815
50816 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
50817 one block instead of two when looking for the initial partition.
50818 (grub_partition_probe): Initialize the local variable `p' with 0.
50819 Use base 10 for the grub_strtoul call.
50820 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
50821 need for one local variable.
50822 (grub_strtoul): Don't add the new value to `num', instead of that
50823 just assign it.
50824
020616c2 508252004-07-11 Marco Gerards <metgerards@student.han.nl>
50826
50827 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
50828 (pxeboot_img_SOURCES): New variable.
50829 (pxeboot_img_ASFLAGS): Likewise.
50830 (pxeboot_img_LDFLAGS): Likewise.
50831 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
50832 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
50833 <lode_leroy@hotmail.com>.
50834
6c51eb64 508352004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50836
50837 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
50838 there was no input.
50839
cfb12aff 508402004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50841
50842 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
50843 the history buffer logic.
50844
6eabba74 508452004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50846
50847 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
50848 (FILETYPE_INO_SYMLINK): New macros.
50849 (grub_ext2_find_file): Check if the node is a directory using the
50850 inode stat information instead of using the filetype in the
50851 dirent. Exclude the first character of an absolute symlink.
50852 (grub_ext2_dir): Mask out the filetype part of the mode member of
50853 the inode.
50854
66e19ef8 508552004-05-24 Marco Gerards <metgerards@student.han.nl>
50856
50857 Add support for UFS version 1 and 2. Add support for the minix
50858 filesystem version 1 and 2, both the variants with 14 and 30 long
50859 filenames.
f19dbdb7 50860
66e19ef8 50861 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
50862 fs/minix.c.
50863 (grub_emu_SOURCES): Likewise.
50864 (pkgdata_MODULES): Add ufs.mod and minix.mod.
50865 (ufs_mod_SOURCES): New variable.
50866 (ufs_mod_CFLAGS): Likewise.
50867 (minix_mod_SOURCES): Likewise.
50868 (minix_mod_CFLAGS): Likewise.
50869 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
50870 fs/minix.c.
50871 (grubof_SOURCES): Likewise.
50872 * fs/ufs.c: New file.
50873 * fs/minix.c: New file.
50874 * include/grub/fs.h (grub_ufs_init): New prototype.
50875 (grub_ufs_fini): Likewise.
50876 (grub_minix_init): Likewise.
50877 (grub_minix_fini): Likewise.
50878 * util/grub-emu.c (main): Initialize and deinitialize UFS and
50879 minix fs.
50880
cc2e748a 508812004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
50882
50883 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
50884 commands/ls.c, commands/terminal.c, commands/boot.c,
50885 commands/cmp.c and commands/cat.c.
50886 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
50887
50888 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
50889 "env.h"
50890
4b13b216 508912004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50892
50893 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
50894 and grub_, respectively. Because the conversion is trivial and
50895 mechanical, I omit the details here. Please refer to the CVS
50896 if you need more information.
50897
6a142551 508982004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50899
50900 * include/pupa: Renamed to ...
50901 * include/grub: ... this.
50902 * util/i386/pc/pupa-mkimage.c: Renamed to ...
50903 * util/i386/pc/grub-mkimage.c: ... this.
50904 * util/i386/pc/pupa-setup.c: Renamed to ...
50905 * util/i386/pc/grub-setup.c: ... this.
50906 * util/pupa-emu.c: Renamed to ...
50907 * util/grub-emu.c: ... this.
50908
e56cdf21 509092004-03-29 Marco Gerards <metgerards@student.han.nl>
50910
50911 Add support for the newworld apple macintosh (PPC). This has been
50912 tested on the powerbook 2000 only. It only adds support for
50913 generic ieee1275 functions, console and disk support. This should
50914 be easy to port to other architectures with support for Open
50915 Firmware.
f19dbdb7 50916
e56cdf21 50917 * configure.ac: Accept the powerpc as host_cpu. In the case of
50918 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
50919 specific tests are only executed while building for the i386.
50920 Inverse test for crosscompile.
50921 * genmk.rb (Utility): Allow assembler files.
50922 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
50923 * conf/powerpc-ieee1275.rmk: New file.
50924 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
50925 * disk/powerpc/ieee1275/partition.c: Likewise.
50926 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
50927 * include/pupa/powerpc/ieee1275/console.h: Likewise.
50928 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
50929 * include/pupa/powerpc/ieee1275/time.h: Likewise.
50930 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
50931 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
50932 * include/pupa/powerpc/ieee1275/loader.h
50933 * include/pupa/powerpc/setjmp.h: Likewise.
50934 * include/pupa/powerpc/types.h: Likewise.
50935 * kern/powerpc/ieee1275/init.c: Likewise.
50936 * kern/powerpc/ieee1275/openfw.c: Likewise.
50937 * term/powerpc/ieee1275/ofconsole.c: Likewise.
50938
50939 These files were written by Johan Rydberg
50940 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 50941
e56cdf21 50942 * boot/powerpc/ieee1275/cmain.c: New file.
50943 * boot/powerpc/ieee1275/crt0.S: Likewise.
50944 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
50945 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
50946
8c8cc205 509472004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
50948
50949 * Makefile.in: Update copyright.
50950 * genmodsrc.sh: Likewise.
50951 * gensymlist.sh: Likewise.
50952 * term/i386/pc/vga.c: Indent correctly.
50953
50954 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
50955 bugreporting address.
50956 * util/i386/pc/pupa-setup.c (usage): Likewise,
50957 (main): Call pupa_ext2_init and pupa_ext2_fini.
50958
f19dbdb7 50959 * fs/fat.c (log2): Renamed to ...
8c8cc205 50960 (fat_log2): ... this.
50961 All callers changed.
50962 * kern/misc.c (memcpy): Alias to pupa_memmove.
50963 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
50964 lvalue cast.
50965 * util/console.c (pupa_ncurses_fini): Return 0.
50966
50967 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
50968 Move fail label here.
50969 [__GNU__]: Don't warn when using stat.
50970 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
50971 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
50972 long int. Use strtol instead of strtoul.
f19dbdb7 50973
db1771cf 509742004-03-14 Marco Gerards <metgerards@student.han.nl>
50975
50976 * commands/boot.c: New file.
50977 * commands/cat.c: Likewise.
50978 * commands/cmp.c: Likewise.
50979 * commands/ls.c: Likewise.
50980 * commands/terminal.c: Likewise.
50981 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
50982 (pupa_register_command): Changed interface to match the new
50983 argument parser.
50984 (pupa_command_execute): Changed (almost rewritten) so it uses
50985 pupa_split_command. Added support for setting variables using the
50986 syntax `foo=bar'.
50987 (rescue_command): Changed to work with the new argument parser.
50988 (terminal_command): Moved from here to commands/terminal.c.
50989 (set_command): New function.
50990 (unset_command): New function.
50991 (insmod_command): New function.
50992 (rmmod_command): New function.
50993 (lsmod_command): New function.
50994 (pupa_command_init): Don't initialize the command terminal
50995 anymore. Initialize the commands set, unset, insmod, rmmod and
50996 lsmod.
50997 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
50998 (kernel_img_HEADERS): Add arg.h and env.h.
50999 (pupa_mkimage_LDFLAGS): Add kern/env.c.
51000 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
51001 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
51002 normal/arg.c.
51003 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
51004 terminal.mod.
51005 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
51006 (boot_mod_SOURCES): New variable.
51007 (terminal_mod_SOURCES): Likewise.
51008 (ls_mod_SOURCES): Likewise.
51009 (cmp_mod_SOURCES): Likewise.
51010 (cat_mod_SOURCES): Likewise.
51011
51012 * normal/arg.c: New file.
51013 * kern/env.c: Likewise.
51014 * include/pupa/arg.h: Likewise.
51015 * include/pupa/env.h: Likewise.
51016 * font/manager.c (font_command): Changed to match argument parsing
51017 interface changes.
51018 (PUPA_MOD_INIT): Likewise.
51019 * hello/hello.c (pupa_cmd_hello): Likewise.
51020 (PUPA_MOD_INIT): Likewise.
51021 * include/pupa/disk.h: Include <pupa/device.h>.
51022 (pupa_print_partinfo): New prototype.
51023 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
51024 (pupa_dl_get_prefix): Likewise.
51025 * include/pupa/misc.h: Include <pupa/err.h>.
51026 (pupa_isgraph): New prototype.
51027 (pupa_isdigit): Likewise.
51028 (pupa_split_cmdline): Likewise.
51029 * include/pupa/normal.h: Include <pupa/arg.h>.
51030 (pupa_command): Changed the prototype of the member `func' to
51031 match the argument parsing interface. Added member `options'.
51032 (pupa_register_command): Updated to match function.
51033 (pupa_arg_parse): New prototype.
51034 (pupa_hello_init) [PUPA_UTIL]: New prototype.
51035 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
51036 (pupa_ls_init) [PUPA_UTIL]: Likewise.
51037 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
51038 (pupa_cat_init) [PUPA_UTIL]: Likewise.
51039 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
51040 (pupa_boot_init) [PUPA_UTIL]: Likewise.
51041 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
51042 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
51043 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
51044 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
51045 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
51046 * kern/disk.c: Include <pupa/file.h>.
51047 (pupa_print_partinfo): New function.
51048 * kern/dl.c: Include <pupa/env.h>.
51049 (pupa_dl_dir): Variable removed.
51050 (pupa_dl_load): Use the environment variable `prefix' instead of
51051 the variable pupa_dl_dir.
51052 (pupa_dl_set_prefix): Function removed.
51053 (pupa_dl_get_prefix): Likewise.
51054 * kern/i386/pc/init.c: Include <pupa/env.h>.
51055 (pupa_machine_init): Use the environment variable `prefix' instead of
51056 using pupa_dl_set_prefix to set the prefix.
51057 * kern/main.c: Include <pupa/env.h>.
51058 (pupa_set_root_dev): Use the environment variable `prefix' instead of
51059 using pupa_dl_get_prefix to get the prefix.
51060 * kern/misc.c: Include <pupa/env.h>.
51061 (pupa_isdigit): New function.
51062 (pupa_isgraph): Likewise.
51063 (pupa_ftoa): Likewise.
51064 (pupa_vsprintf): Added support for printing values of the type
51065 `double'. Make it possible to format variable output when using
51066 formatting like `%1.2%f'.
51067 (pupa_split_cmdline): New function.
51068 * kern/rescue.c: Include <pupa/env.h>.
51069 (next_word): Removed function.
51070 (pupa_rescue_cmd_prefix): Likewise.
51071 (pupa_rescue_cmd_set): New function.
51072 (pupa_rescue_cmd_unset): New function.
51073 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
51074 split the command line instead of splitting it here. Added
51075 support for setting variables using the syntax `foo=bar'. Don't
51076 initialize the prefix command anymore. Initialized the set and
51077 unset commands.
51078 * normal/cmdline.c: Include <pupa/env.h>.
51079 (pupa_tab_complete): Added prototypes for print_simple_completion,
51080 print_partition_completion, add_completion, iterate_commands,
51081 iterate_dev, iterate_part and iterate_dir. Moved code to print
51082 partition information from here to kern/disk.c.
fe6b695a 51083 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 51084 * normal/main.c: Include <pupa/env.h>.
51085 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
51086 instead of using pupa_dl_get_prefix to get the prefix.
51087 * term/i386/pc/vga.c: Include <pupa/arg.h>.
51088 (check_vga_mem): Cast pointers to `void *' to silence a gcc
51089 warning.
51090 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
51091 (pupa_vga_setcolor): Declare unused variables with `__attribute__
51092 ((unused))' to silence a gcc warning.
51093 (pupa_vga_setcolor): Likewise.
51094 (debug_command): Changed to match argument parsing
51095 interface changes.
51096 * util/pupa-emu.c: Include <pupa/env.h>.
51097 (options): Added 0's for unused fields to silence a gcc warning.
51098 (argp): Likewise.
51099 (main): Use the environment variable `prefix' instead of using
51100 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
51101 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
51102 and terminal.
51103
51104 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
51105 * util/misc.c: Include <malloc.h>.
51106 (pupa_malloc): Rewritten so errors are correctly reported.
51107 (pupa_realloc): Likewise.
51108 (pupa_memalign): Likewise.
51109 (pupa_mm_init_region): Declare unused variables with
51110 `__attribute__ ((unused))' to silence a gcc warning.
51111 * normal/i386/setjmp.S: Remove tab at the end of the file to
51112 silence a gcc warning.
51113 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
51114 variables with `__attribute__ ((unused))' to silence a gcc
51115 warning.
51116 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
51117 local variable i unsigned to silence a gcc warning.
51118
51119 * kern/term.c: Include <pupa/misc.h>.
51120 (pupa_more_lines): New variable.
51121 (pupa_more): Likewise.
51122 (pupa_putcode): When the pager is active pause at the end of every
51123 screen.
51124 (pupa_set_more): New function.
51125 * include/pupa/term.h (pupa_set_more): New prototype.
51126
51127
3b1139cb 511282004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
51129
51130 Now this project is GRUB 2 rather than PUPA. The location of
51131 the CVS repository was moved to GRUB's.
f19dbdb7 51132
3b1139cb 51133 * configure.ac: Use bug-grub as the reporting address.
51134 Use GRUB instead of PUPA.
51135 Change the version number to 1.90.
51136
8367695c 511372004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
51138
51139 * genkernsyms.sh: Updated copyright information.
51140 * genmk.rb: Likewise.
51141 * genmodsrc.sh: Likewise.
51142 * gensymlist.sh: Likewise.
51143 * boot/i386/pc/boot.S: Likewise.
51144 * boot/i386/pc/diskboot.S: Likewise.
51145 * disk/i386/pc/biosdisk.c: Likewise.
51146 * disk/i386/pc/partition.c: Likewise.
51147 * font/manager.c: Likewise.
51148 * fs/ext2.c: Likewise.
51149 * fs/fat.c: Likewise.
51150 * include/pupa/boot.h: Likewise.
51151 * include/pupa/device.h: Likewise.
51152 * include/pupa/disk.h: Likewise.
51153 * include/pupa/dl.h: Likewise.
51154 * include/pupa/elf.h: Likewise.
51155 * include/pupa/err.h: Likewise.
51156 * include/pupa/file.h: Likewise.
51157 * include/pupa/font.h: Likewise.
51158 * include/pupa/fs.h: Likewise.
51159 * include/pupa/kernel.h: Likewise.
51160 * include/pupa/loader.h: Likewise.
51161 * include/pupa/misc.h: Likewise.
51162 * include/pupa/mm.h: Likewise.
51163 * include/pupa/net.h: Likewise.
51164 * include/pupa/normal.h: Likewise.
51165 * include/pupa/rescue.h: Likewise.
51166 * include/pupa/setjmp.h: Likewise.
51167 * include/pupa/symbol.h: Likewise.
51168 * include/pupa/term.h: Likewise.
51169 * include/pupa/types.h: Likewise.
51170 * include/pupa/i386/setjmp.h: Likewise.
51171 * include/pupa/i386/types.h: Likewise.
51172 * include/pupa/i386/pc/biosdisk.h: Likewise.
51173 * include/pupa/i386/pc/boot.h: Likewise.
51174 * include/pupa/i386/pc/console.h: Likewise.
51175 * include/pupa/i386/pc/init.h: Likewise.
51176 * include/pupa/i386/pc/kernel.h: Likewise.
51177 * include/pupa/i386/pc/linux.h: Likewise.
51178 * include/pupa/i386/pc/loader.h: Likewise.
51179 * include/pupa/i386/pc/memory.h: Likewise.
51180 * include/pupa/i386/pc/multiboot.h: Likewise.
51181 * include/pupa/i386/pc/partition.h: Likewise.
51182 * include/pupa/i386/pc/time.h: Likewise.
51183 * include/pupa/i386/pc/vga.h: Likewise.
51184 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
51185 * include/pupa/util/getroot.h: Likewise.
51186 * include/pupa/util/misc.h: Likewise.
51187 * include/pupa/util/resolve.h: Likewise.
51188 * kern/device.c: Likewise.
51189 * kern/disk.c: Likewise.
51190 * kern/dl.c: Likewise.
51191 * kern/err.c: Likewise.
51192 * kern/file.c: Likewise.
51193 * kern/fs.c: Likewise.
51194 * kern/loader.c: Likewise.
51195 * kern/main.c: Likewise.
51196 * kern/misc.c: Likewise.
51197 * kern/mm.c: Likewise.
51198 * kern/rescue.c: Likewise.
51199 * kern/term.c: Likewise.
51200 * kern/i386/dl.c: Likewise.
51201 * kern/i386/pc/init.c: Likewise.
51202 * kern/i386/pc/lzo1x.S: Likewise.
51203 * kern/i386/pc/startup.S: Likewise.
51204 * loader/i386/pc/chainloader.c: Likewise.
51205 * loader/i386/pc/linux.c: Likewise.
51206 * loader/i386/pc/multiboot.c: Likewise.
51207 * normal/cmdline.c: Likewise.
51208 * normal/command.c: Likewise.
51209 * normal/main.c: Likewise.
51210 * normal/menu.c: Likewise.
51211 * normal/i386/setjmp.S: Likewise.
51212 * term/i386/pc/console.c: Likewise.
51213 * term/i386/pc/vga.c: Likewise.
51214 * util/console.c: Likewise.
51215 * util/genmoddep.c: Likewise.
51216 * util/misc.c: Likewise.
51217 * util/pupa-emu.c: Likewise.
51218 * util/resolve.c: Likewise.
51219 * util/unifont2pff.rb: Likewise.
51220 * util/i386/pc/biosdisk.c: Likewise.
51221 * util/i386/pc/getroot.c: Likewise.
51222 * util/i386/pc/pupa-mkimage.c: Likewise.
51223 * util/i386/pc/pupa-setup.c: Likewise.
51224
e6eced71 512252004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
51226
51227 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
51228 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
51229 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
51230 reading and reset it after reading.
51231 (pupa_ext2_close): Return PUPA_ERR_NONE.
51232
51233 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
51234 Correct value.
51235 (struct linux_kernel_header): Add kernel_version and
51236 initrd_addr_max.
51237 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
51238 pupa_file_read succeeds.
51239 (pupa_rescue_cmd_initrd): Implement.
51240
5aded270 512412003-12-03 Marco Gerards <metgerards@student.han.nl>
51242
51243 * fs/ext2.c (pupa_ext2_label): New function.
51244 (pupa_ext2_fs): Added label.
51245 * fs/fat.c (pupa_fat_label): New function.
51246 (pupa_fat_fs): Added label.
51247 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
51248
51249 * kern/misc.c (pupa_strndup): New function.
51250 * include/pupa/misc.h (pupa_strndup): New prototype.
51251
51252 * include/pupa/normal.h: Include <pupa/err.h>.
51253 (pupa_set_history): New prototype.
51254 (pupa_iterate_commands): New prototype.
51255 * normal/cmdline.c: Include <pupa/machine/partition.h>,
51256 <pupa/disk.h>, <pupa/file.h>.
51257 (hist_size): New variable.
51258 (hist_lines): Likewise.
51259 (hist_end): Likewise.
51260 (hist_used): Likewise.
51261 (pupa_set_history): New function.
51262 (pupa_history_get): Likewise.
51263 (pupa_history_add): Likewise.
51264 (pupa_history_replace): Likewise.
51265 (pupa_tab_complete): Likewise.
51266 (pupa_cmdline_run): Added tab completion and history buffer. Tab
51267 completion shows partitionnames while completing partitions, this
51268 feature was suggested by Jeff Bailey.
51269 * normal/command.c (pupa_iterate_commands): New function.
51270 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
51271 (pupa_normal_init): Initialize history buffer.
51272 (PUPA_MOD_INIT): Likewise.
51273 (pupa_normal_fini): Free the history buffer.
51274 (PUPA_MOD_FINI): Likewise.
51275
51276 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
51277 key.
51278
51279 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
51280 * configure.ac [i386]: Check for regparam bug.
51281 (NESTED_FUNC_ATTR) [! i386]: Defined.
51282
1f7315a3 512832003-11-17 Marco Gerards <metgerards@student.han.nl>
51284
51285 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
51286 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
51287 (pupa_emu_SOURCES): New variable.
51288 (pupa_emu_LDFLAGS): Likewise.
51289 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
51290 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
51291 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
51292 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
51293 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
51294 (pupa_jmp_buf): New typedef.
51295 (pupa_setjmp) [PUPA_UTIL]: New macro.
51296 (pupa_longjmp) [PUPA_UTIL]: Likewise.
51297 * include/pupa/term.h (struct pupa_term): New member `refresh'.
51298 (pupa_refresh): New prototype.
51299 * include/pupa/util/getroot.h: New file.
51300 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
51301 it.
51302 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
51303 (pupa_rescue_cmd_cat): Likewise.
51304 (pupa_rescue_cmd_ls): Likewise.
51305 (pupa_rescue_cmd_testload): Likewise.
51306 (pupa_rescue_cmd_lsmod): Likewise.
51307 * normal/cmdline.c (pupa_cmdline_get): Likewise.
51308 * normal/menu.c (run_menu): Likewise.
51309 * kern/term.c (pupa_cls): Likewise.
51310 (pupa_refresh): New function.
51311 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
51312 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
51313 * util/console.c: New file.
f19dbdb7 51314
1f7315a3 51315 * util/i386/pc/getroot.c: New file.
51316 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
51317 (pupa_putchar): New function.
51318 (pupa_refresh): Likewise.
51319 (xgetcwd): Function moved to ...
51320 (strip_extra_slashes): Likewise.
51321 (get_prefix): Likewise.
f19dbdb7 51322 * util/i386/pc/getroot.c: ... here.
1f7315a3 51323 (find_root_device): Function moved and renamed to...
51324 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
51325 Changed all callers.
51326 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
51327 and renamed to...
51328 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
51329 Changed all callers.
51330 * util/misc.c (pupa_memalign): New function.
51331 (pupa_mm_init_region): Likewise.
51332 (pupa_register_exported_symbols): Likewise.
51333 (pupa_putchar): Function removed.
51334 * util/pupa-emu.c: New file.
51335
9a5c1ade 513362003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
51337
51338 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
51339 (_multiboot_mod_SOURCES): New variable.
51340 (_multiboot_mod_CFLAGS): Likewise.
51341 * loader/i386/pc/multiboot.c: New file.
51342 * include/pupa/i386/pc/multiboot.h: Likewise.
51343 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
51344 (pupa_multiboot_real_boot): New function.
51345 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
51346 (pupa_multiboot_real_boot): New prototype.
51347 (pupa_rescue_cmd_multiboot): Likewise
51348 (pupa_rescue_cmd_module): Likewise.
51349
51350 * kern/loader.c (pupa_loader_set): Continue when
51351 pupa_loader_unload_func() fails.
51352 (pupa_loader_unset): New function.
51353 * include/pupa/loader.h (pupa_loader_unset): New prototype.
51354
51355 * kern/misc.c (pupa_stpcpy): New function.
51356 * include/pupa/misc.h (pupa_stpcpy): New prototype.
51357
8e72a9c0 513582003-11-12 Marco Gerards <metgerards@student.han.nl>
51359
51360 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
51361 for available extensions.
51362
51363 * include/pupa/i386/pc/time.h: New file.
51364 * kern/disk.c: Include <pupa/machine/time.h>.
51365 (PUPA_CACHE_TIMEOUT): New macro.
51366 (pupa_last_time): New variable.
51367 (pupa_disk_open): Flush the cache when there was a timeout.
51368 (pupa_disk_close): Reset the timer.
51369 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
51370 pupa_currticks.
51371 * util/misc.c: Include <sys/times.h>
51372 (pupa_get_rtc): New function.
51373
c4adbd32 513742003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
51375
51376 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
51377 as blocks.
51378 (pupa_ext2_get_file_block): Use blocks member.
51379
51380 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
51381 first block. Return -1 instead of pupa_errno on error.
51382
bfd30f06 513832003-10-27 Marco Gerards <metgerards@student.han.nl>
51384
51385 * README: In the pupa-mkimage example use _chain instead of chain
51386 and ext2 instead of fat.
51387 * TODO: Replace ext2fs with jfs as an example. Add an item for
51388 adding journal playback for ext2fs.
51389 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
51390 (pkgdata_MODULES): Added ext2.mod.
51391 (ext2_mod_SOURCES): New variable.
51392 (ext2_mod_CFLAGS): Likewise.
51393 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
51394 * include/pupa/misc.h (pupa_strncpy): New prototype.
51395 (pupa_strcat): Likewise.
51396 (pupa_strncmp): Likewise.
51397 * kern/misc.c (pupa_strcat): Enable function.
51398 (pupa_strncpy): New function.
51399 (pupa_strncmp): Likewise.
51400 * fs/ext2.c: New file.
f19dbdb7 51401
bfd30f06 51402 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
51403 when the read failed before retrying.
51404 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
51405 (_FILE_OFFSET_BITS): Likewise.
51406 * configure.ac: Added AC_SYS_LARGEFILE.
51407
98d15063 514082003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
51409
51410 * genmk.rb (PModule#rule): Make sure to get only symbol names
51411 from the output of nm.
59cad637 51412 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 51413
18d9c7cd 514142003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
51415
51416 I forgot to check in these changes for a long time. This adds
51417 incomplete support for VGA console, and this is still very
51418 buggy. Also, a lot of consideration is required for I18N,
51419 UNICODE, and VGA font issues. Therefore, assume that this is
51420 such that "better than nothing".
f19dbdb7 51421
18d9c7cd 51422 * font/manager.c: New file.
51423 * include/pupa/font.h: Likewise.
51424 * include/pupa/i386/pc/vga.h: Likewise.
51425 * term/i386/pc/vga.c: Likewise.
51426 * util/unifont2pff.rb: Likewise.
51427
51428 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
51429 (pkgdata_MODULES): Added vga.mod and font.mod.
51430 (vga_mod_SOURCES): New variables.
51431 (vga_mod_CFLAGS): Likewise.
51432 (font_mod_SOURCES): Likewise.
51433 (font_mod_CFLAGS): Likewise.
51434
51435 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
51436
51437 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 51438 (struct pupa_term): Added init and fini.
18d9c7cd 51439 Changed the argument of putchar to pupa_uint32_t.
51440
51441 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
51442 (pupa_console_real_putchar): New prototype.
51443 (pupa_console_putchar): Removed.
51444 (pupa_console_checkkey): Exported.
51445 (pupa_console_getkey): Likewise.
51446
51447 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
51448 characters.
51449
51450 * kern/term.c (pupa_term_set_current): Rewritten.
51451 (pupa_putchar): Likewise.
51452 (pupa_putcode): New function.
51453
51454 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
51455 (pupa_console_real_putchar): ... this.
51456 (pupa_vga_set_mode): New function.
51457 (pupa_vga_get_font): Likewise.
51458
51459 * normal/command.c: Include pupa/term.h.
51460 (terminal_command): New function.
51461 (pupa_command_init): Register the command "terminal".
51462
51463 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
51464 (DISP_UP): Likewise.
51465 (DISP_RIGHT): Likewise.
51466 (DISP_DOWN): Likewise.
51467 (DISP_HLINE): Likewise.
51468 (DISP_VLINE): Likewise.
51469 (DISP_UL): Likewise.
51470 (DISP_UR): Likewise.
51471 (DISP_LL): Likewise.
51472 (DISP_LR): Likewise.
51473
51474 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 51475
977329f5 514762003-02-08 NIIBE Yutaka <gniibe@m17n.org>
51477
51478 * util/resolve.c (pupa_util_resolve_dependencies): BUG
51479 FIX. Reverse the path_list.
51480
51481 * include/pupa/normal.h: Export pupa_register_command and
51482 pupa_unregister_command.
51483
51484 * hello/hello.c (pupa_cmd_hello): New module.
51485 * conf/i386-pc.rmk: Added hello.mod.
51486
1f5ab428 514872003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
51488
51489 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 51490
1f5ab428 51491 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
51492 (compress_kernel): New variable.
51493 (generate_image): Heavily modified to support compressing a
51494 large part of the core image.
51495
51496 * util/misc.c (pupa_util_read_image): Fix a file descriptor
51497 leak.
51498 (pupa_util_load_image): New function.
51499
51500 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
51501 (pupa_compressed_size): New variable.
51502 (codestart): Enable Gate A20 here.
51503 Decompress the compressed part of the core image.
51504 Rearrange the code to put functions and variables which are
51505 required for initialization in the non-compressed part.
51506 Include lzo1x.S.
51507
51508 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
51509 here.
51510
51511 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
51512
f19dbdb7 51513 * include/pupa/i386/pc/kernel.h
1f5ab428 51514 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
51515 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
51516 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
51517 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
51518 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
51519
51520 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
51521
51522 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
51523 (Utility#rule): Likewise.
51524
51525 * configure.ac: Check if LZO is available.
51526
ce5bf700 515272003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
51528
51529 * include/pupa/normal.h: New file.
51530 * include/pupa/setjmp.h: Likewise.
51531 * include/pupa/i386/setjmp.h: Likewise.
51532 * normal/cmdline.c: Likewise.
51533 * normal/command.c: Likewise.
51534 * normal/main.c: Likewise.
51535 * normal/menu.c: Likewise.
51536 * normal/i386/setjmp.S: Likewise.
f19dbdb7 51537
ce5bf700 51538 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
51539 (pupa_rescue_cmd_initrd): Likewise.
51540
51541 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
51542 Likewise.
51543
51544 * kern/i386/pc/startup.S (translation_table): New variable.
51545 (translate_keycode): New function.
51546 (pupa_console_getkey): Call translate_keycode.
51547
51548 * kern/rescue.c (attempt_normal_mode): New function.
51549 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
51550 it failed, print a message.
51551
51552 * kern/mm.c (pupa_real_malloc): Print more information when a
51553 free magic is broken.
51554 (pupa_free): If the first free header is not free actually, set
51555 it to P.
51556
51557 * kern/main.c (pupa_load_normal_mode): Just load the module
51558 "normal".
51559 (pupa_main): Don't print the message
51560 "Entering into rescue mode..." here.
51561
51562 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
51563 Declared.
51564 (pupa_rescue_cmd_initrd): Likewise.
51565 (pupa_rescue_cmd_initrd): Likewise.
51566
51567 * include/pupa/symbol.h (FUNCTION): Specify the type.
51568 (VARIABLE): Likewise.
51569
51570 * include/pupa/err.h (pupa_err_t): Added
51571 PUPA_ERR_UNKNOWN_COMMAND.
51572
51573 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
51574 (pupa_dl_get_prefix): Likewise.
51575
51576 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
51577 Added _chain.mod and _linux.mod instead of chain.mod and
51578 linux.mod.
51579 (chain_mod_SOURCES): Renamed to ...
51580 (_chain_mod_SOURCES): ... this.
51581 (chain_mod_CFLAGS): Renamed to ...
51582 (_chain_mod_CFLAGS): ... this.
51583 (linux_mod_SOURCES): Renamed to ...
51584 (_linux_mod_SOURCES): ... this.
51585 (linux_mod_CFLAGS): Renamed to ...
51586 (_linux_mod_CFLAGS): ... this.
51587 (normal_mod_SOURCES): New variable.
51588 (normal_mod_CFLAGS): Likewise.
51589 (normal_mod_ASFLAGS): Likewise.
51590
515912003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
51592
51593 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
51594 possible.
51595
fe6b695a 51596 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 51597 recursively.
51598 (pupa_dl_unref): Unrefer depending modules recursively.
51599 Don't call pupa_dl_unload implicitly, because PUPA can crash if
51600 a module is unloaded before one depending on that module is
51601 unloaded.
51602 (pupa_dl_unload): Unload depending modules explicitly,
51603 if possible.
51604
c04da074 516052003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
51606
51607 * include/pupa/i386/pc/linux.h: New file.
51608 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 51609
c04da074 51610 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
51611 Removed.
51612 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
51613 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
51614 of PUPA_CHAINLOADER_BOOT_SECTOR.
51615
51616 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
51617 (pupa_linux_prot_size): New variable.
51618 (pupa_linux_tmp_addr): Likewise.
51619 (pupa_linux_real_addr): Likewise.
51620 (pupa_linux_boot_zimage): New function.
51621 (pupa_linux_boot_bzimage): Likewise.
51622
51623 * kern/i386/pc/init.c (struct mem_region): New structure.
51624 (MAX_REGIONS): New macro.
51625 (mem_regions): New variable.
51626 (num_regions): Likewise.
51627 (pupa_os_area_addr): Likewise.
51628 (pupa_os_area_size): Likewise.
51629 (pupa_lower_mem): Likewise.
51630 (pupa_upper_mem): Likewise.
51631 (add_mem_region): New function.
51632 (compact_mem_regions): Likewise.
51633 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
51634 the size of the conventional memory and that of so-called upper
51635 memory (before the first memory hole).
51636 Instead of adding each found region to free memory, use
51637 add_mem_region and add them after removing overlaps.
51638 Also, add only 1/4 of the upper memory to free memory. The rest
51639 is used for loading OS images. Maybe this is ad hoc, but this
51640 makes it much easier to relocate OS images when booting.
51641
51642 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
51643 (pupa_enter_rescue_mode): Don't register initrd and module.
51644
51645 * kern/mm.c: Include pupa/dl.h.
51646
51647 * kern/main.c: Include pupa/file.h and pupa/device.h.
51648
51649 * kern/loader.c (pupa_loader_load_module_func): Removed.
51650 (pupa_loader_load_module): Likewise.
51651
51652 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
51653 ``.o''.
51654
51655 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
51656 (pupa_linux_tmp_addr): Likewise.
51657 (pupa_linux_real_addr): Likewise.
51658 (pupa_linux_boot_zimage): Likewise.
51659 (pupa_linux_boot_bzimage): Likewise.
51660
51661 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
51662 (pupa_upper_mem): Likewise.
51663 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
51664 module is too dangerous.
51665
51666 * include/pupa/loader.h (pupa_os_area_addr): Declared.
51667 (pupa_os_area_size): Likewise.
51668 (pupa_loader_set): Remove the first argument. Loader doesn't
51669 manage modules or initrd any longer.
51670 (pupa_loader_load_module): Removed.
51671
51672 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
51673 (linux_mod_SOURCES): New variable.
51674 (linux_mod_CFLAGS): Likewise.
51675
a13f9237 516762003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
51677
51678 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
51679 the length of a blocklist correctly.
51680
51681 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
51682 Use ioctl only if the OS file is a block device.
51683 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
51684 not very useful for normal files.
51685
51686 * kern/main.c (pupa_set_root_dev): New function.
51687 (pupa_load_normal_mode): Likewise.
51688 (pupa_main): Call those above.
51689
51690 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
51691 pupa_uint16_t.
51692
51693 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
51694
a5ffe966 516952003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
51696
51697 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
51698 (setup): Configure the installed partition information and the
51699 dl prefix.
51700
51701 * loader/i386/pc/chainloader.c (my_mod): New variable.
51702 (pupa_chainloader_unload): New function.
51703 (pupa_rescue_cmd_chainloader): Refer itself.
51704 (PUPA_MOD_INIT): Save its own module in MY_MOD.
51705
51706 * kern/i386/pc/startup.S (install_partition): Removed.
51707 (version_string): Likewise.
51708 (config_file): Likewise.
51709 (pupa_install_dos_part): New variable.
51710 (pupa_install_bsd_part): Likewise.
51711 (pupa_prefix): Likewise.
51712 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
51713
51714 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
51715 and pupa/misc.h.
51716 (make_install_device): New function.
51717 (pupa_machine_init): Set the dl prefix.
51718
51719 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
51720 (buf): Renamed to ...
51721 (linebuf): ... this.
51722 (pupa_rescue_cmd_prefix): New function.
51723 (pupa_rescue_cmd_insmod): Likewise.
51724 (pupa_rescue_cmd_rmmod): Likewise.
51725 (pupa_rescue_cmd_lsmod): Likewise.
51726 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
51727 rmmod and lsmod.
51728
51729 * kern/mm.c (pupa_memalign): If failed even after invalidating
51730 disk caches, unload unneeded modules and retry.
51731
51732 * kern/misc.c (pupa_memmove): New function.
51733 (pupa_memcpy): Removed.
51734 (pupa_strcpy): New function.
51735 (pupa_itoa): Made static.
51736
51737 * kern/dl.c (pupa_dl_iterate): New function.
51738 (pupa_dl_ref): Likewise.
51739 (pupa_dl_unref): Likewise.
51740 (pupa_dl_unload): Return if succeeded or not.
51741 (pupa_dl_unload_unneeded): New function.
51742 (pupa_dl_unload_all): Likewise.
51743 (pupa_dl_init): Renamed to ...
51744 (pupa_dl_set_prefix): ... this.
51745 (pupa_dl_get_prefix): New function.
51746
51747 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
51748 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
51749 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
51750 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
51751 (pupa_install_dos_part): Declared.
51752 (pupa_install_bsd_part): Likewise.
51753 (pupa_prefix): Likewise.
51754 (pupa_boot_drive): Likewise.
51755
51756 * include/pupa/types.h: Fix a typo.
51757
51758 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
51759 pupa_memmove.
51760 (pupa_memmove): Declared.
51761 (pupa_strcpy): Likewise.
51762
51763 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
51764 pupa_mod_init takes one argument, its own module.
51765 (pupa_dl_unload_unneeded): Declared.
51766 (pupa_dl_unload_all): Likewise.
51767 (pupa_dl_ref): Likewise.
51768 (pupa_dl_unref): Likewise.
51769 (pupa_dl_iterate): Likewise.
51770 (pupa_dl_init): Renamed to ...
51771 (pupa_dl_set_prefix): ... this.
51772 (pupa_dl_get_prefix): Declared.
51773
51774 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 51775 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 51776 unloaded.
51777 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
51778 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
51779
51780 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
51781 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
51782
012d7999 517832003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51784
51785 * util/i386/pc/pupa-setup.c (setup): Define the internal
51786 function find_first_partition_start at the top level, because GCC
51787 3.0.x cannot compile internal functions in deeper scopes
51788 correctly.
51789 (find_root_device): Use lstat instead of stat.
51790 Don't follow symbolic links.
51791 Fix the path-constructing code.
51792
51793 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
51794 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
51795 by a BLKGETSIZE ioctl first, because block devices don't fill
51796 the member st_mode of the structure stat on Linux.
51797 [__linux__] (linux_find_partition): Use a temporary buffer
51798 REAL_DEV for the working space. Copy it to DEV before returning.
51799 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
51800 buffer cache consistent.
51801 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
51802 strncmp. The previous value was merely wrong.
51803 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
51804
51805 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
51806 FAT size is 12. The previous value was merely wrong.
51807
51808 * kern/main.c (pupa_main): Don't split the starting message from
51809 newlines.
51810
51811 * kern/term.c (pupa_putchar): Put CR after LF instead of before
51812 LF, because BIOS goes crazy about character attributes in this
51813 case.
51814
1cc73a62 518152003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51816
51817 * include/i386/pc/util/biosdisk.h: New file.
51818 * util/i386/pc/biosdisk.c: Likewise.
51819 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 51820
1cc73a62 51821 * Makefile.in (INCLUDE_DISTFILES): Added
51822 include/pupa/i386/pc/util/biosdisk.h.
51823 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
51824 directory util/i386/pc.
51825 (install-local): Added a rule for sbin_UTILITIES.
51826 (uninstall): Likewise.
51827
51828 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
51829
51830 * util/misc.c (xrealloc): New function.
51831 (pupa_malloc): Likewise.
51832 (pupa_free): Likewise.
51833 (pupa_realloc): Likewise.
51834 (pupa_stop): Likewise.
51835 (pupa_putchar): Likewise.
51836
51837 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
51838
51839 * include/pupa/util/misc.h (xrealloc): Declared.
51840
51841 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
51842 macro.
51843 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
51844 (PUPA_BOOT_MACHINE_BPB_END): ... this.
51845
51846 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
51847 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51848
51849 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
51850 way should be implemented.
51851 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51852
51853 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
51854 the size of NAME for safety.
51855 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
51856 0x88.
51857
51858 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
51859 (pupa_setup_SOURCES): Likewise.
51860
51861 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
51862
08b70fe8 518632002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51864
51865 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
51866 bunch of pushl's from pusha, because this destroys the return
51867 value.
51868
62ddcc8f 518692002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51870
51871 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
51872 This means that any missing prototypes could be fatal. Also, you
51873 must take care when writing assembly code. See the comments at
51874 the beginning of startup.S, for more details.
f19dbdb7 51875
62ddcc8f 51876 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
51877 compilation mechanism.
51878 (pupa_chainloader_real_boot): Likewise.
51879 (pupa_biosdisk_rw_int13_extensions): Likewise.
51880 (pupa_biosdisk_rw_standard): Likewise.
51881 (pupa_biosdisk_check_int13_extensions): Likewise.
51882 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
51883 (pupa_biosdisk_get_diskinfo_standard): Likewise.
51884 (pupa_get_memsize): Likewise.
51885 (pupa_get_mmap_entry): Likewise.
51886 (pupa_console_putchar): Likewise.
51887 (pupa_console_setcursor): Likewise.
51888 (pupa_getrtsecs): Use pushl instead of push.
51889
51890 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
51891 memory instead of the stack for a mmap entry, because some
51892 BIOSes may ignore the maximum size and overflow.
51893
51894 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
51895
51896 * genmk.rb (PModule#rule): Compile automatically generated
51897 sources with module-specific CFLAGS as well as other sources.
51898
9962ed99 518992002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51900
51901 * configure.ac: Check ld.
51902 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
51903 respectively, before checking endianness and sizes.
51904
51905 * Makefile.in (LD): New variable.
f19dbdb7 51906
abdfc3c5 519072002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51908
51909 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
51910
6a161fa9 519112002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51912
51913 * Changelog: New file.
51914